@senior-gestao-pessoas/payroll-core 9.7.0-master-72d34bea → 9.8.0

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.
Files changed (25) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +177 -19
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.d.ts +9 -1
  6. package/components/historical-pix-account/historical-pix-account.component.d.ts +1 -0
  7. package/components/utils/cnpj-validator.d.ts +3 -0
  8. package/components/utils/format-utils/format-utils.service.d.ts +3 -2
  9. package/components/utils/generic-validators.d.ts +6 -0
  10. package/esm2015/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +37 -9
  11. package/esm2015/components/historical-pix-account/historical-pix-account.component.js +7 -3
  12. package/esm2015/components/utils/cnpj-validator.js +54 -1
  13. package/esm2015/components/utils/format-utils/format-utils.service.js +23 -10
  14. package/esm2015/components/utils/generic-validators.js +57 -1
  15. package/esm5/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +41 -9
  16. package/esm5/components/historical-pix-account/historical-pix-account.component.js +7 -3
  17. package/esm5/components/utils/cnpj-validator.js +54 -1
  18. package/esm5/components/utils/format-utils/format-utils.service.js +23 -10
  19. package/esm5/components/utils/generic-validators.js +57 -1
  20. package/fesm2015/senior-gestao-pessoas-payroll-core.js +173 -19
  21. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  22. package/fesm5/senior-gestao-pessoas-payroll-core.js +177 -19
  23. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  24. package/package.json +1 -1
  25. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
@@ -141,6 +141,59 @@ class CNPJValidator {
141
141
  }
142
142
  return true;
143
143
  }
144
+ checkCNPJAlphanumeric(value) {
145
+ let cnpj = value;
146
+ if (cnpj) {
147
+ cnpj = cnpj.replace(/[^\dA-Za-z]/g, '').toUpperCase();
148
+ if (cnpj.length !== 14) {
149
+ return true;
150
+ }
151
+ // Valida que dígitos verificadores são numéricos
152
+ if (!/^\d$/.test(cnpj.charAt(12)) || !/^\d$/.test(cnpj.charAt(13))) {
153
+ return false;
154
+ }
155
+ // Elimina CNPJs invalidos conhecidos
156
+ if (cnpj === '00000000000000' ||
157
+ cnpj === '11111111111111' ||
158
+ cnpj === '22222222222222' ||
159
+ cnpj === '33333333333333' ||
160
+ cnpj === '44444444444444' ||
161
+ cnpj === '55555555555555' ||
162
+ cnpj === '66666666666666' ||
163
+ cnpj === '77777777777777' ||
164
+ cnpj === '88888888888888' ||
165
+ cnpj === '99999999999999') {
166
+ return false;
167
+ }
168
+ // Valida DVs
169
+ const size = cnpj.length - 2;
170
+ const digits = cnpj.substring(size);
171
+ if (!this.validateCnpjDigit(cnpj, size, Number(digits.charAt(0)))) {
172
+ return false;
173
+ }
174
+ if (!this.validateCnpjDigit(cnpj, size + 1, Number(digits.charAt(1)))) {
175
+ return false;
176
+ }
177
+ return true;
178
+ }
179
+ return true;
180
+ }
181
+ validateCnpjDigit(cnpj, size, digit) {
182
+ let numbers = cnpj.substring(0, size);
183
+ let sum = 0;
184
+ let pos = size - 7;
185
+ for (let i = size; i >= 1; i--) {
186
+ sum += this.convertToAsciiMinus48(numbers.charAt(size - i)) * pos--;
187
+ if (pos < 2) {
188
+ pos = 9;
189
+ }
190
+ }
191
+ const result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
192
+ return result === digit;
193
+ }
194
+ convertToAsciiMinus48(input) {
195
+ return input.charCodeAt(0) - 48;
196
+ }
144
197
  }
145
198
  const cnpjValidator = new CNPJValidator();
146
199
 
@@ -8456,27 +8509,40 @@ class FormatUtilsService {
8456
8509
  * Retorna o CNPJ formatado
8457
8510
  * @param cnpj CNPJ
8458
8511
  */
8459
- static getFormattedCnpj(cnpj) {
8512
+ static getFormattedCnpj(cnpj, isAlphanumericCNPJ) {
8460
8513
  if (cnpj) {
8461
- return cnpj
8462
- .replace(/\D/g, "")
8463
- .replace(/(\d{2})(\d)/, "$1.$2")
8464
- .replace(/(\d{3})(\d)/, "$1.$2")
8465
- .replace(/(\d{3})(\d)/, "$1/$2")
8466
- .replace(/(\d{4})(\d)/, "$1-$2");
8514
+ if (isAlphanumericCNPJ) {
8515
+ // Remove caracteres especiais mantendo letras e números, e converte para maiúsculas
8516
+ const cleanCnpj = cnpj.replace(/[^a-zA-Z0-9]/g, '').toUpperCase();
8517
+ // Aplica formatação: AA.BBB.CCC/DDDD-EE
8518
+ return cleanCnpj
8519
+ .replace(/^([A-Z0-9]{2})([A-Z0-9])/, '$1.$2')
8520
+ .replace(/^([A-Z0-9]{2}\.)([A-Z0-9]{3})([A-Z0-9])/, '$1$2.$3')
8521
+ .replace(/^([A-Z0-9]{2}\.[A-Z0-9]{3}\.)([A-Z0-9]{3})([A-Z0-9])/, '$1$2/$3')
8522
+ .replace(/^([A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/)([A-Z0-9]{4})([0-9])/, '$1$2-$3');
8523
+ }
8524
+ else {
8525
+ return cnpj
8526
+ .replace(/\D/g, "")
8527
+ .replace(/(\d{2})(\d)/, "$1.$2")
8528
+ .replace(/(\d{3})(\d)/, "$1.$2")
8529
+ .replace(/(\d{3})(\d)/, "$1/$2")
8530
+ .replace(/(\d{4})(\d)/, "$1-$2");
8531
+ }
8467
8532
  }
8468
8533
  return null;
8469
8534
  }
8470
8535
  /**
8471
8536
  * Retorna a mascara do CPF/CNPJ
8472
8537
  * @param key Valores possíveis são CPF ou CNPJ
8538
+ * @param isAlphanumericCNPJ Define se o CNPJ pode ser alfanumérico.
8473
8539
  */
8474
- static getCpfCnpjMask(key) {
8540
+ static getCpfCnpjMask(key, isAlphanumericCNPJ) {
8475
8541
  switch (key) {
8476
8542
  case "CPF":
8477
8543
  return "999.999.999-99";
8478
8544
  case "CNPJ":
8479
- return "99.999.999/9999-99";
8545
+ return isAlphanumericCNPJ ? "**.***.***/****-99" : "99.999.999/9999-99";
8480
8546
  default:
8481
8547
  return "";
8482
8548
  }
@@ -8676,6 +8742,62 @@ class GenericValidator {
8676
8742
  }
8677
8743
  return null;
8678
8744
  }
8745
+ /**
8746
+ * Valida se o CNPJ Alfanumérico é valido. Deve-se ser informado o cpf sem máscara.
8747
+ */
8748
+ static isValidCnpjAlphanumeric(control) {
8749
+ let cnpj = control.value;
8750
+ if (cnpj) {
8751
+ cnpj = cnpj.replace(/[^\dA-Za-z]/g, '').toUpperCase();
8752
+ if (cnpj.length !== 14) {
8753
+ return null;
8754
+ }
8755
+ // Valida que dígitos verificadores são numéricos
8756
+ if (!/^\d$/.test(cnpj.charAt(12)) || !/^\d$/.test(cnpj.charAt(13))) {
8757
+ return { cnpjNotValid: true };
8758
+ }
8759
+ // Elimina CNPJs invalidos conhecidos
8760
+ if (cnpj === '00000000000000' ||
8761
+ cnpj === '11111111111111' ||
8762
+ cnpj === '22222222222222' ||
8763
+ cnpj === '33333333333333' ||
8764
+ cnpj === '44444444444444' ||
8765
+ cnpj === '55555555555555' ||
8766
+ cnpj === '66666666666666' ||
8767
+ cnpj === '77777777777777' ||
8768
+ cnpj === '88888888888888' ||
8769
+ cnpj === '99999999999999') {
8770
+ return { cnpjNotValid: true };
8771
+ }
8772
+ // Valida DVs
8773
+ const size = cnpj.length - 2;
8774
+ const digits = cnpj.substring(size);
8775
+ if (!GenericValidator.validateCnpjDigit(cnpj, size, Number(digits.charAt(0)))) {
8776
+ return { cnpjNotValid: true };
8777
+ }
8778
+ if (!GenericValidator.validateCnpjDigit(cnpj, size + 1, Number(digits.charAt(1)))) {
8779
+ return { cnpjNotValid: true };
8780
+ }
8781
+ return null;
8782
+ }
8783
+ return null;
8784
+ }
8785
+ static validateCnpjDigit(cnpj, size, digit) {
8786
+ const numbers = cnpj.substring(0, size);
8787
+ let sum = 0;
8788
+ let pos = size - 7;
8789
+ for (let i = size; i >= 1; i--) {
8790
+ sum += this.convertToAsciiMinus48(numbers.charAt(size - i)) * pos--;
8791
+ if (pos < 2) {
8792
+ pos = 9;
8793
+ }
8794
+ }
8795
+ const result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
8796
+ return result === digit;
8797
+ }
8798
+ static convertToAsciiMinus48(input) {
8799
+ return input.charCodeAt(0) - 48;
8800
+ }
8679
8801
  /**
8680
8802
  * Válida o número de telefone da chave PIX.
8681
8803
  */
@@ -8706,6 +8828,7 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8706
8828
  this.paramsForm = new FormGroup({});
8707
8829
  this.defaultCpfNumber = null;
8708
8830
  this.permitsEditBankAccountForm = false;
8831
+ this.isAlphanumericCNPJ = false;
8709
8832
  this.visibleChange = new EventEmitter();
8710
8833
  this.pixAccountItemToList = new EventEmitter();
8711
8834
  this.ngUnsubscribe = new Subject();
@@ -8758,7 +8881,7 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8758
8881
  this.pixKeyType = item.key;
8759
8882
  this.isShowPixKeyFieldValidatorMessage = true;
8760
8883
  this.pixAccountFormGroup.get("pixKey").reset();
8761
- this.setPixKeyValidators(true);
8884
+ this.setPixKeyValidators(true, this.isAlphanumericCNPJ);
8762
8885
  if (item.key === "CPF") {
8763
8886
  this.setDefaultCpfPixKey();
8764
8887
  }
@@ -8813,7 +8936,7 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8813
8936
  this.visibleBtnSave = isEditMode;
8814
8937
  if (this.pixAccountFormGroup.get("pixKeyType").value) {
8815
8938
  this.pixKeyType = this.pixAccountFormGroup.get("pixKeyType").value.key;
8816
- this.setPixKeyValidators(isEditMode);
8939
+ this.setPixKeyValidators(isEditMode, this.isAlphanumericCNPJ);
8817
8940
  this.formatPixKeyTelephoneNumber();
8818
8941
  }
8819
8942
  configEnabledFields(this.pixAccountFormGroup, isEditMode, [
@@ -8831,6 +8954,12 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8831
8954
  this.pixAccountFormGroup.updateValueAndValidity();
8832
8955
  verifyValidationsForm.call(this.pixAccountFormGroup);
8833
8956
  if (this.pixAccountFormGroup.valid) {
8957
+ if (this.pixKeyType === 'CNPJ' && this.isAlphanumericCNPJ) {
8958
+ const pixKey = this.pixAccountFormGroup.get('pixKey').value;
8959
+ if (pixKey) {
8960
+ this.pixAccountFormGroup.get('pixKey').setValue(pixKey.toUpperCase().replace(/[^A-Z0-9]/g, ''));
8961
+ }
8962
+ }
8834
8963
  if (this.employeeId) {
8835
8964
  this.pixAccountFormGroup.get("employee").setValue({
8836
8965
  tableId: this.employeeId,
@@ -8892,13 +9021,13 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8892
9021
  });
8893
9022
  }
8894
9023
  this.beforeSetPixKeyTypeValidator();
8895
- this.setPixKeyValidators(isEditMode);
9024
+ this.setPixKeyValidators(isEditMode, this.isAlphanumericCNPJ);
8896
9025
  this.validatePercentageValid(percentageIncluded);
8897
9026
  }
8898
9027
  /**
8899
9028
  * Antes de setar o validator prepara as variáveis necessária para que seja feita a validação do campo.
8900
9029
  */
8901
- setPixKeyValidators(isEditMode) {
9030
+ setPixKeyValidators(isEditMode, isAlphanumericCNPJ) {
8902
9031
  const genericPixKey = this.pixAccountFormGroup.get("pixKey");
8903
9032
  if (this.pixKeyType) {
8904
9033
  switch (this.pixKeyType) {
@@ -8918,9 +9047,7 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8918
9047
  ]));
8919
9048
  break;
8920
9049
  case "CNPJ":
8921
- genericPixKey.setValidators(Validators.compose([
8922
- Validators.required, GenericValidator.isValidCnpj,
8923
- ]));
9050
+ this.configureCnpjKeyValidators(isAlphanumericCNPJ, genericPixKey);
8924
9051
  break;
8925
9052
  case "RANDOM_KEY":
8926
9053
  genericPixKey.setValidators(Validators.required);
@@ -8935,6 +9062,23 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
8935
9062
  genericPixKey.updateValueAndValidity();
8936
9063
  }
8937
9064
  }
9065
+ /**
9066
+ * Escolhe o validator do CNPJ conforme a feature toggle alphanumericCNPJFeature.
9067
+ * @param isAlphanumericCNPJ Feature toggle que define se o CNPJ pode ser alfanumérico.
9068
+ * @param genericPixKey Tipo AbstractControl do campo pixKey.
9069
+ */
9070
+ configureCnpjKeyValidators(isAlphanumericCNPJ, genericPixKey) {
9071
+ if (isAlphanumericCNPJ) {
9072
+ genericPixKey.setValidators(Validators.compose([
9073
+ Validators.required, GenericValidator.isValidCnpjAlphanumeric,
9074
+ ]));
9075
+ }
9076
+ else {
9077
+ genericPixKey.setValidators(Validators.compose([
9078
+ Validators.required, GenericValidator.isValidCnpj,
9079
+ ]));
9080
+ }
9081
+ }
8938
9082
  /**
8939
9083
  * Este método calcula as parcentagens que já foram inseridas, e seta a diferença para chegar em
8940
9084
  * 100% na validação do campo "percentage" como um novo maxValue;
@@ -9006,6 +9150,9 @@ let HistoricalPixAccountFormComponent = class HistoricalPixAccountFormComponent
9006
9150
  }
9007
9151
  };
9008
9152
  }
9153
+ get cnpjMask() {
9154
+ return FormatUtilsService.getCpfCnpjMask("CNPJ", this.isAlphanumericCNPJ);
9155
+ }
9009
9156
  };
9010
9157
  HistoricalPixAccountFormComponent.ctorParameters = () => [
9011
9158
  { type: FormBuilder },
@@ -9038,6 +9185,9 @@ __decorate([
9038
9185
  __decorate([
9039
9186
  Input()
9040
9187
  ], HistoricalPixAccountFormComponent.prototype, "permitsEditBankAccountForm", void 0);
9188
+ __decorate([
9189
+ Input()
9190
+ ], HistoricalPixAccountFormComponent.prototype, "isAlphanumericCNPJ", void 0);
9041
9191
  __decorate([
9042
9192
  Output()
9043
9193
  ], HistoricalPixAccountFormComponent.prototype, "visibleChange", void 0);
@@ -9059,7 +9209,7 @@ __decorate([
9059
9209
  HistoricalPixAccountFormComponent = __decorate([
9060
9210
  Component({
9061
9211
  selector: "pix-account",
9062
- template: "<div id=\"main\">\n <form [formGroup]=\"pixAccountFormGroup\" autocomplete=\"off\">\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <!-- Tipo de chave -->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label>{{'hcm.payroll.employees_addition_pix_key_type'|translate}}</label>\n <input-rest-auto-complete-enum [dropdown]=\"true\" server=\"payroll\"\n enumeration=\"PixKeyType\"\n placeholder=\"{{'hcm.payroll.select' | translate}}\"\n name=\"pixKeyType\" [form]=\"pixAccountFormGroup\"\n (onSelect)=\"onChangePixKeyType($event)\"\n (onClear)=\"onClearPixKeyType()\"\n id=\"ta-pixKeyType\"></input-rest-auto-complete-enum>\n <s-control-errors [control]=\"pixAccountFormGroup.get('pixKeyType')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n pixKeyTypeBankAccountDuplicate: 'hcm.payroll.historical_pix_key_type_bank_account_duplicate' | translate\n }\">\n </s-control-errors>\n </div>\n <!--Chave Pix-->\n <div class=\"ui-md-6 ui-sm-12\" [ngClass]=\"{'required': pixKeyType !== 'BANK_ACCOUNT'}\">\n <label>{{'hcm.payroll.employees_addition_pix_key' | translate}}</label>\n <ng-container [ngSwitch]=\"pixKeyType\">\n <input *ngSwitchCase=\"'TELEPHONE'\" only-number\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n (keyup)=\"phoneMask($event)\" maxlength=\"15\"\n placeholder=\"(__) ____-____\">\n <p-inputMask *ngSwitchCase=\"'CPF'\"\n id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n placeholder=\"___.___.___-__\"\n mask=\"999.999.999-99\" [unmask]=\"true\"></p-inputMask>\n <p-inputMask *ngSwitchCase=\"'CNPJ'\"\n id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n placeholder=\"__.___.___/____-__\"\n mask=\"99.999.999/9999-99\" [unmask]=\"true\"></p-inputMask>\n <input *ngSwitchCase=\"'EMAIL'\"\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n placeholder=\"{{'hcm.payroll.employees_addition_email'|translate}}\"/>\n <input *ngSwitchCase=\"'BANK_ACCOUNT'\" disabled\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"/>\n <input *ngSwitchDefault\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\" maxlength=\"100\" />\n </ng-container>\n <s-control-errors *ngIf=\"isShowPixKeyFieldValidatorMessage\" id=\"er-pix-key\"\n [control]=\"pixAccountFormGroup.get('pixKey')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n invalidPhoneNumber: 'hcm.payroll.employees_addition_invalid_phone_number' | translate: { value: pixAccountFormGroup.get('pixKey').value },\n invalidEmail: 'hcm.payroll.employees_addition_email_invalid' | translate,\n cpfNotValid: 'hcm.payroll.employees_addition_cpf_error' | translate,\n cnpjNotValid: 'hcm.payroll.employees_addition_cnpj_error' | translate\n }\">\n </s-control-errors>\n </div>\n <!--Percentual-->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label id=\"lb-percentage\"\n for=\"ff-percentage\">{{ 'hcm.payroll.historical_bank_account_label_percentage' | translate }}</label>\n <div class=\"ui-inputgroup\">\n <span class=\"ui-inputgroup-addon\">%</span>\n <input pInputText id=\"ff-percentage\" name=\"percentage\"\n formControlName=\"percentage\"\n currencyMask\n [options]=\"optionsPercentage\"\n [placeholder]=\"percentagePlaceholder\"/>\n </div>\n <s-control-errors [control]=\"pixAccountFormGroup.get('percentage')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n maxlength: 'hcm.payroll.error_max_length' | translate: { value: '6' },\n max: 'hcm.payroll.error_max_value_number' | translate: { value: maxValuePercentage },\n min: 'hcm.payroll.error_min_value_number' | translate: { value: '0,01' }\n }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12\">\n <p-fieldset\n legend=\"{{ 'hcm.payroll.custom_fields' | translate }}\"\n [attr.data-hidden]=\"!customFields || !customFields.fields.length\"\n >\n <s-custom-fields\n domain=\"hcm\"\n service=\"{{customService}}\"\n entity=\"{{customEntity}}\"\n formControlName=\"customFields\"\n [invalidErrorLabel]=\"'hcm.payroll.employees_invalid_field' | translate\"\n >\n </s-custom-fields>\n </p-fieldset>\n </div>\n </div>\n </div>\n </form>\n\n <div [ngClass]=\"withSideBar ? 'footer' : 'footer-s-border'\">\n <div class=\"form-group\">\n <s-button id=\"btn-save\" label=\"{{ labelBtnAdd | translate}}\" priority=\"primary\"\n (onClick)=\"addItem()\" *ngIf=\"visibleBtnSave && !this.isView\"></s-button>\n <s-button *ngIf=\"withSideBar\" id=\"btn-close\" label=\"{{'hcm.payroll.cancel'|translate}}\" priority=\"secondary\"\n priority=\"link\" (onClick)=\"close()\"></s-button>\n </div>\n </div>\n</div>\n",
9212
+ template: "<div id=\"main\">\n <form [formGroup]=\"pixAccountFormGroup\" autocomplete=\"off\">\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <!-- Tipo de chave -->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label>{{'hcm.payroll.employees_addition_pix_key_type'|translate}}</label>\n <input-rest-auto-complete-enum [dropdown]=\"true\" server=\"payroll\"\n enumeration=\"PixKeyType\"\n placeholder=\"{{'hcm.payroll.select' | translate}}\"\n name=\"pixKeyType\" [form]=\"pixAccountFormGroup\"\n (onSelect)=\"onChangePixKeyType($event)\"\n (onClear)=\"onClearPixKeyType()\"\n id=\"ta-pixKeyType\"></input-rest-auto-complete-enum>\n <s-control-errors [control]=\"pixAccountFormGroup.get('pixKeyType')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n pixKeyTypeBankAccountDuplicate: 'hcm.payroll.historical_pix_key_type_bank_account_duplicate' | translate\n }\">\n </s-control-errors>\n </div>\n <!--Chave Pix-->\n <div class=\"ui-md-6 ui-sm-12\" [ngClass]=\"{'required': pixKeyType !== 'BANK_ACCOUNT'}\">\n <label>{{'hcm.payroll.employees_addition_pix_key' | translate}}</label>\n <ng-container [ngSwitch]=\"pixKeyType\">\n <input *ngSwitchCase=\"'TELEPHONE'\" only-number\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n (keyup)=\"phoneMask($event)\" maxlength=\"15\"\n placeholder=\"(__) ____-____\">\n <p-inputMask *ngSwitchCase=\"'CPF'\"\n id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n placeholder=\"___.___.___-__\"\n mask=\"999.999.999-99\" [unmask]=\"true\"></p-inputMask>\n <p-inputMask *ngSwitchCase=\"'CNPJ'\"\n id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n placeholder=\"__.___.___/____-__\"\n [mask]=\"cnpjMask\" [unmask]=\"true\"></p-inputMask>\n <input *ngSwitchCase=\"'EMAIL'\"\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"\n placeholder=\"{{'hcm.payroll.employees_addition_email'|translate}}\"/>\n <input *ngSwitchCase=\"'BANK_ACCOUNT'\" disabled\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\"/>\n <input *ngSwitchDefault\n pInputText id=\"ta-pixKey\" name=\"pixKey\" formControlName=\"pixKey\" maxlength=\"100\" />\n </ng-container>\n <s-control-errors *ngIf=\"isShowPixKeyFieldValidatorMessage\" id=\"er-pix-key\"\n [control]=\"pixAccountFormGroup.get('pixKey')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n invalidPhoneNumber: 'hcm.payroll.employees_addition_invalid_phone_number' | translate: { value: pixAccountFormGroup.get('pixKey').value },\n invalidEmail: 'hcm.payroll.employees_addition_email_invalid' | translate,\n cpfNotValid: 'hcm.payroll.employees_addition_cpf_error' | translate,\n cnpjNotValid: 'hcm.payroll.employees_addition_cnpj_error' | translate\n }\">\n </s-control-errors>\n </div>\n <!--Percentual-->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label id=\"lb-percentage\"\n for=\"ff-percentage\">{{ 'hcm.payroll.historical_bank_account_label_percentage' | translate }}</label>\n <div class=\"ui-inputgroup\">\n <span class=\"ui-inputgroup-addon\">%</span>\n <input pInputText id=\"ff-percentage\" name=\"percentage\"\n formControlName=\"percentage\"\n currencyMask\n [options]=\"optionsPercentage\"\n [placeholder]=\"percentagePlaceholder\"/>\n </div>\n <s-control-errors [control]=\"pixAccountFormGroup.get('percentage')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n maxlength: 'hcm.payroll.error_max_length' | translate: { value: '6' },\n max: 'hcm.payroll.error_max_value_number' | translate: { value: maxValuePercentage },\n min: 'hcm.payroll.error_min_value_number' | translate: { value: '0,01' }\n }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12\">\n <p-fieldset\n legend=\"{{ 'hcm.payroll.custom_fields' | translate }}\"\n [attr.data-hidden]=\"!customFields || !customFields.fields.length\"\n >\n <s-custom-fields\n domain=\"hcm\"\n service=\"{{customService}}\"\n entity=\"{{customEntity}}\"\n formControlName=\"customFields\"\n [invalidErrorLabel]=\"'hcm.payroll.employees_invalid_field' | translate\"\n >\n </s-custom-fields>\n </p-fieldset>\n </div>\n </div>\n </div>\n </form>\n\n <div [ngClass]=\"withSideBar ? 'footer' : 'footer-s-border'\">\n <div class=\"form-group\">\n <s-button id=\"btn-save\" label=\"{{ labelBtnAdd | translate}}\" priority=\"primary\"\n (onClick)=\"addItem()\" *ngIf=\"visibleBtnSave && !this.isView\"></s-button>\n <s-button *ngIf=\"withSideBar\" id=\"btn-close\" label=\"{{'hcm.payroll.cancel'|translate}}\" priority=\"secondary\"\n priority=\"link\" (onClick)=\"close()\"></s-button>\n </div>\n </div>\n</div>\n",
9063
9213
  styles: [".refresh{width:100%!important}#table-annuity .col-default-s{width:10%}#table-annuity .col-default-m{width:12%}#table-annuity .col-default-l{width:16%}#table-annuity .col-action{width:10%}#table-annuity .icon-warning{text-align:center!important;color:#ff6d00c7!important}@media screen and (max-width:612px){#table-annuity .col-default-1,#table-annuity .col-default-2{width:16%}#table-annuity .col-default-3{width:26%}#table-annuity .col-icon{width:10%}#table-annuity .col-action{width:27%}}#main{display:-webkit-box;display:flex;height:100%;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}#main form{height:100%}#main .footer{border-top:1px solid #ccc;padding-top:15px;margin-top:15px;flex-shrink:0;margin-bottom:-18px}#main .footer-s-border{padding-left:7px;flex-shrink:0;margin-bottom:-18px}"]
9064
9214
  })
9065
9215
  ], HistoricalPixAccountFormComponent);
@@ -9078,6 +9228,7 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
9078
9228
  this.defaultCpfNumber = null;
9079
9229
  this.listDataReciever = [];
9080
9230
  this.showButtonEdit = false;
9231
+ this.isAlphanumericCNPJ = false;
9081
9232
  this.isViewModeActive = new EventEmitter();
9082
9233
  this.isEditModeActive = new EventEmitter();
9083
9234
  this.isDeleteModeActive = new EventEmitter();
@@ -9359,7 +9510,7 @@ let HistoricalPixAccountComponent = class HistoricalPixAccountComponent {
9359
9510
  return FormatUtilsService.getFormattedCpf(cpf);
9360
9511
  }
9361
9512
  getFormattedCnpj(cnpj) {
9362
- return FormatUtilsService.getFormattedCnpj(cnpj);
9513
+ return FormatUtilsService.getFormattedCnpj(cnpj, this.isAlphanumericCNPJ);
9363
9514
  }
9364
9515
  getFormattedPercentage(value) {
9365
9516
  return FormatUtilsService.getFormattedPercentage(value);
@@ -9443,6 +9594,9 @@ __decorate([
9443
9594
  __decorate([
9444
9595
  Input()
9445
9596
  ], HistoricalPixAccountComponent.prototype, "showButtonEdit", void 0);
9597
+ __decorate([
9598
+ Input()
9599
+ ], HistoricalPixAccountComponent.prototype, "isAlphanumericCNPJ", void 0);
9446
9600
  __decorate([
9447
9601
  Output()
9448
9602
  ], HistoricalPixAccountComponent.prototype, "isViewModeActive", void 0);
@@ -9468,7 +9622,7 @@ HistoricalPixAccountComponent = __decorate([
9468
9622
  Component({
9469
9623
  // tslint:disable-next-line:component-selector
9470
9624
  selector: "c-historical-pix-account",
9471
- template: "<s-sidebar *ngIf=\"withSideBar\" [visible]=\"visible\" (visibleChange)=\"close()\"\n header=\"{{'hcm.payroll.historical_pix_account_title_form'|translate}}\">\n<pix-account [(visible)]=\"visible\"\n [isEditAndViewValue]=\"pixAccountItemInput\"\n [currency]=\"currency\"\n [customEntity]=\"customEntity\"\n [customService]=\"customService\"\n [getListPixAccount]=\"listDataNoPage\"\n [paramsForm]=\"paramsForm\"\n (pixAccountItemToList)=\"addItemInList($event)\"\n [defaultCpfNumber]=\"defaultCpfNumber\"></pix-account>\n</s-sidebar>\n\n<div *ngIf=\"!withSideBar && !isViewMode\">\n <pix-account [(visible)]=\"visible\"\n [isEditAndViewValue]=\"pixAccountItemInput\"\n [currency]=\"currency\"\n [customEntity]=\"customEntity\"\n [customService]=\"customService\"\n [getListPixAccount]=\"listDataNoPage\"\n [withSideBar]=\"false\"\n [isViewMode]=\"isViewMode\"\n [paramsForm]=\"paramsForm\"\n [permitsEditBankAccountForm]=\"permitsEditBankAccount\"\n (pixAccountItemToList)=\"addItemInList($event)\"\n [defaultCpfNumber]=\"defaultCpfNumber\"></pix-account>\n</div>\n\n<div class=\"ui-g-1\" *ngIf=\"withSideBar && !isEditMode\">\n <div class=\"form-group \">\n <s-button id=\"ta-addPayAnnuity\"\n [disabled]=\"getTooltipAndDisableButtonAdd || msgTotalLimitByPercentage\"\n (onClick)=\"add()\"\n [pTooltip]=\"getTooltipAndDisableButtonAdd || msgTotalLimitByPercentage\"\n tooltipPosition=\"top\"\n label=\"{{'hcm.payroll.historical_pix_account_add'|translate}}\"></s-button>\n </div>\n</div>\n<div class=\"ui-g-12\">\n <p-table\n id=\"table-annuity\"\n [value]=\"listData\"\n [columns]=\"cols\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [sortMode]=\"'multiple'\"\n *sLoadingState=\"loading\"\n [rows]=\"recordByRow\"\n dataKey=\"id\">\n <ng-template pTemplate=\"colgroup\" let-coumns>\n <colgroup>\n <col [ngClass]=\"'col-default-m'\">\n <col [ngClass]=\"'col-default-m'\">\n <col [ngClass]=\"'col-default-s'\">\n <col *ngIf=\"!isViewMode\" [ngClass]=\"'col-action'\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <!-- Cabe\u00E7alhos quando da table \u00E9 permitido ordenar as colunas -->\n <tr>\n <!-- Cabe\u00E7alhos das colunas da tabela -->\n <th\n [pSortableColumn]=\"'pixKeyType'\"\n [pTooltip]=\"'hcm.payroll.employees_addition_pix_key_type' | translate\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n <div class=\"senior-header\" id=\"table-0\">\n <span\n id=\"table-annuity-s-0\">{{ 'hcm.payroll.employees_addition_pix_key_type' | translate }}</span>\n <p-sortIcon class=\"p-sorticon-status\"\n [field]=\"'hcm.payroll.employees_addition_pix_key_type' | translate\"></p-sortIcon>\n </div>\n </th>\n\n <th\n [pSortableColumn]=\"'pixKey'\"\n [pTooltip]=\"'hcm.payroll.employees_addition_pix_key' | translate\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n <div class=\"senior-header\">\n <span>{{ 'hcm.payroll.employees_addition_pix_key' | translate }}</span>\n <p-sortIcon class=\"p-sorticon-status\"\n [field]=\"'hcm.payroll.employees_addition_pix_key' | translate\"></p-sortIcon>\n </div>\n </th>\n\n <th\n [pSortableColumn]=\"'percentage'\"\n [pTooltip]=\"'hcm.payroll.historical_pix_account_label_percentage' | translate\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n <div class=\"senior-header\">\n <span>{{ 'hcm.payroll.historical_pix_account_label_percentage' | translate }}</span>\n <p-sortIcon class=\"p-sorticon-status\"\n [field]=\"'hcm.payroll.historical_pix_account_label_percentage' | translate\"></p-sortIcon>\n </div>\n </th>\n <!-- Cabe\u00E7alho da coluna de a\u00E7\u00F5es -->\n <th *ngIf=\"!isViewMode\" id=\"col-actions\"></th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-key=\"rowIndex\">\n\n <tr [ngClass]=\"'row'+key\" [pSelectableRow]=\"rowData\">\n <td [pTooltip]=\"rowData?.pixKeyType.value\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ rowData?.pixKeyType.value }}</span>\n </td>\n\n <ng-container [ngSwitch]=\"rowData?.pixKeyType.key\">\n <td *ngSwitchCase=\"'TELEPHONE'\"\n [pTooltip]=\"getFormattedTelephoneNumber(rowData?.pixKey)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedTelephoneNumber(rowData?.pixKey) }}</span>\n </td>\n <td *ngSwitchCase=\"'CPF'\"\n [pTooltip]=\"getFormattedCpf(rowData?.pixKey)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedCpf(rowData?.pixKey) }}</span>\n </td>\n <td *ngSwitchCase=\"'CNPJ'\"\n [pTooltip]=\"getFormattedCnpj(rowData?.pixKey)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedCnpj(rowData?.pixKey) }}</span>\n </td>\n <td *ngSwitchDefault\n [pTooltip]=\"rowData?.pixKey\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ rowData?.pixKey }}</span>\n </td>\n </ng-container>\n <td [pTooltip]=\"getFormattedPercentage(rowData?.percentage)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedPercentage(rowData?.percentage) }}</span>\n </td>\n <td id=\"col-actions-{{key}}\" class=\"col-actions \"\n *ngIf=\"actions && actions(rowData, key)?.length && !isViewMode\">\n <s-button id=\"table-admission-btn-actions-{{key}}\"\n *ngIf=\"actions(rowData, key).length > 1\" [label]=\"actionLabel\"\n priority=\"default\" [model]=\"scopedActions(rowData, key)\"\n [disabled]=\"false\" [auxiliary]=\"true\"></s-button>\n\n <s-button id=\"table-admission-btn-action-{{key}}\"\n *ngIf=\"actions(rowData, key).length <= 1\"\n [label]=\"scopedActions(rowData, key)[0].label\"\n priority=\"default\"\n (click)=\"scopedActions(rowData, key)[0].command()\"\n [disabled]=\"false\" [auxiliary]=\"true\"></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length +2\">\n {{'hcm.payroll.admission_empty_message'|translate}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span *ngIf=\"totalRecords\">{{recordsMessage}}</span>\n </ng-template>\n </p-table>\n</div>\n",
9625
+ template: "<s-sidebar *ngIf=\"withSideBar\" [visible]=\"visible\" (visibleChange)=\"close()\"\n header=\"{{'hcm.payroll.historical_pix_account_title_form'|translate}}\">\n<pix-account [(visible)]=\"visible\"\n [isEditAndViewValue]=\"pixAccountItemInput\"\n [currency]=\"currency\"\n [customEntity]=\"customEntity\"\n [customService]=\"customService\"\n [getListPixAccount]=\"listDataNoPage\"\n [paramsForm]=\"paramsForm\"\n (pixAccountItemToList)=\"addItemInList($event)\"\n [defaultCpfNumber]=\"defaultCpfNumber\"\n [isAlphanumericCNPJ]=\"isAlphanumericCNPJ\"></pix-account>\n</s-sidebar>\n\n<div *ngIf=\"!withSideBar && !isViewMode\">\n <pix-account [(visible)]=\"visible\"\n [isEditAndViewValue]=\"pixAccountItemInput\"\n [currency]=\"currency\"\n [customEntity]=\"customEntity\"\n [customService]=\"customService\"\n [getListPixAccount]=\"listDataNoPage\"\n [withSideBar]=\"false\"\n [isViewMode]=\"isViewMode\"\n [paramsForm]=\"paramsForm\"\n [permitsEditBankAccountForm]=\"permitsEditBankAccount\"\n (pixAccountItemToList)=\"addItemInList($event)\"\n [defaultCpfNumber]=\"defaultCpfNumber\"\n [isAlphanumericCNPJ]=\"isAlphanumericCNPJ\"></pix-account>\n</div>\n\n<div class=\"ui-g-1\" *ngIf=\"withSideBar && !isEditMode\">\n <div class=\"form-group \">\n <s-button id=\"ta-addPayAnnuity\"\n [disabled]=\"getTooltipAndDisableButtonAdd || msgTotalLimitByPercentage\"\n (onClick)=\"add()\"\n [pTooltip]=\"getTooltipAndDisableButtonAdd || msgTotalLimitByPercentage\"\n tooltipPosition=\"top\"\n label=\"{{'hcm.payroll.historical_pix_account_add'|translate}}\"></s-button>\n </div>\n</div>\n<div class=\"ui-g-12\">\n <p-table\n id=\"table-annuity\"\n [value]=\"listData\"\n [columns]=\"cols\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [sortMode]=\"'multiple'\"\n *sLoadingState=\"loading\"\n [rows]=\"recordByRow\"\n dataKey=\"id\">\n <ng-template pTemplate=\"colgroup\" let-coumns>\n <colgroup>\n <col [ngClass]=\"'col-default-m'\">\n <col [ngClass]=\"'col-default-m'\">\n <col [ngClass]=\"'col-default-s'\">\n <col *ngIf=\"!isViewMode\" [ngClass]=\"'col-action'\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <!-- Cabe\u00E7alhos quando da table \u00E9 permitido ordenar as colunas -->\n <tr>\n <!-- Cabe\u00E7alhos das colunas da tabela -->\n <th\n [pSortableColumn]=\"'pixKeyType'\"\n [pTooltip]=\"'hcm.payroll.employees_addition_pix_key_type' | translate\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n <div class=\"senior-header\" id=\"table-0\">\n <span\n id=\"table-annuity-s-0\">{{ 'hcm.payroll.employees_addition_pix_key_type' | translate }}</span>\n <p-sortIcon class=\"p-sorticon-status\"\n [field]=\"'hcm.payroll.employees_addition_pix_key_type' | translate\"></p-sortIcon>\n </div>\n </th>\n\n <th\n [pSortableColumn]=\"'pixKey'\"\n [pTooltip]=\"'hcm.payroll.employees_addition_pix_key' | translate\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n <div class=\"senior-header\">\n <span>{{ 'hcm.payroll.employees_addition_pix_key' | translate }}</span>\n <p-sortIcon class=\"p-sorticon-status\"\n [field]=\"'hcm.payroll.employees_addition_pix_key' | translate\"></p-sortIcon>\n </div>\n </th>\n\n <th\n [pSortableColumn]=\"'percentage'\"\n [pTooltip]=\"'hcm.payroll.historical_pix_account_label_percentage' | translate\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n <div class=\"senior-header\">\n <span>{{ 'hcm.payroll.historical_pix_account_label_percentage' | translate }}</span>\n <p-sortIcon class=\"p-sorticon-status\"\n [field]=\"'hcm.payroll.historical_pix_account_label_percentage' | translate\"></p-sortIcon>\n </div>\n </th>\n <!-- Cabe\u00E7alho da coluna de a\u00E7\u00F5es -->\n <th *ngIf=\"!isViewMode\" id=\"col-actions\"></th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-key=\"rowIndex\">\n\n <tr [ngClass]=\"'row'+key\" [pSelectableRow]=\"rowData\">\n <td [pTooltip]=\"rowData?.pixKeyType.value\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ rowData?.pixKeyType.value }}</span>\n </td>\n\n <ng-container [ngSwitch]=\"rowData?.pixKeyType.key\">\n <td *ngSwitchCase=\"'TELEPHONE'\"\n [pTooltip]=\"getFormattedTelephoneNumber(rowData?.pixKey)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedTelephoneNumber(rowData?.pixKey) }}</span>\n </td>\n <td *ngSwitchCase=\"'CPF'\"\n [pTooltip]=\"getFormattedCpf(rowData?.pixKey)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedCpf(rowData?.pixKey) }}</span>\n </td>\n <td *ngSwitchCase=\"'CNPJ'\"\n [pTooltip]=\"getFormattedCnpj(rowData?.pixKey)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedCnpj(rowData?.pixKey) }}</span>\n </td>\n <td *ngSwitchDefault\n [pTooltip]=\"rowData?.pixKey\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ rowData?.pixKey }}</span>\n </td>\n </ng-container>\n <td [pTooltip]=\"getFormattedPercentage(rowData?.percentage)\" tooltipPosition=\"top\"\n showDelay=\"500\">\n <span>{{ getFormattedPercentage(rowData?.percentage) }}</span>\n </td>\n <td id=\"col-actions-{{key}}\" class=\"col-actions \"\n *ngIf=\"actions && actions(rowData, key)?.length && !isViewMode\">\n <s-button id=\"table-admission-btn-actions-{{key}}\"\n *ngIf=\"actions(rowData, key).length > 1\" [label]=\"actionLabel\"\n priority=\"default\" [model]=\"scopedActions(rowData, key)\"\n [disabled]=\"false\" [auxiliary]=\"true\"></s-button>\n\n <s-button id=\"table-admission-btn-action-{{key}}\"\n *ngIf=\"actions(rowData, key).length <= 1\"\n [label]=\"scopedActions(rowData, key)[0].label\"\n priority=\"default\"\n (click)=\"scopedActions(rowData, key)[0].command()\"\n [disabled]=\"false\" [auxiliary]=\"true\"></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length +2\">\n {{'hcm.payroll.admission_empty_message'|translate}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span *ngIf=\"totalRecords\">{{recordsMessage}}</span>\n </ng-template>\n </p-table>\n</div>\n",
9472
9626
  styles: [".refresh{width:100%!important}#table-annuity .col-default-s{width:10%}#table-annuity .col-default-m{width:12%}#table-annuity .col-default-l{width:16%}#table-annuity .col-action{width:10%}#table-annuity .icon-warning{text-align:center!important;color:#ff6d00c7!important}@media screen and (max-width:612px){#table-annuity .col-default-1,#table-annuity .col-default-2{width:16%}#table-annuity .col-default-3{width:26%}#table-annuity .col-icon{width:10%}#table-annuity .col-action{width:27%}}#main{display:-webkit-box;display:flex;height:100%;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}#main form{height:100%}#main .footer{border-top:1px solid #ccc;padding-top:15px;margin-top:15px;flex-shrink:0;margin-bottom:-18px}#main .footer-s-border{padding-left:7px;flex-shrink:0;margin-bottom:-18px}"]
9473
9627
  })
9474
9628
  ], HistoricalPixAccountComponent);