pjc-fields 0.0.69 → 0.0.71

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.
@@ -2340,7 +2340,7 @@ class PjcFiltroFieldComponent {
2340
2340
  this.termoBooleano.set(null);
2341
2341
  }
2342
2342
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcFiltroFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2343
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcFiltroFieldComponent, isStandalone: true, selector: "pjc-filtro-field", inputs: { filtros: { classPropertyName: "filtros", publicName: "filtros", isSignal: true, isRequired: false, transformFunction: null }, tipoSelecionado: { classPropertyName: "tipoSelecionado", publicName: "tipoSelecionado", isSignal: true, isRequired: false, transformFunction: null }, filtrosSelecionados: { classPropertyName: "filtrosSelecionados", publicName: "filtrosSelecionados", isSignal: true, isRequired: false, transformFunction: null }, seletorPlaceholder: { classPropertyName: "seletorPlaceholder", publicName: "seletorPlaceholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filtrar: "filtrar", erroValidacao: "erroValidacao" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2 w-full\">\n <div class=\"pjc-filtro-container\" [class.pjc-filtro-disabled]=\"!entradaHabilitada()\">\n @if (filtros().length > 0) {\n <p-select\n class=\"pjc-filtro-prefix\"\n [options]=\"filtros()\"\n [ngModel]=\"codigoAtual()\"\n (ngModelChange)=\"onSelecionarTipo($event)\"\n optionLabel=\"nome\"\n optionValue=\"codigo\"\n appendTo=\"body\"\n [placeholder]=\"seletorPlaceholder()\"\n ariaLabel=\"Selecione o tipo de filtro\"\n />\n }\n\n <div class=\"pjc-filtro-entrada\">\n @switch (filtroSelecionado()?.tipo) {\n @case (TipoFiltro.TEXTO) {\n <input\n pInputText\n type=\"text\"\n [ngModel]=\"termoTexto()\"\n (ngModelChange)=\"termoTexto.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input pjc-filtro-uppercase\"\n />\n }\n\n @case (TipoFiltro.NUMERICO) {\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumerico()\"\n (ngModelChange)=\"termoNumerico.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n }\n\n @case (TipoFiltro.NUMERICO_RANGE) {\n <div class=\"pjc-filtro-range\">\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMin()\"\n (ngModelChange)=\"termoNumericoRangeMin.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00EDn\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00EDnimo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n <span class=\"pjc-filtro-range-sep\" aria-hidden=\"true\">\u2014</span>\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMax()\"\n (ngModelChange)=\"termoNumericoRangeMax.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00E1x\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00E1ximo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n </div>\n }\n\n @case (TipoFiltro.DATA) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoData()\"\n (ngModelChange)=\"termoData.set($event)\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.DATA_RANGE) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoDataRange()\"\n (ngModelChange)=\"termoDataRange.set($event)\"\n selectionMode=\"range\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa - dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.ENUM) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnum()\"\n (ngModelChange)=\"onAplicarEnum($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.ENUM_MULTI) {\n <p-multiselect\n class=\"pjc-filtro-enum-multi\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnumMulti()\"\n (ngModelChange)=\"termoEnumMulti.set($event)\"\n optionLabel=\"texto\"\n display=\"comma\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.BOOLEANO) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"opcoesBooleano()\"\n [ngModel]=\"termoBooleano()\"\n (ngModelChange)=\"onAplicarBooleano($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n }\n </div>\n\n @if (aplicaPorConfirmacao() && entradaHabilitada()) {\n <button\n type=\"button\"\n class=\"pjc-filtro-confirmar\"\n (click)=\"aplicar()\"\n aria-label=\"Aplicar filtro\"\n >\n <i class=\"pi pi-plus\"></i>\n </button>\n }\n </div>\n\n @if (filtrosSelecionados().length > 0) {\n <div class=\"pjc-filtro-chips\" role=\"list\" aria-label=\"Filtros aplicados\">\n @for (f of filtrosSelecionados(); track f.codigo) {\n <p-chip\n [label]=\"f.nome + ': ' + f.valorMostrar\"\n [removable]=\"true\"\n (onRemove)=\"remover(f)\"\n />\n }\n </div>\n }\n\n <div class=\"pjc-sr-only\" role=\"status\" aria-live=\"polite\">{{ anuncioA11y() }}</div>\n</div>\n", styles: [":host{display:block;width:100%}.pjc-filtro-container{display:flex;align-items:center;gap:.5rem;width:100%;padding:.25rem .5rem;border:1px solid var(--p-inputtext-border-color, var(--p-surface-300));border-radius:var(--p-border-radius, .375rem);background:var(--p-inputtext-background, transparent);transition:border-color .15s,box-shadow .15s}.pjc-filtro-container:focus-within{border-color:var(--p-primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--p-primary-color) 20%,transparent)}.pjc-filtro-container.pjc-filtro-disabled{opacity:.6;pointer-events:none}.pjc-filtro-entrada{flex:1 1 auto;min-width:0;display:flex;align-items:center}.pjc-filtro-confirmar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;border:1px solid var(--p-surface-300);background:transparent;color:var(--p-primary-color);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.pjc-filtro-confirmar:hover:not(:disabled){background:var(--p-primary-color);color:var(--p-primary-contrast-color, #fff);border-color:var(--p-primary-color)}.pjc-filtro-confirmar:disabled{cursor:not-allowed;opacity:.5}:host ::ng-deep .pjc-filtro-prefix .p-select,:host ::ng-deep .pjc-filtro-prefix.p-select,:host ::ng-deep .pjc-filtro-prefix .p-select:hover,:host ::ng-deep .pjc-filtro-prefix .p-select:focus,:host ::ng-deep .pjc-filtro-prefix .p-select.p-focus{border:none;box-shadow:none;background:transparent;min-width:8rem}:host ::ng-deep .pjc-filtro-prefix .p-select-label{padding:.25rem;font-weight:500}:host ::ng-deep input.pjc-filtro-input,:host ::ng-deep input.pjc-filtro-input.p-inputtext{flex:1 1 auto;width:100%;border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;font:inherit;color:inherit}:host ::ng-deep input.pjc-filtro-input:hover,:host ::ng-deep input.pjc-filtro-input:focus,:host ::ng-deep input.pjc-filtro-input:focus-visible,:host ::ng-deep input.pjc-filtro-input.p-inputtext:hover,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent}.pjc-filtro-input.pjc-filtro-uppercase{text-transform:uppercase}:host ::ng-deep .pjc-filtro-datepicker .p-datepicker,:host ::ng-deep .pjc-filtro-datepicker.p-datepicker{width:100%;border:none;box-shadow:none;background:transparent}:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:hover,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;width:100%}:host ::ng-deep .pjc-filtro-enum-select .p-select,:host ::ng-deep .pjc-filtro-enum-select .p-select:hover,:host ::ng-deep .pjc-filtro-enum-select .p-select:focus,:host ::ng-deep .pjc-filtro-enum-select .p-select.p-focus{border:none;box-shadow:none;background:transparent;width:100%}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:hover,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:focus,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect.p-focus{border:none;box-shadow:none;background:transparent;width:100%}.pjc-filtro-range{display:flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0}.pjc-filtro-range .pjc-filtro-input{flex:1 1 0;min-width:0}.pjc-filtro-range-sep{color:var(--p-text-muted-color);-webkit-user-select:none;user-select:none;flex:0 0 auto}.pjc-filtro-chips{display:flex;flex-wrap:wrap;gap:.25rem}.pjc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: SelectModule }, { kind: "component", type: i2$3.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i3$3.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i1$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { 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: ChipModule }, { kind: "component", type: i6$1.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2343
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcFiltroFieldComponent, isStandalone: true, selector: "pjc-filtro-field", inputs: { filtros: { classPropertyName: "filtros", publicName: "filtros", isSignal: true, isRequired: false, transformFunction: null }, tipoSelecionado: { classPropertyName: "tipoSelecionado", publicName: "tipoSelecionado", isSignal: true, isRequired: false, transformFunction: null }, filtrosSelecionados: { classPropertyName: "filtrosSelecionados", publicName: "filtrosSelecionados", isSignal: true, isRequired: false, transformFunction: null }, seletorPlaceholder: { classPropertyName: "seletorPlaceholder", publicName: "seletorPlaceholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filtrar: "filtrar", erroValidacao: "erroValidacao" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2 w-full\">\n <div class=\"pjc-filtro-container\" [class.pjc-filtro-disabled]=\"!entradaHabilitada()\">\n @if (filtros().length > 0) {\n <p-select\n class=\"pjc-filtro-prefix\"\n [options]=\"filtros()\"\n [ngModel]=\"codigoAtual()\"\n (ngModelChange)=\"onSelecionarTipo($event)\"\n optionLabel=\"nome\"\n optionValue=\"codigo\"\n appendTo=\"body\"\n [placeholder]=\"seletorPlaceholder()\"\n ariaLabel=\"Selecione o tipo de filtro\"\n />\n }\n\n <div\n class=\"pjc-filtro-entrada\"\n [class.pjc-filtro-entrada--full]=\"\n filtroSelecionado()?.tipo === TipoFiltro.ENUM ||\n filtroSelecionado()?.tipo === TipoFiltro.ENUM_MULTI ||\n filtroSelecionado()?.tipo === TipoFiltro.BOOLEANO\n \"\n >\n @switch (filtroSelecionado()?.tipo) {\n @case (TipoFiltro.TEXTO) {\n <input\n pInputText\n type=\"text\"\n [ngModel]=\"termoTexto()\"\n (ngModelChange)=\"termoTexto.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input pjc-filtro-uppercase\"\n />\n }\n\n @case (TipoFiltro.NUMERICO) {\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumerico()\"\n (ngModelChange)=\"termoNumerico.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n }\n\n @case (TipoFiltro.NUMERICO_RANGE) {\n <div class=\"pjc-filtro-range\">\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMin()\"\n (ngModelChange)=\"termoNumericoRangeMin.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00EDn\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00EDnimo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n <span class=\"pjc-filtro-range-sep\" aria-hidden=\"true\">\u2014</span>\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMax()\"\n (ngModelChange)=\"termoNumericoRangeMax.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00E1x\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00E1ximo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n </div>\n }\n\n @case (TipoFiltro.DATA) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoData()\"\n (ngModelChange)=\"termoData.set($event)\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.DATA_RANGE) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoDataRange()\"\n (ngModelChange)=\"termoDataRange.set($event)\"\n selectionMode=\"range\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa - dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.ENUM) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnum()\"\n (ngModelChange)=\"onAplicarEnum($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.ENUM_MULTI) {\n <p-multiselect\n class=\"pjc-filtro-enum-multi\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnumMulti()\"\n (ngModelChange)=\"termoEnumMulti.set($event)\"\n optionLabel=\"texto\"\n display=\"comma\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.BOOLEANO) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"opcoesBooleano()\"\n [ngModel]=\"termoBooleano()\"\n (ngModelChange)=\"onAplicarBooleano($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n }\n </div>\n\n @if (aplicaPorConfirmacao() && entradaHabilitada()) {\n <button\n type=\"button\"\n class=\"pjc-filtro-confirmar\"\n (click)=\"aplicar()\"\n aria-label=\"Aplicar filtro\"\n >\n <i class=\"pi pi-plus\"></i>\n </button>\n }\n </div>\n\n @if (filtrosSelecionados().length > 0) {\n <div class=\"pjc-filtro-chips\" role=\"list\" aria-label=\"Filtros aplicados\">\n @for (f of filtrosSelecionados(); track f.codigo) {\n <p-chip\n [label]=\"f.nome + ': ' + f.valorMostrar\"\n [removable]=\"true\"\n (onRemove)=\"remover(f)\"\n />\n }\n </div>\n }\n\n <div class=\"pjc-sr-only\" role=\"status\" aria-live=\"polite\">{{ anuncioA11y() }}</div>\n</div>\n", styles: [":host{display:block;width:100%;position:relative}.pjc-filtro-container{display:flex;align-items:center;gap:.5rem;width:100%;padding:.25rem .5rem;border:1px solid var(--p-inputtext-border-color, var(--p-surface-300));border-radius:var(--p-border-radius, .375rem);background:var(--p-inputtext-background, transparent);transition:border-color .15s,box-shadow .15s}.pjc-filtro-container:focus-within{border-color:var(--p-primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--p-primary-color) 20%,transparent)}.pjc-filtro-container.pjc-filtro-disabled{opacity:.6;pointer-events:none}.pjc-filtro-entrada{flex:1 1 auto;min-width:0;display:flex;align-items:center}.pjc-filtro-entrada--full{width:100%}.pjc-filtro-confirmar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;border:1px solid var(--p-surface-300);background:transparent;color:var(--p-primary-color);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.pjc-filtro-confirmar:hover:not(:disabled){background:var(--p-primary-color);color:var(--p-primary-contrast-color, #fff);border-color:var(--p-primary-color)}.pjc-filtro-confirmar:disabled{cursor:not-allowed;opacity:.5}:host ::ng-deep .pjc-filtro-prefix .p-select,:host ::ng-deep .pjc-filtro-prefix.p-select,:host ::ng-deep .pjc-filtro-prefix .p-select:hover,:host ::ng-deep .pjc-filtro-prefix .p-select:focus,:host ::ng-deep .pjc-filtro-prefix .p-select.p-focus{border:none;box-shadow:none;background:transparent;min-width:8rem}:host ::ng-deep .pjc-filtro-prefix .p-select-label{padding:.25rem;font-weight:500}:host ::ng-deep input.pjc-filtro-input,:host ::ng-deep input.pjc-filtro-input.p-inputtext{flex:1 1 auto;width:100%;border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;font:inherit;color:inherit}:host ::ng-deep input.pjc-filtro-input:hover,:host ::ng-deep input.pjc-filtro-input:focus,:host ::ng-deep input.pjc-filtro-input:focus-visible,:host ::ng-deep input.pjc-filtro-input.p-inputtext:hover,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent}.pjc-filtro-input.pjc-filtro-uppercase{text-transform:uppercase}:host ::ng-deep .pjc-filtro-datepicker .p-datepicker,:host ::ng-deep .pjc-filtro-datepicker.p-datepicker{width:100%;border:none;box-shadow:none;background:transparent}:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:hover,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;width:100%}:host ::ng-deep .pjc-filtro-enum-select,:host ::ng-deep .pjc-filtro-enum-select .p-select,:host ::ng-deep .pjc-filtro-enum-select.p-select,:host ::ng-deep .pjc-filtro-enum-select .p-select:hover,:host ::ng-deep .pjc-filtro-enum-select .p-select:focus,:host ::ng-deep .pjc-filtro-enum-select .p-select.p-focus{border:none;box-shadow:none;background:transparent;width:100%;min-width:0}:host ::ng-deep .pjc-filtro-enum-select .p-select-label,:host ::ng-deep .pjc-filtro-enum-select.p-select .p-select-label{padding:.25rem 0}:host ::ng-deep .pjc-filtro-enum-select .p-select-dropdown,:host ::ng-deep .pjc-filtro-enum-select.p-select .p-select-dropdown{width:2rem;background:transparent;border:none}:host ::ng-deep .pjc-filtro-enum-multi,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:hover,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:focus,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect.p-focus{border:none;box-shadow:none;background:transparent;width:100%;min-width:0}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-label,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect .p-multiselect-label{padding:.25rem 0}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-dropdown,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect .p-multiselect-dropdown{width:2rem;background:transparent;border:none}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-chip-item,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect .p-multiselect-chip-item{margin-inline:.125rem}:host ::ng-deep .pjc-filtro-enum-select .p-select-label-empty,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-label-empty{color:var(--p-text-muted-color)}.pjc-filtro-range{display:flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0}.pjc-filtro-range .pjc-filtro-input{flex:1 1 0;min-width:0}.pjc-filtro-range-sep{color:var(--p-text-muted-color);-webkit-user-select:none;user-select:none;flex:0 0 auto}.pjc-filtro-chips{display:flex;flex-wrap:wrap;gap:.25rem}.pjc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: SelectModule }, { kind: "component", type: i2$3.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i3$3.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i1$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { 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: ChipModule }, { kind: "component", type: i6$1.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2344
2344
  }
2345
2345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcFiltroFieldComponent, decorators: [{
2346
2346
  type: Component,
@@ -2351,7 +2351,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
2351
2351
  InputTextModule,
2352
2352
  DatePickerModule,
2353
2353
  ChipModule,
2354
- ], template: "<div class=\"flex flex-col gap-2 w-full\">\n <div class=\"pjc-filtro-container\" [class.pjc-filtro-disabled]=\"!entradaHabilitada()\">\n @if (filtros().length > 0) {\n <p-select\n class=\"pjc-filtro-prefix\"\n [options]=\"filtros()\"\n [ngModel]=\"codigoAtual()\"\n (ngModelChange)=\"onSelecionarTipo($event)\"\n optionLabel=\"nome\"\n optionValue=\"codigo\"\n appendTo=\"body\"\n [placeholder]=\"seletorPlaceholder()\"\n ariaLabel=\"Selecione o tipo de filtro\"\n />\n }\n\n <div class=\"pjc-filtro-entrada\">\n @switch (filtroSelecionado()?.tipo) {\n @case (TipoFiltro.TEXTO) {\n <input\n pInputText\n type=\"text\"\n [ngModel]=\"termoTexto()\"\n (ngModelChange)=\"termoTexto.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input pjc-filtro-uppercase\"\n />\n }\n\n @case (TipoFiltro.NUMERICO) {\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumerico()\"\n (ngModelChange)=\"termoNumerico.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n }\n\n @case (TipoFiltro.NUMERICO_RANGE) {\n <div class=\"pjc-filtro-range\">\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMin()\"\n (ngModelChange)=\"termoNumericoRangeMin.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00EDn\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00EDnimo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n <span class=\"pjc-filtro-range-sep\" aria-hidden=\"true\">\u2014</span>\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMax()\"\n (ngModelChange)=\"termoNumericoRangeMax.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00E1x\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00E1ximo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n </div>\n }\n\n @case (TipoFiltro.DATA) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoData()\"\n (ngModelChange)=\"termoData.set($event)\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.DATA_RANGE) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoDataRange()\"\n (ngModelChange)=\"termoDataRange.set($event)\"\n selectionMode=\"range\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa - dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.ENUM) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnum()\"\n (ngModelChange)=\"onAplicarEnum($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.ENUM_MULTI) {\n <p-multiselect\n class=\"pjc-filtro-enum-multi\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnumMulti()\"\n (ngModelChange)=\"termoEnumMulti.set($event)\"\n optionLabel=\"texto\"\n display=\"comma\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.BOOLEANO) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"opcoesBooleano()\"\n [ngModel]=\"termoBooleano()\"\n (ngModelChange)=\"onAplicarBooleano($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n }\n </div>\n\n @if (aplicaPorConfirmacao() && entradaHabilitada()) {\n <button\n type=\"button\"\n class=\"pjc-filtro-confirmar\"\n (click)=\"aplicar()\"\n aria-label=\"Aplicar filtro\"\n >\n <i class=\"pi pi-plus\"></i>\n </button>\n }\n </div>\n\n @if (filtrosSelecionados().length > 0) {\n <div class=\"pjc-filtro-chips\" role=\"list\" aria-label=\"Filtros aplicados\">\n @for (f of filtrosSelecionados(); track f.codigo) {\n <p-chip\n [label]=\"f.nome + ': ' + f.valorMostrar\"\n [removable]=\"true\"\n (onRemove)=\"remover(f)\"\n />\n }\n </div>\n }\n\n <div class=\"pjc-sr-only\" role=\"status\" aria-live=\"polite\">{{ anuncioA11y() }}</div>\n</div>\n", styles: [":host{display:block;width:100%}.pjc-filtro-container{display:flex;align-items:center;gap:.5rem;width:100%;padding:.25rem .5rem;border:1px solid var(--p-inputtext-border-color, var(--p-surface-300));border-radius:var(--p-border-radius, .375rem);background:var(--p-inputtext-background, transparent);transition:border-color .15s,box-shadow .15s}.pjc-filtro-container:focus-within{border-color:var(--p-primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--p-primary-color) 20%,transparent)}.pjc-filtro-container.pjc-filtro-disabled{opacity:.6;pointer-events:none}.pjc-filtro-entrada{flex:1 1 auto;min-width:0;display:flex;align-items:center}.pjc-filtro-confirmar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;border:1px solid var(--p-surface-300);background:transparent;color:var(--p-primary-color);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.pjc-filtro-confirmar:hover:not(:disabled){background:var(--p-primary-color);color:var(--p-primary-contrast-color, #fff);border-color:var(--p-primary-color)}.pjc-filtro-confirmar:disabled{cursor:not-allowed;opacity:.5}:host ::ng-deep .pjc-filtro-prefix .p-select,:host ::ng-deep .pjc-filtro-prefix.p-select,:host ::ng-deep .pjc-filtro-prefix .p-select:hover,:host ::ng-deep .pjc-filtro-prefix .p-select:focus,:host ::ng-deep .pjc-filtro-prefix .p-select.p-focus{border:none;box-shadow:none;background:transparent;min-width:8rem}:host ::ng-deep .pjc-filtro-prefix .p-select-label{padding:.25rem;font-weight:500}:host ::ng-deep input.pjc-filtro-input,:host ::ng-deep input.pjc-filtro-input.p-inputtext{flex:1 1 auto;width:100%;border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;font:inherit;color:inherit}:host ::ng-deep input.pjc-filtro-input:hover,:host ::ng-deep input.pjc-filtro-input:focus,:host ::ng-deep input.pjc-filtro-input:focus-visible,:host ::ng-deep input.pjc-filtro-input.p-inputtext:hover,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent}.pjc-filtro-input.pjc-filtro-uppercase{text-transform:uppercase}:host ::ng-deep .pjc-filtro-datepicker .p-datepicker,:host ::ng-deep .pjc-filtro-datepicker.p-datepicker{width:100%;border:none;box-shadow:none;background:transparent}:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:hover,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;width:100%}:host ::ng-deep .pjc-filtro-enum-select .p-select,:host ::ng-deep .pjc-filtro-enum-select .p-select:hover,:host ::ng-deep .pjc-filtro-enum-select .p-select:focus,:host ::ng-deep .pjc-filtro-enum-select .p-select.p-focus{border:none;box-shadow:none;background:transparent;width:100%}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:hover,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:focus,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect.p-focus{border:none;box-shadow:none;background:transparent;width:100%}.pjc-filtro-range{display:flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0}.pjc-filtro-range .pjc-filtro-input{flex:1 1 0;min-width:0}.pjc-filtro-range-sep{color:var(--p-text-muted-color);-webkit-user-select:none;user-select:none;flex:0 0 auto}.pjc-filtro-chips{display:flex;flex-wrap:wrap;gap:.25rem}.pjc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
2354
+ ], template: "<div class=\"flex flex-col gap-2 w-full\">\n <div class=\"pjc-filtro-container\" [class.pjc-filtro-disabled]=\"!entradaHabilitada()\">\n @if (filtros().length > 0) {\n <p-select\n class=\"pjc-filtro-prefix\"\n [options]=\"filtros()\"\n [ngModel]=\"codigoAtual()\"\n (ngModelChange)=\"onSelecionarTipo($event)\"\n optionLabel=\"nome\"\n optionValue=\"codigo\"\n appendTo=\"body\"\n [placeholder]=\"seletorPlaceholder()\"\n ariaLabel=\"Selecione o tipo de filtro\"\n />\n }\n\n <div\n class=\"pjc-filtro-entrada\"\n [class.pjc-filtro-entrada--full]=\"\n filtroSelecionado()?.tipo === TipoFiltro.ENUM ||\n filtroSelecionado()?.tipo === TipoFiltro.ENUM_MULTI ||\n filtroSelecionado()?.tipo === TipoFiltro.BOOLEANO\n \"\n >\n @switch (filtroSelecionado()?.tipo) {\n @case (TipoFiltro.TEXTO) {\n <input\n pInputText\n type=\"text\"\n [ngModel]=\"termoTexto()\"\n (ngModelChange)=\"termoTexto.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input pjc-filtro-uppercase\"\n />\n }\n\n @case (TipoFiltro.NUMERICO) {\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumerico()\"\n (ngModelChange)=\"termoNumerico.set($event)\"\n (keydown.enter)=\"aplicar()\"\n [placeholder]=\"placeholderEntrada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n }\n\n @case (TipoFiltro.NUMERICO_RANGE) {\n <div class=\"pjc-filtro-range\">\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMin()\"\n (ngModelChange)=\"termoNumericoRangeMin.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00EDn\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00EDnimo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n <span class=\"pjc-filtro-range-sep\" aria-hidden=\"true\">\u2014</span>\n <input\n pInputText\n type=\"text\"\n inputmode=\"numeric\"\n [ngModel]=\"termoNumericoRangeMax()\"\n (ngModelChange)=\"termoNumericoRangeMax.set($event)\"\n (keydown.enter)=\"aplicar()\"\n placeholder=\"m\u00E1x\"\n [attr.aria-label]=\"(filtroSelecionado()?.nome ?? '') + ' (m\u00E1ximo)'\"\n [disabled]=\"!entradaHabilitada()\"\n class=\"pjc-filtro-input\"\n />\n </div>\n }\n\n @case (TipoFiltro.DATA) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoData()\"\n (ngModelChange)=\"termoData.set($event)\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.DATA_RANGE) {\n <p-datePicker\n class=\"pjc-filtro-datepicker\"\n [ngModel]=\"termoDataRange()\"\n (ngModelChange)=\"termoDataRange.set($event)\"\n selectionMode=\"range\"\n dateFormat=\"dd/mm/yy\"\n placeholder=\"dd/mm/aaaa - dd/mm/aaaa\"\n appendTo=\"body\"\n [disabled]=\"!entradaHabilitada()\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n (keydown.enter)=\"aplicar()\"\n />\n }\n\n @case (TipoFiltro.ENUM) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnum()\"\n (ngModelChange)=\"onAplicarEnum($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.ENUM_MULTI) {\n <p-multiselect\n class=\"pjc-filtro-enum-multi\"\n [options]=\"filtroSelecionado()?.arrayEnum ?? []\"\n [ngModel]=\"termoEnumMulti()\"\n (ngModelChange)=\"termoEnumMulti.set($event)\"\n optionLabel=\"texto\"\n display=\"comma\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n\n @case (TipoFiltro.BOOLEANO) {\n <p-select\n class=\"pjc-filtro-enum-select\"\n [options]=\"opcoesBooleano()\"\n [ngModel]=\"termoBooleano()\"\n (ngModelChange)=\"onAplicarBooleano($event)\"\n optionLabel=\"texto\"\n [placeholder]=\"placeholderEntrada()\"\n appendTo=\"body\"\n [attr.aria-label]=\"filtroSelecionado()?.nome\"\n />\n }\n }\n </div>\n\n @if (aplicaPorConfirmacao() && entradaHabilitada()) {\n <button\n type=\"button\"\n class=\"pjc-filtro-confirmar\"\n (click)=\"aplicar()\"\n aria-label=\"Aplicar filtro\"\n >\n <i class=\"pi pi-plus\"></i>\n </button>\n }\n </div>\n\n @if (filtrosSelecionados().length > 0) {\n <div class=\"pjc-filtro-chips\" role=\"list\" aria-label=\"Filtros aplicados\">\n @for (f of filtrosSelecionados(); track f.codigo) {\n <p-chip\n [label]=\"f.nome + ': ' + f.valorMostrar\"\n [removable]=\"true\"\n (onRemove)=\"remover(f)\"\n />\n }\n </div>\n }\n\n <div class=\"pjc-sr-only\" role=\"status\" aria-live=\"polite\">{{ anuncioA11y() }}</div>\n</div>\n", styles: [":host{display:block;width:100%;position:relative}.pjc-filtro-container{display:flex;align-items:center;gap:.5rem;width:100%;padding:.25rem .5rem;border:1px solid var(--p-inputtext-border-color, var(--p-surface-300));border-radius:var(--p-border-radius, .375rem);background:var(--p-inputtext-background, transparent);transition:border-color .15s,box-shadow .15s}.pjc-filtro-container:focus-within{border-color:var(--p-primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--p-primary-color) 20%,transparent)}.pjc-filtro-container.pjc-filtro-disabled{opacity:.6;pointer-events:none}.pjc-filtro-entrada{flex:1 1 auto;min-width:0;display:flex;align-items:center}.pjc-filtro-entrada--full{width:100%}.pjc-filtro-confirmar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;border:1px solid var(--p-surface-300);background:transparent;color:var(--p-primary-color);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.pjc-filtro-confirmar:hover:not(:disabled){background:var(--p-primary-color);color:var(--p-primary-contrast-color, #fff);border-color:var(--p-primary-color)}.pjc-filtro-confirmar:disabled{cursor:not-allowed;opacity:.5}:host ::ng-deep .pjc-filtro-prefix .p-select,:host ::ng-deep .pjc-filtro-prefix.p-select,:host ::ng-deep .pjc-filtro-prefix .p-select:hover,:host ::ng-deep .pjc-filtro-prefix .p-select:focus,:host ::ng-deep .pjc-filtro-prefix .p-select.p-focus{border:none;box-shadow:none;background:transparent;min-width:8rem}:host ::ng-deep .pjc-filtro-prefix .p-select-label{padding:.25rem;font-weight:500}:host ::ng-deep input.pjc-filtro-input,:host ::ng-deep input.pjc-filtro-input.p-inputtext{flex:1 1 auto;width:100%;border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;font:inherit;color:inherit}:host ::ng-deep input.pjc-filtro-input:hover,:host ::ng-deep input.pjc-filtro-input:focus,:host ::ng-deep input.pjc-filtro-input:focus-visible,:host ::ng-deep input.pjc-filtro-input.p-inputtext:hover,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus,:host ::ng-deep input.pjc-filtro-input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent}.pjc-filtro-input.pjc-filtro-uppercase{text-transform:uppercase}:host ::ng-deep .pjc-filtro-datepicker .p-datepicker,:host ::ng-deep .pjc-filtro-datepicker.p-datepicker{width:100%;border:none;box-shadow:none;background:transparent}:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:hover,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus,:host ::ng-deep .pjc-filtro-datepicker input.p-inputtext:focus-visible{border:none;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;width:100%}:host ::ng-deep .pjc-filtro-enum-select,:host ::ng-deep .pjc-filtro-enum-select .p-select,:host ::ng-deep .pjc-filtro-enum-select.p-select,:host ::ng-deep .pjc-filtro-enum-select .p-select:hover,:host ::ng-deep .pjc-filtro-enum-select .p-select:focus,:host ::ng-deep .pjc-filtro-enum-select .p-select.p-focus{border:none;box-shadow:none;background:transparent;width:100%;min-width:0}:host ::ng-deep .pjc-filtro-enum-select .p-select-label,:host ::ng-deep .pjc-filtro-enum-select.p-select .p-select-label{padding:.25rem 0}:host ::ng-deep .pjc-filtro-enum-select .p-select-dropdown,:host ::ng-deep .pjc-filtro-enum-select.p-select .p-select-dropdown{width:2rem;background:transparent;border:none}:host ::ng-deep .pjc-filtro-enum-multi,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:hover,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect:focus,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect.p-focus{border:none;box-shadow:none;background:transparent;width:100%;min-width:0}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-label,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect .p-multiselect-label{padding:.25rem 0}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-dropdown,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect .p-multiselect-dropdown{width:2rem;background:transparent;border:none}:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-chip-item,:host ::ng-deep .pjc-filtro-enum-multi.p-multiselect .p-multiselect-chip-item{margin-inline:.125rem}:host ::ng-deep .pjc-filtro-enum-select .p-select-label-empty,:host ::ng-deep .pjc-filtro-enum-multi .p-multiselect-label-empty{color:var(--p-text-muted-color)}.pjc-filtro-range{display:flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0}.pjc-filtro-range .pjc-filtro-input{flex:1 1 0;min-width:0}.pjc-filtro-range-sep{color:var(--p-text-muted-color);-webkit-user-select:none;user-select:none;flex:0 0 auto}.pjc-filtro-chips{display:flex;flex-wrap:wrap;gap:.25rem}.pjc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
2355
2355
  }], propDecorators: { filtros: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtros", required: false }] }], tipoSelecionado: [{ type: i0.Input, args: [{ isSignal: true, alias: "tipoSelecionado", required: false }] }], filtrosSelecionados: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtrosSelecionados", required: false }] }], seletorPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "seletorPlaceholder", required: false }] }], filtrar: [{ type: i0.Output, args: ["filtrar"] }], erroValidacao: [{ type: i0.Output, args: ["erroValidacao"] }] } });
2356
2356
 
2357
2357
  class PjcHoraFieldComponent {
@@ -3257,13 +3257,16 @@ class PjcUfFieldComponent {
3257
3257
  labelVariant = input('on', ...(ngDevMode ? [{ debugName: "labelVariant" }] : /* istanbul ignore next */ []));
3258
3258
  readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
3259
3259
  filter = input(false, ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
3260
+ uppercase = input(false, ...(ngDevMode ? [{ debugName: "uppercase" }] : /* istanbul ignore next */ []));
3260
3261
  erros = input({}, ...(ngDevMode ? [{ debugName: "erros" }] : /* istanbul ignore next */ []));
3261
3262
  injector = inject(Injector);
3262
3263
  cdr = inject(ChangeDetectorRef);
3263
3264
  destroyRef = inject(DestroyRef);
3264
3265
  filterService = inject(FilterService);
3265
3266
  ngControl = null;
3266
- estados = ESTADOS;
3267
+ estadosDisplay = computed(() => this.uppercase()
3268
+ ? ESTADOS.map(e => ({ ...e, descricao: e.descricao.toUpperCase() }))
3269
+ : ESTADOS, ...(ngDevMode ? [{ debugName: "estadosDisplay" }] : /* istanbul ignore next */ []));
3267
3270
  accentContainsFilter = PJC_ACCENT_CONTAINS;
3268
3271
  value = null;
3269
3272
  disabled = false;
@@ -3286,7 +3289,7 @@ class PjcUfFieldComponent {
3286
3289
  return getErrorMessage(this.ngControl, this.erros());
3287
3290
  }
3288
3291
  writeValue(val) {
3289
- this.value = val?.uf ? (ESTADOS.find(e => e.uf === val.uf) ?? null) : null;
3292
+ this.value = val?.uf ? (this.estadosDisplay().find(e => e.uf === val.uf) ?? null) : null;
3290
3293
  this.cdr.markForCheck();
3291
3294
  }
3292
3295
  registerOnChange(fn) {
@@ -3300,19 +3303,20 @@ class PjcUfFieldComponent {
3300
3303
  }
3301
3304
  onModelChange(value) {
3302
3305
  this.value = value;
3303
- this.onChange(value);
3306
+ const original = value?.uf ? (ESTADOS.find(e => e.uf === value.uf) ?? null) : null;
3307
+ this.onChange(original);
3304
3308
  }
3305
3309
  onModelTouched() {
3306
3310
  this.onTouched();
3307
3311
  }
3308
3312
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcUfFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3309
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcUfFieldComponent, isStandalone: true, selector: "pjc-uf-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelVariant: { classPropertyName: "labelVariant", publicName: "labelVariant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, erros: { classPropertyName: "erros", publicName: "erros", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
3313
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: PjcUfFieldComponent, isStandalone: true, selector: "pjc-uf-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelVariant: { classPropertyName: "labelVariant", publicName: "labelVariant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, uppercase: { classPropertyName: "uppercase", publicName: "uppercase", isSignal: true, isRequired: false, transformFunction: null }, erros: { classPropertyName: "erros", publicName: "erros", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
3310
3314
  {
3311
3315
  provide: NG_VALUE_ACCESSOR,
3312
3316
  useExisting: forwardRef(() => PjcUfFieldComponent),
3313
3317
  multi: true,
3314
3318
  },
3315
- ], 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-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 [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\n [disabled]=\"disabled || readonly()\"\n styleClass=\"w-full\"\n class=\"w-full\"\n [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\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 [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\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 [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\n />\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n\n @if (errorMessage) {\n <p-message severity=\"error\" variant=\"simple\" size=\"small\">{{ errorMessage }}</p-message>\n }\n\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2$3.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i5.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i6.Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant", "motionOptions"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3319
+ ], 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-select\n [inputId]=\"id()\"\n [options]=\"estadosDisplay()\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\n [disabled]=\"disabled || readonly()\"\n styleClass=\"w-full\"\n class=\"w-full\"\n [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\n />\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-select\n [inputId]=\"id()\"\n [options]=\"estadosDisplay()\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\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 [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\n />\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n\n @if (errorMessage) {\n <p-message severity=\"error\" variant=\"simple\" size=\"small\">{{ errorMessage }}</p-message>\n }\n\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2$3.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i5.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i6.Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant", "motionOptions"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3316
3320
  }
3317
3321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PjcUfFieldComponent, decorators: [{
3318
3322
  type: Component,
@@ -3322,8 +3326,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
3322
3326
  useExisting: forwardRef(() => PjcUfFieldComponent),
3323
3327
  multi: true,
3324
3328
  },
3325
- ], template: "<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 [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\n [disabled]=\"disabled || readonly()\"\n styleClass=\"w-full\"\n class=\"w-full\"\n [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\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 [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\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 [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\n />\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n\n @if (errorMessage) {\n <p-message severity=\"error\" variant=\"simple\" size=\"small\">{{ errorMessage }}</p-message>\n }\n\n <ng-content></ng-content>\n</div>\n" }]
3326
- }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], labelVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelVariant", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], erros: [{ type: i0.Input, args: [{ isSignal: true, alias: "erros", required: false }] }] } });
3329
+ ], template: "<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]=\"estadosDisplay()\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\n [disabled]=\"disabled || readonly()\"\n styleClass=\"w-full\"\n class=\"w-full\"\n [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\n />\n <label [for]=\"id()\">{{ label() }}</label>\n </p-floatlabel>\n } @else {\n <p-select\n [inputId]=\"id()\"\n [options]=\"estadosDisplay()\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onBlur)=\"onModelTouched()\"\n optionLabel=\"descricao\"\n dataKey=\"uf\"\n appendTo=\"body\"\n [filter]=\"filter()\"\n [filterMatchMode]=\"$any(accentContainsFilter)\"\n filterBy=\"descricao\"\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 [class.ng-invalid]=\"invalid\"\n [class.ng-dirty]=\"invalid\"\n />\n }\n\n @if (hint()) {\n <small class=\"text-xs text-surface-500\">{{ hint() }}</small>\n }\n\n @if (errorMessage) {\n <p-message severity=\"error\" variant=\"simple\" size=\"small\">{{ errorMessage }}</p-message>\n }\n\n <ng-content></ng-content>\n</div>\n" }]
3330
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], labelVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelVariant", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], uppercase: [{ type: i0.Input, args: [{ isSignal: true, alias: "uppercase", required: false }] }], erros: [{ type: i0.Input, args: [{ isSignal: true, alias: "erros", required: false }] }] } });
3327
3331
 
3328
3332
  class PjcUppercaseFieldComponent {
3329
3333
  label = input('Nome', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));