@seniorsistemas/angular-components 18.0.3 → 18.1.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.
@@ -33,22 +33,22 @@ import { FormsModule } from '@angular/forms';
33
33
  import { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric-mask';
34
34
 
35
35
  @Component({
36
- selector: 'app-example',
37
- standalone: true,
38
- imports: [FormsModule, NumericMaskDirective],
39
- template: `
40
- <input
41
- type="text"
42
- sNumericMask
43
- [locale]="'pt-BR'"
44
- [minDecimalPlaces]="2"
45
- [maxDecimalPlaces]="2"
46
- [(ngModel)]="value"
47
- />
48
- `
36
+ selector: 'app-example',
37
+ standalone: true,
38
+ imports: [FormsModule, NumericMaskDirective],
39
+ template: `
40
+ <input
41
+ type="text"
42
+ sNumericMask
43
+ [locale]="'pt-BR'"
44
+ [minDecimalPlaces]="2"
45
+ [maxDecimalPlaces]="2"
46
+ [(ngModel)]="value"
47
+ />
48
+ `,
49
49
  })
50
50
  export class ExampleComponent {
51
- value: string | null = null;
51
+ value: string | null = null;
52
52
  }
53
53
  ```
54
54
 
@@ -56,24 +56,37 @@ export class ExampleComponent {
56
56
 
57
57
  ### Inputs
58
58
 
59
- | Input | Tipo | Padrão | Descrição |
60
- |-------|------|--------|-----------|
61
- | `locale` | `string \| undefined` | `undefined` | Locale para formatação (ex: 'pt-BR', 'en-US', 'de-DE', 'fr-FR'). Se não fornecido, usa automaticamente o locale do `LocaleService` |
62
- | `minDecimalPlaces` | `number` | `0` | Quantidade mínima de casas decimais a exibir. Na formatação (blur), ajusta o valor para ter no mínimo esse número de casas decimais |
63
- | `maxDecimalPlaces` | `number` | `10` | Quantidade máxima de casas decimais permitidas. Na formatação (blur), limita a exibição a esse número de casas decimais |
64
- | `allowNegative` | `boolean` | `false` | Permite valores negativos. Use `+` e `-` para alternar o sinal |
65
- | `allowScientificNotation` | `boolean` | `true` | Habilita suporte a notação científica (ex: `1e-6`). Quando `false`, bloqueia digitação e colagem de valores com `e`/`E` |
66
- | `textAlign` | `'left' \| 'right'` | `'right'` | Alinhamento do texto dentro do input |
67
- | `min` | `number \| undefined` | `undefined` | Valor mínimo permitido. Quando definido, adiciona validação nativa |
68
- | `max` | `number \| undefined` | `undefined` | Valor máximo permitido. Quando definido, adiciona validação nativa |
59
+ | Input | Tipo | Padrão | Descrição |
60
+ | ------------------------- | --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
61
+ | `locale` | `string \| undefined` | `undefined` | Locale para formatação (ex: 'pt-BR', 'en-US', 'de-DE', 'fr-FR'). Se não fornecido, usa automaticamente o locale do `LocaleService` |
62
+ | `minDecimalPlaces` | `number` | `0` | Quantidade mínima de casas decimais a exibir. Na formatação, o valor sempre terá no mínimo esse número de casas decimais, preenchendo com zeros se necessário |
63
+ | `maxDecimalPlaces` | `number` | `10` | Quantidade máxima de casas decimais permitidas. Na formatação, limita a exibição a esse número de casas decimais, truncando valores maiores |
64
+ | `allowNegative` | `boolean` | `false` | Permite valores negativos. Use `+` e `-` para alternar o sinal |
65
+ | `allowScientificNotation` | `boolean` | `true` | Habilita suporte a notação científica (ex: `1e-6`). Quando `false`, bloqueia digitação e colagem de valores com `e`/`E` |
66
+ | `min` | `number \| undefined` | `undefined` | Valor mínimo permitido. Quando definido, adiciona validação nativa |
67
+ | `max` | `number \| undefined` | `undefined` | Valor máximo permitido. Quando definido, adiciona validação nativa |
69
68
 
70
69
  ## Comportamento
71
70
 
71
+ ### Casas Decimais (minDecimalPlaces e maxDecimalPlaces)
72
+
73
+ A diretiva agora aplica um controle preciso sobre as casas decimais exibidas:
74
+
75
+ - **minDecimalPlaces**: Define o número mínimo de casas decimais. Se o valor tiver menos casas decimais, zeros são adicionados à direita.
76
+ - **maxDecimalPlaces**: Define o número máximo de casas decimais. Se o valor tiver mais casas decimais, é **truncado** (não arredondado).
77
+
78
+ Exemplos com formatação (blur):
79
+
80
+ - Valor `12,1` com `minDecimalPlaces="3"` → exibido como `12,100`
81
+ - Valor `3,3333333` com `maxDecimalPlaces="4"` → exibido como `3,3333` (truncado)
82
+ - Valor `5` com `minDecimalPlaces="2"` e `maxDecimalPlaces="2"` → exibido como `5,00`
83
+
72
84
  ### Truncamento de Decimais
73
85
 
74
86
  Ao contrário de outras máscaras numéricas que **arredondam**, a `numeric-mask` **trunca** valores que excedem `maxDecimalPlaces`. Isso é crucial para precisão em valores financeiros e científicos.
75
87
 
76
88
  Exemplo com `maxDecimalPlaces="2"`:
89
+
77
90
  - Valor digitado: `1,999`
78
91
  - Valor no modelo: `1.999` (sem truncamento)
79
92
  - Valor exibido (blur): `1,99` (truncado, não arredondado para `2,00`)
@@ -82,6 +95,7 @@ Exemplo com `maxDecimalPlaces="2"`:
82
95
  ### Bloqueio de Caracteres Inválidos
83
96
 
84
97
  A diretiva bloqueia automaticamente a digitação de caracteres que não sejam:
98
+
85
99
  - Dígitos (0-9)
86
100
  - Separador decimal (`,` ou `.` conforme o locale)
87
101
  - Caracteres de controle (Tab, Backspace, Delete, etc.)
@@ -89,18 +103,25 @@ A diretiva bloqueia automaticamente a digitação de caracteres que não sejam:
89
103
  - Ctrl/Cmd/Alt
90
104
 
91
105
  Para **valores negativos**, você pode:
106
+
92
107
  - Pressionar `-` no início do valor para ativar/desativar o sinal negativo
93
108
  - Pressionar `+` para remover o sinal negativo
94
109
 
110
+ ### Alinhamento de Texto
111
+
112
+ O texto dentro do input é sempre alinhado à **direita**, facilitando a leitura de valores numéricos.
113
+
95
114
  ### Focus
96
115
 
97
116
  Quando o input recebe foco:
117
+
98
118
  - Remove a formatação (separadores de milhar)
99
119
  - Exibe o valor com o separador decimal do locale
100
120
  - Auto-seleciona todo o valor para fácil substituição
101
121
  - Mostra o valor **completo** do modelo (sem truncamento)
102
122
 
103
123
  Exemplo:
124
+
104
125
  - Valor formatado: `1.234,56`
105
126
  - No focus: `1234,56` (apenas separador decimal, valor completo)
106
127
 
@@ -108,11 +129,11 @@ Exemplo:
108
129
 
109
130
  A diretiva separa claramente o valor armazenado do valor exibido:
110
131
 
111
- | Situação | Modelo | Display |
112
- |----------|--------|---------|
113
- | Digitando | `1.999` | `1,999` |
114
- | Após blur | `1.999` | `1,99` (truncado) |
115
- | Com foco | `1.999` | `1,999` (completo) |
132
+ | Situação | Modelo | Display |
133
+ | ------------------ | ------------------------- | ----------------------------------- |
134
+ | Digitando | `1.999` | `1,999` |
135
+ | Após blur | `1.999` | `1,99` (truncado) |
136
+ | Com foco | `1.999` | `1,999` (completo) |
116
137
  | Notação científica | `0.000000000000000000001` | `0,00000000000000000000` (truncado) |
117
138
 
118
139
  **Garantia:** O modelo **sempre** armazena o valor completo, sem truncamento. As propriedades `minDecimalPlaces` e `maxDecimalPlaces` afetam **apenas** a formatação visual.
@@ -120,6 +141,7 @@ A diretiva separa claramente o valor armazenado do valor exibido:
120
141
  ### Blur
121
142
 
122
143
  Quando o input perde foco:
144
+
123
145
  - Reaplica a formatação completa com separadores de milhar
124
146
  - Valida o valor conforme as regras configuradas
125
147
 
@@ -135,22 +157,22 @@ Quando o input perde foco:
135
157
 
136
158
  ```typescript
137
159
  @Component({
138
- selector: 'app-basic',
139
- standalone: true,
140
- imports: [FormsModule, NumericMaskDirective],
141
- template: `
142
- <input
143
- sNumericMask
144
- [locale]="'pt-BR'"
145
- [minDecimalPlaces]="2"
146
- [maxDecimalPlaces]="2"
147
- [(ngModel)]="value"
148
- />
149
- <p>Valor: {{ value }}</p>
150
- `
160
+ selector: 'app-basic',
161
+ standalone: true,
162
+ imports: [FormsModule, NumericMaskDirective],
163
+ template: `
164
+ <input
165
+ sNumericMask
166
+ [locale]="'pt-BR'"
167
+ [minDecimalPlaces]="2"
168
+ [maxDecimalPlaces]="2"
169
+ [(ngModel)]="value"
170
+ />
171
+ <p>Valor: {{ value }}</p>
172
+ `,
151
173
  })
152
174
  export class BasicComponent {
153
- value: string | null = null;
175
+ value: string | null = null;
154
176
  }
155
177
  ```
156
178
 
@@ -158,23 +180,23 @@ export class BasicComponent {
158
180
 
159
181
  ```typescript
160
182
  @Component({
161
- selector: 'app-negative',
162
- standalone: true,
163
- imports: [FormsModule, NumericMaskDirective],
164
- template: `
165
- <input
166
- sNumericMask
167
- [allowNegative]="true"
168
- [locale]="'pt-BR'"
169
- [minDecimalPlaces]="2"
170
- [maxDecimalPlaces]="2"
171
- [(ngModel)]="value"
172
- />
173
- <p>Pressione - para alternar o sinal</p>
174
- `
183
+ selector: 'app-negative',
184
+ standalone: true,
185
+ imports: [FormsModule, NumericMaskDirective],
186
+ template: `
187
+ <input
188
+ sNumericMask
189
+ [allowNegative]="true"
190
+ [locale]="'pt-BR'"
191
+ [minDecimalPlaces]="2"
192
+ [maxDecimalPlaces]="2"
193
+ [(ngModel)]="value"
194
+ />
195
+ <p>Pressione - para alternar o sinal</p>
196
+ `,
175
197
  })
176
198
  export class NegativeComponent {
177
- value: string | null = null;
199
+ value: string | null = null;
178
200
  }
179
201
  ```
180
202
 
@@ -182,23 +204,23 @@ export class NegativeComponent {
182
204
 
183
205
  ```typescript
184
206
  @Component({
185
- selector: 'app-scientific',
186
- standalone: true,
187
- imports: [FormsModule, NumericMaskDirective],
188
- template: `
189
- <input
190
- sNumericMask
191
- [allowScientificNotation]="true"
192
- [minDecimalPlaces]="0"
193
- [maxDecimalPlaces]="15"
194
- [(ngModel)]="value"
195
- placeholder="Ex: 1e-6, 1.5e-10"
196
- />
197
- <p>Valor: {{ value }}</p>
198
- `
207
+ selector: 'app-scientific',
208
+ standalone: true,
209
+ imports: [FormsModule, NumericMaskDirective],
210
+ template: `
211
+ <input
212
+ sNumericMask
213
+ [allowScientificNotation]="true"
214
+ [minDecimalPlaces]="0"
215
+ [maxDecimalPlaces]="15"
216
+ [(ngModel)]="value"
217
+ placeholder="Ex: 1e-6, 1.5e-10"
218
+ />
219
+ <p>Valor: {{ value }}</p>
220
+ `,
199
221
  })
200
222
  export class ScientificComponent {
201
- value: string | null = null;
223
+ value: string | null = null;
202
224
  }
203
225
  ```
204
226
 
@@ -206,22 +228,22 @@ export class ScientificComponent {
206
228
 
207
229
  ```typescript
208
230
  @Component({
209
- selector: 'app-no-scientific',
210
- standalone: true,
211
- imports: [FormsModule, NumericMaskDirective],
212
- template: `
213
- <input
214
- sNumericMask
215
- [allowScientificNotation]="false"
216
- [locale]="'pt-BR'"
217
- [minDecimalPlaces]="2"
218
- [maxDecimalPlaces]="2"
219
- [(ngModel)]="value"
220
- />
221
- `
231
+ selector: 'app-no-scientific',
232
+ standalone: true,
233
+ imports: [FormsModule, NumericMaskDirective],
234
+ template: `
235
+ <input
236
+ sNumericMask
237
+ [allowScientificNotation]="false"
238
+ [locale]="'pt-BR'"
239
+ [minDecimalPlaces]="2"
240
+ [maxDecimalPlaces]="2"
241
+ [(ngModel)]="value"
242
+ />
243
+ `,
222
244
  })
223
245
  export class NoScientificComponent {
224
- value: string | null = null;
246
+ value: string | null = null;
225
247
  }
226
248
  ```
227
249
 
@@ -229,35 +251,31 @@ export class NoScientificComponent {
229
251
 
230
252
  ```typescript
231
253
  @Component({
232
- selector: 'app-min-max',
233
- standalone: true,
234
- imports: [FormsModule, NumericMaskDirective],
235
- template: `
236
- <input
237
- sNumericMask
238
- [minDecimalPlaces]="2"
239
- [maxDecimalPlaces]="2"
240
- [min]="0"
241
- [max]="1000"
242
- [(ngModel)]="price"
243
- #priceInput="ngModel"
244
- />
245
-
246
- @if (priceInput.errors?.['min']) {
247
- <span class="error">
248
- Valor mínimo: {{ priceInput.errors?.['min'].min }}
249
- </span>
250
- }
251
-
252
- @if (priceInput.errors?.['max']) {
253
- <span class="error">
254
- Valor máximo: {{ priceInput.errors?.['max'].max }}
255
- </span>
256
- }
257
- `
254
+ selector: 'app-min-max',
255
+ standalone: true,
256
+ imports: [FormsModule, NumericMaskDirective],
257
+ template: `
258
+ <input
259
+ sNumericMask
260
+ [minDecimalPlaces]="2"
261
+ [maxDecimalPlaces]="2"
262
+ [min]="0"
263
+ [max]="1000"
264
+ [(ngModel)]="price"
265
+ #priceInput="ngModel"
266
+ />
267
+
268
+ @if (priceInput.errors?.['min']) {
269
+ <span class="error"> Valor mínimo: {{ priceInput.errors?.['min'].min }} </span>
270
+ }
271
+
272
+ @if (priceInput.errors?.['max']) {
273
+ <span class="error"> Valor máximo: {{ priceInput.errors?.['max'].max }} </span>
274
+ }
275
+ `,
258
276
  })
259
277
  export class MinMaxComponent {
260
- price: string | null = null;
278
+ price: string | null = null;
261
279
  }
262
280
  ```
263
281
 
@@ -265,22 +283,22 @@ export class MinMaxComponent {
265
283
 
266
284
  ```typescript
267
285
  @Component({
268
- selector: 'app-high-precision',
269
- standalone: true,
270
- imports: [FormsModule, NumericMaskDirective],
271
- template: `
272
- <input
273
- sNumericMask
274
- [locale]="'pt-BR'"
275
- [minDecimalPlaces]="0"
276
- [maxDecimalPlaces]="8"
277
- [(ngModel)]="cryptoValue"
278
- />
279
- <p>Valor da criptomoeda: {{ cryptoValue }}</p>
280
- `
286
+ selector: 'app-high-precision',
287
+ standalone: true,
288
+ imports: [FormsModule, NumericMaskDirective],
289
+ template: `
290
+ <input
291
+ sNumericMask
292
+ [locale]="'pt-BR'"
293
+ [minDecimalPlaces]="0"
294
+ [maxDecimalPlaces]="8"
295
+ [(ngModel)]="cryptoValue"
296
+ />
297
+ <p>Valor da criptomoeda: {{ cryptoValue }}</p>
298
+ `,
281
299
  })
282
300
  export class HighPrecisionComponent {
283
- cryptoValue: string | null = null;
301
+ cryptoValue: string | null = null;
284
302
  }
285
303
  ```
286
304
 
@@ -302,17 +320,21 @@ import { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric
302
320
  import { LocaleModule } from '@seniorsistemas/angular-components/locale';
303
321
 
304
322
  @Component({
305
- selector: 'app-with-locale-service',
306
- standalone: true,
307
- imports: [FormsModule, NumericMaskDirective, LocaleModule],
308
- template: `
309
- <!-- Locale automático do usuário -->
310
- <input sNumericMask [minDecimalPlaces]="2"
311
- [maxDecimalPlaces]="2" [(ngModel)]="value" />
312
- `
323
+ selector: 'app-with-locale-service',
324
+ standalone: true,
325
+ imports: [FormsModule, NumericMaskDirective, LocaleModule],
326
+ template: `
327
+ <!-- Locale automático do usuário -->
328
+ <input
329
+ sNumericMask
330
+ [minDecimalPlaces]="2"
331
+ [maxDecimalPlaces]="2"
332
+ [(ngModel)]="value"
333
+ />
334
+ `,
313
335
  })
314
336
  export class WithLocaleServiceComponent {
315
- value: string | null = null;
337
+ value: string | null = null;
316
338
  }
317
339
  ```
318
340
 
@@ -320,17 +342,22 @@ export class WithLocaleServiceComponent {
320
342
 
321
343
  ```typescript
322
344
  @Component({
323
- selector: 'app-explicit-locale',
324
- standalone: true,
325
- imports: [FormsModule, NumericMaskDirective],
326
- template: `
327
- <!-- Locale explícito, não usa LocaleService -->
328
- <input sNumericMask [locale]="'en-US'" [minDecimalPlaces]="2"
329
- [maxDecimalPlaces]="2" [(ngModel)]="value" />
330
- `
345
+ selector: 'app-explicit-locale',
346
+ standalone: true,
347
+ imports: [FormsModule, NumericMaskDirective],
348
+ template: `
349
+ <!-- Locale explícito, não usa LocaleService -->
350
+ <input
351
+ sNumericMask
352
+ [locale]="'en-US'"
353
+ [minDecimalPlaces]="2"
354
+ [maxDecimalPlaces]="2"
355
+ [(ngModel)]="value"
356
+ />
357
+ `,
331
358
  })
332
359
  export class ExplicitLocaleComponent {
333
- value: string | null = null;
360
+ value: string | null = null;
334
361
  }
335
362
  ```
336
363
 
@@ -346,14 +373,14 @@ Para melhor acessibilidade, adicione manualmente:
346
373
  ```html
347
374
  <label for="price">Preço (até 2 casas decimais)</label>
348
375
  <input
349
- id="price"
350
- type="text"
351
- sNumericMask
352
- [locale]="'pt-BR'"
353
- [minDecimalPlaces]="2"
354
- [maxDecimalPlaces]="2"
355
- [(ngModel)]="price"
356
- aria-label="Digite um número com até 2 casas decimais"
376
+ id="price"
377
+ type="text"
378
+ sNumericMask
379
+ [locale]="'pt-BR'"
380
+ [minDecimalPlaces]="2"
381
+ [maxDecimalPlaces]="2"
382
+ [(ngModel)]="price"
383
+ aria-label="Digite um número com até 2 casas decimais"
357
384
  />
358
385
  ```
359
386
 
@@ -365,3 +392,4 @@ Para melhor acessibilidade, adicione manualmente:
365
392
  ## Licença
366
393
 
367
394
  MIT
395
+
@@ -47,11 +47,6 @@ export declare class NumericMaskDirective implements OnInit, ControlValueAccesso
47
47
  * @default true
48
48
  */
49
49
  allowScientificNotation: import("@angular/core").InputSignal<boolean>;
50
- /**
51
- * Text alignment in input
52
- * @default 'right'
53
- */
54
- textAlign: import("@angular/core").InputSignal<"left" | "right">;
55
50
  /**
56
51
  * Minimum value allowed
57
52
  */
@@ -153,7 +148,7 @@ export declare class NumericMaskDirective implements OnInit, ControlValueAccesso
153
148
  private parseStringToValue;
154
149
  /**
155
150
  * Formats a numeric value according to the locale
156
- * Truncates (never rounds) to maxDecimalPlaces for display purposes only
151
+ * Truncates (never rounds) to maxDecimalPlaces and pads with zeros to minDecimalPlaces
157
152
  * @private
158
153
  */
159
154
  private formatNumeric;
@@ -191,5 +186,5 @@ export declare class NumericMaskDirective implements OnInit, ControlValueAccesso
191
186
  setDisabledState(isDisabled: boolean): void;
192
187
  validate(control: AbstractControl): ValidationErrors | null;
193
188
  static ɵfac: i0.ɵɵFactoryDeclaration<NumericMaskDirective, never>;
194
- static ɵdir: i0.ɵɵDirectiveDeclaration<NumericMaskDirective, "[sNumericMask]", never, { "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "minDecimalPlaces": { "alias": "minDecimalPlaces"; "required": false; "isSignal": true; }; "maxDecimalPlaces": { "alias": "maxDecimalPlaces"; "required": false; "isSignal": true; }; "allowNegative": { "alias": "allowNegative"; "required": false; "isSignal": true; }; "allowScientificNotation": { "alias": "allowScientificNotation"; "required": false; "isSignal": true; }; "textAlign": { "alias": "textAlign"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
189
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NumericMaskDirective, "[sNumericMask]", never, { "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "minDecimalPlaces": { "alias": "minDecimalPlaces"; "required": false; "isSignal": true; }; "maxDecimalPlaces": { "alias": "maxDecimalPlaces"; "required": false; "isSignal": true; }; "allowNegative": { "alias": "allowNegative"; "required": false; "isSignal": true; }; "allowScientificNotation": { "alias": "allowScientificNotation"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
195
190
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seniorsistemas/angular-components",
3
- "version": "18.0.3",
3
+ "version": "18.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.14",
6
6
  "@angular/common": "^18.2.0",
@@ -46,18 +46,18 @@
46
46
  "esm": "./esm2022/alert/seniorsistemas-angular-components-alert.mjs",
47
47
  "default": "./fesm2022/seniorsistemas-angular-components-alert.mjs"
48
48
  },
49
- "./badge": {
50
- "types": "./badge/index.d.ts",
51
- "esm2022": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
52
- "esm": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
53
- "default": "./fesm2022/seniorsistemas-angular-components-badge.mjs"
54
- },
55
49
  "./autocomplete": {
56
50
  "types": "./autocomplete/index.d.ts",
57
51
  "esm2022": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
58
52
  "esm": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
59
53
  "default": "./fesm2022/seniorsistemas-angular-components-autocomplete.mjs"
60
54
  },
55
+ "./badge": {
56
+ "types": "./badge/index.d.ts",
57
+ "esm2022": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
58
+ "esm": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
59
+ "default": "./fesm2022/seniorsistemas-angular-components-badge.mjs"
60
+ },
61
61
  "./bignumber-input": {
62
62
  "types": "./bignumber-input/index.d.ts",
63
63
  "esm2022": "./esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs",
@@ -352,6 +352,12 @@
352
352
  "esm": "./esm2022/picklist/seniorsistemas-angular-components-picklist.mjs",
353
353
  "default": "./fesm2022/seniorsistemas-angular-components-picklist.mjs"
354
354
  },
355
+ "./pin-code-field": {
356
+ "types": "./pin-code-field/index.d.ts",
357
+ "esm2022": "./esm2022/pin-code-field/seniorsistemas-angular-components-pin-code-field.mjs",
358
+ "esm": "./esm2022/pin-code-field/seniorsistemas-angular-components-pin-code-field.mjs",
359
+ "default": "./fesm2022/seniorsistemas-angular-components-pin-code-field.mjs"
360
+ },
355
361
  "./product-header": {
356
362
  "types": "./product-header/index.d.ts",
357
363
  "esm2022": "./esm2022/product-header/seniorsistemas-angular-components-product-header.mjs",