@senior-gestao-pessoas/payroll-core 9.6.1 → 9.7.0-feature-hcmgdp-11851-0d47b4a9

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 +160 -14
  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 +7 -1
  6. package/components/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +1 -0
  7. package/components/utils/cnpj-validator.d.ts +5 -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 +21 -6
  11. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +10 -1
  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 +21 -6
  16. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +10 -1
  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 +160 -14
  21. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  22. package/fesm5/senior-gestao-pessoas-payroll-core.js +160 -14
  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
@@ -312,6 +312,59 @@
312
312
  }
313
313
  return true;
314
314
  };
315
+ CNPJValidator.prototype.checkCNPJAlphanumeric = function (value) {
316
+ var cnpj = value;
317
+ if (cnpj) {
318
+ cnpj = cnpj.replace(/[^\dA-Za-z]/g, '').toUpperCase();
319
+ if (cnpj.length !== 14) {
320
+ return true;
321
+ }
322
+ // Valida que dígitos verificadores são numéricos
323
+ if (!/^\d$/.test(cnpj.charAt(12)) || !/^\d$/.test(cnpj.charAt(13))) {
324
+ return { cnpjNotValid: true };
325
+ }
326
+ // Elimina CNPJs invalidos conhecidos
327
+ if (cnpj === '00000000000000' ||
328
+ cnpj === '11111111111111' ||
329
+ cnpj === '22222222222222' ||
330
+ cnpj === '33333333333333' ||
331
+ cnpj === '44444444444444' ||
332
+ cnpj === '55555555555555' ||
333
+ cnpj === '66666666666666' ||
334
+ cnpj === '77777777777777' ||
335
+ cnpj === '88888888888888' ||
336
+ cnpj === '99999999999999') {
337
+ return false;
338
+ }
339
+ // Valida DVs
340
+ var size = cnpj.length - 2;
341
+ var digits = cnpj.substring(size);
342
+ if (!this.validateCnpjDigit(cnpj, size, Number(digits.charAt(0)))) {
343
+ return false;
344
+ }
345
+ if (!this.validateCnpjDigit(cnpj, size + 1, Number(digits.charAt(1)))) {
346
+ return false;
347
+ }
348
+ return true;
349
+ }
350
+ return true;
351
+ };
352
+ CNPJValidator.prototype.validateCnpjDigit = function (cnpj, size, digit) {
353
+ var numbers = cnpj.substring(0, size);
354
+ var sum = 0;
355
+ var pos = size - 7;
356
+ for (var i = size; i >= 1; i--) {
357
+ sum += this.convertToAsciiMinus48(numbers.charAt(size - i)) * pos--;
358
+ if (pos < 2) {
359
+ pos = 9;
360
+ }
361
+ }
362
+ var result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
363
+ return result === digit;
364
+ };
365
+ CNPJValidator.prototype.convertToAsciiMinus48 = function (input) {
366
+ return input.charCodeAt(0) - 48;
367
+ };
315
368
  return CNPJValidator;
316
369
  }());
317
370
  var cnpjValidator = new CNPJValidator();
@@ -3020,6 +3073,12 @@
3020
3073
  })
3021
3074
  .subscribe(function (payload) { return _this.formaterResponce(payload.result); });
3022
3075
  }
3076
+ else if (this.isSituationDefinition) {
3077
+ var params = { searchText: query };
3078
+ return this.service
3079
+ .query('autocompleteSituationDefinitionQuery', params, exports.ServiceType.ORGANIZATION_REGISTER)
3080
+ .subscribe(function (payload) { return _this.formaterResponce(payload.result); });
3081
+ }
3023
3082
  else if (this.isWagetype) {
3024
3083
  var params = { searchText: query, companyId: this.companyId };
3025
3084
  return this.service
@@ -3251,6 +3310,9 @@
3251
3310
  __decorate([
3252
3311
  core.Input()
3253
3312
  ], InputRestAutoCompleteComponent.prototype, "isWagetype", void 0);
3313
+ __decorate([
3314
+ core.Input()
3315
+ ], InputRestAutoCompleteComponent.prototype, "isSituationDefinition", void 0);
3254
3316
  __decorate([
3255
3317
  core.Input()
3256
3318
  ], InputRestAutoCompleteComponent.prototype, "multiple", void 0);
@@ -9346,27 +9408,40 @@
9346
9408
  * Retorna o CNPJ formatado
9347
9409
  * @param cnpj CNPJ
9348
9410
  */
9349
- FormatUtilsService.getFormattedCnpj = function (cnpj) {
9411
+ FormatUtilsService.getFormattedCnpj = function (cnpj, isAlphanumericCNPJ) {
9350
9412
  if (cnpj) {
9351
- return cnpj
9352
- .replace(/\D/g, "")
9353
- .replace(/(\d{2})(\d)/, "$1.$2")
9354
- .replace(/(\d{3})(\d)/, "$1.$2")
9355
- .replace(/(\d{3})(\d)/, "$1/$2")
9356
- .replace(/(\d{4})(\d)/, "$1-$2");
9413
+ if (isAlphanumericCNPJ) {
9414
+ // Remove caracteres especiais mantendo letras e números, e converte para maiúsculas
9415
+ var cleanCnpj = cnpj.replace(/[^a-zA-Z0-9]/g, '').toUpperCase();
9416
+ // Aplica formatação: AA.BBB.CCC/DDDD-EE
9417
+ return cleanCnpj
9418
+ .replace(/^([A-Z0-9]{2})([A-Z0-9])/, '$1.$2')
9419
+ .replace(/^([A-Z0-9]{2}\.)([A-Z0-9]{3})([A-Z0-9])/, '$1$2.$3')
9420
+ .replace(/^([A-Z0-9]{2}\.[A-Z0-9]{3}\.)([A-Z0-9]{3})([A-Z0-9])/, '$1$2/$3')
9421
+ .replace(/^([A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/)([A-Z0-9]{4})([0-9])/, '$1$2-$3');
9422
+ }
9423
+ else {
9424
+ return cnpj
9425
+ .replace(/\D/g, "")
9426
+ .replace(/(\d{2})(\d)/, "$1.$2")
9427
+ .replace(/(\d{3})(\d)/, "$1.$2")
9428
+ .replace(/(\d{3})(\d)/, "$1/$2")
9429
+ .replace(/(\d{4})(\d)/, "$1-$2");
9430
+ }
9357
9431
  }
9358
9432
  return null;
9359
9433
  };
9360
9434
  /**
9361
9435
  * Retorna a mascara do CPF/CNPJ
9362
9436
  * @param key Valores possíveis são CPF ou CNPJ
9437
+ * @param isAlphanumericCNPJ Define se o CNPJ pode ser alfanumérico.
9363
9438
  */
9364
- FormatUtilsService.getCpfCnpjMask = function (key) {
9439
+ FormatUtilsService.getCpfCnpjMask = function (key, isAlphanumericCNPJ) {
9365
9440
  switch (key) {
9366
9441
  case "CPF":
9367
9442
  return "999.999.999-99";
9368
9443
  case "CNPJ":
9369
- return "99.999.999/9999-99";
9444
+ return isAlphanumericCNPJ ? "**.***.***/****-99" : "99.999.999/9999-99";
9370
9445
  default:
9371
9446
  return "";
9372
9447
  }
@@ -9568,6 +9643,62 @@
9568
9643
  }
9569
9644
  return null;
9570
9645
  };
9646
+ /**
9647
+ * Valida se o CNPJ Alfanumérico é valido. Deve-se ser informado o cpf sem máscara.
9648
+ */
9649
+ GenericValidator.isValidCnpjAlphanumeric = function (control) {
9650
+ var cnpj = control.value;
9651
+ if (cnpj) {
9652
+ cnpj = cnpj.replace(/[^\dA-Za-z]/g, '').toUpperCase();
9653
+ if (cnpj.length !== 14) {
9654
+ return null;
9655
+ }
9656
+ // Valida que dígitos verificadores são numéricos
9657
+ if (!/^\d$/.test(cnpj.charAt(12)) || !/^\d$/.test(cnpj.charAt(13))) {
9658
+ return { cnpjNotValid: true };
9659
+ }
9660
+ // Elimina CNPJs invalidos conhecidos
9661
+ if (cnpj === '00000000000000' ||
9662
+ cnpj === '11111111111111' ||
9663
+ cnpj === '22222222222222' ||
9664
+ cnpj === '33333333333333' ||
9665
+ cnpj === '44444444444444' ||
9666
+ cnpj === '55555555555555' ||
9667
+ cnpj === '66666666666666' ||
9668
+ cnpj === '77777777777777' ||
9669
+ cnpj === '88888888888888' ||
9670
+ cnpj === '99999999999999') {
9671
+ return { cnpjNotValid: true };
9672
+ }
9673
+ // Valida DVs
9674
+ var size = cnpj.length - 2;
9675
+ var digits = cnpj.substring(size);
9676
+ if (!GenericValidator.validateCnpjDigit(cnpj, size, Number(digits.charAt(0)))) {
9677
+ return { cnpjNotValid: true };
9678
+ }
9679
+ if (!GenericValidator.validateCnpjDigit(cnpj, size + 1, Number(digits.charAt(1)))) {
9680
+ return { cnpjNotValid: true };
9681
+ }
9682
+ return null;
9683
+ }
9684
+ return null;
9685
+ };
9686
+ GenericValidator.validateCnpjDigit = function (cnpj, size, digit) {
9687
+ var numbers = cnpj.substring(0, size);
9688
+ var sum = 0;
9689
+ var pos = size - 7;
9690
+ for (var i = size; i >= 1; i--) {
9691
+ sum += this.convertToAsciiMinus48(numbers.charAt(size - i)) * pos--;
9692
+ if (pos < 2) {
9693
+ pos = 9;
9694
+ }
9695
+ }
9696
+ var result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
9697
+ return result === digit;
9698
+ };
9699
+ GenericValidator.convertToAsciiMinus48 = function (input) {
9700
+ return input.charCodeAt(0) - 48;
9701
+ };
9571
9702
  /**
9572
9703
  * Válida o número de telefone da chave PIX.
9573
9704
  */
@@ -9812,7 +9943,7 @@
9812
9943
  /**
9813
9944
  * Antes de setar o validator prepara as variáveis necessária para que seja feita a validação do campo.
9814
9945
  */
9815
- HistoricalPixAccountFormComponent.prototype.setPixKeyValidators = function (isEditMode) {
9946
+ HistoricalPixAccountFormComponent.prototype.setPixKeyValidators = function (isEditMode, isAlphanumericCNPJ) {
9816
9947
  var genericPixKey = this.pixAccountFormGroup.get("pixKey");
9817
9948
  if (this.pixKeyType) {
9818
9949
  switch (this.pixKeyType) {
@@ -9832,9 +9963,7 @@
9832
9963
  ]));
9833
9964
  break;
9834
9965
  case "CNPJ":
9835
- genericPixKey.setValidators(forms.Validators.compose([
9836
- forms.Validators.required, GenericValidator.isValidCnpj,
9837
- ]));
9966
+ this.configureCnpjKeyValidators(isAlphanumericCNPJ, genericPixKey);
9838
9967
  break;
9839
9968
  case "RANDOM_KEY":
9840
9969
  genericPixKey.setValidators(forms.Validators.required);
@@ -9849,6 +9978,23 @@
9849
9978
  genericPixKey.updateValueAndValidity();
9850
9979
  }
9851
9980
  };
9981
+ /**
9982
+ * Escolhe o validator do CNPJ conforme a feature toggle alphanumericCNPJFeature.
9983
+ * @param isAlphanumericCNPJ Feature toggle que define se o CNPJ pode ser alfanumérico.
9984
+ * @param genericPixKey Tipo AbstractControl do campo pixKey.
9985
+ */
9986
+ HistoricalPixAccountFormComponent.prototype.configureCnpjKeyValidators = function (isAlphanumericCNPJ, genericPixKey) {
9987
+ if (isAlphanumericCNPJ) {
9988
+ genericPixKey.setValidators(forms.Validators.compose([
9989
+ forms.Validators.required, GenericValidator.isValidCnpjAlphanumeric,
9990
+ ]));
9991
+ }
9992
+ else {
9993
+ genericPixKey.setValidators(forms.Validators.compose([
9994
+ forms.Validators.required, GenericValidator.isValidCnpj,
9995
+ ]));
9996
+ }
9997
+ };
9852
9998
  /**
9853
9999
  * Este método calcula as parcentagens que já foram inseridas, e seta a diferença para chegar em
9854
10000
  * 100% na validação do campo "percentage" como um novo maxValue;
@@ -9976,7 +10122,7 @@
9976
10122
  HistoricalPixAccountFormComponent = __decorate([
9977
10123
  core.Component({
9978
10124
  selector: "pix-account",
9979
- 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",
10125
+ 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\" [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",
9980
10126
  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}"]
9981
10127
  })
9982
10128
  ], HistoricalPixAccountFormComponent);