@senior-agronegocio/angular-components 0.0.9865 → 0.0.9866

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 (62) hide show
  1. package/bundles/senior-agronegocio-angular-components.umd.js +525 -106
  2. package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
  5. package/common/agro-object-stringifier.class.d.ts +16 -0
  6. package/common/agro-regex.constant.d.ts +3 -0
  7. package/common/agro-string-utils.class.d.ts +8 -0
  8. package/components/financial-title-table/financial-title-table.component.d.ts +65 -3
  9. package/esm2015/common/agro-object-stringifier.class.js +31 -0
  10. package/esm2015/common/agro-platform-utils.class.js +8 -7
  11. package/esm2015/common/agro-regex.constant.js +5 -2
  12. package/esm2015/common/agro-string-utils.class.js +89 -11
  13. package/esm2015/components/financial-title-table/financial-title-table.component.js +196 -82
  14. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +28 -0
  15. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +15 -0
  16. package/esm2015/pipe/cnpj-cpf/index.js +3 -0
  17. package/esm2015/pipe/index.js +4 -1
  18. package/esm2015/pipe/stringifier/index.js +3 -0
  19. package/esm2015/pipe/stringifier/stringifier.pipe.js +13 -0
  20. package/esm2015/pipe/stringifier/stringifier.pipe.module.js +15 -0
  21. package/esm2015/pipe/telephone/index.js +3 -0
  22. package/esm2015/pipe/telephone/telephone.pipe.js +91 -0
  23. package/esm2015/pipe/telephone/telephone.pipe.module.js +15 -0
  24. package/esm2015/public-api.js +3 -3
  25. package/esm2015/senior-agronegocio-angular-components.js +3 -2
  26. package/esm2015/services/lib-translation.service.js +2 -2
  27. package/esm5/common/agro-object-stringifier.class.js +35 -0
  28. package/esm5/common/agro-platform-utils.class.js +8 -7
  29. package/esm5/common/agro-regex.constant.js +5 -2
  30. package/esm5/common/agro-string-utils.class.js +106 -17
  31. package/esm5/components/financial-title-table/financial-title-table.component.js +198 -83
  32. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +35 -0
  33. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +18 -0
  34. package/esm5/pipe/cnpj-cpf/index.js +3 -0
  35. package/esm5/pipe/index.js +4 -1
  36. package/esm5/pipe/stringifier/index.js +3 -0
  37. package/esm5/pipe/stringifier/stringifier.pipe.js +16 -0
  38. package/esm5/pipe/stringifier/stringifier.pipe.module.js +18 -0
  39. package/esm5/pipe/telephone/index.js +3 -0
  40. package/esm5/pipe/telephone/telephone.pipe.js +95 -0
  41. package/esm5/pipe/telephone/telephone.pipe.module.js +18 -0
  42. package/esm5/public-api.js +3 -3
  43. package/esm5/senior-agronegocio-angular-components.js +3 -2
  44. package/esm5/services/lib-translation.service.js +2 -2
  45. package/fesm2015/senior-agronegocio-angular-components.js +474 -100
  46. package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
  47. package/fesm5/senior-agronegocio-angular-components.js +518 -106
  48. package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
  49. package/package.json +7 -55
  50. package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +4 -0
  51. package/pipe/cnpj-cpf/cnpj-cpf.pipe.module.d.ts +2 -0
  52. package/pipe/cnpj-cpf/index.d.ts +2 -0
  53. package/pipe/index.d.ts +3 -0
  54. package/pipe/stringifier/index.d.ts +2 -0
  55. package/pipe/stringifier/stringifier.pipe.d.ts +9 -0
  56. package/pipe/stringifier/stringifier.pipe.module.d.ts +2 -0
  57. package/pipe/telephone/index.d.ts +2 -0
  58. package/pipe/telephone/telephone.pipe.d.ts +21 -0
  59. package/pipe/telephone/telephone.pipe.module.d.ts +2 -0
  60. package/public-api.d.ts +2 -2
  61. package/senior-agronegocio-angular-components.d.ts +2 -1
  62. package/senior-agronegocio-angular-components.metadata.json +1 -1
@@ -360,7 +360,10 @@
360
360
  * Validação de Placa de Veículo Antiga
361
361
  * Formato: AAA-0000
362
362
  */
363
- isOldLicensePlate: /^[A-Z]{3}[0-9]{4}$/
363
+ isOldLicensePlate: /^[A-Z]{3}\d{4}$/,
364
+ isISODate: /^\d{4}-\d{2}-\d{2}$/,
365
+ isISOTime: /^\d{2}:\d{2}:\d{2}$/,
366
+ isISODateTime: /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/,
364
367
  };
365
368
 
366
369
 
@@ -2290,13 +2293,19 @@
2290
2293
  */
2291
2294
  AgroStringUtils.isEmpty = function (str) {
2292
2295
  var _a;
2293
- return !str || ((_a = str.trim()) === null || _a === void 0 ? void 0 : _a.length) === exports.AGRO_NUMBERS.ZERO;
2296
+ if (str && AgroStringUtils.isString(str)) {
2297
+ return ((_a = str === null || str === void 0 ? void 0 : str.trim()) === null || _a === void 0 ? void 0 : _a.length) === exports.AGRO_NUMBERS.ZERO;
2298
+ }
2299
+ return true;
2294
2300
  };
2295
2301
  /**
2296
2302
  * Verifica se a string não está vazia.
2297
2303
  */
2298
2304
  AgroStringUtils.isNotEmpty = function (str) {
2299
- return !AgroStringUtils.isEmpty(str);
2305
+ if (str && AgroStringUtils.isString(str)) {
2306
+ return !AgroStringUtils.isEmpty(str);
2307
+ }
2308
+ return false;
2300
2309
  };
2301
2310
  /** Verifica se a string é nula, indefinida ou contém apenas espaços em branco */
2302
2311
  AgroStringUtils.isBlank = function (str) {
@@ -2351,7 +2360,7 @@
2351
2360
  return AGRO_REGEX.isUUID.test(str);
2352
2361
  };
2353
2362
  AgroStringUtils.isNumber = function (str) {
2354
- return AGRO_REGEX.isNumber.test(str);
2363
+ return [AGRO_REGEX.isNumber.test(str), AGRO_REGEX.isDecimal.test(str)].includes(true);
2355
2364
  };
2356
2365
  AgroStringUtils.validateCPF = function (cpf) {
2357
2366
  cpf = cpf.replace(/\D/g, "");
@@ -2368,7 +2377,7 @@
2368
2377
  };
2369
2378
  var digit1 = calcVerifier(cpf, exports.AGRO_NUMBERS.NINE);
2370
2379
  var digit2 = calcVerifier(cpf, exports.AGRO_NUMBERS.TEN);
2371
- return digit1 === parseInt(cpf[exports.AGRO_NUMBERS.NINE], exports.AGRO_NUMBERS.TEN) && digit2 === parseInt(cpf[exports.AGRO_NUMBERS.TEN], exports.AGRO_NUMBERS.TEN);
2380
+ return (digit1 === parseInt(cpf[exports.AGRO_NUMBERS.NINE], exports.AGRO_NUMBERS.TEN) && digit2 === parseInt(cpf[exports.AGRO_NUMBERS.TEN], exports.AGRO_NUMBERS.TEN));
2372
2381
  };
2373
2382
  /**
2374
2383
  * Detecta automaticamente se é CNPJ antigo ou novo formato.
@@ -2411,7 +2420,8 @@
2411
2420
  }
2412
2421
  resto = soma % exports.AGRO_NUMBERS.ELEVEN;
2413
2422
  var digito2 = resto < exports.AGRO_NUMBERS.TWO ? exports.AGRO_NUMBERS.ZERO : exports.AGRO_NUMBERS.ELEVEN - resto;
2414
- return parseInt(cnpj.charAt(exports.AGRO_NUMBERS.TWELVE), exports.AGRO_NUMBERS.TEN) === digito1 && parseInt(cnpj.charAt(exports.AGRO_NUMBERS.THIRTEEN), exports.AGRO_NUMBERS.TEN) === digito2;
2423
+ return (parseInt(cnpj.charAt(exports.AGRO_NUMBERS.TWELVE), exports.AGRO_NUMBERS.TEN) === digito1 &&
2424
+ parseInt(cnpj.charAt(exports.AGRO_NUMBERS.THIRTEEN), exports.AGRO_NUMBERS.TEN) === digito2);
2415
2425
  };
2416
2426
  /**
2417
2427
  * Valida o CNPJ em formato alfanumérico (padrão 2026)
@@ -2507,20 +2517,93 @@
2507
2517
  var matches = str.match(regex);
2508
2518
  return matches ? matches.length : exports.AGRO_NUMBERS.ZERO;
2509
2519
  };
2520
+ /**
2521
+ * Remove uma máscara simples da string fornecida.O padrão de máscaras é definido pelo enum AgroStringMasks ou
2522
+ * pode ser uma string personalizada onde '9' representa um dígito a ser mantido da string.
2523
+ */
2524
+ AgroStringUtils.removeMask = function (value, mask) {
2525
+ var e_1, _a;
2526
+ if (!value || !mask) {
2527
+ return value;
2528
+ }
2529
+ var valueChars = value.toString().split("");
2530
+ var maskChars = mask.split("");
2531
+ var unmaskedValue = "";
2532
+ var j = 0;
2533
+ var isDigit = function (c) { return /\d/.test(c); };
2534
+ var isAlpha = function (c) { return /[A-Za-z]/.test(c); };
2535
+ var isAlnum = function (c) { return /[A-Za-z0-9]/.test(c); };
2536
+ var extractNext = function (testFn) {
2537
+ var k = j;
2538
+ while (k < valueChars.length && !testFn(valueChars[k])) {
2539
+ k++;
2540
+ }
2541
+ if (k < valueChars.length) {
2542
+ var found = valueChars[k];
2543
+ j = k + 1;
2544
+ return found;
2545
+ }
2546
+ var fallback = valueChars[j];
2547
+ j++;
2548
+ return fallback;
2549
+ };
2550
+ var processMaskChar = function (maskChar) {
2551
+ var _a, _b;
2552
+ if (j >= valueChars.length) {
2553
+ return;
2554
+ }
2555
+ var current = valueChars[j];
2556
+ switch (maskChar) {
2557
+ case "9":
2558
+ unmaskedValue += (_a = extractNext(isDigit)) !== null && _a !== void 0 ? _a : "";
2559
+ break;
2560
+ case "A":
2561
+ unmaskedValue += (_b = extractNext(isAlpha)) !== null && _b !== void 0 ? _b : "";
2562
+ break;
2563
+ default:
2564
+ handleSeparator(maskChar, current);
2565
+ break;
2566
+ }
2567
+ };
2568
+ var handleSeparator = function (maskChar, current) {
2569
+ if (current === maskChar) {
2570
+ j++; // separador presente no valor
2571
+ }
2572
+ if (isAlnum(current)) {
2573
+ unmaskedValue += current;
2574
+ j++;
2575
+ }
2576
+ // se for pontuação diferente, apenas ignora (não consome j)
2577
+ };
2578
+ try {
2579
+ for (var maskChars_1 = __values(maskChars), maskChars_1_1 = maskChars_1.next(); !maskChars_1_1.done; maskChars_1_1 = maskChars_1.next()) {
2580
+ var maskChar = maskChars_1_1.value;
2581
+ processMaskChar(maskChar);
2582
+ }
2583
+ }
2584
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2585
+ finally {
2586
+ try {
2587
+ if (maskChars_1_1 && !maskChars_1_1.done && (_a = maskChars_1.return)) _a.call(maskChars_1);
2588
+ }
2589
+ finally { if (e_1) throw e_1.error; }
2590
+ }
2591
+ return unmaskedValue;
2592
+ };
2510
2593
  /**
2511
2594
  * Aplica uma máscara simples à string fornecida.O padrão de máscaras é definido pelo enum AgroStringMasks ou
2512
2595
  * pode ser uma string personalizada onde '9' representa um dígito a ser substituído pelo caractere correspondente
2513
2596
  * da string.
2514
2597
  */
2515
2598
  AgroStringUtils.applyMask = function (value, mask) {
2516
- var e_1, _a;
2517
- var valueChars = value.toString().split("");
2599
+ var e_2, _a;
2600
+ var valueChars = AgroStringUtils.removeMask(value, mask).toString().split("");
2518
2601
  var maskChars = mask.split("");
2519
2602
  var maskedValue = "";
2520
2603
  var j = exports.AGRO_NUMBERS.ZERO;
2521
2604
  try {
2522
- for (var maskChars_1 = __values(maskChars), maskChars_1_1 = maskChars_1.next(); !maskChars_1_1.done; maskChars_1_1 = maskChars_1.next()) {
2523
- var maskChar = maskChars_1_1.value;
2605
+ for (var maskChars_2 = __values(maskChars), maskChars_2_1 = maskChars_2.next(); !maskChars_2_1.done; maskChars_2_1 = maskChars_2.next()) {
2606
+ var maskChar = maskChars_2_1.value;
2524
2607
  if (j >= valueChars.length) {
2525
2608
  break;
2526
2609
  }
@@ -2533,12 +2616,12 @@
2533
2616
  }
2534
2617
  }
2535
2618
  }
2536
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
2619
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
2537
2620
  finally {
2538
2621
  try {
2539
- if (maskChars_1_1 && !maskChars_1_1.done && (_a = maskChars_1.return)) _a.call(maskChars_1);
2622
+ if (maskChars_2_1 && !maskChars_2_1.done && (_a = maskChars_2.return)) _a.call(maskChars_2);
2540
2623
  }
2541
- finally { if (e_1) throw e_1.error; }
2624
+ finally { if (e_2) throw e_2.error; }
2542
2625
  }
2543
2626
  return maskedValue;
2544
2627
  };
@@ -2548,6 +2631,15 @@
2548
2631
  AgroStringUtils.isInvalid = function (str) {
2549
2632
  return !AgroStringUtils.isValid(str);
2550
2633
  };
2634
+ AgroStringUtils.isISODate = function (value) {
2635
+ return AGRO_REGEX.isISODate.test(value);
2636
+ };
2637
+ AgroStringUtils.isISOTime = function (value) {
2638
+ return AGRO_REGEX.isISOTime.test(value);
2639
+ };
2640
+ AgroStringUtils.isISODatetime = function (value) {
2641
+ return AGRO_REGEX.isISODateTime.test(value);
2642
+ };
2551
2643
  AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1 = [
2552
2644
  exports.AGRO_NUMBERS.FIVE,
2553
2645
  exports.AGRO_NUMBERS.FOUR,
@@ -2560,7 +2652,7 @@
2560
2652
  exports.AGRO_NUMBERS.FIVE,
2561
2653
  exports.AGRO_NUMBERS.FOUR,
2562
2654
  exports.AGRO_NUMBERS.THREE,
2563
- exports.AGRO_NUMBERS.TWO
2655
+ exports.AGRO_NUMBERS.TWO,
2564
2656
  ];
2565
2657
  AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2 = [
2566
2658
  exports.AGRO_NUMBERS.SIX,
@@ -2575,7 +2667,7 @@
2575
2667
  exports.AGRO_NUMBERS.FIVE,
2576
2668
  exports.AGRO_NUMBERS.FOUR,
2577
2669
  exports.AGRO_NUMBERS.THREE,
2578
- exports.AGRO_NUMBERS.TWO
2670
+ exports.AGRO_NUMBERS.TWO,
2579
2671
  ];
2580
2672
  // Pesos utilizados para cálculo de dígitos verificadores do CNPJ alfanumérico (2026)
2581
2673
  AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1 = [
@@ -2590,7 +2682,7 @@
2590
2682
  exports.AGRO_NUMBERS.FIVE,
2591
2683
  exports.AGRO_NUMBERS.FOUR,
2592
2684
  exports.AGRO_NUMBERS.THREE,
2593
- exports.AGRO_NUMBERS.TWO
2685
+ exports.AGRO_NUMBERS.TWO,
2594
2686
  ];
2595
2687
  AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2 = [
2596
2688
  exports.AGRO_NUMBERS.SIX,
@@ -2605,7 +2697,7 @@
2605
2697
  exports.AGRO_NUMBERS.FIVE,
2606
2698
  exports.AGRO_NUMBERS.FOUR,
2607
2699
  exports.AGRO_NUMBERS.THREE,
2608
- exports.AGRO_NUMBERS.TWO
2700
+ exports.AGRO_NUMBERS.TWO,
2609
2701
  ];
2610
2702
  return AgroStringUtils;
2611
2703
  }());
@@ -2623,7 +2715,7 @@
2623
2715
  * @returns
2624
2716
  */
2625
2717
  AgroPlatformUtils.getCurrentTenant = function () {
2626
- var tenant = AgroPlatformUtils.getTokenField('tenantName');
2718
+ var tenant = AgroPlatformUtils.getTokenField("tenantName");
2627
2719
  if (tenant) {
2628
2720
  return tenant;
2629
2721
  }
@@ -2635,17 +2727,18 @@
2635
2727
  * @returns
2636
2728
  */
2637
2729
  AgroPlatformUtils.getCurrentTenantLocale = function () {
2638
- var locale = AgroPlatformUtils.getTokenField('locale');
2730
+ var locale = AgroPlatformUtils.getTokenField("locale");
2639
2731
  if (locale) {
2640
2732
  return locale;
2641
2733
  }
2642
- throw new Error("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2734
+ throw new Error("'locale' n\u00E3o encontrado para o tenant atual.");
2643
2735
  };
2644
2736
  /**
2645
2737
  * @deprecated Use getCurrentTenantLocale()
2646
2738
  * Mantido por compatibilidade retroativa.
2647
2739
  */
2648
2740
  AgroPlatformUtils.getCurrenTenantLocale = function () {
2741
+ // legacy typo retained
2649
2742
  return AgroPlatformUtils.getCurrentTenantLocale();
2650
2743
  };
2651
2744
  /**
@@ -2654,7 +2747,7 @@
2654
2747
  * @returns string || null
2655
2748
  */
2656
2749
  AgroPlatformUtils.getCurrentUserName = function () {
2657
- var name = AgroPlatformUtils.getTokenField('fullName');
2750
+ var name = AgroPlatformUtils.getTokenField("fullName");
2658
2751
  return name || null;
2659
2752
  };
2660
2753
  /**
@@ -2663,7 +2756,7 @@
2663
2756
  * @returns string
2664
2757
  */
2665
2758
  AgroPlatformUtils.getCurrentUserEmail = function () {
2666
- var email = AgroPlatformUtils.getTokenField('email');
2759
+ var email = AgroPlatformUtils.getTokenField("email");
2667
2760
  if (!email) {
2668
2761
  console.info("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2669
2762
  }
@@ -2698,7 +2791,7 @@
2698
2791
  * Caso contrário, retorna uma instância de Error
2699
2792
  */
2700
2793
  AgroPlatformUtils.getCurrentAccessToken = function () {
2701
- var token = AgroPlatformUtils.getTokenField('access_token');
2794
+ var token = AgroPlatformUtils.getTokenField("access_token");
2702
2795
  if (!token) {
2703
2796
  console.info("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2704
2797
  }
@@ -4554,7 +4647,7 @@
4554
4647
  this.setLang(this.getLangOfUser());
4555
4648
  }
4556
4649
  LibTranslationService.prototype.getLangOfUser = function () {
4557
- return AgroPlatformUtils.getCurrenTenantLocale() || "pt-BR";
4650
+ return AgroPlatformUtils.getCurrentTenantLocale() || "pt-BR";
4558
4651
  };
4559
4652
  LibTranslationService.prototype.setLang = function (lang) {
4560
4653
  this.currentTranslation = this.availableTranslations[lang] || {};
@@ -7020,7 +7113,7 @@
7020
7113
  this.form = new forms.FormGroup({
7021
7114
  titlesForm: new forms.FormArray([], []),
7022
7115
  });
7023
- this.currentListParams = { page: 0, size: 10, sort: [], filterData: {} };
7116
+ this.currentListParams = { first: 0, rows: 10, sortField: null, sortOrder: null, filters: {} };
7024
7117
  this.ngUnsubscribe = new core.EventEmitter();
7025
7118
  common.registerLocaleData(localePt);
7026
7119
  }
@@ -7031,38 +7124,40 @@
7031
7124
  enumerable: true,
7032
7125
  configurable: true
7033
7126
  });
7127
+ /**
7128
+ * Inicializa colunas da tabela e campos exibidos no sidebar,
7129
+ * depois dispara a primeira busca de títulos com os filtros informados em {@link options}.
7130
+ */
7034
7131
  FinancialTitleTableComponent.prototype.ngOnInit = function () {
7035
7132
  this.gridColumns = [
7036
- this.getFields("title", "agro.angular_components.title", ["numberTitle"], angularComponents.FieldType.String),
7037
- this.getFields("type", "agro.angular_components.type", ["titleType.cod", "titleType.desc"], angularComponents.FieldType.String),
7038
- this.getFields("entryDate", "agro.angular_components.entry", ["issueDate"], angularComponents.FieldType.Date),
7039
- this.getFields("dueDate", "agro.angular_components.due_date", ["dueDate"], angularComponents.FieldType.Date),
7040
- this.getFields("valueOrigin", "agro.angular_components.original_value", ["values.originalValue"], angularComponents.FieldType.Money),
7041
- this.getFields("valueOpen", "agro.angular_components.open_value", ["values.openValue"], angularComponents.FieldType.Money),
7042
- this.getFields("valueNet", "agro.angular_components.value_net", ["values.netValue"], angularComponents.FieldType.Money),
7043
- this.getFields("valuePaid", "agro.angular_components.value_to_pay", ["valuePaid"], angularComponents.FieldType.Money),
7133
+ this.getFields("title", "agro.angular_components.title", ["numberTitle"], angularComponents.FieldType.String, TitleFieldsOrderBy.NUMBER_TITLE),
7134
+ this.getFields("type", "agro.angular_components.type", ["titleType.cod", "titleType.desc"], angularComponents.FieldType.String, null),
7135
+ this.getFields("entryDate", "agro.angular_components.entry", ["issueDate"], angularComponents.FieldType.Date, TitleFieldsOrderBy.ISSUE_DATE),
7136
+ this.getFields("dueDate", "agro.angular_components.due_date", ["dueDate"], angularComponents.FieldType.Date, TitleFieldsOrderBy.DUE_DATE),
7137
+ this.getFields("valueOrigin", "agro.angular_components.original_value", ["values.originalValue"], angularComponents.FieldType.Money, TitleFieldsOrderBy.ORIGINAL_VALUE),
7138
+ this.getFields("valueOpen", "agro.angular_components.open_value", ["values.openValue"], angularComponents.FieldType.Money, TitleFieldsOrderBy.OPEN_VALUE),
7139
+ this.getFields("valueNet", "agro.angular_components.value_net", ["values.netValue"], angularComponents.FieldType.Money, TitleFieldsOrderBy.NET_VALUE),
7140
+ this.getFields("valuePaid", "agro.angular_components.value_to_pay", ["valuePaid"], angularComponents.FieldType.Money, null),
7044
7141
  ];
7045
7142
  this.sidebarFields = __spread([
7046
- this.getFields("company", "agro.angular_components.company", ["company.cod", "company.desc"], angularComponents.FieldType.String),
7047
- this.getFields("branch", "agro.angular_components.branch", ["branch.cod", "branch.desc"], angularComponents.FieldType.String),
7048
- this.getFields("producer", "agro.angular_components.producer", ["producer.cod", "producer.desc"], angularComponents.FieldType.String)
7143
+ this.getFields("company", "agro.angular_components.company", ["company.cod", "company.desc"], angularComponents.FieldType.String, null),
7144
+ this.getFields("branch", "agro.angular_components.branch", ["branch.cod", "branch.desc"], angularComponents.FieldType.String, null),
7145
+ this.getFields("producer", "agro.angular_components.producer", ["producer.cod", "producer.desc"], angularComponents.FieldType.String, null)
7049
7146
  ], this.gridColumns.filter(function (col) { return !["valuePaid", "valueNet"].includes(col.field); }), [
7050
- this.getFields("valueFees", "agro.angular_components.value_fees", ["values.feesValue"], angularComponents.FieldType.Money),
7051
- this.getFields("valueFine", "agro.angular_components.value_fine", ["values.fineValue"], angularComponents.FieldType.Money),
7052
- this.getFields("valueCharge", "agro.angular_components.value_charge", ["values.chargeValue"], angularComponents.FieldType.Money),
7053
- this.getFields("valueCorrection", "agro.angular_components.value_correction", ["values.monetaryCorrectionValue"], angularComponents.FieldType.Money),
7054
- this.getFields("valueAdditional", "agro.angular_components.value_additional", ["values.otherAdditionValue"], angularComponents.FieldType.Money),
7055
- this.getFields("valueDiscount", "agro.angular_components.value_discount", ["values.discountValue"], angularComponents.FieldType.Money),
7056
- this.getFields("valueOtherDiscount", "agro.angular_components.value_other_discount", ["values.otherDiscountValue"], angularComponents.FieldType.Money)
7147
+ this.getFields("valueFees", "agro.angular_components.value_fees", ["values.feesValue"], angularComponents.FieldType.Money, null),
7148
+ this.getFields("valueFine", "agro.angular_components.value_fine", ["values.fineValue"], angularComponents.FieldType.Money, null),
7149
+ this.getFields("valueCharge", "agro.angular_components.value_charge", ["values.chargeValue"], angularComponents.FieldType.Money, null),
7150
+ this.getFields("valueCorrection", "agro.angular_components.value_correction", ["values.monetaryCorrectionValue"], angularComponents.FieldType.Money, null),
7151
+ this.getFields("valueAdditional", "agro.angular_components.value_additional", ["values.otherAdditionValue"], angularComponents.FieldType.Money, null),
7152
+ this.getFields("valueDiscount", "agro.angular_components.value_discount", ["values.discountValue"], angularComponents.FieldType.Money, null),
7153
+ this.getFields("valueOtherDiscount", "agro.angular_components.value_other_discount", ["values.otherDiscountValue"], angularComponents.FieldType.Money, null)
7057
7154
  ], this.gridColumns.filter(function (col) { return ["valueNet"].includes(col.field); }));
7058
- this.updateGrid({
7059
- first: 0,
7060
- rows: this.getPageSize(),
7061
- sortField: this.getSortField(),
7062
- sortOrder: this.getSortOrder(),
7063
- });
7064
- this.subscribeToValuePaidChanges();
7155
+ this.updateGrid(this.currentListParams);
7065
7156
  };
7157
+ /**
7158
+ * Após a renderização da tabela, sincroniza o estado de checkbox/linha editável
7159
+ * com o array de títulos selecionados para evitar acesso a referências ainda não criadas.
7160
+ */
7066
7161
  FinancialTitleTableComponent.prototype.ngAfterViewInit = function () {
7067
7162
  this.tableInitialized = true;
7068
7163
  this.synchronizeCheckboxAndEditableFieldState();
@@ -7072,32 +7167,37 @@
7072
7167
  this.ngUnsubscribe.complete();
7073
7168
  };
7074
7169
  FinancialTitleTableComponent.prototype.getPageSize = function () {
7075
- return this.currentListParams.size;
7170
+ var _a;
7171
+ return (_a = this.currentListParams) === null || _a === void 0 ? void 0 : _a.rows;
7076
7172
  };
7077
7173
  FinancialTitleTableComponent.prototype.getRowIndex = function () {
7078
- return this.currentListParams.page * this.currentListParams.size;
7174
+ var _a;
7175
+ return (_a = this.currentListParams) === null || _a === void 0 ? void 0 : _a.first;
7079
7176
  };
7080
7177
  FinancialTitleTableComponent.prototype.getSortField = function () {
7081
- if (!this.currentListParams.sort || this.currentListParams.sort.length <= 0) {
7082
- return this.gridColumns[0].field;
7083
- }
7084
- return this.currentListParams.sort[0].field;
7178
+ var _a;
7179
+ return (_a = this.currentListParams) === null || _a === void 0 ? void 0 : _a.sortField;
7085
7180
  };
7086
7181
  FinancialTitleTableComponent.prototype.getSortOrder = function () {
7087
- if (!this.currentListParams.sort || this.currentListParams.sort.length <= 0) {
7088
- return 1;
7089
- }
7090
- return this.currentListParams.sort[0].order;
7182
+ var _a;
7183
+ return (_a = this.currentListParams) === null || _a === void 0 ? void 0 : _a.sortOrder;
7091
7184
  };
7185
+ /**
7186
+ * Faz requisição paginada/ordenada para listar os títulos, monta o formulário
7187
+ * reativo para cada linha e trata erros de backend exibindo mensagem ao usuário.
7188
+ *
7189
+ * @param event parâmetros de paginação, ordenação e filtros vindos do PrimeNG.
7190
+ */
7092
7191
  FinancialTitleTableComponent.prototype.updateGrid = function (event) {
7093
7192
  var _this = this;
7094
7193
  this.componentLoading = true;
7095
7194
  var size = event.rows;
7096
7195
  var page = event.first / size;
7097
- var sort = event.sortField;
7098
- this.currentListParams = __assign(__assign({}, this.currentListParams), { page: page, size: size, sort: sort });
7196
+ var field = event.sortField;
7197
+ var sortOrder = event.sortOrder;
7198
+ this.currentListParams = event;
7099
7199
  var input = {
7100
- pageRequest: { offset: page, size: size },
7200
+ pageRequest: { offset: page, orderBy: this.getRecOrderBy(field, sortOrder), size: size },
7101
7201
  filter: this.options,
7102
7202
  };
7103
7203
  this.financialService
@@ -7109,14 +7209,7 @@
7109
7209
  }))
7110
7210
  .subscribe(function (list) {
7111
7211
  _this.gridData = list.titles || [];
7112
- _this.form.get("titlesForm").reset([]);
7113
- _this.gridData.forEach(function (item, index) {
7114
- var selectedItem = _this.selected.find(function (sel) { return sel.id === item.id; });
7115
- _this.form.get("titlesForm").push(new forms.FormGroup({
7116
- id: new forms.FormControl(item.id || null, []),
7117
- valuePaid: new forms.FormControl((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.valuePaid) || null, []),
7118
- }));
7119
- });
7212
+ _this.createFormGroupForTitle();
7120
7213
  _this.gridTotalRecords = list.totalElements;
7121
7214
  _this.componentLoading = false;
7122
7215
  _this.synchronizeCheckboxAndEditableFieldState();
@@ -7127,10 +7220,23 @@
7127
7220
  this.synchronizeCheckboxAndEditableFieldState();
7128
7221
  this.selectionChange.emit(this.selected);
7129
7222
  };
7223
+ /**
7224
+ * Quando um item é desmarcado, limpa o `valuePaid` correspondente
7225
+ * tanto no modelo da linha quanto no {@link titlesForm}, sem disparar novos eventos.
7226
+ *
7227
+ * @param event evento de desmarcação emitido pelo PrimeNG.
7228
+ */
7130
7229
  FinancialTitleTableComponent.prototype.onUnselect = function (event) {
7230
+ var _a;
7131
7231
  var row = this.gridData.find(function (r) { return r.id === event.data.id; });
7132
7232
  if (row) {
7133
7233
  row.valuePaid = null;
7234
+ // atualiza form control correspondente
7235
+ var idx = this.gridData.findIndex(function (g) { return g.id === row.id; });
7236
+ var ctrl = (_a = this.titlesForm.at(idx)) === null || _a === void 0 ? void 0 : _a.get("valuePaid");
7237
+ if (ctrl) {
7238
+ ctrl.setValue(null, { emitEvent: false });
7239
+ }
7134
7240
  }
7135
7241
  };
7136
7242
  FinancialTitleTableComponent.prototype.showDetails = function (rowData) {
@@ -7186,52 +7292,134 @@
7186
7292
  }
7187
7293
  return result;
7188
7294
  };
7189
- FinancialTitleTableComponent.prototype.subscribeToValuePaidChanges = function () {
7295
+ /**
7296
+ * Reconstrói o {@link titlesForm} com base na {@link gridData} atual,
7297
+ * preservando valores já informados em itens selecionados e registrando listeners de mudança.
7298
+ */
7299
+ FinancialTitleTableComponent.prototype.createFormGroupForTitle = function () {
7300
+ var _this = this;
7301
+ var titlesFormArray = this.form.get("titlesForm");
7302
+ titlesFormArray.clear();
7303
+ this.gridData.forEach(function (item) {
7304
+ var _a;
7305
+ var selectedItem = _this.selected.find(function (sel) { return sel.id === item.id; });
7306
+ var group = new forms.FormGroup({
7307
+ id: new forms.FormControl(item.id || null, []),
7308
+ valuePaid: new forms.FormControl((_a = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.valuePaid) !== null && _a !== void 0 ? _a : null, []),
7309
+ });
7310
+ _this.subscribeToValuePaidChanges(group, item);
7311
+ titlesFormArray.push(group);
7312
+ });
7313
+ };
7314
+ /**
7315
+ * Observa mudanças no campo `valuePaid` de uma linha.
7316
+ * Atualiza o array {@link selected} quando o título está selecionado,
7317
+ * aplica o limite do valor líquido (`netValue`) e evita loops de eventos usando
7318
+ * `setValue` com `emitEvent: false`.
7319
+ *
7320
+ * @param formGroup grupo de formulário associado à linha da tabela.
7321
+ * @param item título financeiro correspondente à linha.
7322
+ */
7323
+ FinancialTitleTableComponent.prototype.subscribeToValuePaidChanges = function (formGroup, item) {
7190
7324
  var _this = this;
7191
- this.form.get("titlesForm").valueChanges.subscribe(function (values) {
7192
- _this.selected.forEach(function (selectedRow) {
7193
- var _a, _b, _c, _d;
7194
- var updatedRow = values.find(function (v) { return v.id === selectedRow.id; });
7195
- if (updatedRow) {
7196
- selectedRow.valuePaid = updatedRow === null || updatedRow === void 0 ? void 0 : updatedRow.valuePaid;
7325
+ var valuePaidControl = formGroup.get("valuePaid");
7326
+ valuePaidControl.valueChanges.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function (rawValue) {
7327
+ var _a, _b, _c, _d;
7328
+ var valuePaid = _this.parseNumberSafe(rawValue);
7329
+ var titleId = (_a = formGroup.get("id")) === null || _a === void 0 ? void 0 : _a.value;
7330
+ // atualiza selected se o título estiver selecionado
7331
+ var selIndex = _this.selected.findIndex(function (s) { return s.id === titleId; });
7332
+ if (selIndex !== -1) {
7333
+ // garante que valuePaid seja numérico ou null
7334
+ _this.selected[selIndex].valuePaid = valuePaid;
7335
+ var net = Number((_c = (_b = _this.selected[selIndex]) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c.netValue) || 0;
7336
+ if (valuePaid !== null && valuePaid > net) {
7337
+ _this.selected[selIndex].valuePaid = net;
7338
+ // Usado para evitar loop infinito de eventos
7339
+ valuePaidControl.setValue(net, { emitEvent: false });
7197
7340
  }
7198
- if ((selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.values.netValue) < (updatedRow === null || updatedRow === void 0 ? void 0 : updatedRow.valuePaid)) {
7199
- selectedRow.valuePaid = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.values.netValue;
7200
- (_b = (_a = _this.titlesForm.at(_this.selected.indexOf(selectedRow))) === null || _a === void 0 ? void 0 : _a.get("valuePaid")) === null || _b === void 0 ? void 0 : _b.setValue(selectedRow.valuePaid);
7341
+ // atualiza flag de erro
7342
+ _this.selected[selIndex].hasError = valuePaidControl.invalid;
7343
+ // emite mudança de seleção
7344
+ _this.selectionChange.emit(_this.selected);
7345
+ }
7346
+ else {
7347
+ // se não estiver selecionado, apenas aplica limite local baseado no item
7348
+ var net = Number((_d = item === null || item === void 0 ? void 0 : item.values) === null || _d === void 0 ? void 0 : _d.netValue) || 0;
7349
+ if (valuePaid !== null && valuePaid > net) {
7350
+ valuePaidControl.setValue(net, { emitEvent: false });
7201
7351
  }
7202
- selectedRow.hasError = (_d = (_c = _this.titlesForm.at(_this.selected.indexOf(selectedRow))) === null || _c === void 0 ? void 0 : _c.get("valuePaid")) === null || _d === void 0 ? void 0 : _d.invalid;
7203
- });
7204
- _this.selectionChange.emit(_this.selected);
7352
+ }
7205
7353
  });
7206
7354
  };
7355
+ FinancialTitleTableComponent.prototype.parseNumberSafe = function (value) {
7356
+ if (value === null || value === undefined || value === "") {
7357
+ return null;
7358
+ }
7359
+ if (typeof value === "number") {
7360
+ return value;
7361
+ }
7362
+ if (typeof value === "string") {
7363
+ var cleaned = value.replace(/\./g, "").replace(",", ".");
7364
+ var n = parseFloat(cleaned);
7365
+ return isNaN(n) ? null : n;
7366
+ }
7367
+ return null;
7368
+ };
7369
+ /**
7370
+ * Inicia o modo de edição na linha da tabela PrimeNG e aplica regras de validação
7371
+ * no formulário reativo correspondente àquela linha.
7372
+ *
7373
+ * @param row objeto de linha recebido da tabela.
7374
+ */
7207
7375
  FinancialTitleTableComponent.prototype.initRowEdit = function (row) {
7208
7376
  if (this.table) {
7209
7377
  this.table.initRowEdit(row);
7210
7378
  this.applyValidationToRowEdit(row);
7211
7379
  }
7212
7380
  };
7381
+ /**
7382
+ * Adiciona validadores dinamicamente ao campo `valuePaid` da linha em edição,
7383
+ * marca o controle como sujo e força revalidação imediata para exibir erros na tela.
7384
+ *
7385
+ * @param row objeto de linha para aplicar validação.
7386
+ */
7213
7387
  FinancialTitleTableComponent.prototype.applyValidationToRowEdit = function (row) {
7214
- var _a, _b, _c;
7215
7388
  var rowIndex = this.gridData.findIndex(function (r) { return r.id === row.id; });
7216
7389
  var formGroup = this.titlesForm.at(rowIndex);
7217
- (_a = formGroup.get("valuePaid")) === null || _a === void 0 ? void 0 : _a.setValidators([this.getValidatorsForRowEdit(), forms.Validators.required]);
7218
- (_b = formGroup.get("valuePaid")) === null || _b === void 0 ? void 0 : _b.markAsDirty();
7219
- (_c = formGroup.get("valuePaid")) === null || _c === void 0 ? void 0 : _c.updateValueAndValidity();
7390
+ if (!formGroup) {
7391
+ return;
7392
+ }
7393
+ var valuePaidControl = formGroup.get("valuePaid");
7394
+ valuePaidControl === null || valuePaidControl === void 0 ? void 0 : valuePaidControl.setValidators([this.getValidatorsForRowEdit(), forms.Validators.required]);
7395
+ valuePaidControl === null || valuePaidControl === void 0 ? void 0 : valuePaidControl.markAsDirty();
7396
+ valuePaidControl === null || valuePaidControl === void 0 ? void 0 : valuePaidControl.updateValueAndValidity();
7220
7397
  };
7398
+ /**
7399
+ * Constrói o {@link ValidatorFn} que valida o `valuePaid`:
7400
+ * - deve ser maior que zero;
7401
+ * - não pode ultrapassar o valor líquido (`netValue`) do título.
7402
+ *
7403
+ * Retorna os erros consumidos pelo componente `s-control-errors`.
7404
+ */
7221
7405
  FinancialTitleTableComponent.prototype.getValidatorsForRowEdit = function () {
7222
7406
  var _this = this;
7223
7407
  return function (control) {
7224
7408
  var _a, _b;
7225
- var titleId = (_a = control.value) === null || _a === void 0 ? void 0 : _a.id;
7226
- var valuePaid = control.value;
7227
- var selectedRow = _this.selected.find(function (sel) { return sel.id === titleId; });
7409
+ var parent = control.parent;
7410
+ var titleId = (_a = parent === null || parent === void 0 ? void 0 : parent.get("id")) === null || _a === void 0 ? void 0 : _a.value;
7411
+ var rawValue = control.value;
7412
+ var valuePaid = _this.parseNumberSafe(rawValue);
7228
7413
  if (valuePaid === null || valuePaid === undefined) {
7229
7414
  return null;
7230
7415
  }
7231
7416
  if (valuePaid <= exports.AGRO_NUMBERS.ZERO) {
7232
7417
  return { lessThanZero: true };
7233
7418
  }
7234
- if (valuePaid > ((_b = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.values) === null || _b === void 0 ? void 0 : _b.netValue)) {
7419
+ // procura pelo título no selected ou no gridData (prioriza selected)
7420
+ var selectedRow = _this.selected.find(function (sel) { return sel.id === titleId; }) || _this.gridData.find(function (g) { return g.id === titleId; });
7421
+ var netValue = Number((_b = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.values) === null || _b === void 0 ? void 0 : _b.netValue) || 0;
7422
+ if (valuePaid > netValue) {
7235
7423
  return { greatherThanAllowed: true };
7236
7424
  }
7237
7425
  return null;
@@ -7242,30 +7430,39 @@
7242
7430
  this.table.cancelRowEdit(row);
7243
7431
  }
7244
7432
  };
7433
+ /**
7434
+ * Mantém o estado visual da tabela (checkbox marcado e linha editável) em
7435
+ * sincronia com o array de títulos selecionados, inclusive restaurando valores
7436
+ * digitados ao recarregar, ordenar ou paginar a grid.
7437
+ */
7245
7438
  FinancialTitleTableComponent.prototype.synchronizeCheckboxAndEditableFieldState = function () {
7246
7439
  var _this = this;
7247
7440
  if (!this.gridData || !this.tableInitialized) {
7248
7441
  return;
7249
7442
  }
7250
- this.selected.forEach(function (selectedRow) {
7251
- var index = _this.gridData.findIndex(function (row) { return row.id === selectedRow.id; });
7252
- if (index !== -1) {
7253
- _this.gridData[index].valuePaid = selectedRow.valuePaid;
7254
- _this.initRowEdit(_this.gridData[index]);
7255
- }
7256
- });
7257
- this.gridData.forEach(function (row) {
7258
- var isSelected = _this.selected.some(function (selectedRow) { return selectedRow.id === row.id; });
7259
- if (isSelected) {
7443
+ this.gridData.forEach(function (row, index) {
7444
+ var _a;
7445
+ var selectedRow = _this.selected.find(function (sel) { return sel.id === row.id; });
7446
+ var ctrl = (_a = _this.titlesForm.at(index)) === null || _a === void 0 ? void 0 : _a.get("valuePaid");
7447
+ if (selectedRow) {
7448
+ // Sincroniza o valor pago do item selecionado
7449
+ row.valuePaid = selectedRow.valuePaid;
7450
+ if (ctrl) {
7451
+ ctrl.setValue(selectedRow.valuePaid, { emitEvent: false });
7452
+ }
7260
7453
  _this.initRowEdit(row);
7261
7454
  }
7262
7455
  else {
7456
+ // Cancela a edição se não estiver selecionado
7457
+ if (ctrl) {
7458
+ ctrl.setValue(null, { emitEvent: false });
7459
+ }
7263
7460
  _this.cancelRowEdit(row);
7264
7461
  }
7265
7462
  });
7266
7463
  };
7267
- FinancialTitleTableComponent.prototype.getFields = function (field, header, path, type) {
7268
- return { field: field, path: path, type: type, header: this.translate.instant(header) };
7464
+ FinancialTitleTableComponent.prototype.getFields = function (field, header, path, type, fieldOrderBy) {
7465
+ return { field: field, path: path, type: type, header: this.translate.instant(header), orderBy: fieldOrderBy };
7269
7466
  };
7270
7467
  FinancialTitleTableComponent.prototype.addMessage = function (severity, summary, detail, sticky) {
7271
7468
  if (sticky === void 0) { sticky = false; }
@@ -7276,6 +7473,16 @@
7276
7473
  detail: this.translate.instant(detail),
7277
7474
  });
7278
7475
  };
7476
+ FinancialTitleTableComponent.prototype.getRecOrderBy = function (field, order) {
7477
+ var gridColumnField = this.gridColumns.find(function (col) { return col.field === field; });
7478
+ if ((gridColumnField === null || gridColumnField === void 0 ? void 0 : gridColumnField.orderBy) === null) {
7479
+ return null;
7480
+ }
7481
+ return {
7482
+ field: (gridColumnField === null || gridColumnField === void 0 ? void 0 : gridColumnField.orderBy) || TitleFieldsOrderBy.NUMBER_TITLE,
7483
+ order: order === 1 ? OrderByType.ASC : OrderByType.DESC,
7484
+ };
7485
+ };
7279
7486
  FinancialTitleTableComponent.ctorParameters = function () { return [
7280
7487
  { type: LibTranslationService },
7281
7488
  { type: AgroFinancialService },
@@ -7296,7 +7503,7 @@
7296
7503
  FinancialTitleTableComponent = __decorate([
7297
7504
  core.Component({
7298
7505
  selector: "s-financial-title-table",
7299
- template: "<ng-container *sLoadingState=\"componentLoading\">\r\n <div [hidden]=\"gridData?.length > 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-inbox\"\r\n title=\"{{ 'agro.angular_components.no_accounts_found_title' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.no_accounts_found_description' | libTranslate }}\"\r\n ></s-empty-state>\r\n </div>\r\n <p-table\r\n #TitleTable\r\n [hidden]=\"gridData?.length === 0\"\r\n [value]=\"gridData\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [paginator]=\"true\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [sortField]=\"getSortField()\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [rows]=\"getPageSize()\"\r\n [lazyLoadOnInit]=\"false\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n (onLazyLoad)=\"updateGrid($event)\"\r\n [(selection)]=\"selected\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (onRowUnselect)=\"onUnselect($event)\"\r\n sortMode=\"multiple\"\r\n [selectionMode]=\"'multiple'\"\r\n editMode=\"row\"\r\n [scrollable]=\"true\"\r\n [sTableFrozenPosition]=\"'right'\"\r\n [sTableFrozenValue]=\"gridData\"\r\n frozenWidth=\"160px\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th class=\"table-checkbox-header\" scope=\"col\" [ngStyle]=\"getStyleColumns('checkbox')\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n <ng-container *ngIf=\"!isLastColumn(i, columns); else lastColumn\">\r\n <th [pSortableColumn]=\"col.field\" [scope]=\"'col'\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n {{ col.header }}\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </ng-container>\r\n <ng-template #lastColumn>\r\n <th [scope]=\"'col'\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n {{ col.header }}\r\n </th>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"frozenheader\">\r\n <tr>\r\n <th scope=\"col\" pFrozenColumn>\r\n {{ 'agro.angular_components.details' | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowIndex=\"rowIndex\"\r\n let-editing=\"editing\"\r\n let-ri=\"rowIndex\"\r\n >\r\n <tr [pEditableRow]=\"rowData\" [formGroup]=\"$any(titlesForm.at(rowIndex))\">\r\n <td class=\"table-checkbox-header\" [ngStyle]=\"getStyleColumns('checkbox')\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </td>\r\n <td *ngFor=\"let col of columns; let i = index\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'valuePaid'\">\r\n <input\r\n pInputText\r\n sNumberInput\r\n class=\"w-full\"\r\n id=\"valuePaid-input-{{ rowData.id || rowIndex }}\"\r\n decimalSeparator=\",\"\r\n thousandsSeparator=\".\"\r\n formControlName=\"valuePaid\"\r\n type=\"text\"\r\n [scale]=\"2\"\r\n [allowNegative]=\"false\"\r\n [attr.aria-label]=\"'agro.angular_components.value_paid' | libTranslate\"\r\n />\r\n <br />\r\n <s-control-errors\r\n [control]=\"$any(titlesForm.at(rowIndex)).get('valuePaid')\"\r\n [errorMessages]=\"errorMessage\"\r\n >\r\n </s-control-errors>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ getProp(rowData, col) }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'valuePaid'\">\r\n {{ rowData['valuePaid'] || 0 | currency: 'BRL':'symbol':'1.2-2':'pt-BR' }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ getProp(rowData, col) }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"frozenbody\" let-rowData let-columns>\r\n <tr [pEditableRow]=\"rowData\">\r\n <td pFrozenColumn>\r\n <s-button\r\n id=\"details-{{ rowData.id }}\"\r\n (click)=\"showDetails(rowData)\"\r\n (keydown.enter)=\"showDetails(rowData)\"\r\n label=\"{{ 'agro.angular_components.details' | libTranslate }}\"\r\n [priority]=\"buttonPriority.Default\"\r\n [disabled]=\"false\"\r\n [auxiliary]=\"true\"\r\n [size]=\"buttonSize.Small\"\r\n iconClass=\"fa fa-rocket\"\r\n ></s-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</ng-container>\r\n<s-sidebar\r\n [(visible)]=\"showSidebar\"\r\n position=\"right\"\r\n [header]=\"('agro.angular_components.account_details' | libTranslate) + ' ' + (selectedRow?.numberTitle || '')\"\r\n>\r\n <div class=\"ui-fluid\">\r\n <div class=\"ui-g\">\r\n <ng-container *ngFor=\"let field of sidebarFields\">\r\n <div class=\"ui-g-4\">\r\n <span>\r\n <strong>{{ field.header }}</strong>\r\n </span>\r\n <p>{{ getProp(selectedRow, field) || '-' }}</p>\r\n </div>\r\n </ng-container>\r\n <ng-template #noValue>-</ng-template>\r\n <div class=\"ui-g-4\">\r\n <span>\r\n <strong>{{ 'agro.angular_components.status_label' | libTranslate }}</strong>\r\n </span>\r\n <p>\r\n <ng-container [ngSwitch]=\"selectedRow?.status\">\r\n <span *ngSwitchCase=\"'OPEN'\">\r\n <s-badge\r\n [color]=\"badgeColors.Yellow\"\r\n text=\"{{ 'agro.angular_components.status_open' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n ></s-badge>\r\n </span>\r\n <span *ngSwitchCase=\"'PAID'\">\r\n <s-badge\r\n [color]=\"badgeColors.Green\"\r\n text=\"{{ 'agro.angular_components.status_paid' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n ></s-badge>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <s-footer>\r\n <s-button label=\"{{ 'agro.angular_components.close' | libTranslate }}\" (onClick)=\"closeDetails()\"> </s-button>\r\n </s-footer>\r\n</s-sidebar>\r\n",
7506
+ template: "<ng-container *sLoadingState=\"componentLoading\">\r\n <div [hidden]=\"gridData?.length > 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-inbox\"\r\n title=\"{{ 'agro.angular_components.no_accounts_found_title' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.no_accounts_found_description' | libTranslate }}\"\r\n ></s-empty-state>\r\n </div>\r\n <p-table\r\n #TitleTable\r\n [hidden]=\"gridData?.length === 0\"\r\n [value]=\"gridData\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [paginator]=\"true\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [sortField]=\"getSortField()\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [rows]=\"getPageSize()\"\r\n [lazyLoadOnInit]=\"false\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n (onLazyLoad)=\"updateGrid($event)\"\r\n [(selection)]=\"selected\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (onRowUnselect)=\"onUnselect($event)\"\r\n sortMode=\"single\"\r\n [selectionMode]=\"'multiple'\"\r\n editMode=\"row\"\r\n [scrollable]=\"true\"\r\n [sTableFrozenPosition]=\"'right'\"\r\n [sTableFrozenValue]=\"gridData\"\r\n frozenWidth=\"160px\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th class=\"table-checkbox-header\" scope=\"col\" [ngStyle]=\"getStyleColumns('checkbox')\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n <ng-container *ngIf=\"col.orderBy; else notSortable\">\r\n <th [pSortableColumn]=\"col.field\" [scope]=\"'col'\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n {{ col.header }}\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </ng-container>\r\n <ng-template #notSortable>\r\n <th [scope]=\"'col'\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n {{ col.header }}\r\n </th>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"frozenheader\">\r\n <tr>\r\n <th scope=\"col\" pFrozenColumn>\r\n {{ 'agro.angular_components.details' | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowIndex=\"rowIndex\"\r\n let-editing=\"editing\"\r\n let-ri=\"rowIndex\"\r\n >\r\n <tr [pEditableRow]=\"rowData\" [formGroup]=\"$any(titlesForm.at(rowIndex))\">\r\n <td class=\"table-checkbox-header\" [ngStyle]=\"getStyleColumns('checkbox')\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </td>\r\n <td *ngFor=\"let col of columns; let i = index\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'valuePaid'\">\r\n <input\r\n pInputText\r\n sNumberInput\r\n class=\"w-full\"\r\n id=\"valuePaid-input-{{ rowData.id || rowIndex }}\"\r\n decimalSeparator=\",\"\r\n thousandsSeparator=\".\"\r\n formControlName=\"valuePaid\"\r\n type=\"text\"\r\n [scale]=\"2\"\r\n [allowNegative]=\"false\"\r\n [attr.aria-label]=\"'agro.angular_components.value_paid' | libTranslate\"\r\n />\r\n <br />\r\n <s-control-errors\r\n [control]=\"$any(titlesForm.at(rowIndex)).get('valuePaid')\"\r\n [errorMessages]=\"errorMessage\"\r\n >\r\n </s-control-errors>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ getProp(rowData, col) }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'valuePaid'\">\r\n {{ rowData['valuePaid'] || 0 | currency: 'BRL':'symbol':'1.2-2':'pt-BR' }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ getProp(rowData, col) }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"frozenbody\" let-rowData let-columns>\r\n <tr [pEditableRow]=\"rowData\">\r\n <td pFrozenColumn>\r\n <s-button\r\n id=\"details-{{ rowData.id }}\"\r\n (click)=\"showDetails(rowData)\"\r\n (keydown.enter)=\"showDetails(rowData)\"\r\n label=\"{{ 'agro.angular_components.details' | libTranslate }}\"\r\n [priority]=\"buttonPriority.Default\"\r\n [disabled]=\"false\"\r\n [auxiliary]=\"true\"\r\n [size]=\"buttonSize.Small\"\r\n iconClass=\"fa fa-rocket\"\r\n ></s-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</ng-container>\r\n<s-sidebar\r\n [(visible)]=\"showSidebar\"\r\n position=\"right\"\r\n [header]=\"('agro.angular_components.account_details' | libTranslate) + ' ' + (selectedRow?.numberTitle || '')\"\r\n>\r\n <div class=\"ui-fluid\">\r\n <div class=\"ui-g\">\r\n <ng-container *ngFor=\"let field of sidebarFields\">\r\n <div class=\"ui-g-4\">\r\n <span>\r\n <strong>{{ field.header }}</strong>\r\n </span>\r\n <p>{{ getProp(selectedRow, field) || '-' }}</p>\r\n </div>\r\n </ng-container>\r\n <ng-template #noValue>-</ng-template>\r\n <div class=\"ui-g-4\">\r\n <span>\r\n <strong>{{ 'agro.angular_components.status_label' | libTranslate }}</strong>\r\n </span>\r\n <p>\r\n <ng-container [ngSwitch]=\"selectedRow?.status\">\r\n <span *ngSwitchCase=\"'OPEN'\">\r\n <s-badge\r\n [color]=\"badgeColors.Yellow\"\r\n text=\"{{ 'agro.angular_components.status_open' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n ></s-badge>\r\n </span>\r\n <span *ngSwitchCase=\"'PAID'\">\r\n <s-badge\r\n [color]=\"badgeColors.Green\"\r\n text=\"{{ 'agro.angular_components.status_paid' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n ></s-badge>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <s-footer>\r\n <s-button label=\"{{ 'agro.angular_components.close' | libTranslate }}\" (onClick)=\"closeDetails()\"> </s-button>\r\n </s-footer>\r\n</s-sidebar>\r\n",
7300
7507
  styles: [".error-message{color:#c13018;margin-top:5px;font-size:12px}"]
7301
7508
  })
7302
7509
  ], FinancialTitleTableComponent);
@@ -7337,6 +7544,211 @@
7337
7544
  return FinancialTitleTableModule;
7338
7545
  }());
7339
7546
 
7547
+ var CnpjCpfPipe = /** @class */ (function () {
7548
+ function CnpjCpfPipe() {
7549
+ }
7550
+ CnpjCpfPipe.prototype.transform = function (value) {
7551
+ var args = [];
7552
+ for (var _i = 1; _i < arguments.length; _i++) {
7553
+ args[_i - 1] = arguments[_i];
7554
+ }
7555
+ if (typeof value !== "string" && typeof value === "number") {
7556
+ value = value === null || value === void 0 ? void 0 : value.toString();
7557
+ }
7558
+ if (typeof value !== "string") {
7559
+ return value;
7560
+ }
7561
+ if (AgroStringUtils.validateCNPJ(value)) {
7562
+ return AgroStringUtils.applyMask(value, exports.AgroStringMasks.CNPJ);
7563
+ }
7564
+ if (AgroStringUtils.validateCPF(value)) {
7565
+ return AgroStringUtils.applyMask(value, exports.AgroStringMasks.CPF);
7566
+ }
7567
+ return value;
7568
+ };
7569
+ CnpjCpfPipe = __decorate([
7570
+ core.Pipe({
7571
+ name: "cnpjCpf",
7572
+ })
7573
+ ], CnpjCpfPipe);
7574
+ return CnpjCpfPipe;
7575
+ }());
7576
+
7577
+ var CnpjCpfPipeModule = /** @class */ (function () {
7578
+ function CnpjCpfPipeModule() {
7579
+ }
7580
+ CnpjCpfPipeModule = __decorate([
7581
+ core.NgModule({
7582
+ declarations: [CnpjCpfPipe],
7583
+ imports: [common.CommonModule],
7584
+ exports: [CnpjCpfPipe],
7585
+ })
7586
+ ], CnpjCpfPipeModule);
7587
+ return CnpjCpfPipeModule;
7588
+ }());
7589
+
7590
+ var AgroObjectStringifier = /** @class */ (function () {
7591
+ function AgroObjectStringifier() {
7592
+ }
7593
+ /**
7594
+ * Formata um objeto concatenando valores segundo as chaves e pipes informados.
7595
+ *
7596
+ * @param separator Separador entre os valores (ex: "-")
7597
+ * @param fields Campos a extrair. Podem conter subpropriedades ("propriedade.subPropriedade") e pipes ("propriedade|nomeDaPipe:arg1:arg2")
7598
+ * @param obj Objeto origem
7599
+ */
7600
+ AgroObjectStringifier.formatObject = function (separator, fields, obj, usePipes) {
7601
+ function mapField(field) {
7602
+ var value = AgroObjectStringifier.resolvePath(obj, field);
7603
+ if (usePipes === null || usePipes === void 0 ? void 0 : usePipes.hasOwnProperty(field)) {
7604
+ return usePipes[field].transform(value);
7605
+ }
7606
+ return value !== null && value !== void 0 ? value : "";
7607
+ }
7608
+ function filterValid(v) {
7609
+ return typeof v === "number" || AgroStringUtils.isValid(v);
7610
+ }
7611
+ return fields.map(mapField).filter(filterValid).join(" " + separator + " ");
7612
+ };
7613
+ /** Resolve um caminho tipo "empresa.cargo" dentro de um objeto */
7614
+ AgroObjectStringifier.resolvePath = function (obj, path) {
7615
+ function reducer(acc, key) {
7616
+ return acc === null || acc === void 0 ? void 0 : acc[key];
7617
+ }
7618
+ return path.split(".").reduce(reducer, obj);
7619
+ };
7620
+ return AgroObjectStringifier;
7621
+ }());
7622
+
7623
+ var StringifierPipe = /** @class */ (function () {
7624
+ function StringifierPipe() {
7625
+ }
7626
+ StringifierPipe.prototype.transform = function (value, separator, paths, pipes) {
7627
+ return AgroObjectStringifier.formatObject(separator, paths, value, pipes);
7628
+ };
7629
+ StringifierPipe = __decorate([
7630
+ core.Pipe({ name: "stringifier" })
7631
+ ], StringifierPipe);
7632
+ return StringifierPipe;
7633
+ }());
7634
+
7635
+ var StringifierPipeModule = /** @class */ (function () {
7636
+ function StringifierPipeModule() {
7637
+ }
7638
+ StringifierPipeModule = __decorate([
7639
+ core.NgModule({
7640
+ declarations: [StringifierPipe],
7641
+ imports: [common.CommonModule],
7642
+ exports: [StringifierPipe],
7643
+ })
7644
+ ], StringifierPipeModule);
7645
+ return StringifierPipeModule;
7646
+ }());
7647
+
7648
+ var TelephonePipe = /** @class */ (function () {
7649
+ function TelephonePipe() {
7650
+ }
7651
+ /**
7652
+ * Transforma um número de telefone aplicando máscara automaticamente.
7653
+ * @param value Valor do telefone.
7654
+ * @param withDDI Define se deve forçar formatação com DDI (mesmo que não exista).
7655
+ */
7656
+ TelephonePipe.prototype.transform = function (value, withDDI) {
7657
+ if (withDDI === void 0) { withDDI = false; }
7658
+ if (!value) {
7659
+ return "";
7660
+ }
7661
+ var digits = this.cleanDigits(value);
7662
+ if (!digits) {
7663
+ return value.toString();
7664
+ }
7665
+ var _a = this.extractParts(digits, withDDI), ddi = _a.ddi, ddd = _a.ddd, number = _a.number;
7666
+ return this.formatPhone(ddi, ddd, number, value.toString(), withDDI);
7667
+ };
7668
+ /** Remove todos os caracteres não numéricos */
7669
+ TelephonePipe.prototype.cleanDigits = function (value) {
7670
+ return value.toString().replace(/\D+/g, "");
7671
+ };
7672
+ /** Extrai DDI, DDD e número, considerando se deve aplicar DDI forçado */
7673
+ TelephonePipe.prototype.extractParts = function (digits, withDDI) {
7674
+ var len = digits.length;
7675
+ if (withDDI) {
7676
+ return this.extractWithDDI(digits);
7677
+ }
7678
+ if (len <= exports.AGRO_NUMBERS.NINE) {
7679
+ return { ddi: "", ddd: "", number: digits };
7680
+ }
7681
+ if (len <= exports.AGRO_NUMBERS.ELEVEN) {
7682
+ return this.extractWithDDD(digits);
7683
+ }
7684
+ return this.extractWithDDI(digits);
7685
+ };
7686
+ /** Extrai DDD e número (sem DDI) */
7687
+ TelephonePipe.prototype.extractWithDDD = function (digits) {
7688
+ var ddd = digits.slice(0, 2);
7689
+ var number = digits.slice(2);
7690
+ return { ddi: "", ddd: ddd, number: number };
7691
+ };
7692
+ /** Extrai DDI, DDD e número */
7693
+ TelephonePipe.prototype.extractWithDDI = function (digits) {
7694
+ var len = digits.length;
7695
+ var ddiLen = exports.AGRO_NUMBERS.ONE;
7696
+ if (len >= exports.AGRO_NUMBERS.FOURTEEN) {
7697
+ ddiLen = exports.AGRO_NUMBERS.THREE;
7698
+ }
7699
+ if (len >= exports.AGRO_NUMBERS.TWELVE) {
7700
+ ddiLen = exports.AGRO_NUMBERS.TWO;
7701
+ }
7702
+ var ddi = digits.slice(exports.AGRO_NUMBERS.ZERO, ddiLen);
7703
+ var ddd = digits.slice(ddiLen, ddiLen + exports.AGRO_NUMBERS.TWO);
7704
+ var number = digits.slice(ddiLen + exports.AGRO_NUMBERS.TWO);
7705
+ return { ddi: ddi, ddd: ddd, number: number };
7706
+ };
7707
+ /** Monta o número formatado */
7708
+ TelephonePipe.prototype.formatPhone = function (ddi, ddd, number, fallback, withDDI) {
7709
+ if (!number) {
7710
+ return fallback;
7711
+ }
7712
+ var formatted = "";
7713
+ if (withDDI || ddi) {
7714
+ formatted += "+" + (ddi || "55") + " ";
7715
+ }
7716
+ if (ddd) {
7717
+ formatted += "(" + ddd + ") ";
7718
+ }
7719
+ formatted += this.formatNumber(number);
7720
+ return formatted;
7721
+ };
7722
+ /** Aplica máscara de 8 ou 9 dígitos */
7723
+ TelephonePipe.prototype.formatNumber = function (number) {
7724
+ var len = number.length;
7725
+ if (len === exports.AGRO_NUMBERS.NINE) {
7726
+ return number.slice(exports.AGRO_NUMBERS.ZERO, exports.AGRO_NUMBERS.FIVE) + "-" + number.slice(exports.AGRO_NUMBERS.FIVE);
7727
+ }
7728
+ if (len === exports.AGRO_NUMBERS.EIGHT) {
7729
+ return number.slice(exports.AGRO_NUMBERS.ZERO, exports.AGRO_NUMBERS.FOUR) + "-" + number.slice(exports.AGRO_NUMBERS.FOUR);
7730
+ }
7731
+ return number;
7732
+ };
7733
+ TelephonePipe = __decorate([
7734
+ core.Pipe({ name: "telephone" })
7735
+ ], TelephonePipe);
7736
+ return TelephonePipe;
7737
+ }());
7738
+
7739
+ var TelephonePipeModule = /** @class */ (function () {
7740
+ function TelephonePipeModule() {
7741
+ }
7742
+ TelephonePipeModule = __decorate([
7743
+ core.NgModule({
7744
+ declarations: [TelephonePipe],
7745
+ imports: [common.CommonModule],
7746
+ exports: [TelephonePipe],
7747
+ })
7748
+ ], TelephonePipeModule);
7749
+ return TelephonePipeModule;
7750
+ }());
7751
+
7340
7752
  var HostProjectConfigsInjectionToken = new core.InjectionToken("hostProjectConfigs");
7341
7753
  var AgroAngularComponentsModule = /** @class */ (function () {
7342
7754
  function AgroAngularComponentsModule() {
@@ -7376,6 +7788,8 @@
7376
7788
  exports.AsyncLock = AsyncLock;
7377
7789
  exports.CancelEventDialogComponent = CancelEventDialogComponent;
7378
7790
  exports.CancelEventDialogModule = CancelEventDialogModule;
7791
+ exports.CnpjCpfPipe = CnpjCpfPipe;
7792
+ exports.CnpjCpfPipeModule = CnpjCpfPipeModule;
7379
7793
  exports.Colors = Colors;
7380
7794
  exports.E001TnsModule = E001TnsModule;
7381
7795
  exports.E001pesModule = E001pesModule;
@@ -7405,12 +7819,17 @@
7405
7819
  exports.ProducerInvoiceModule = ProducerInvoiceModule;
7406
7820
  exports.RuralEstateModule = RuralEstateModule;
7407
7821
  exports.SharedModule = SharedModule;
7822
+ exports.StringifierPipe = StringifierPipe;
7823
+ exports.StringifierPipeModule = StringifierPipeModule;
7824
+ exports.TelephonePipe = TelephonePipe;
7825
+ exports.TelephonePipeModule = TelephonePipeModule;
7408
7826
  exports.TicketModule = TicketModule;
7409
7827
  exports.TransferModule = TransferModule;
7410
7828
  exports.UserInformationService = UserInformationService;
7411
7829
  exports.WebsocketModule = WebsocketModule;
7412
7830
  exports.WebsocketService = WebsocketService;
7413
- exports.ɵa = LibTranslationService;
7831
+ exports.ɵa = LibTranslatePipe;
7832
+ exports.ɵb = LibTranslationService;
7414
7833
 
7415
7834
  Object.defineProperty(exports, '__esModule', { value: true });
7416
7835