pjc-fields 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fesm2022/pjc-fields.mjs
CHANGED
|
@@ -395,10 +395,9 @@ class PjcPlacaFieldComponent {
|
|
|
395
395
|
registerOnTouched(fn) {
|
|
396
396
|
this.onTouched = fn;
|
|
397
397
|
}
|
|
398
|
-
onModelChange() {
|
|
399
|
-
|
|
400
|
-
this.
|
|
401
|
-
this.onChange(this.value);
|
|
398
|
+
onModelChange(event) {
|
|
399
|
+
const val = event.target?.value ?? '';
|
|
400
|
+
this.onChange(val.toUpperCase());
|
|
402
401
|
}
|
|
403
402
|
validate(control) {
|
|
404
403
|
return PjcValidators.placaVeiculo()(control);
|
|
@@ -411,7 +410,7 @@ class PjcPlacaFieldComponent {
|
|
|
411
410
|
multi: true,
|
|
412
411
|
},
|
|
413
412
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => PjcPlacaFieldComponent), multi: true },
|
|
414
|
-
], 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=\"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
|
|
413
|
+
], 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=\"aaa-9*99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\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 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($event)\"\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 p-2 outline-none bg-transparent uppercase\"\n ></p-inputMask>\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"] }] });
|
|
415
414
|
}
|
|
416
415
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcPlacaFieldComponent, decorators: [{
|
|
417
416
|
type: Component,
|
|
@@ -422,7 +421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
422
421
|
multi: true,
|
|
423
422
|
},
|
|
424
423
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => PjcPlacaFieldComponent), multi: true },
|
|
425
|
-
], 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=\"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
|
|
424
|
+
], 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=\"aaa-9*99\"\n [(ngModel)]=\"value\"\n (onInput)=\"onModelChange($event)\"\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 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($event)\"\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 p-2 outline-none bg-transparent uppercase\"\n ></p-inputMask>\n }\n</div>\n" }]
|
|
426
425
|
}], propDecorators: { label: [{
|
|
427
426
|
type: Input
|
|
428
427
|
}], placeholder: [{
|
|
@@ -621,7 +620,7 @@ class PjcDataFieldComponent {
|
|
|
621
620
|
useExisting: forwardRef(() => PjcDataFieldComponent),
|
|
622
621
|
multi: true,
|
|
623
622
|
},
|
|
624
|
-
], 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-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
|
|
623
|
+
], 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-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 class=\"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 class=\"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", 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: DatePickerModule }, { kind: "component", type: i2$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "styleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "readonlyInput", "shortYearCutoff", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "view", "defaultDate", "appendTo", "motionOptions"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }] });
|
|
625
624
|
}
|
|
626
625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcDataFieldComponent, decorators: [{
|
|
627
626
|
type: Component,
|
|
@@ -636,7 +635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
636
635
|
useExisting: forwardRef(() => PjcDataFieldComponent),
|
|
637
636
|
multi: true,
|
|
638
637
|
},
|
|
639
|
-
], template: "<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
|
|
638
|
+
], template: "<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 class=\"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 class=\"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" }]
|
|
640
639
|
}], propDecorators: { label: [{
|
|
641
640
|
type: Input
|
|
642
641
|
}], id: [{
|
|
@@ -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/lib/components/uf-field/uf-field.component.ts","../../../projects/pjc-fields/src/lib/components/uf-field/uf-field.component.html","../../../projects/pjc-fields/src/lib/components/email-field/email-field.component.ts","../../../projects/pjc-fields/src/lib/components/email-field/email-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 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 static email(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n if (!value) return null;\n\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\n return emailRegex.test(value) ? null : { emailInvalido: 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} 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';\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 ],\n})\nexport class PjcCepFieldComponent implements ControlValueAccessor {\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}\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","import { ChangeDetectionStrategy, Component, forwardRef, input } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectModule } from 'primeng/select';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\nexport interface PjcUf {\n uf: string;\n descricao: string;\n}\n\nconst ESTADOS: PjcUf[] = [\n { uf: 'AC', descricao: 'Acre' },\n { uf: 'AL', descricao: 'Alagoas' },\n { uf: 'AP', descricao: 'Amapá' },\n { uf: 'AM', descricao: 'Amazonas' },\n { uf: 'BA', descricao: 'Bahia' },\n { uf: 'CE', descricao: 'Ceará' },\n { uf: 'DF', descricao: 'Distrito Federal' },\n { uf: 'ES', descricao: 'Espírito Santo' },\n { uf: 'GO', descricao: 'Goiás' },\n { uf: 'MA', descricao: 'Maranhão' },\n { uf: 'MT', descricao: 'Mato Grosso' },\n { uf: 'MS', descricao: 'Mato Grosso do Sul' },\n { uf: 'MG', descricao: 'Minas Gerais' },\n { uf: 'PA', descricao: 'Pará' },\n { uf: 'PB', descricao: 'Paraíba' },\n { uf: 'PR', descricao: 'Paraná' },\n { uf: 'PE', descricao: 'Pernambuco' },\n { uf: 'PI', descricao: 'Piauí' },\n { uf: 'RJ', descricao: 'Rio de Janeiro' },\n { uf: 'RN', descricao: 'Rio Grande do Norte' },\n { uf: 'RS', descricao: 'Rio Grande do Sul' },\n { uf: 'RO', descricao: 'Rondônia' },\n { uf: 'RR', descricao: 'Roraima' },\n { uf: 'SC', descricao: 'Santa Catarina' },\n { uf: 'SP', descricao: 'São Paulo' },\n { uf: 'SE', descricao: 'Sergipe' },\n { uf: 'TO', descricao: 'Tocantins' },\n];\n\n@Component({\n selector: 'pjc-uf-field',\n templateUrl: 'uf-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, SelectModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcUfFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcUfFieldComponent implements ControlValueAccessor {\n label = input<string>('UF');\n hint = input<string>('');\n placeholder = input<string>('Selecione o estado');\n id = input<string>(`pjc-uf-${Math.random().toString(36).substring(2, 9)}`);\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n readonly estados = ESTADOS;\n\n value: PjcUf | null = null;\n disabled = false;\n\n onChange: (value: PjcUf | null) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(val: PjcUf | null): void {\n this.value = val?.uf ? (ESTADOS.find(e => e.uf === val.uf) ?? null) : null;\n }\n\n registerOnChange(fn: (value: PjcUf | null) => 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: PjcUf | null): void {\n this.value = value;\n this.onChange(value);\n }\n\n onModelTouched(): void {\n this.onTouched();\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-select\n [inputId]=\"id()\"\n [options]=\"estados\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n class=\"w-full\"\n />\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-select\n [inputId]=\"id()\"\n [options]=\"estados\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n class=\"w-full\"\n />\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR,\n NG_VALIDATORS,\n Validator,\n AbstractControl,\n ValidationErrors,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-email-field',\n templateUrl: 'email-field.component.html',\n imports: [CommonModule, FormsModule, InputTextModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcEmailFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcEmailFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcEmailFieldComponent implements ControlValueAccessor, Validator {\n label = input<string>('E-mail');\n placeholder = input<string>('Digite o e-mail');\n id = input<string>(`pjc-email-${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?.toLowerCase() ?? '';\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 validate(control: AbstractControl): ValidationErrors | null {\n return PjcValidators.email()(control);\n }\n\n onInput(event: Event): void {\n const lower = (event.target as HTMLInputElement).value.toLowerCase();\n this.value = lower;\n this.onChange(lower);\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 type=\"email\"\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\"\n />\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n type=\"email\"\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\"\n />\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/components/uf-field/uf-field.component';\nexport * from './lib/components/email-field/email-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/lib/components/uf-field/uf-field.component.ts","../../../projects/pjc-fields/src/lib/components/uf-field/uf-field.component.html","../../../projects/pjc-fields/src/lib/components/email-field/email-field.component.ts","../../../projects/pjc-fields/src/lib/components/email-field/email-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 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 static email(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n if (!value) return null;\n\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\n return emailRegex.test(value) ? null : { emailInvalido: 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(event: Event): void {\n const val = (event.target as HTMLInputElement)?.value ?? '';\n this.onChange(val.toUpperCase());\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($event)\"\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 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($event)\"\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 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 class=\"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 class=\"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} 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';\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 ],\n})\nexport class PjcCepFieldComponent implements ControlValueAccessor {\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}\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","import { ChangeDetectionStrategy, Component, forwardRef, input } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectModule } from 'primeng/select';\nimport { FloatLabelModule } from 'primeng/floatlabel';\n\nexport interface PjcUf {\n uf: string;\n descricao: string;\n}\n\nconst ESTADOS: PjcUf[] = [\n { uf: 'AC', descricao: 'Acre' },\n { uf: 'AL', descricao: 'Alagoas' },\n { uf: 'AP', descricao: 'Amapá' },\n { uf: 'AM', descricao: 'Amazonas' },\n { uf: 'BA', descricao: 'Bahia' },\n { uf: 'CE', descricao: 'Ceará' },\n { uf: 'DF', descricao: 'Distrito Federal' },\n { uf: 'ES', descricao: 'Espírito Santo' },\n { uf: 'GO', descricao: 'Goiás' },\n { uf: 'MA', descricao: 'Maranhão' },\n { uf: 'MT', descricao: 'Mato Grosso' },\n { uf: 'MS', descricao: 'Mato Grosso do Sul' },\n { uf: 'MG', descricao: 'Minas Gerais' },\n { uf: 'PA', descricao: 'Pará' },\n { uf: 'PB', descricao: 'Paraíba' },\n { uf: 'PR', descricao: 'Paraná' },\n { uf: 'PE', descricao: 'Pernambuco' },\n { uf: 'PI', descricao: 'Piauí' },\n { uf: 'RJ', descricao: 'Rio de Janeiro' },\n { uf: 'RN', descricao: 'Rio Grande do Norte' },\n { uf: 'RS', descricao: 'Rio Grande do Sul' },\n { uf: 'RO', descricao: 'Rondônia' },\n { uf: 'RR', descricao: 'Roraima' },\n { uf: 'SC', descricao: 'Santa Catarina' },\n { uf: 'SP', descricao: 'São Paulo' },\n { uf: 'SE', descricao: 'Sergipe' },\n { uf: 'TO', descricao: 'Tocantins' },\n];\n\n@Component({\n selector: 'pjc-uf-field',\n templateUrl: 'uf-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, SelectModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcUfFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcUfFieldComponent implements ControlValueAccessor {\n label = input<string>('UF');\n hint = input<string>('');\n placeholder = input<string>('Selecione o estado');\n id = input<string>(`pjc-uf-${Math.random().toString(36).substring(2, 9)}`);\n labelVariant = input<'over' | 'in' | 'on'>('over');\n\n readonly estados = ESTADOS;\n\n value: PjcUf | null = null;\n disabled = false;\n\n onChange: (value: PjcUf | null) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(val: PjcUf | null): void {\n this.value = val?.uf ? (ESTADOS.find(e => e.uf === val.uf) ?? null) : null;\n }\n\n registerOnChange(fn: (value: PjcUf | null) => 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: PjcUf | null): void {\n this.value = value;\n this.onChange(value);\n }\n\n onModelTouched(): void {\n this.onTouched();\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-select\n [inputId]=\"id()\"\n [options]=\"estados\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n class=\"w-full\"\n />\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-select\n [inputId]=\"id()\"\n [options]=\"estados\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n styleClass=\"w-full border border-surface-300 rounded-md focus:border-primary-500 transition-colors\"\n class=\"w-full\"\n />\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR,\n NG_VALIDATORS,\n Validator,\n AbstractControl,\n ValidationErrors,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PjcValidators } from '../../validators/pjc-validators';\n\n@Component({\n selector: 'pjc-email-field',\n templateUrl: 'email-field.component.html',\n imports: [CommonModule, FormsModule, InputTextModule, FloatLabelModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PjcEmailFieldComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PjcEmailFieldComponent),\n multi: true,\n },\n ],\n})\nexport class PjcEmailFieldComponent implements ControlValueAccessor, Validator {\n label = input<string>('E-mail');\n placeholder = input<string>('Digite o e-mail');\n id = input<string>(`pjc-email-${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?.toLowerCase() ?? '';\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 validate(control: AbstractControl): ValidationErrors | null {\n return PjcValidators.email()(control);\n }\n\n onInput(event: Event): void {\n const lower = (event.target as HTMLInputElement).value.toLowerCase();\n this.value = lower;\n this.onChange(lower);\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 type=\"email\"\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\"\n />\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <input\n pInputText\n type=\"email\"\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\"\n />\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/components/uf-field/uf-field.component';\nexport * from './lib/components/email-field/email-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
package/types/pjc-fields.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ declare class PjcPlacaFieldComponent implements ControlValueAccessor, Validator
|
|
|
84
84
|
writeValue(val: any): void;
|
|
85
85
|
registerOnChange(fn: any): void;
|
|
86
86
|
registerOnTouched(fn: any): void;
|
|
87
|
-
onModelChange(): void;
|
|
87
|
+
onModelChange(event: Event): void;
|
|
88
88
|
validate(control: FormControl): _angular_forms.ValidationErrors | null;
|
|
89
89
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PjcPlacaFieldComponent, never>;
|
|
90
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>;
|