pjc-fields 0.0.4 → 0.0.5

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, input, forwardRef, Input, inject, ElementRef, ChangeDetectionStrategy, output } from '@angular/core';
2
+ import { Component, input, forwardRef, ChangeDetectionStrategy, Input, inject, ElementRef, output } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
5
5
  import * as i2 from 'primeng/inputmask';
@@ -33,10 +33,10 @@ class PjcValidators {
33
33
  if (!value)
34
34
  return null;
35
35
  if (value.length !== 11 || /^(\d)\1+$/.test(value)) {
36
- return { cpfInvalid: true };
36
+ return { cpfInvalido: true };
37
37
  }
38
38
  if (!PjcValidators.validateCpfDigits(value)) {
39
- return { cpfInvalid: true };
39
+ return { cpfInvalido: true };
40
40
  }
41
41
  return null;
42
42
  };
@@ -64,10 +64,10 @@ class PjcValidators {
64
64
  return null;
65
65
  // CNPJ deve ter 14 dígitos e não pode ser sequência repetida
66
66
  if (value.length !== 14 || /^(\d)\1+$/.test(value)) {
67
- return { cnpjInvalid: true };
67
+ return { cnpjInvalido: true };
68
68
  }
69
69
  if (!PjcValidators.validateCnpjDigits(value)) {
70
- return { cnpjInvalid: true };
70
+ return { cnpjInvalido: true };
71
71
  }
72
72
  return null;
73
73
  };
@@ -107,11 +107,11 @@ class PjcValidators {
107
107
  return null;
108
108
  // Fixo: DDD (2) + 8 dígitos = 10 | Celular: DDD (2) + 9 dígitos = 11
109
109
  if (digits.length !== 10 && digits.length !== 11) {
110
- return { telefoneInvalid: true };
110
+ return { telefoneInvalido: true };
111
111
  }
112
112
  // Celular deve começar com 9 após o DDD
113
113
  if (digits.length === 11 && digits[2] !== '9') {
114
- return { telefoneInvalid: true };
114
+ return { telefoneInvalido: true };
115
115
  }
116
116
  return null;
117
117
  };
@@ -123,11 +123,11 @@ class PjcValidators {
123
123
  return null;
124
124
  const match = value.match(/^(\d{2}):(\d{2})$/);
125
125
  if (!match)
126
- return { horaInvalid: true };
126
+ return { horaInvalida: true };
127
127
  const hours = parseInt(match[1], 10);
128
128
  const minutes = parseInt(match[2], 10);
129
129
  if (hours > 23 || minutes > 59) {
130
- return { horaInvalid: true };
130
+ return { horaInvalida: true };
131
131
  }
132
132
  return null;
133
133
  };
@@ -147,24 +147,23 @@ class PjcValidators {
147
147
  return null;
148
148
  // Regex para Padrão Antigo (AAA9999) e Mercosul (AAA9A99)
149
149
  const plateRegex = /^[A-Z]{3}[0-9][A-Z0-9][0-9]{2}$/;
150
- return plateRegex.test(value) ? null : { plateInvalid: true };
150
+ return plateRegex.test(value) ? null : { placaInvalida: true };
151
151
  };
152
152
  }
153
153
  }
154
154
 
155
155
  class PjcCpfFieldComponent {
156
- label = '';
157
- hint = '';
158
- placeholder = '000.000.000-00';
159
- id = `pjc-cpf-${Math.random().toString(36).substring(2, 9)}`;
156
+ label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
157
+ hint = input('', ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
158
+ placeholder = input('000.000.000-00', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
159
+ id = input(`pjc-cpf-${Math.random().toString(36).substring(2, 9)}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
160
160
  labelVariant = input('over', ...(ngDevMode ? [{ debugName: "labelVariant" }] : /* istanbul ignore next */ []));
161
161
  value = '';
162
162
  disabled = false;
163
163
  onChange = () => { };
164
164
  onTouched = () => { };
165
- // --- ControlValueAccessor ---
166
165
  writeValue(val) {
167
- this.value = val;
166
+ this.value = val ?? '';
168
167
  }
169
168
  registerOnChange(fn) {
170
169
  this.onChange = fn;
@@ -175,59 +174,58 @@ class PjcCpfFieldComponent {
175
174
  setDisabledState(isDisabled) {
176
175
  this.disabled = isDisabled;
177
176
  }
178
- onModelChange() {
177
+ onModelChange(value) {
178
+ this.value = value ?? '';
179
179
  this.onChange(this.value);
180
180
  }
181
181
  onModelTouched() {
182
182
  this.onTouched();
183
183
  }
184
- // --- Validator ---
185
184
  validate(control) {
186
185
  return PjcValidators.cpf()(control);
187
186
  }
188
187
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcCpfFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
189
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcCpfFieldComponent, isStandalone: true, selector: "pjc-cpf-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, labelVariant: { classPropertyName: "labelVariant", publicName: "labelVariant", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
188
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcCpfFieldComponent, isStandalone: true, selector: "pjc-cpf-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelVariant: { classPropertyName: "labelVariant", publicName: "labelVariant", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
190
189
  {
191
190
  provide: NG_VALUE_ACCESSOR,
192
191
  useExisting: forwardRef(() => PjcCpfFieldComponent),
193
192
  multi: true,
194
193
  },
195
- { provide: NG_VALIDATORS, useValue: PjcValidators.cpf(), multi: true },
196
- ], ngImport: i0, template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"999.999.999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"999.999.999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }] });
194
+ {
195
+ provide: NG_VALIDATORS,
196
+ useExisting: forwardRef(() => PjcCpfFieldComponent),
197
+ multi: true,
198
+ },
199
+ ], ngImport: i0, template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"999.999.999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"999.999.999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
200
  }
198
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcCpfFieldComponent, decorators: [{
199
202
  type: Component,
200
- args: [{ selector: 'pjc-cpf-field', imports: [CommonModule, FormsModule, InputMaskModule, FloatLabelModule], providers: [
203
+ args: [{ selector: 'pjc-cpf-field', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, InputMaskModule, FloatLabelModule], providers: [
201
204
  {
202
205
  provide: NG_VALUE_ACCESSOR,
203
206
  useExisting: forwardRef(() => PjcCpfFieldComponent),
204
207
  multi: true,
205
208
  },
206
- { provide: NG_VALIDATORS, useValue: PjcValidators.cpf(), multi: true },
207
- ], template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"999.999.999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"999.999.999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n" }]
208
- }], propDecorators: { label: [{
209
- type: Input
210
- }], hint: [{
211
- type: Input
212
- }], placeholder: [{
213
- type: Input
214
- }], id: [{
215
- type: Input
216
- }], labelVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelVariant", required: false }] }] } });
209
+ {
210
+ provide: NG_VALIDATORS,
211
+ useExisting: forwardRef(() => PjcCpfFieldComponent),
212
+ multi: true,
213
+ },
214
+ ], template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"999.999.999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"999.999.999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n" }]
215
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], labelVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelVariant", required: false }] }] } });
217
216
 
218
217
  class PjcCnpjFieldComponent {
219
- label = '';
220
- hint = '';
221
- placeholder = '00.000.000/0000-00';
222
- id = `pjc-cnpj-${Math.random().toString(36).substring(2, 9)}`;
218
+ label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
219
+ hint = input('', ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
220
+ placeholder = input('00.000.000/0000-00', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
221
+ id = input(`pjc-cnpj-${Math.random().toString(36).substring(2, 9)}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
223
222
  labelVariant = input('over', ...(ngDevMode ? [{ debugName: "labelVariant" }] : /* istanbul ignore next */ []));
224
223
  value = '';
225
224
  disabled = false;
226
225
  onChange = () => { };
227
226
  onTouched = () => { };
228
- // ControlValueAccessor
229
227
  writeValue(val) {
230
- this.value = val;
228
+ this.value = val ?? '';
231
229
  }
232
230
  registerOnChange(fn) {
233
231
  this.onChange = fn;
@@ -238,45 +236,45 @@ class PjcCnpjFieldComponent {
238
236
  setDisabledState(isDisabled) {
239
237
  this.disabled = isDisabled;
240
238
  }
241
- onModelChange(event) {
239
+ onModelChange(value) {
240
+ this.value = value ?? '';
242
241
  this.onChange(this.value);
243
242
  }
244
243
  onModelTouched() {
245
244
  this.onTouched();
246
245
  }
247
- // Integração com a validação da Lib
248
246
  validate(control) {
249
247
  return PjcValidators.cnpj()(control);
250
248
  }
251
249
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcCnpjFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcCnpjFieldComponent, isStandalone: true, selector: "pjc-cnpj-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, labelVariant: { classPropertyName: "labelVariant", publicName: "labelVariant", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
250
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcCnpjFieldComponent, isStandalone: true, selector: "pjc-cnpj-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelVariant: { classPropertyName: "labelVariant", publicName: "labelVariant", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
253
251
  {
254
252
  provide: NG_VALUE_ACCESSOR,
255
253
  useExisting: forwardRef(() => PjcCnpjFieldComponent),
256
254
  multi: true,
257
255
  },
258
- { provide: NG_VALIDATORS, useValue: PjcValidators.cnpj(), multi: true },
259
- ], ngImport: i0, template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99.999.999/9999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"99.999.999/9999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }] });
256
+ {
257
+ provide: NG_VALIDATORS,
258
+ useExisting: forwardRef(() => PjcCnpjFieldComponent),
259
+ multi: true,
260
+ },
261
+ ], ngImport: i0, template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"99.999.999/9999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"99.999.999/9999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
260
262
  }
261
263
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcCnpjFieldComponent, decorators: [{
262
264
  type: Component,
263
- args: [{ selector: 'pjc-cnpj-field', imports: [CommonModule, FormsModule, InputMaskModule, FloatLabelModule], providers: [
265
+ args: [{ selector: 'pjc-cnpj-field', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, InputMaskModule, FloatLabelModule], providers: [
264
266
  {
265
267
  provide: NG_VALUE_ACCESSOR,
266
268
  useExisting: forwardRef(() => PjcCnpjFieldComponent),
267
269
  multi: true,
268
270
  },
269
- { provide: NG_VALIDATORS, useValue: PjcValidators.cnpj(), multi: true },
270
- ], template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99.999.999/9999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"99.999.999/9999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n" }]
271
- }], propDecorators: { label: [{
272
- type: Input
273
- }], hint: [{
274
- type: Input
275
- }], placeholder: [{
276
- type: Input
277
- }], id: [{
278
- type: Input
279
- }], labelVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelVariant", required: false }] }] } });
271
+ {
272
+ provide: NG_VALIDATORS,
273
+ useExisting: forwardRef(() => PjcCnpjFieldComponent),
274
+ multi: true,
275
+ },
276
+ ], template: "<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"99.999.999/9999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"99.999.999/9999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n" }]
277
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], labelVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelVariant", required: false }] }] } });
280
278
 
281
279
  class PjcCpfCnpjFieldComponent {
282
280
  label = 'CPF/CNPJ';
@@ -1 +1 @@
1
- {"version":3,"file":"pjc-fields.mjs","sources":["../../../projects/pjc-fields/src/lib/pjc-fields.ts","../../../projects/pjc-fields/src/lib/validators/pjc-validators.ts","../../../projects/pjc-fields/src/lib/components/cpf-field/cpf-field.component.ts","../../../projects/pjc-fields/src/lib/components/cpf-field/cpf-field.component.html","../../../projects/pjc-fields/src/lib/components/cnpj-field/cnpj-field.component.ts","../../../projects/pjc-fields/src/lib/components/cnpj-field/cnpj-field.component.html","../../../projects/pjc-fields/src/lib/components/cpf-cnpj-field/cpf-cnpj-field.component.ts","../../../projects/pjc-fields/src/lib/components/cpf-cnpj-field/cpf-cnpj-field.component.html","../../../projects/pjc-fields/src/lib/components/placa-field/placa-field.component.ts","../../../projects/pjc-fields/src/lib/components/placa-field/placa-field.component.html","../../../projects/pjc-fields/src/lib/components/telefone-field/telefone-field.component.ts","../../../projects/pjc-fields/src/lib/components/telefone-field/telefone-field.component.html","../../../projects/pjc-fields/src/lib/components/data-field/data-field.component.ts","../../../projects/pjc-fields/src/lib/components/data-field/data-field.component.html","../../../projects/pjc-fields/src/lib/components/hora-field/hora-field.component.ts","../../../projects/pjc-fields/src/lib/components/hora-field/hora-field.component.html","../../../projects/pjc-fields/src/lib/components/nome-field/nome-field.component.ts","../../../projects/pjc-fields/src/lib/components/nome-field/nome-field.component.html","../../../projects/pjc-fields/src/lib/components/cep-field/cep-field.component.ts","../../../projects/pjc-fields/src/lib/components/cep-field/cep-field.component.html","../../../projects/pjc-fields/src/public-api.ts","../../../projects/pjc-fields/src/pjc-fields.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-pjc-fields',\n imports: [],\n template: ` <p>pjc-fields works!</p> `,\n styles: ``,\n})\nexport class PjcFields {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport class PjcValidators {\n static cpf(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replace(/\\D/g, '');\n\n if (!value) return null;\n\n if (value.length !== 11 || /^(\\d)\\1+$/.test(value)) {\n return { cpfInvalid: true };\n }\n\n if (!PjcValidators.validateCpfDigits(value)) {\n return { cpfInvalid: true };\n }\n\n return null;\n };\n }\n\n private static validateCpfDigits(cpf: string): boolean {\n const calculateDigit = (slice: string, factor: number) => {\n let total = 0;\n for (const digit of slice) {\n total += parseInt(digit) * factor--;\n }\n const remainder = total % 11;\n return remainder < 2 ? 0 : 11 - remainder;\n };\n\n const digit1 = calculateDigit(cpf.substring(0, 9), 10);\n const digit2 = calculateDigit(cpf.substring(0, 10), 11);\n\n return digit1 === parseInt(cpf[9]) && digit2 === parseInt(cpf[10]);\n }\n\n /**\n * Valida o algoritmo do CNPJ (Módulo 11)\n */\n static cnpj(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replace(/\\D/g, '');\n\n if (!value) return null;\n\n // CNPJ deve ter 14 dígitos e não pode ser sequência repetida\n if (value.length !== 14 || /^(\\d)\\1+$/.test(value)) {\n return { cnpjInvalid: true };\n }\n\n if (!PjcValidators.validateCnpjDigits(value)) {\n return { cnpjInvalid: true };\n }\n\n return null;\n };\n }\n\n private static validateCnpjDigits(cnpj: string): boolean {\n const calculateDigit = (slice: string, weights: number[]) => {\n let total = 0;\n for (let i = 0; i < slice.length; i++) {\n total += parseInt(slice[i]) * weights[i];\n }\n const remainder = total % 11;\n return remainder < 2 ? 0 : 11 - remainder;\n };\n\n const weights1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n const weights2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n\n const digit1 = calculateDigit(cnpj.substring(0, 12), weights1);\n const digit2 = calculateDigit(cnpj.substring(0, 13), weights2);\n\n return digit1 === parseInt(cnpj[12]) && digit2 === parseInt(cnpj[13]);\n }\n\n static cpfCnpj(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replace(/\\D/g, '');\n if (!value) return null;\n\n if (value.length <= 11) {\n return PjcValidators.cpf()(control);\n } else {\n return PjcValidators.cnpj()(control);\n }\n };\n }\n\n static telefone(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const digits = control.value?.replace(/\\D/g, '');\n if (!digits) return null;\n\n // Fixo: DDD (2) + 8 dígitos = 10 | Celular: DDD (2) + 9 dígitos = 11\n if (digits.length !== 10 && digits.length !== 11) {\n return { telefoneInvalid: true };\n }\n\n // Celular deve começar com 9 após o DDD\n if (digits.length === 11 && digits[2] !== '9') {\n return { telefoneInvalid: true };\n }\n\n return null;\n };\n }\n\n static hora(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n if (!value) return null;\n\n const match = value.match(/^(\\d{2}):(\\d{2})$/);\n if (!match) return { horaInvalid: true };\n\n const hours = parseInt(match[1], 10);\n const minutes = parseInt(match[2], 10);\n\n if (hours > 23 || minutes > 59) {\n return { horaInvalid: true };\n }\n\n return null;\n };\n }\n\n static cep(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replaceAll(/\\D/g, '');\n if (!value) return null;\n return value.length === 8 ? null : { cepInvalid: true };\n };\n }\n\n static placaVeiculo(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.toUpperCase().replace('-', '');\n if (!value) return null;\n\n // Regex para Padrão Antigo (AAA9999) e Mercosul (AAA9A99)\n const plateRegex = /^[A-Z]{3}[0-9][A-Z0-9][0-9]{2}$/;\n\n return plateRegex.test(value) ? null : { plateInvalid: true };\n };\n }\n}\n","import { Component, forwardRef, input, Input, OnInit } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n FormsModule,\n NG_VALIDATORS,\n Validator,\n FormControl,\n} from '@angular/forms';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { CommonModule } from '@angular/common';\nimport { PjcValidators } from '../../validators/pjc-validators';\n@Component({\n selector: 'pjc-cpf-field',\n templateUrl: 'cpf-field.component.html',\n imports: [CommonModule, FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCpfFieldComponent),\n multi: true,\n },\n { provide: NG_VALIDATORS, useValue: PjcValidators.cpf(), multi: true },\n ],\n})\nexport class PjcCpfFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = '';\n @Input() hint: string = '';\n @Input() placeholder: string = '000.000.000-00';\n @Input() id: string = `pjc-cpf-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n disabled: boolean = false;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n // --- ControlValueAccessor ---\n writeValue(val: any): void {\n this.value = val;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(): void {\n this.onChange(this.value);\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n // --- Validator ---\n validate(control: FormControl) {\n return PjcValidators.cpf()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"999.999.999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"999.999.999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n","import { Component, input, Input, forwardRef } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NG_VALIDATORS,\n FormControl,\n Validator,\n FormsModule,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-cnpj-field',\n templateUrl: 'cnpj-field.component.html',\n imports: [CommonModule, FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCnpjFieldComponent),\n multi: true,\n },\n { provide: NG_VALIDATORS, useValue: PjcValidators.cnpj(), multi: true },\n ],\n})\nexport class PjcCnpjFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = '';\n @Input() hint: string = '';\n @Input() placeholder: string = '00.000.000/0000-00';\n @Input() id: string = `pjc-cnpj-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n disabled: boolean = false;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n // ControlValueAccessor\n writeValue(val: any): void {\n this.value = val;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(event: any): void {\n this.onChange(this.value);\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n // Integração com a validação da Lib\n validate(control: FormControl) {\n return PjcValidators.cnpj()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99.999.999/9999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"99.999.999/9999-99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n","import { Component, forwardRef, input, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { CommonModule } from '@angular/common';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'pjc-cpf-cnpj-field',\n templateUrl: 'cpf-cnpj-field.component.html',\n imports: [CommonModule, FormsModule, FloatLabelModule, InputTextModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCpfCnpjFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcCpfCnpjFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcCpfCnpjFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = 'CPF/CNPJ';\n @Input() id: string = `pjc-cpf-cnpj-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n displayValue: string = '';\n placeholder: string = '000.000.000-00';\n disabled: boolean = false;\n\n private rawValue: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.rawValue = val?.replaceAll(/\\D/g, '') ?? '';\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n const cursorPos = input.selectionStart ?? 0;\n const prevLength = this.displayValue.length;\n\n this.rawValue = input.value.replaceAll(/\\D/g, '').substring(0, 14);\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n this.onChange(this.rawValue);\n\n const newLength = this.displayValue.length;\n const newCursor = cursorPos + (newLength - prevLength);\n setTimeout(() => input.setSelectionRange(newCursor, newCursor));\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n private formatValue(digits: string): string {\n if (!digits) return '';\n\n if (digits.length <= 11) {\n return digits\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3}\\.\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3}\\.\\d{3}\\.\\d{3})(\\d{1,2})/, '$1-$2');\n }\n\n return digits\n .replace(/(\\d{2})(\\d)/, '$1.$2')\n .replace(/(\\d{2}\\.\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{2}\\.\\d{3}\\.\\d{3})(\\d)/, '$1/$2')\n .replace(/(\\d{2}\\.\\d{3}\\.\\d{3}\\/\\d{4})(\\d{1,2})/, '$1-$2');\n }\n\n private updatePlaceholder(): void {\n if (this.rawValue.length > 11) {\n this.placeholder = '00.000.000/0000-00';\n } else {\n this.placeholder = '000.000.000-00';\n }\n }\n\n validate(control: FormControl) {\n return PjcValidators.cpfCnpj()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"18\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"18\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n }\n</div>\n","import { Component, forwardRef, input, Input, OnInit } from '@angular/core';\nimport {\n ControlValueAccessor,\n Validator,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { CommonModule } from '@angular/common';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-placa-field',\n templateUrl: 'placa-field.component.html',\n imports: [CommonModule, FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcPlacaFieldComponent),\n multi: true,\n },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => PjcPlacaFieldComponent), multi: true },\n ],\n})\nexport class PjcPlacaFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = 'Placa do Veículo';\n @Input() placeholder: string = 'ABC-1234';\n @Input() id: string = `pjc-placa-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.value = val?.toUpperCase() || '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onModelChange(): void {\n // Força o valor para uppercase antes de enviar para o formulário\n this.value = this.value.toUpperCase();\n this.onChange(this.value);\n }\n\n validate(control: FormControl) {\n return PjcValidators.placaVeiculo()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"aaa-9*99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent uppercase\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"aaa-9*99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent uppercase\"\n ></p-inputMask>\n }\n</div>\n","import { Component, forwardRef, input, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { CommonModule } from '@angular/common';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'pjc-telefone-field',\n templateUrl: 'telefone-field.component.html',\n imports: [CommonModule, FormsModule, FloatLabelModule, InputTextModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcTelefoneFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcTelefoneFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcTelefoneFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = 'Telefone';\n @Input() id: string = `pjc-telefone-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n displayValue: string = '';\n placeholder: string = '(00) 0000-0000';\n disabled: boolean = false;\n\n private rawValue: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.rawValue = val?.replaceAll(/\\D/g, '') ?? '';\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n const cursorPos = input.selectionStart ?? 0;\n const prevLength = this.displayValue.length;\n\n this.rawValue = input.value.replaceAll(/\\D/g, '').substring(0, 11);\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n this.onChange(this.rawValue);\n\n const newLength = this.displayValue.length;\n const newCursor = cursorPos + (newLength - prevLength);\n setTimeout(() => input.setSelectionRange(newCursor, newCursor));\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n private formatValue(digits: string): string {\n if (!digits) return '';\n\n if (digits.length <= 10) {\n // Fixo: (99) 9999-9999\n return digits\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\(\\d{2}\\) \\d{4})(\\d)/, '$1-$2');\n }\n\n // Celular: (99) 99999-9999\n return digits\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\(\\d{2}\\) \\d{5})(\\d)/, '$1-$2');\n }\n\n private updatePlaceholder(): void {\n if (this.rawValue.length > 10) {\n this.placeholder = '(00) 90000-0000';\n } else {\n this.placeholder = '(00) 0000-0000';\n }\n }\n\n validate(control: FormControl) {\n return PjcValidators.telefone()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"15\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"15\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n }\n</div>\n","import { AfterViewInit, Component, ElementRef, forwardRef, inject, input, Input, OnDestroy } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-data-field',\n templateUrl: 'data-field.component.html',\n imports: [CommonModule, FormsModule, DatePickerModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcDataFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcDataFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcDataFieldComponent implements ControlValueAccessor, Validator, AfterViewInit, OnDestroy {\n @Input() label: string = 'Data';\n @Input() id: string = `pjc-data-${Math.random().toString(36).substring(2, 9)}`;\n @Input() minDate?: Date;\n @Input() maxDate?: Date;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: Date | null = null;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n private el = inject(ElementRef);\n private isFormatting = false;\n\n ngAfterViewInit(): void {\n const input = this.el.nativeElement.querySelector('input');\n if (input) {\n input.addEventListener('input', this.handleDateInput);\n }\n }\n\n ngOnDestroy(): void {\n const input = this.el.nativeElement.querySelector('input');\n if (input) {\n input.removeEventListener('input', this.handleDateInput);\n }\n }\n\n private handleDateInput = (event: Event): void => {\n if (this.isFormatting) return;\n const input = event.target as HTMLInputElement;\n const raw = input.value;\n const cursor = input.selectionStart ?? raw.length;\n\n const digits = raw.replace(/\\D/g, '').substring(0, 8);\n let formatted = digits;\n if (digits.length > 2) {\n formatted = `${digits.substring(0, 2)}/${digits.substring(2)}`;\n }\n if (digits.length > 4) {\n formatted = `${digits.substring(0, 2)}/${digits.substring(2, 4)}/${digits.substring(4)}`;\n }\n\n if (raw === formatted) return;\n\n const digitsBeforeCursor = raw.substring(0, cursor).replace(/\\D/g, '').length;\n\n this.isFormatting = true;\n input.value = formatted;\n this.isFormatting = false;\n\n // Restore cursor at the position after the same digit count\n let newCursor = 0;\n let digitCount = 0;\n for (let i = 0; i < formatted.length; i++) {\n if (/\\d/.test(formatted[i])) digitCount++;\n if (digitCount === digitsBeforeCursor) {\n newCursor = i + 1;\n break;\n }\n }\n input.setSelectionRange(newCursor, newCursor);\n };\n\n writeValue(val: Date | null): void {\n this.value = val ?? null;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(date: Date | null): void {\n this.onChange(date);\n }\n\n validate(_control: FormControl): ValidationErrors | null {\n const value = this.value;\n if (!value) return null;\n\n if (this.minDate && value < this.minDate) {\n return { dataMinima: { min: this.minDate, atual: value } };\n }\n\n if (this.maxDate && value > this.maxDate) {\n return { dataMaxima: { max: this.maxDate, atual: value } };\n }\n\n return null;\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-datePicker\n [inputId]=\"id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (onBlur)=\"onTouched()\"\n dateFormat=\"dd/mm/yy\"\n [showIcon]=\"true\"\n [showClear]=\"true\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n styleClass=\"w-full\"\n inputStyleClass=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500\"\n ></p-datePicker>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-datePicker\n [inputId]=\"id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (onBlur)=\"onTouched()\"\n dateFormat=\"dd/mm/yy\"\n [showIcon]=\"true\"\n [showClear]=\"true\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n styleClass=\"w-full\"\n inputStyleClass=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500\"\n ></p-datePicker>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-hora-field',\n templateUrl: 'hora-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcHoraFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcHoraFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcHoraFieldComponent implements ControlValueAccessor, Validator {\n readonly label = input<string>('Hora');\n readonly id = input<string>(`pjc-hora-${Math.random().toString(36).substring(2, 9)}`);\n readonly labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.value = val ?? '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onInput(): void {\n this.onChange(this.value);\n }\n\n validate(control: FormControl) {\n return PjcValidators.hora()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"99:99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onInput()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n placeholder=\"HH:MM\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"99:99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onInput()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n placeholder=\"HH:MM\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n</div>\n","import { Component, forwardRef, input, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-nome-field',\n templateUrl: 'nome-field.component.html',\n imports: [CommonModule, FormsModule, InputTextModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcNomeFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcNomeFieldComponent implements ControlValueAccessor {\n @Input() label: string = 'Nome';\n @Input() placeholder: string = 'Digite o nome';\n @Input() id: string = `pjc-nome-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.value = val?.toUpperCase() ?? '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onInput(event: Event): void {\n const upper = (event.target as HTMLInputElement).value.toUpperCase();\n this.value = upper;\n this.onChange(upper);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <input\n pInputText\n [id]=\"id\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\"\n [placeholder]=\"placeholder\"\n class=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500 uppercase\"\n />\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n [id]=\"id\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\"\n [placeholder]=\"placeholder\"\n class=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500 uppercase\"\n />\n }\n</div>\n","import { Component, forwardRef, input, Input, output } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n FormsModule,\n NG_VALIDATORS,\n Validator,\n FormControl,\n} from '@angular/forms';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { ButtonModule } from 'primeng/button';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { CommonModule } from '@angular/common';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-cep-field',\n templateUrl: 'cep-field.component.html',\n imports: [CommonModule, FormsModule, InputMaskModule, InputGroupModule, InputGroupAddonModule, ButtonModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCepFieldComponent),\n multi: true,\n },\n { provide: NG_VALIDATORS, useValue: PjcValidators.cep(), multi: true },\n ],\n})\nexport class PjcCepFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = '';\n @Input() hint: string = '';\n @Input() placeholder: string = '00000-000';\n @Input() id: string = `pjc-cep-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n busca = output<string>();\n\n value: string = '';\n disabled: boolean = false;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n // --- ControlValueAccessor ---\n writeValue(val: any): void {\n this.value = val ?? '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(): void {\n this.onChange(this.value);\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n onComplete(): void {\n this.busca.emit(this.value);\n }\n\n onSearch(): void {\n if (this.value?.length === 8) {\n this.busca.emit(this.value);\n }\n }\n\n // --- Validator ---\n validate(control: FormControl) {\n return PjcValidators.cep()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputgroup [class.opacity-60]=\"disabled\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99999-999\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n (onComplete)=\"onComplete()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n inputStyleClass=\"w-full outline-none bg-transparent\"\n ></p-inputMask>\n\n <p-inputgroup-addon>\n <button\n type=\"button\"\n (click)=\"onSearch()\"\n [disabled]=\"disabled\"\n class=\"cursor-pointer bg-transparent border-none text-surface-500 hover:text-surface-700 disabled:text-surface-300 disabled:cursor-not-allowed transition-colors\"\n aria-label=\"Buscar CEP\"\n >\n <i class=\"pi pi-search\"></i>\n </button>\n </p-inputgroup-addon>\n </p-inputgroup>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputgroup [class.opacity-60]=\"disabled\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99999-999\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n (onComplete)=\"onComplete()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n inputStyleClass=\"w-full outline-none bg-transparent\"\n ></p-inputMask>\n\n <p-inputgroup-addon>\n <button\n type=\"button\"\n (click)=\"onSearch()\"\n [disabled]=\"disabled\"\n class=\"cursor-pointer bg-transparent border-none text-surface-500 hover:text-surface-700 disabled:text-surface-300 disabled:cursor-not-allowed transition-colors\"\n aria-label=\"Buscar CEP\"\n >\n <i class=\"pi pi-search\"></i>\n </button>\n </p-inputgroup-addon>\n </p-inputgroup>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n","/*\n * Public API Surface of pjc-fields\n */\n\nexport * from './lib/pjc-fields';\nexport * from './lib/components/cpf-field/cpf-field.component';\nexport * from './lib/components/cnpj-field/cnpj-field.component';\nexport * from './lib/components/cpf-cnpj-field/cpf-cnpj-field.component';\nexport * from './lib/components/placa-field/placa-field.component';\nexport * from './lib/components/telefone-field/telefone-field.component';\nexport * from './lib/components/data-field/data-field.component';\nexport * from './lib/components/hora-field/hora-field.component';\nexport * from './lib/components/nome-field/nome-field.component';\nexport * from './lib/components/cep-field/cep-field.component';\nexport * from './lib/validators/pjc-validators';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i5"],"mappings":"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"}
1
+ {"version":3,"file":"pjc-fields.mjs","sources":["../../../projects/pjc-fields/src/lib/pjc-fields.ts","../../../projects/pjc-fields/src/lib/validators/pjc-validators.ts","../../../projects/pjc-fields/src/lib/components/cpf-field/cpf-field.component.ts","../../../projects/pjc-fields/src/lib/components/cpf-field/cpf-field.component.html","../../../projects/pjc-fields/src/lib/components/cnpj-field/cnpj-field.component.ts","../../../projects/pjc-fields/src/lib/components/cnpj-field/cnpj-field.component.html","../../../projects/pjc-fields/src/lib/components/cpf-cnpj-field/cpf-cnpj-field.component.ts","../../../projects/pjc-fields/src/lib/components/cpf-cnpj-field/cpf-cnpj-field.component.html","../../../projects/pjc-fields/src/lib/components/placa-field/placa-field.component.ts","../../../projects/pjc-fields/src/lib/components/placa-field/placa-field.component.html","../../../projects/pjc-fields/src/lib/components/telefone-field/telefone-field.component.ts","../../../projects/pjc-fields/src/lib/components/telefone-field/telefone-field.component.html","../../../projects/pjc-fields/src/lib/components/data-field/data-field.component.ts","../../../projects/pjc-fields/src/lib/components/data-field/data-field.component.html","../../../projects/pjc-fields/src/lib/components/hora-field/hora-field.component.ts","../../../projects/pjc-fields/src/lib/components/hora-field/hora-field.component.html","../../../projects/pjc-fields/src/lib/components/nome-field/nome-field.component.ts","../../../projects/pjc-fields/src/lib/components/nome-field/nome-field.component.html","../../../projects/pjc-fields/src/lib/components/cep-field/cep-field.component.ts","../../../projects/pjc-fields/src/lib/components/cep-field/cep-field.component.html","../../../projects/pjc-fields/src/public-api.ts","../../../projects/pjc-fields/src/pjc-fields.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-pjc-fields',\n imports: [],\n template: ` <p>pjc-fields works!</p> `,\n styles: ``,\n})\nexport class PjcFields {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport class PjcValidators {\n static cpf(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replace(/\\D/g, '');\n\n if (!value) return null;\n\n if (value.length !== 11 || /^(\\d)\\1+$/.test(value)) {\n return { cpfInvalido: true };\n }\n\n if (!PjcValidators.validateCpfDigits(value)) {\n return { cpfInvalido: true };\n }\n\n return null;\n };\n }\n\n private static validateCpfDigits(cpf: string): boolean {\n const calculateDigit = (slice: string, factor: number) => {\n let total = 0;\n for (const digit of slice) {\n total += parseInt(digit) * factor--;\n }\n const remainder = total % 11;\n return remainder < 2 ? 0 : 11 - remainder;\n };\n\n const digit1 = calculateDigit(cpf.substring(0, 9), 10);\n const digit2 = calculateDigit(cpf.substring(0, 10), 11);\n\n return digit1 === parseInt(cpf[9]) && digit2 === parseInt(cpf[10]);\n }\n\n /**\n * Valida o algoritmo do CNPJ (Módulo 11)\n */\n static cnpj(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replace(/\\D/g, '');\n\n if (!value) return null;\n\n // CNPJ deve ter 14 dígitos e não pode ser sequência repetida\n if (value.length !== 14 || /^(\\d)\\1+$/.test(value)) {\n return { cnpjInvalido: true };\n }\n\n if (!PjcValidators.validateCnpjDigits(value)) {\n return { cnpjInvalido: true };\n }\n\n return null;\n };\n }\n\n private static validateCnpjDigits(cnpj: string): boolean {\n const calculateDigit = (slice: string, weights: number[]) => {\n let total = 0;\n for (let i = 0; i < slice.length; i++) {\n total += parseInt(slice[i]) * weights[i];\n }\n const remainder = total % 11;\n return remainder < 2 ? 0 : 11 - remainder;\n };\n\n const weights1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n const weights2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n\n const digit1 = calculateDigit(cnpj.substring(0, 12), weights1);\n const digit2 = calculateDigit(cnpj.substring(0, 13), weights2);\n\n return digit1 === parseInt(cnpj[12]) && digit2 === parseInt(cnpj[13]);\n }\n\n static cpfCnpj(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replace(/\\D/g, '');\n if (!value) return null;\n\n if (value.length <= 11) {\n return PjcValidators.cpf()(control);\n } else {\n return PjcValidators.cnpj()(control);\n }\n };\n }\n\n static telefone(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const digits = control.value?.replace(/\\D/g, '');\n if (!digits) return null;\n\n // Fixo: DDD (2) + 8 dígitos = 10 | Celular: DDD (2) + 9 dígitos = 11\n if (digits.length !== 10 && digits.length !== 11) {\n return { telefoneInvalido: true };\n }\n\n // Celular deve começar com 9 após o DDD\n if (digits.length === 11 && digits[2] !== '9') {\n return { telefoneInvalido: true };\n }\n\n return null;\n };\n }\n\n static hora(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n if (!value) return null;\n\n const match = value.match(/^(\\d{2}):(\\d{2})$/);\n if (!match) return { horaInvalida: true };\n\n const hours = parseInt(match[1], 10);\n const minutes = parseInt(match[2], 10);\n\n if (hours > 23 || minutes > 59) {\n return { horaInvalida: true };\n }\n\n return null;\n };\n }\n\n static cep(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.replaceAll(/\\D/g, '');\n if (!value) return null;\n return value.length === 8 ? null : { cepInvalid: true };\n };\n }\n\n static placaVeiculo(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value?.toUpperCase().replace('-', '');\n if (!value) return null;\n\n // Regex para Padrão Antigo (AAA9999) e Mercosul (AAA9A99)\n const plateRegex = /^[A-Z]{3}[0-9][A-Z0-9][0-9]{2}$/;\n\n return plateRegex.test(value) ? null : { placaInvalida: true };\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, input } from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-cpf-field',\n templateUrl: 'cpf-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCpfFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcCpfFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcCpfFieldComponent implements ControlValueAccessor, Validator {\n label = input<string>('');\n hint = input<string>('');\n placeholder = input<string>('000.000.000-00');\n id = input<string>(`pjc-cpf-${Math.random().toString(36).substring(2, 9)}`);\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value = '';\n disabled = false;\n\n onChange: (value: string) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(val: string | null): void {\n this.value = val ?? '';\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(value: string): void {\n this.value = value ?? '';\n this.onChange(this.value);\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n return PjcValidators.cpf()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"999.999.999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"999.999.999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, forwardRef, input } from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-cnpj-field',\n templateUrl: 'cnpj-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCnpjFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcCnpjFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcCnpjFieldComponent implements ControlValueAccessor, Validator {\n label = input<string>('');\n hint = input<string>('');\n placeholder = input<string>('00.000.000/0000-00');\n id = input<string>(`pjc-cnpj-${Math.random().toString(36).substring(2, 9)}`);\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value = '';\n disabled = false;\n\n onChange: (value: string) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(val: string | null): void {\n this.value = val ?? '';\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(value: string): void {\n this.value = value ?? '';\n this.onChange(this.value);\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n return PjcValidators.cnpj()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"99.999.999/9999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"99.999.999/9999-99\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n","import { Component, forwardRef, input, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { CommonModule } from '@angular/common';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'pjc-cpf-cnpj-field',\n templateUrl: 'cpf-cnpj-field.component.html',\n imports: [CommonModule, FormsModule, FloatLabelModule, InputTextModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCpfCnpjFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcCpfCnpjFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcCpfCnpjFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = 'CPF/CNPJ';\n @Input() id: string = `pjc-cpf-cnpj-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n displayValue: string = '';\n placeholder: string = '000.000.000-00';\n disabled: boolean = false;\n\n private rawValue: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.rawValue = val?.replaceAll(/\\D/g, '') ?? '';\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n const cursorPos = input.selectionStart ?? 0;\n const prevLength = this.displayValue.length;\n\n this.rawValue = input.value.replaceAll(/\\D/g, '').substring(0, 14);\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n this.onChange(this.rawValue);\n\n const newLength = this.displayValue.length;\n const newCursor = cursorPos + (newLength - prevLength);\n setTimeout(() => input.setSelectionRange(newCursor, newCursor));\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n private formatValue(digits: string): string {\n if (!digits) return '';\n\n if (digits.length <= 11) {\n return digits\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3}\\.\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3}\\.\\d{3}\\.\\d{3})(\\d{1,2})/, '$1-$2');\n }\n\n return digits\n .replace(/(\\d{2})(\\d)/, '$1.$2')\n .replace(/(\\d{2}\\.\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{2}\\.\\d{3}\\.\\d{3})(\\d)/, '$1/$2')\n .replace(/(\\d{2}\\.\\d{3}\\.\\d{3}\\/\\d{4})(\\d{1,2})/, '$1-$2');\n }\n\n private updatePlaceholder(): void {\n if (this.rawValue.length > 11) {\n this.placeholder = '00.000.000/0000-00';\n } else {\n this.placeholder = '000.000.000-00';\n }\n }\n\n validate(control: FormControl) {\n return PjcValidators.cpfCnpj()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"18\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"18\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n }\n</div>\n","import { Component, forwardRef, input, Input, OnInit } from '@angular/core';\nimport {\n ControlValueAccessor,\n Validator,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { CommonModule } from '@angular/common';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-placa-field',\n templateUrl: 'placa-field.component.html',\n imports: [CommonModule, FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcPlacaFieldComponent),\n multi: true,\n },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => PjcPlacaFieldComponent), multi: true },\n ],\n})\nexport class PjcPlacaFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = 'Placa do Veículo';\n @Input() placeholder: string = 'ABC-1234';\n @Input() id: string = `pjc-placa-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.value = val?.toUpperCase() || '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onModelChange(): void {\n // Força o valor para uppercase antes de enviar para o formulário\n this.value = this.value.toUpperCase();\n this.onChange(this.value);\n }\n\n validate(control: FormControl) {\n return PjcValidators.placaVeiculo()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id\"\n mask=\"aaa-9*99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent uppercase\"\n ></p-inputMask>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id\"\n mask=\"aaa-9*99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent uppercase\"\n ></p-inputMask>\n }\n</div>\n","import { Component, forwardRef, input, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { CommonModule } from '@angular/common';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'pjc-telefone-field',\n templateUrl: 'telefone-field.component.html',\n imports: [CommonModule, FormsModule, FloatLabelModule, InputTextModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcTelefoneFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcTelefoneFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcTelefoneFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = 'Telefone';\n @Input() id: string = `pjc-telefone-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n displayValue: string = '';\n placeholder: string = '(00) 0000-0000';\n disabled: boolean = false;\n\n private rawValue: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.rawValue = val?.replaceAll(/\\D/g, '') ?? '';\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n const cursorPos = input.selectionStart ?? 0;\n const prevLength = this.displayValue.length;\n\n this.rawValue = input.value.replaceAll(/\\D/g, '').substring(0, 11);\n this.displayValue = this.formatValue(this.rawValue);\n this.updatePlaceholder();\n this.onChange(this.rawValue);\n\n const newLength = this.displayValue.length;\n const newCursor = cursorPos + (newLength - prevLength);\n setTimeout(() => input.setSelectionRange(newCursor, newCursor));\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n private formatValue(digits: string): string {\n if (!digits) return '';\n\n if (digits.length <= 10) {\n // Fixo: (99) 9999-9999\n return digits\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\(\\d{2}\\) \\d{4})(\\d)/, '$1-$2');\n }\n\n // Celular: (99) 99999-9999\n return digits\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\(\\d{2}\\) \\d{5})(\\d)/, '$1-$2');\n }\n\n private updatePlaceholder(): void {\n if (this.rawValue.length > 10) {\n this.placeholder = '(00) 90000-0000';\n } else {\n this.placeholder = '(00) 0000-0000';\n }\n }\n\n validate(control: FormControl) {\n return PjcValidators.telefone()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"15\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n [id]=\"id\"\n [value]=\"displayValue\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onModelTouched()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n maxlength=\"15\"\n class=\"w-full p-2 outline-none bg-transparent border border-surface-300 rounded-md focus:border-primary-500\"\n />\n }\n</div>\n","import { AfterViewInit, Component, ElementRef, forwardRef, inject, input, Input, OnDestroy } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-data-field',\n templateUrl: 'data-field.component.html',\n imports: [CommonModule, FormsModule, DatePickerModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcDataFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcDataFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcDataFieldComponent implements ControlValueAccessor, Validator, AfterViewInit, OnDestroy {\n @Input() label: string = 'Data';\n @Input() id: string = `pjc-data-${Math.random().toString(36).substring(2, 9)}`;\n @Input() minDate?: Date;\n @Input() maxDate?: Date;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: Date | null = null;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n private el = inject(ElementRef);\n private isFormatting = false;\n\n ngAfterViewInit(): void {\n const input = this.el.nativeElement.querySelector('input');\n if (input) {\n input.addEventListener('input', this.handleDateInput);\n }\n }\n\n ngOnDestroy(): void {\n const input = this.el.nativeElement.querySelector('input');\n if (input) {\n input.removeEventListener('input', this.handleDateInput);\n }\n }\n\n private handleDateInput = (event: Event): void => {\n if (this.isFormatting) return;\n const input = event.target as HTMLInputElement;\n const raw = input.value;\n const cursor = input.selectionStart ?? raw.length;\n\n const digits = raw.replace(/\\D/g, '').substring(0, 8);\n let formatted = digits;\n if (digits.length > 2) {\n formatted = `${digits.substring(0, 2)}/${digits.substring(2)}`;\n }\n if (digits.length > 4) {\n formatted = `${digits.substring(0, 2)}/${digits.substring(2, 4)}/${digits.substring(4)}`;\n }\n\n if (raw === formatted) return;\n\n const digitsBeforeCursor = raw.substring(0, cursor).replace(/\\D/g, '').length;\n\n this.isFormatting = true;\n input.value = formatted;\n this.isFormatting = false;\n\n // Restore cursor at the position after the same digit count\n let newCursor = 0;\n let digitCount = 0;\n for (let i = 0; i < formatted.length; i++) {\n if (/\\d/.test(formatted[i])) digitCount++;\n if (digitCount === digitsBeforeCursor) {\n newCursor = i + 1;\n break;\n }\n }\n input.setSelectionRange(newCursor, newCursor);\n };\n\n writeValue(val: Date | null): void {\n this.value = val ?? null;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(date: Date | null): void {\n this.onChange(date);\n }\n\n validate(_control: FormControl): ValidationErrors | null {\n const value = this.value;\n if (!value) return null;\n\n if (this.minDate && value < this.minDate) {\n return { dataMinima: { min: this.minDate, atual: value } };\n }\n\n if (this.maxDate && value > this.maxDate) {\n return { dataMaxima: { max: this.maxDate, atual: value } };\n }\n\n return null;\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-datePicker\n [inputId]=\"id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (onBlur)=\"onTouched()\"\n dateFormat=\"dd/mm/yy\"\n [showIcon]=\"true\"\n [showClear]=\"true\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n styleClass=\"w-full\"\n inputStyleClass=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500\"\n ></p-datePicker>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-datePicker\n [inputId]=\"id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (onBlur)=\"onTouched()\"\n dateFormat=\"dd/mm/yy\"\n [showIcon]=\"true\"\n [showClear]=\"true\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n styleClass=\"w-full\"\n inputStyleClass=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500\"\n ></p-datePicker>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport { PjcValidators } from '../../validators/pjc-validators';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-hora-field',\n templateUrl: 'hora-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, InputMaskModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcHoraFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcHoraFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcHoraFieldComponent implements ControlValueAccessor, Validator {\n readonly label = input<string>('Hora');\n readonly id = input<string>(`pjc-hora-${Math.random().toString(36).substring(2, 9)}`);\n readonly labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.value = val ?? '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onInput(): void {\n this.onChange(this.value);\n }\n\n validate(control: FormControl) {\n return PjcValidators.hora()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label()) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputMask\n [id]=\"id()\"\n mask=\"99:99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onInput()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n placeholder=\"HH:MM\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-inputMask\n [id]=\"id()\"\n mask=\"99:99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onInput()\"\n (onBlur)=\"onTouched()\"\n [unmask]=\"false\"\n [autoClear]=\"false\"\n placeholder=\"HH:MM\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500\"\n inputStyleClass=\"w-full p-2 outline-none bg-transparent\"\n ></p-inputMask>\n }\n</div>\n","import { Component, forwardRef, input, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\n@Component({\n selector: 'pjc-nome-field',\n templateUrl: 'nome-field.component.html',\n imports: [CommonModule, FormsModule, InputTextModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcNomeFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcNomeFieldComponent implements ControlValueAccessor {\n @Input() label: string = 'Nome';\n @Input() placeholder: string = 'Digite o nome';\n @Input() id: string = `pjc-nome-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n value: string = '';\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(val: any): void {\n this.value = val?.toUpperCase() ?? '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onInput(event: Event): void {\n const upper = (event.target as HTMLInputElement).value.toUpperCase();\n this.value = upper;\n this.onChange(upper);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <input\n pInputText\n [id]=\"id\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\"\n [placeholder]=\"placeholder\"\n class=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500 uppercase\"\n />\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n [id]=\"id\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\"\n [placeholder]=\"placeholder\"\n class=\"w-full p-2 border border-surface-300 rounded-md outline-none bg-transparent focus:border-primary-500 uppercase\"\n />\n }\n</div>\n","import { Component, forwardRef, input, Input, output } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n FormsModule,\n NG_VALIDATORS,\n Validator,\n FormControl,\n} from '@angular/forms';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { ButtonModule } from 'primeng/button';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { CommonModule } from '@angular/common';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-cep-field',\n templateUrl: 'cep-field.component.html',\n imports: [CommonModule, FormsModule, InputMaskModule, InputGroupModule, InputGroupAddonModule, ButtonModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcCepFieldComponent),\n multi: true,\n },\n { provide: NG_VALIDATORS, useValue: PjcValidators.cep(), multi: true },\n ],\n})\nexport class PjcCepFieldComponent implements ControlValueAccessor, Validator {\n @Input() label: string = '';\n @Input() hint: string = '';\n @Input() placeholder: string = '00000-000';\n @Input() id: string = `pjc-cep-${Math.random().toString(36).substring(2, 9)}`;\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n busca = output<string>();\n\n value: string = '';\n disabled: boolean = false;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n // --- ControlValueAccessor ---\n writeValue(val: any): void {\n this.value = val ?? '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(): void {\n this.onChange(this.value);\n }\n\n onModelTouched(): void {\n this.onTouched();\n }\n\n onComplete(): void {\n this.busca.emit(this.value);\n }\n\n onSearch(): void {\n if (this.value?.length === 8) {\n this.busca.emit(this.value);\n }\n }\n\n // --- Validator ---\n validate(control: FormControl) {\n return PjcValidators.cep()(control);\n }\n}\n","<div class=\"flex flex-col gap-1 w-full\">\n @if (label) {\n <p-floatlabel [variant]=\"labelVariant()\" class=\"w-full\">\n <p-inputgroup [class.opacity-60]=\"disabled\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99999-999\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n (onComplete)=\"onComplete()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n inputStyleClass=\"w-full outline-none bg-transparent\"\n ></p-inputMask>\n\n <p-inputgroup-addon>\n <button\n type=\"button\"\n (click)=\"onSearch()\"\n [disabled]=\"disabled\"\n class=\"cursor-pointer bg-transparent border-none text-surface-500 hover:text-surface-700 disabled:text-surface-300 disabled:cursor-not-allowed transition-colors\"\n aria-label=\"Buscar CEP\"\n >\n <i class=\"pi pi-search\"></i>\n </button>\n </p-inputgroup-addon>\n </p-inputgroup>\n <label [for]=\"id\">{{ label }}</label>\n </p-floatlabel>\n } @else {\n <p-inputgroup [class.opacity-60]=\"disabled\">\n <p-inputMask\n [id]=\"id\"\n mask=\"99999-999\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange()\"\n (onBlur)=\"onModelTouched()\"\n (onComplete)=\"onComplete()\"\n [unmask]=\"true\"\n [autoClear]=\"false\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n inputStyleClass=\"w-full outline-none bg-transparent\"\n ></p-inputMask>\n\n <p-inputgroup-addon>\n <button\n type=\"button\"\n (click)=\"onSearch()\"\n [disabled]=\"disabled\"\n class=\"cursor-pointer bg-transparent border-none text-surface-500 hover:text-surface-700 disabled:text-surface-300 disabled:cursor-not-allowed transition-colors\"\n aria-label=\"Buscar CEP\"\n >\n <i class=\"pi pi-search\"></i>\n </button>\n </p-inputgroup-addon>\n </p-inputgroup>\n }\n\n @if (hint) {\n <small class=\"text-xs text-surface-500\">{{ hint }}</small>\n }\n</div>\n","/*\n * Public API Surface of pjc-fields\n */\n\nexport * from './lib/pjc-fields';\nexport * from './lib/components/cpf-field/cpf-field.component';\nexport * from './lib/components/cnpj-field/cnpj-field.component';\nexport * from './lib/components/cpf-cnpj-field/cpf-cnpj-field.component';\nexport * from './lib/components/placa-field/placa-field.component';\nexport * from './lib/components/telefone-field/telefone-field.component';\nexport * from './lib/components/data-field/data-field.component';\nexport * from './lib/components/hora-field/hora-field.component';\nexport * from './lib/components/nome-field/nome-field.component';\nexport * from './lib/components/cep-field/cep-field.component';\nexport * from './lib/validators/pjc-validators';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i5"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pjc-fields",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.2.0",
6
6
  "@angular/core": "^21.2.0",
@@ -1,59 +1,59 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { AfterViewInit, OnDestroy } from '@angular/core';
3
3
  import * as _angular_forms from '@angular/forms';
4
- import { ControlValueAccessor, Validator, FormControl, ValidationErrors, ValidatorFn } from '@angular/forms';
4
+ import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors, FormControl, ValidatorFn } from '@angular/forms';
5
5
 
6
6
  declare class PjcFields {
7
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcFields, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcFields, "lib-pjc-fields", never, {}, {}, never, never, true, never>;
7
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcFields, never>;
8
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcFields, "lib-pjc-fields", never, {}, {}, never, never, true, never>;
9
9
  }
10
10
 
11
11
  declare class PjcCpfFieldComponent implements ControlValueAccessor, Validator {
12
- label: string;
13
- hint: string;
14
- placeholder: string;
15
- id: string;
16
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
12
+ label: _angular_core.InputSignal<string>;
13
+ hint: _angular_core.InputSignal<string>;
14
+ placeholder: _angular_core.InputSignal<string>;
15
+ id: _angular_core.InputSignal<string>;
16
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
17
17
  value: string;
18
18
  disabled: boolean;
19
- onChange: any;
20
- onTouched: any;
21
- writeValue(val: any): void;
22
- registerOnChange(fn: any): void;
23
- registerOnTouched(fn: any): void;
19
+ onChange: (value: string) => void;
20
+ onTouched: () => void;
21
+ writeValue(val: string | null): void;
22
+ registerOnChange(fn: (value: string) => void): void;
23
+ registerOnTouched(fn: () => void): void;
24
24
  setDisabledState(isDisabled: boolean): void;
25
- onModelChange(): void;
25
+ onModelChange(value: string): void;
26
26
  onModelTouched(): void;
27
- validate(control: FormControl): _angular_forms.ValidationErrors | null;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcCpfFieldComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcCpfFieldComponent, "pjc-cpf-field", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
27
+ validate(control: AbstractControl): ValidationErrors | null;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcCpfFieldComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcCpfFieldComponent, "pjc-cpf-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
30
30
  }
31
31
 
32
32
  declare class PjcCnpjFieldComponent implements ControlValueAccessor, Validator {
33
- label: string;
34
- hint: string;
35
- placeholder: string;
36
- id: string;
37
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
33
+ label: _angular_core.InputSignal<string>;
34
+ hint: _angular_core.InputSignal<string>;
35
+ placeholder: _angular_core.InputSignal<string>;
36
+ id: _angular_core.InputSignal<string>;
37
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
38
38
  value: string;
39
39
  disabled: boolean;
40
- onChange: any;
41
- onTouched: any;
42
- writeValue(val: any): void;
43
- registerOnChange(fn: any): void;
44
- registerOnTouched(fn: any): void;
40
+ onChange: (value: string) => void;
41
+ onTouched: () => void;
42
+ writeValue(val: string | null): void;
43
+ registerOnChange(fn: (value: string) => void): void;
44
+ registerOnTouched(fn: () => void): void;
45
45
  setDisabledState(isDisabled: boolean): void;
46
- onModelChange(event: any): void;
46
+ onModelChange(value: string): void;
47
47
  onModelTouched(): void;
48
- validate(control: FormControl): _angular_forms.ValidationErrors | null;
49
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcCnpjFieldComponent, never>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcCnpjFieldComponent, "pjc-cnpj-field", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
48
+ validate(control: AbstractControl): ValidationErrors | null;
49
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcCnpjFieldComponent, never>;
50
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcCnpjFieldComponent, "pjc-cnpj-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
51
51
  }
52
52
 
53
53
  declare class PjcCpfCnpjFieldComponent implements ControlValueAccessor, Validator {
54
54
  label: string;
55
55
  id: string;
56
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
56
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
57
57
  displayValue: string;
58
58
  placeholder: string;
59
59
  disabled: boolean;
@@ -69,15 +69,15 @@ declare class PjcCpfCnpjFieldComponent implements ControlValueAccessor, Validato
69
69
  private formatValue;
70
70
  private updatePlaceholder;
71
71
  validate(control: FormControl): _angular_forms.ValidationErrors | null;
72
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcCpfCnpjFieldComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcCpfCnpjFieldComponent, "pjc-cpf-cnpj-field", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
72
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcCpfCnpjFieldComponent, never>;
73
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcCpfCnpjFieldComponent, "pjc-cpf-cnpj-field", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
74
74
  }
75
75
 
76
76
  declare class PjcPlacaFieldComponent implements ControlValueAccessor, Validator {
77
77
  label: string;
78
78
  placeholder: string;
79
79
  id: string;
80
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
80
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
81
81
  value: string;
82
82
  onChange: any;
83
83
  onTouched: any;
@@ -86,14 +86,14 @@ declare class PjcPlacaFieldComponent implements ControlValueAccessor, Validator
86
86
  registerOnTouched(fn: any): void;
87
87
  onModelChange(): void;
88
88
  validate(control: FormControl): _angular_forms.ValidationErrors | null;
89
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcPlacaFieldComponent, never>;
90
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcPlacaFieldComponent, "pjc-placa-field", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
89
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcPlacaFieldComponent, never>;
90
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcPlacaFieldComponent, "pjc-placa-field", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
91
91
  }
92
92
 
93
93
  declare class PjcTelefoneFieldComponent implements ControlValueAccessor, Validator {
94
94
  label: string;
95
95
  id: string;
96
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
96
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
97
97
  displayValue: string;
98
98
  placeholder: string;
99
99
  disabled: boolean;
@@ -109,8 +109,8 @@ declare class PjcTelefoneFieldComponent implements ControlValueAccessor, Validat
109
109
  private formatValue;
110
110
  private updatePlaceholder;
111
111
  validate(control: FormControl): _angular_forms.ValidationErrors | null;
112
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcTelefoneFieldComponent, never>;
113
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcTelefoneFieldComponent, "pjc-telefone-field", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
112
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcTelefoneFieldComponent, never>;
113
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcTelefoneFieldComponent, "pjc-telefone-field", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
114
114
  }
115
115
 
116
116
  declare class PjcDataFieldComponent implements ControlValueAccessor, Validator, AfterViewInit, OnDestroy {
@@ -118,7 +118,7 @@ declare class PjcDataFieldComponent implements ControlValueAccessor, Validator,
118
118
  id: string;
119
119
  minDate?: Date;
120
120
  maxDate?: Date;
121
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
121
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
122
122
  value: Date | null;
123
123
  onChange: any;
124
124
  onTouched: any;
@@ -132,14 +132,14 @@ declare class PjcDataFieldComponent implements ControlValueAccessor, Validator,
132
132
  registerOnTouched(fn: any): void;
133
133
  onValueChange(date: Date | null): void;
134
134
  validate(_control: FormControl): ValidationErrors | null;
135
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcDataFieldComponent, never>;
136
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcDataFieldComponent, "pjc-data-field", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
135
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcDataFieldComponent, never>;
136
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcDataFieldComponent, "pjc-data-field", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
137
137
  }
138
138
 
139
139
  declare class PjcHoraFieldComponent implements ControlValueAccessor, Validator {
140
- readonly label: i0.InputSignal<string>;
141
- readonly id: i0.InputSignal<string>;
142
- readonly labelVariant: i0.InputSignal<"over" | "in" | "on">;
140
+ readonly label: _angular_core.InputSignal<string>;
141
+ readonly id: _angular_core.InputSignal<string>;
142
+ readonly labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
143
143
  value: string;
144
144
  onChange: any;
145
145
  onTouched: any;
@@ -148,15 +148,15 @@ declare class PjcHoraFieldComponent implements ControlValueAccessor, Validator {
148
148
  registerOnTouched(fn: any): void;
149
149
  onInput(): void;
150
150
  validate(control: FormControl): _angular_forms.ValidationErrors | null;
151
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcHoraFieldComponent, never>;
152
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcHoraFieldComponent, "pjc-hora-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
151
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcHoraFieldComponent, never>;
152
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcHoraFieldComponent, "pjc-hora-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
153
153
  }
154
154
 
155
155
  declare class PjcNomeFieldComponent implements ControlValueAccessor {
156
156
  label: string;
157
157
  placeholder: string;
158
158
  id: string;
159
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
159
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
160
160
  value: string;
161
161
  onChange: any;
162
162
  onTouched: any;
@@ -164,8 +164,8 @@ declare class PjcNomeFieldComponent implements ControlValueAccessor {
164
164
  registerOnChange(fn: any): void;
165
165
  registerOnTouched(fn: any): void;
166
166
  onInput(event: Event): void;
167
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcNomeFieldComponent, never>;
168
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcNomeFieldComponent, "pjc-nome-field", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
167
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcNomeFieldComponent, never>;
168
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcNomeFieldComponent, "pjc-nome-field", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
169
169
  }
170
170
 
171
171
  declare class PjcCepFieldComponent implements ControlValueAccessor, Validator {
@@ -173,8 +173,8 @@ declare class PjcCepFieldComponent implements ControlValueAccessor, Validator {
173
173
  hint: string;
174
174
  placeholder: string;
175
175
  id: string;
176
- labelVariant: i0.InputSignal<"over" | "in" | "on">;
177
- busca: i0.OutputEmitterRef<string>;
176
+ labelVariant: _angular_core.InputSignal<"over" | "in" | "on">;
177
+ busca: _angular_core.OutputEmitterRef<string>;
178
178
  value: string;
179
179
  disabled: boolean;
180
180
  onChange: any;
@@ -188,8 +188,8 @@ declare class PjcCepFieldComponent implements ControlValueAccessor, Validator {
188
188
  onComplete(): void;
189
189
  onSearch(): void;
190
190
  validate(control: FormControl): _angular_forms.ValidationErrors | null;
191
- static ɵfac: i0.ɵɵFactoryDeclaration<PjcCepFieldComponent, never>;
192
- static ɵcmp: i0.ɵɵComponentDeclaration<PjcCepFieldComponent, "pjc-cep-field", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, { "busca": "busca"; }, never, never, true, never>;
191
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcCepFieldComponent, never>;
192
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PjcCepFieldComponent, "pjc-cep-field", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelVariant": { "alias": "labelVariant"; "required": false; "isSignal": true; }; }, { "busca": "busca"; }, never, never, true, never>;
193
193
  }
194
194
 
195
195
  declare class PjcValidators {