@gipisistemas/ngx-core 1.0.26 → 1.0.28

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.
package/index.d.ts CHANGED
@@ -4419,7 +4419,7 @@ declare class TreeTableMenuItemContextBuilder<TRow extends BaseModel = any> {
4419
4419
  declare class TreeTable<TNode extends BaseModel> implements OnInit {
4420
4420
  set tableFooterRef(value: ElementRef<HTMLElement> | null);
4421
4421
  set menuContextWrapperRef(value: ElementRef | null);
4422
- readonly matPaginatorRef: _angular_core.Signal<MatPaginator>;
4422
+ readonly matPaginatorRef: _angular_core.Signal<MatPaginator | undefined>;
4423
4423
  readonly actionsRef: _angular_core.Signal<TemplateRef<unknown> | null | undefined>;
4424
4424
  readonly menuContextRef: _angular_core.Signal<TemplateRef<unknown> | null | undefined>;
4425
4425
  private readonly _uniqueId;
@@ -5383,7 +5383,8 @@ declare class CurrencyUtil {
5383
5383
  * @param inp Número a ser formatado.
5384
5384
  * @param options Configurações de formatação:
5385
5385
  * - `digitsInfo` (opcional): Define o formato dos dígitos, como `1.2-2` (mínimo 1 inteiro, 2 casas decimais).
5386
- * - `isPercent` (opcional): Se `true`, formata como porcentagem (ex: `0.5` → `50%`); caso contrário, como moeda (`R$`).
5386
+ * - `isPercent` (opcional): Se `true`, formata como porcentagem (ex: `0.5` → `50%`); caso contrário,
5387
+ * como moeda (`R$`).
5387
5388
  *
5388
5389
  * @returns Uma string com o número formatado como moeda ou porcentagem.
5389
5390
  */
@@ -5656,11 +5657,17 @@ declare class DateUtil {
5656
5657
  declare class DocumentUtil {
5657
5658
  private static _isLastChar;
5658
5659
  /**
5659
- * Verifica se um valor é considerado vazio.
5660
- * @param inp O valor a ser verificado.
5661
- * @returns O valor sem formatação.
5660
+ * Remove caracteres de formatação de um CPF/CNPJ.
5661
+ *
5662
+ * Caso o valor contenha letras, mantém apenas caracteres alfanuméricos.
5663
+ * Caso contrário, mantém apenas números.
5664
+ *
5665
+ * @param value O valor que terá a formatação removida.
5666
+ * @returns O valor sem caracteres de formatação.
5667
+ *
5662
5668
  * @example
5663
- * DocumentUtil.isEmpty('123-123'); // Retorna `123123`.
5669
+ * DocumentUtil.clearFormat('00.123.123/0001-12'); // Retorna: '00123123000112'
5670
+ * DocumentUtil.clearFormat('XH.BYE.J7E/0001-67'); // Retorna: 'XHBYEJ7E000167'
5664
5671
  */
5665
5672
  static clearFormat(value: string): string;
5666
5673
  /**
@@ -5685,24 +5692,63 @@ declare class DocumentUtil {
5685
5692
  */
5686
5693
  static isValidCpf(cpf: string): boolean;
5687
5694
  /**
5688
- * Formata um CNPJ.
5689
- * @param cnpj O CNPJ a ser formatado.
5690
- * @param pad Se `true`, o CNPJ será preenchido com zeros à esquerda.
5691
- * @returns O CNPJ formatado.
5695
+ * Formata um CNPJ numérico ou alfanumérico.
5696
+ *
5697
+ * A função remove automaticamente caracteres de formatação antes de aplicar
5698
+ * a máscara padrão de CNPJ: `00.000.000/0000-00`.
5699
+ *
5700
+ * Também suporta:
5701
+ * - CNPJ alfanumérico;
5702
+ * - preenchimento automático com zeros à esquerda (`pad`);
5703
+ * - formatação parcial para utilização em campos de digitação (`allowPartial`).
5704
+ *
5705
+ * Quando `allowPartial` estiver ativado, a máscara será aplicada
5706
+ * gradualmente conforme a quantidade de caracteres informados.
5707
+ *
5708
+ * Caso `allowPartial` esteja desativado, apenas valores com 14 caracteres
5709
+ * serão formatados. Caso contrário, será retornada uma string vazia.
5710
+ *
5711
+ * @param cnpj O CNPJ que será formatado.
5712
+ * @param options Opções de formatação.
5713
+ * @param options.pad Define se o valor deve ser preenchido com zeros à esquerda até atingir 14 caracteres.
5714
+ * @param options.allowPartial Define se a máscara parcial deve ser aplicada durante a digitação.
5715
+ *
5716
+ * @returns O CNPJ formatado ou uma string vazia caso o valor seja inválido.
5717
+ *
5692
5718
  * @example
5693
- * DocumentUtil.formatCnpj('00123123000112'); // Retorna `00.123.123/0001-12`.
5694
- * DocumentUtil.formatCnpj('123123000112', true); // Retorna `00.123.123/0001-12`.
5695
- */
5696
- static formatCnpj(cnpj: string, pad?: boolean): string;
5719
+ * DocumentUtil.formatCnpj('12345678000190'); // Retorna: '12.345.678/0001-90'
5720
+ * DocumentUtil.formatCnpj('12ABC3450001XX'); // Retorna: '12.ABC.345/0001-XX'
5721
+ * DocumentUtil.formatCnpj('1234567890', { pad: true }); // Retorna: '00.001.234/5678-90'
5722
+ * DocumentUtil.formatCnpj('12ABC345', { allowPartial: true }); // Retorna: '12.ABC.345'
5723
+ * DocumentUtil.formatCnpj('123'); // Retorna: ''
5724
+ */
5725
+ static formatCnpj(cnpj: string, options?: {
5726
+ pad?: boolean;
5727
+ allowPartial?: boolean;
5728
+ }): string;
5697
5729
  /**
5698
- * Verifica se um CNPJ é válido.
5699
- * @param cnpj O CNPJ a ser verificado.
5700
- * @returns `true` se o CNPJ for válido, caso contrário, `false`.
5730
+ * Valida um CNPJ numérico ou alfanumérico.
5731
+ *
5732
+ * A função aceita CNPJ com ou sem máscara, remove os caracteres de formatação
5733
+ * e valida o dígito verificador conforme a regra oficial baseada no valor ASCII
5734
+ * do caractere subtraído de 48 (`charCodeAt(0) - 48`).
5735
+ *
5736
+ * Regras aplicadas:
5737
+ * - aceita CNPJ numérico e alfanumérico;
5738
+ * - aceita valores com máscara, como `12.345.678/0001-90`;
5739
+ * - aceita letras minúsculas, convertendo internamente para maiúsculas;
5740
+ * - exige exatamente 14 caracteres após a limpeza;
5741
+ * - exige que os 2 últimos caracteres sejam dígitos verificadores numéricos;
5742
+ * - rejeita sequências inválidas repetidas, como `00000000000000`, `11111111111111`, `AAAAAAAAAAAA00`, entre outras;
5743
+ * - rejeita caracteres não permitidos.
5744
+ *
5745
+ * @param cnpj O CNPJ que será validado.
5746
+ * @returns `true` se o CNPJ for válido, caso contrário `false`.
5747
+ *
5701
5748
  * @example
5702
- * DocumentUtil.isValidCnpj('12.345.678/0001-09'); // Retorna `true`.
5703
- * DocumentUtil.isValidCnpj('12345678000109'); // Retorna `true`.
5704
- * DocumentUtil.isValidCnpj('1234567800010'); // Retorna `false`.
5705
- * DocumentUtil.isValidCnpj('123456780001090'); // Retorna `false`.
5749
+ * DocumentUtil.isValidCnpj('12.345.678/0001-90'); // Retorna: true ou false conforme os dígitos verificadores.
5750
+ * DocumentUtil.isValidCnpj('12ABC3450001XX'); // Retorna: false, pois os dois últimos caracteres devem ser números.
5751
+ * DocumentUtil.isValidCnpj('AAAAAAAAAAAA00'); // Retorna: false.
5706
5752
  */
5707
5753
  static isValidCnpj(cnpj: string): boolean;
5708
5754
  /**
@@ -6103,7 +6149,8 @@ declare class StringUtil {
6103
6149
  */
6104
6150
  static removeAccents(inp: string): string;
6105
6151
  /**
6106
- * Trunca uma string para um tamanho máximo especificado e adiciona um sufixo (por padrão, '...') caso o limite seja ultrapassado.
6152
+ * Trunca uma string para um tamanho máximo especificado e adiciona um sufixo (por padrão, '...')
6153
+ * caso o limite seja ultrapassado.
6107
6154
  *
6108
6155
  * @param inp A string que será truncada.
6109
6156
  * @param maxLength O tamanho máximo da string antes do truncamento. (padrão é 50)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gipisistemas/ngx-core",
3
- "version": "1.0.26",
3
+ "version": "1.0.28",
4
4
  "description": "Componentes e utilitários para projetos da GIPI Sistemas.",
5
5
  "author": "GIPI Sistemas",
6
6
  "license": "MIT",
@@ -621,7 +621,8 @@
621
621
  $font-color: get-font-color($theme);
622
622
  $mat-form-field-height: 3.6rem;
623
623
 
624
- --mat-form-field-outlined-container-shape: 0.4rem;
624
+ --mat-form-field-outlined-container-shape: 0.6rem;
625
+ --mat-sys-corner-extra-small: 6px;
625
626
 
626
627
  $white-100: get-color($theme, white, 100);
627
628
 
@@ -901,7 +902,7 @@
901
902
  // $font-color: get-font-color($theme);
902
903
  // $mat-form-field-height: 3.6rem;
903
904
 
904
- // --mat-form-field-outlined-container-shape: 0.4rem;
905
+ // --mat-form-field-outlined-container-shape: 0.6rem;
905
906
 
906
907
  // $white-100: get-color($theme, white, 100);
907
908