@seniorsistemas/angular-components 19.6.2 → 19.7.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 (33) hide show
  1. package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +1 -1
  2. package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +1 -1
  3. package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -1
  4. package/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.d.ts +1 -2
  5. package/esm2022/alert/lib/alert/alert.component.mjs +3 -3
  6. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
  7. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +16 -17
  8. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +20 -23
  9. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +9 -10
  10. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +9 -15
  11. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +4 -4
  12. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-number-field.mjs +1 -1
  13. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +4 -5
  14. package/esm2022/input-mask/lib/input-mask/input-mask.directive.mjs +460 -0
  15. package/esm2022/input-mask/lib/input-mask/input-mask.module.mjs +16 -0
  16. package/esm2022/input-mask/public-api.mjs +3 -0
  17. package/esm2022/input-mask/seniorsistemas-angular-components-input-mask.mjs +5 -0
  18. package/fesm2022/seniorsistemas-angular-components-alert.mjs +2 -2
  19. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  20. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +53 -62
  21. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  22. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +6 -7
  23. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  24. package/fesm2022/seniorsistemas-angular-components-input-mask.mjs +480 -0
  25. package/fesm2022/seniorsistemas-angular-components-input-mask.mjs.map +1 -0
  26. package/inline-edit/lib/inline-edit/fields/inline-edit-number-field.d.ts +2 -2
  27. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +2 -2
  28. package/input-mask/README.md +183 -0
  29. package/input-mask/index.d.ts +5 -0
  30. package/input-mask/lib/input-mask/input-mask.directive.d.ts +103 -0
  31. package/input-mask/lib/input-mask/input-mask.module.d.ts +7 -0
  32. package/input-mask/public-api.d.ts +2 -0
  33. package/package.json +43 -37
@@ -0,0 +1,183 @@
1
+ # InputMask
2
+
3
+ ![Status](https://img.shields.io/badge/status-stable-brightgreen)
4
+
5
+ Diretiva que aplica máscara de entrada em qualquer `<input type="text">`, guiando a digitação conforme um padrão definido. Integra nativamente com Angular Forms via `ControlValueAccessor` e adiciona validação automática de máscara incompleta via `Validator`.
6
+
7
+ ## Quando usar
8
+
9
+ - Campos com formato fixo: CPF, CNPJ, telefone, data, placa de veículo
10
+ - Formulários que exigem validação de preenchimento completo da máscara
11
+ - Quando o valor armazenado no model deve ser sem formatação (`unmask: true`)
12
+ - Campos com parte opcional na máscara, como telefone fixo ou celular
13
+
14
+ ## Quando não usar
15
+
16
+ - Para formatação de valores numéricos com separadores de milhar e decimal — use [`NumericMask`](../numeric-mask/README.md)
17
+ - Para campos de data integrados ao `p-calendar` — use [`CalendarMask`](../calendar-mask/README.md)
18
+ - Quando a entrada é completamente livre sem padrão — não há necessidade de máscara
19
+
20
+ ## Instalação
21
+
22
+ ```typescript
23
+ import { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';
24
+
25
+ @Component({
26
+ standalone: true,
27
+ imports: [InputMaskDirective, ReactiveFormsModule],
28
+ })
29
+ export class MeuComponent {
30
+ control = new FormControl('');
31
+ }
32
+ ```
33
+
34
+ ## Uso básico
35
+
36
+ ```html
37
+ <input type="text" [sInputMask]="'999.999.999-99'" [formControl]="control" />
38
+ ```
39
+
40
+ ## API
41
+
42
+ ### Inputs
43
+
44
+ | Propriedade | Tipo | Padrão | Obrigatório | Descrição |
45
+ |-------------|------|--------|:-----------:|-----------|
46
+ | `sInputMask` | `string \| undefined` | `undefined` | Sim | Padrão da máscara. Slots: `9` (dígito), `a` (letra), `*` (alfanumérico), `?` (restante opcional). Demais caracteres são literais |
47
+ | `slotChar` | `string` | `'_'` | Não | Caractere exibido nas posições ainda não preenchidas |
48
+ | `unmask` | `boolean` | `false` | Não | Quando `true`, o model recebe apenas os caracteres digitados, sem os literais da máscara |
49
+ | `characterPattern` | `string` | `'[A-Za-z]'` | Não | Expressão regular para validar o slot `a` (letra) |
50
+ | `autoClear` | `boolean` | `true` | Não | Limpa o campo ao perder o foco se a máscara estiver incompleta |
51
+
52
+ ### Outputs
53
+
54
+ | Evento | Tipo | Descrição |
55
+ |--------|------|-----------|
56
+ | `maskComplete` | `OutputEmitterRef<string>` | Emitido quando todos os slots obrigatórios são preenchidos. Emite o valor atual (mascarado ou não, conforme `unmask`) |
57
+
58
+ ### Slots da máscara
59
+
60
+ | Caractere | Aceita |
61
+ |-----------|--------|
62
+ | `9` | Dígito (0–9) |
63
+ | `a` | Letra (controlado por `characterPattern`, padrão `[A-Za-z]`) |
64
+ | `*` | Alfanumérico (letra ou dígito) |
65
+ | `?` | Tudo após esse ponto é opcional |
66
+ | Outros | Tratados como literais (ex: `.`, `-`, `/`, `(`, `)`) |
67
+
68
+ ### Validação
69
+
70
+ A diretiva implementa `Validator` e adiciona o seguinte erro ao `FormControl` quando a máscara está incompleta:
71
+
72
+ ```typescript
73
+ { incompleteMask: { mask: string } }
74
+ ```
75
+
76
+ O erro é removido automaticamente quando o campo é preenchido por completo.
77
+
78
+ ## Exemplos
79
+
80
+ ### CPF
81
+
82
+ ```html
83
+ <input type="text" [sInputMask]="'999.999.999-99'" [formControl]="cpf" />
84
+ ```
85
+
86
+ ### CNPJ alfanumérico (a partir de jul/2026)
87
+
88
+ ```html
89
+ <!-- Base e ordem alfanuméricos; dígitos verificadores permanecem numéricos -->
90
+ <input
91
+ type="text"
92
+ [sInputMask]="'**.***.***/****.99'"
93
+ style="text-transform: uppercase"
94
+ [formControl]="cnpj"
95
+ />
96
+ ```
97
+
98
+ ### Telefone com unmask
99
+
100
+ ```html
101
+ <!-- Model recebe apenas os dígitos: "11999998888" -->
102
+ <input
103
+ type="text"
104
+ [sInputMask]="'(99) 99999-9999'"
105
+ [unmask]="true"
106
+ [formControl]="telefone"
107
+ />
108
+ ```
109
+
110
+ ### Telefone fixo ou celular (slot opcional)
111
+
112
+ ```html
113
+ <!-- Aceita 8 ou 9 dígitos após o DDD -->
114
+ <input
115
+ type="text"
116
+ [sInputMask]="'(99) 9999?9-9999'"
117
+ [autoClear]="false"
118
+ [formControl]="telefone"
119
+ />
120
+ ```
121
+
122
+ ### Placa de veículo Mercosul
123
+
124
+ ```html
125
+ <!-- 3 letras, 1 dígito, 1 alfanumérico, 2 dígitos -->
126
+ <input
127
+ type="text"
128
+ [sInputMask]="'aaa-9*99'"
129
+ style="text-transform: uppercase"
130
+ [formControl]="placa"
131
+ />
132
+ ```
133
+
134
+ ### Reação ao preenchimento completo
135
+
136
+ ```html
137
+ <input
138
+ type="text"
139
+ [sInputMask]="'999.999.999-99'"
140
+ [formControl]="cpf"
141
+ (maskComplete)="onCpfCompleto($event)"
142
+ />
143
+ ```
144
+
145
+ ```typescript
146
+ onCpfCompleto(valor: string): void {
147
+ // valor = '123.456.789-01' (ou só dígitos se unmask=true)
148
+ this.validarCpf(valor);
149
+ }
150
+ ```
151
+
152
+ ### Valor pré-preenchido via model
153
+
154
+ A diretiva aceita tanto o valor mascarado quanto apenas os dígitos:
155
+
156
+ ```typescript
157
+ // Ambos resultam em '123.456.789-01' exibido no campo
158
+ control = new FormControl('123.456.789-01');
159
+ control = new FormControl('12345678901');
160
+ ```
161
+
162
+ ### Somente letras maiúsculas no slot `a`
163
+
164
+ ```html
165
+ <input
166
+ type="text"
167
+ [sInputMask]="'aaa-9999'"
168
+ characterPattern="[A-Z]"
169
+ [formControl]="codigo"
170
+ />
171
+ ```
172
+
173
+ ## Acessibilidade
174
+
175
+ - Navegação por `ArrowLeft`, `ArrowRight`, `Home` e `End` é tratada nativamente pelo browser
176
+ - `Tab` e atalhos de teclado (`Ctrl`/`Cmd`) não são interceptados pela diretiva
177
+ - Paste com `Ctrl+V` é suportado — a diretiva distribui os caracteres colados nos slots válidos
178
+ - Use `text-transform: uppercase` via CSS quando a máscara exigir letras maiúsculas, pois a diretiva não converte caixa automaticamente
179
+
180
+ ## Componentes relacionados
181
+
182
+ - [`CalendarMask`](../calendar-mask/README.md) — máscara para campos de data integrados ao `p-calendar`
183
+ - [`NumericMask`](../numeric-mask/README.md) — formatação de valores numéricos com separadores de milhar e decimal
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@seniorsistemas/angular-components/input-mask" />
5
+ export * from './public-api';
@@ -0,0 +1,103 @@
1
+ import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @description Diretiva de máscara de entrada para campos de texto.
6
+ *
7
+ * Aplique `[sInputMask]` em qualquer `<input>` para aplicar uma máscara de formatação,
8
+ * guiando a entrada do usuário com um padrão definido. Implementa ControlValueAccessor
9
+ * e Validator para integração nativa com Angular Forms.
10
+ *
11
+ * **Slots de máscara:**
12
+ * - `9` — dígito (0-9)
13
+ * - `a` — letra (conforme `characterPattern`, padrão `[A-Za-z]`)
14
+ * - `*` — alfanumérico (letra ou dígito)
15
+ * - Outros caracteres são tratados como literais (ex: `.`, `-`, `/`, `(`, `)`)
16
+ * - `?` — tudo após esse ponto na máscara é opcional
17
+ *
18
+ * @example
19
+ * ```html
20
+ * <!-- CPF -->
21
+ * <input type="text" [sInputMask]="'999.999.999-99'" [(ngModel)]="cpf" />
22
+ *
23
+ * <!-- Telefone com unmask -->
24
+ * <input type="text" [sInputMask]="'(99) 99999-9999'" [unmask]="true" [(ngModel)]="telefone" />
25
+ * ```
26
+ * @category Input
27
+ */
28
+ export declare class InputMaskDirective implements OnInit, OnChanges, ControlValueAccessor, Validator {
29
+ /**
30
+ * Padrão da máscara. Slots: `9` (dígito), `a` (letra), `*` (alfanumérico).
31
+ * Demais caracteres são literais. `?` torna o restante da máscara opcional.
32
+ */
33
+ mask: import("@angular/core").InputSignal<string | undefined>;
34
+ /**
35
+ * Caractere exibido nas posições ainda não preenchidas.
36
+ * @default '_'
37
+ */
38
+ slotChar: import("@angular/core").InputSignal<string>;
39
+ /**
40
+ * Quando `true`, o modelo recebe apenas os caracteres digitados pelo usuário,
41
+ * sem os literais da máscara. Quando `false`, o modelo recebe o valor completo
42
+ * incluindo literais.
43
+ * @default false
44
+ */
45
+ unmask: import("@angular/core").InputSignal<boolean>;
46
+ /**
47
+ * Expressão regular usada para validar o slot `a` (letra).
48
+ * @default '[A-Za-z]'
49
+ */
50
+ characterPattern: import("@angular/core").InputSignal<string>;
51
+ /**
52
+ * Quando `true`, limpa o campo ao perder o foco se a máscara estiver incompleta.
53
+ * @default true
54
+ */
55
+ autoClear: import("@angular/core").InputSignal<boolean>;
56
+ /**
57
+ * Emitido quando todos os slots obrigatórios da máscara estão preenchidos.
58
+ * Emite o valor atual (mascarado ou não, conforme `unmask`).
59
+ */
60
+ maskComplete: import("@angular/core").OutputEmitterRef<string>;
61
+ private readonly el;
62
+ private readonly renderer;
63
+ private tokens;
64
+ private buffer;
65
+ private wasComplete;
66
+ private lastValue;
67
+ private onChange;
68
+ private onTouched;
69
+ ngOnInit(): void;
70
+ ngOnChanges(changes: SimpleChanges): void;
71
+ private buildMask;
72
+ private parseMask;
73
+ private resetBuffer;
74
+ private isValidChar;
75
+ private isEditable;
76
+ private nextEditablePos;
77
+ private prevEditablePos;
78
+ private setCursor;
79
+ private setInputValue;
80
+ private getDisplayValue;
81
+ private getBlurDisplayValue;
82
+ /**
83
+ * Returns the value that should be set on the model.
84
+ * Returns null when the user has not typed anything.
85
+ */
86
+ private getModelValue;
87
+ private clearRange;
88
+ private isMaskComplete;
89
+ private checkAndEmitComplete;
90
+ private dispatchInputEvent;
91
+ onKeyDown(event: KeyboardEvent): void;
92
+ onFocus(_event: FocusEvent): void;
93
+ onBlur(_event: Event): void;
94
+ onPaste(event: ClipboardEvent): void;
95
+ onClick(): void;
96
+ writeValue(value: string | null): void;
97
+ registerOnChange(onChange: (value: string | null) => void): void;
98
+ registerOnTouched(onTouched: () => void): void;
99
+ setDisabledState(isDisabled: boolean): void;
100
+ validate(control: AbstractControl): ValidationErrors | null;
101
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputMaskDirective, never>;
102
+ static ɵdir: i0.ɵɵDirectiveDeclaration<InputMaskDirective, "input[sInputMask]", never, { "mask": { "alias": "sInputMask"; "required": false; "isSignal": true; }; "slotChar": { "alias": "slotChar"; "required": false; "isSignal": true; }; "unmask": { "alias": "unmask"; "required": false; "isSignal": true; }; "characterPattern": { "alias": "characterPattern"; "required": false; "isSignal": true; }; "autoClear": { "alias": "autoClear"; "required": false; "isSignal": true; }; }, { "maskComplete": "maskComplete"; }, never, never, true, never>;
103
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./input-mask.directive";
3
+ export declare class InputMaskModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputMaskModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<InputMaskModule, never, [typeof i1.InputMaskDirective], [typeof i1.InputMaskDirective]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<InputMaskModule>;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './lib/input-mask/input-mask.directive';
2
+ export * from './lib/input-mask/input-mask.module';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seniorsistemas/angular-components",
3
- "version": "19.6.2",
3
+ "version": "19.7.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.14",
6
6
  "@angular/common": "^18.2.0",
@@ -96,36 +96,36 @@
96
96
  "esm": "./esm2022/accordion/seniorsistemas-angular-components-accordion.mjs",
97
97
  "default": "./fesm2022/seniorsistemas-angular-components-accordion.mjs"
98
98
  },
99
- "./autocomplete": {
100
- "types": "./autocomplete/index.d.ts",
101
- "esm2022": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
102
- "esm": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
103
- "default": "./fesm2022/seniorsistemas-angular-components-autocomplete.mjs"
104
- },
105
99
  "./alert": {
106
100
  "types": "./alert/index.d.ts",
107
101
  "esm2022": "./esm2022/alert/seniorsistemas-angular-components-alert.mjs",
108
102
  "esm": "./esm2022/alert/seniorsistemas-angular-components-alert.mjs",
109
103
  "default": "./fesm2022/seniorsistemas-angular-components-alert.mjs"
110
104
  },
105
+ "./autocomplete": {
106
+ "types": "./autocomplete/index.d.ts",
107
+ "esm2022": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
108
+ "esm": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
109
+ "default": "./fesm2022/seniorsistemas-angular-components-autocomplete.mjs"
110
+ },
111
111
  "./badge": {
112
112
  "types": "./badge/index.d.ts",
113
113
  "esm2022": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
114
114
  "esm": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
115
115
  "default": "./fesm2022/seniorsistemas-angular-components-badge.mjs"
116
116
  },
117
- "./bignumber-input": {
118
- "types": "./bignumber-input/index.d.ts",
119
- "esm2022": "./esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs",
120
- "esm": "./esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs",
121
- "default": "./fesm2022/seniorsistemas-angular-components-bignumber-input.mjs"
122
- },
123
117
  "./breadcrumb": {
124
118
  "types": "./breadcrumb/index.d.ts",
125
119
  "esm2022": "./esm2022/breadcrumb/seniorsistemas-angular-components-breadcrumb.mjs",
126
120
  "esm": "./esm2022/breadcrumb/seniorsistemas-angular-components-breadcrumb.mjs",
127
121
  "default": "./fesm2022/seniorsistemas-angular-components-breadcrumb.mjs"
128
122
  },
123
+ "./bignumber-input": {
124
+ "types": "./bignumber-input/index.d.ts",
125
+ "esm2022": "./esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs",
126
+ "esm": "./esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs",
127
+ "default": "./fesm2022/seniorsistemas-angular-components-bignumber-input.mjs"
128
+ },
129
129
  "./button": {
130
130
  "types": "./button/index.d.ts",
131
131
  "esm2022": "./esm2022/button/seniorsistemas-angular-components-button.mjs",
@@ -330,6 +330,12 @@
330
330
  "esm": "./esm2022/inline-edit/seniorsistemas-angular-components-inline-edit.mjs",
331
331
  "default": "./fesm2022/seniorsistemas-angular-components-inline-edit.mjs"
332
332
  },
333
+ "./input-mask": {
334
+ "types": "./input-mask/index.d.ts",
335
+ "esm2022": "./esm2022/input-mask/seniorsistemas-angular-components-input-mask.mjs",
336
+ "esm": "./esm2022/input-mask/seniorsistemas-angular-components-input-mask.mjs",
337
+ "default": "./fesm2022/seniorsistemas-angular-components-input-mask.mjs"
338
+ },
333
339
  "./insights": {
334
340
  "types": "./insights/index.d.ts",
335
341
  "esm2022": "./esm2022/insights/seniorsistemas-angular-components-insights.mjs",
@@ -444,18 +450,18 @@
444
450
  "esm": "./esm2022/pin-code-field/seniorsistemas-angular-components-pin-code-field.mjs",
445
451
  "default": "./fesm2022/seniorsistemas-angular-components-pin-code-field.mjs"
446
452
  },
447
- "./product-header": {
448
- "types": "./product-header/index.d.ts",
449
- "esm2022": "./esm2022/product-header/seniorsistemas-angular-components-product-header.mjs",
450
- "esm": "./esm2022/product-header/seniorsistemas-angular-components-product-header.mjs",
451
- "default": "./fesm2022/seniorsistemas-angular-components-product-header.mjs"
452
- },
453
453
  "./profile-picture-picker": {
454
454
  "types": "./profile-picture-picker/index.d.ts",
455
455
  "esm2022": "./esm2022/profile-picture-picker/seniorsistemas-angular-components-profile-picture-picker.mjs",
456
456
  "esm": "./esm2022/profile-picture-picker/seniorsistemas-angular-components-profile-picture-picker.mjs",
457
457
  "default": "./fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs"
458
458
  },
459
+ "./product-header": {
460
+ "types": "./product-header/index.d.ts",
461
+ "esm2022": "./esm2022/product-header/seniorsistemas-angular-components-product-header.mjs",
462
+ "esm": "./esm2022/product-header/seniorsistemas-angular-components-product-header.mjs",
463
+ "default": "./fesm2022/seniorsistemas-angular-components-product-header.mjs"
464
+ },
459
465
  "./progressbar": {
460
466
  "types": "./progressbar/index.d.ts",
461
467
  "esm2022": "./esm2022/progressbar/seniorsistemas-angular-components-progressbar.mjs",
@@ -600,18 +606,18 @@
600
606
  "esm": "./esm2022/thumbnail/seniorsistemas-angular-components-thumbnail.mjs",
601
607
  "default": "./fesm2022/seniorsistemas-angular-components-thumbnail.mjs"
602
608
  },
603
- "./thumbnails": {
604
- "types": "./thumbnails/index.d.ts",
605
- "esm2022": "./esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs",
606
- "esm": "./esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs",
607
- "default": "./fesm2022/seniorsistemas-angular-components-thumbnails.mjs"
608
- },
609
609
  "./tiered-menu": {
610
610
  "types": "./tiered-menu/index.d.ts",
611
611
  "esm2022": "./esm2022/tiered-menu/seniorsistemas-angular-components-tiered-menu.mjs",
612
612
  "esm": "./esm2022/tiered-menu/seniorsistemas-angular-components-tiered-menu.mjs",
613
613
  "default": "./fesm2022/seniorsistemas-angular-components-tiered-menu.mjs"
614
614
  },
615
+ "./thumbnails": {
616
+ "types": "./thumbnails/index.d.ts",
617
+ "esm2022": "./esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs",
618
+ "esm": "./esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs",
619
+ "default": "./fesm2022/seniorsistemas-angular-components-thumbnails.mjs"
620
+ },
615
621
  "./tile": {
616
622
  "types": "./tile/index.d.ts",
617
623
  "esm2022": "./esm2022/tile/seniorsistemas-angular-components-tile.mjs",
@@ -624,12 +630,6 @@
624
630
  "esm": "./esm2022/timeline/seniorsistemas-angular-components-timeline.mjs",
625
631
  "default": "./fesm2022/seniorsistemas-angular-components-timeline.mjs"
626
632
  },
627
- "./toast": {
628
- "types": "./toast/index.d.ts",
629
- "esm2022": "./esm2022/toast/seniorsistemas-angular-components-toast.mjs",
630
- "esm": "./esm2022/toast/seniorsistemas-angular-components-toast.mjs",
631
- "default": "./fesm2022/seniorsistemas-angular-components-toast.mjs"
632
- },
633
633
  "./token-list": {
634
634
  "types": "./token-list/index.d.ts",
635
635
  "esm2022": "./esm2022/token-list/seniorsistemas-angular-components-token-list.mjs",
@@ -642,6 +642,12 @@
642
642
  "esm": "./esm2022/tooltip/seniorsistemas-angular-components-tooltip.mjs",
643
643
  "default": "./fesm2022/seniorsistemas-angular-components-tooltip.mjs"
644
644
  },
645
+ "./toast": {
646
+ "types": "./toast/index.d.ts",
647
+ "esm2022": "./esm2022/toast/seniorsistemas-angular-components-toast.mjs",
648
+ "esm": "./esm2022/toast/seniorsistemas-angular-components-toast.mjs",
649
+ "default": "./fesm2022/seniorsistemas-angular-components-toast.mjs"
650
+ },
645
651
  "./topbar": {
646
652
  "types": "./topbar/index.d.ts",
647
653
  "esm2022": "./esm2022/topbar/seniorsistemas-angular-components-topbar.mjs",
@@ -654,18 +660,18 @@
654
660
  "esm": "./esm2022/tree/seniorsistemas-angular-components-tree.mjs",
655
661
  "default": "./fesm2022/seniorsistemas-angular-components-tree.mjs"
656
662
  },
657
- "./utils": {
658
- "types": "./utils/index.d.ts",
659
- "esm2022": "./esm2022/utils/seniorsistemas-angular-components-utils.mjs",
660
- "esm": "./esm2022/utils/seniorsistemas-angular-components-utils.mjs",
661
- "default": "./fesm2022/seniorsistemas-angular-components-utils.mjs"
662
- },
663
663
  "./workspace-switch": {
664
664
  "types": "./workspace-switch/index.d.ts",
665
665
  "esm2022": "./esm2022/workspace-switch/seniorsistemas-angular-components-workspace-switch.mjs",
666
666
  "esm": "./esm2022/workspace-switch/seniorsistemas-angular-components-workspace-switch.mjs",
667
667
  "default": "./fesm2022/seniorsistemas-angular-components-workspace-switch.mjs"
668
668
  },
669
+ "./utils": {
670
+ "types": "./utils/index.d.ts",
671
+ "esm2022": "./esm2022/utils/seniorsistemas-angular-components-utils.mjs",
672
+ "esm": "./esm2022/utils/seniorsistemas-angular-components-utils.mjs",
673
+ "default": "./fesm2022/seniorsistemas-angular-components-utils.mjs"
674
+ },
669
675
  "./common/deprecated-selector": {
670
676
  "types": "./common/deprecated-selector/index.d.ts",
671
677
  "esm2022": "./esm2022/common/deprecated-selector/seniorsistemas-angular-components-common-deprecated-selector.mjs",