keevo-components 1.8.422 → 1.8.424

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  export class TablePaginate {
2
2
  constructor() {
3
3
  this.paginaInicial = 1;
4
- this.tamanhoPagina = 25;
4
+ this.tamanhoPagina = 20;
5
5
  this.termoPesquisa = '';
6
6
  this.ordenacao = '';
7
7
  this.ordernacaoGroup = { column: '', direction: '' };
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGFnaW5hdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUucGFnaW5hdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDRSxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQTJDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDMUYsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRhYmxlUGFnaW5hdGUge1xyXG4gIHBhZ2luYUluaWNpYWw6IG51bWJlciA9IDE7XHJcbiAgdGFtYW5ob1BhZ2luYTogbnVtYmVyID0gMjU7XHJcbiAgdGVybW9QZXNxdWlzYTogc3RyaW5nID0gJyc7XHJcbiAgb3JkZW5hY2FvOiBzdHJpbmcgPSAnJztcclxuICBvcmRlcm5hY2FvR3JvdXA/OiB7IGNvbHVtbjogc3RyaW5nLCBkaXJlY3Rpb246IHN0cmluZyB9ID0geyBjb2x1bW46ICcnLCBkaXJlY3Rpb246ICcnIH07XHJcbn1cclxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGFnaW5hdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUucGFnaW5hdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDRSxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQTJDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDMUYsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRhYmxlUGFnaW5hdGUge1xyXG4gIHBhZ2luYUluaWNpYWw6IG51bWJlciA9IDE7XHJcbiAgdGFtYW5ob1BhZ2luYTogbnVtYmVyID0gMjA7XHJcbiAgdGVybW9QZXNxdWlzYTogc3RyaW5nID0gJyc7XHJcbiAgb3JkZW5hY2FvOiBzdHJpbmcgPSAnJztcclxuICBvcmRlcm5hY2FvR3JvdXA/OiB7IGNvbHVtbjogc3RyaW5nLCBkaXJlY3Rpb246IHN0cmluZyB9ID0geyBjb2x1bW46ICcnLCBkaXJlY3Rpb246ICcnIH07XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V2ZXJpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL3R5cGVzL3NldmVyaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFNldmVyaXR5ID0gXCJwcmltYXJ5XCIgfCBcInNlY29uZGFyeVwiIHwgXCJzdWNjZXNzXCIgfCBcImluZm9cIiB8IFwid2FybmluZ1wiIHwgXCJoZWxwXCIgfCBcImRhbmdlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgU2V2ZXJpdHk7XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
2
2
  import { BaseComponentInput } from '../../../api/base-components/base-component-input';
3
3
  import { ComponentProviders } from '../../../api/helpers/component-providers';
4
4
  import * as i0 from "@angular/core";
@@ -20,6 +20,7 @@ export class KvInputCalendarComponent extends BaseComponentInput {
20
20
  this.onSelectionValue = new EventEmitter();
21
21
  this.typeView = 'date';
22
22
  this.dateFormat = 'dd/mm/yy';
23
+ this.lastInputValue = '';
23
24
  }
24
25
  onWindowResize() {
25
26
  this.screenWidth = window.innerWidth;
@@ -60,12 +61,79 @@ export class KvInputCalendarComponent extends BaseComponentInput {
60
61
  }
61
62
  }
62
63
  }
64
+ onKeyDate(event) {
65
+ if (this.typeView === 'date') {
66
+ const inputElement = event.target;
67
+ let inputValue = inputElement.value.replace(/\D/g, ''); // Remove tudo que não seja dígito
68
+ const cursorPosition = inputElement.selectionStart; // Pega a posição atual do cursor
69
+ // Limita a entrada a 8 caracteres (ddmmyyyy)
70
+ if (inputValue.length > 8) {
71
+ inputValue = inputValue.substring(0, 8);
72
+ }
73
+ inputValue = this.maskDate(inputValue);
74
+ let indAdicao = inputValue.length > this.lastInputValue.length ? true : false;
75
+ this.lastInputValue = inputValue;
76
+ // Calcula a diferença de tamanho após aplicar a máscara
77
+ const maskedLength = inputValue.length;
78
+ const lengthDiff = maskedLength - this.lastInputValue.length;
79
+ // Atualiza o valor do input sem perder a posição do cursor
80
+ inputElement.value = inputValue;
81
+ // Ajusta a posição do cursor de acordo com a mudança causada pela máscara
82
+ let newCursorPosition = cursorPosition + lengthDiff;
83
+ // Se o cursor estava exatamente em uma posição de barra e foi uma adição, ajusta para pular a barra ( somente na adição de caracteres )
84
+ if (indAdicao) {
85
+ if (cursorPosition === 3 || cursorPosition === 6) {
86
+ newCursorPosition += 1;
87
+ }
88
+ }
89
+ // Evita que o cursor vá além do final do valor digitado
90
+ if (newCursorPosition > inputElement.value.length) {
91
+ newCursorPosition = inputElement.value.length;
92
+ }
93
+ // Define a nova posição do cursor
94
+ inputElement.setSelectionRange(newCursorPosition, newCursorPosition);
95
+ }
96
+ }
97
+ onInputBlur(event) {
98
+ super.onInputBlur(event);
99
+ if (this.typeView === 'date') {
100
+ const input = event.target; // Cast para HTMLInputElement
101
+ if (input && input.value) {
102
+ const dateString = input.value; // Pega o valor do input
103
+ const [day, month, year] = dateString.split('/');
104
+ // Verifica se é uma data válida
105
+ if (day &&
106
+ month &&
107
+ year &&
108
+ day.length === 2 &&
109
+ month.length === 2 &&
110
+ year.length === 4) {
111
+ const objDate = new Date(+year, +month - 1, +day);
112
+ if (!isNaN(objDate.getTime())) {
113
+ // Verifica se a data é válida
114
+ this.dateFilter.value = objDate; // Atribui a data sem barras ao dateFilter
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ maskDate(date) {
121
+ // Aplica a máscara (dd/mm/yyyy)
122
+ let dateMasked = date;
123
+ if (date.length >= 5) {
124
+ dateMasked = date.replace(/^(\d{2})(\d{2})(\d{0,4})/, '$1/$2/$3'); // Formata como dd/mm/yyyy
125
+ }
126
+ else if (date.length >= 3) {
127
+ dateMasked = date.replace(/^(\d{2})(\d{0,2})/, '$1/$2'); // Formata como dd/mm
128
+ }
129
+ return dateMasked;
130
+ }
63
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvInputCalendarComponent, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvInputCalendarComponent, selector: "kv-input-calendar", inputs: { isYear: "isYear", isMonthYear: "isMonthYear", minDate: "minDate", maxDate: "maxDate", showButtonBar: "showButtonBar", showIcon: "showIcon", showTime: "showTime", selectionMode: "selectionMode" }, outputs: { onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvInputCalendarComponent), viewQueries: [{ propertyName: "dateFilter", first: true, predicate: ["dateFilter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i4.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "component", type: i5.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvInputCalendarComponent, selector: "kv-input-calendar", inputs: { isYear: "isYear", isMonthYear: "isMonthYear", minDate: "minDate", maxDate: "maxDate", showButtonBar: "showButtonBar", showIcon: "showIcon", showTime: "showTime", selectionMode: "selectionMode" }, outputs: { onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvInputCalendarComponent), viewQueries: [{ propertyName: "dateFilter", first: true, predicate: ["dateFilter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n\r\n dateMask\r\n (onInput)=\"onKeyDate($event)\"\r\n\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i4.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "component", type: i5.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] }); }
65
133
  }
66
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvInputCalendarComponent, decorators: [{
67
135
  type: Component,
68
- args: [{ selector: 'kv-input-calendar', providers: ComponentProviders(KvInputCalendarComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
136
+ args: [{ selector: 'kv-input-calendar', providers: ComponentProviders(KvInputCalendarComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n\r\n dateMask\r\n (onInput)=\"onKeyDate($event)\"\r\n\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
69
137
  }], ctorParameters: () => [{ type: i1.ComponentService }], propDecorators: { isYear: [{
70
138
  type: Input
71
139
  }], isMonthYear: [{
@@ -93,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
93
161
  type: HostListener,
94
162
  args: ['window:resize', ['$event']]
95
163
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LWNhbGVuZGFyL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1jYWxlbmRhci9rdi1pbnB1dC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZOUUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUF3QjtJQWtCcEUsWUFBWSxnQkFBa0M7UUFDNUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFsQmpCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQW9DLFFBQVEsQ0FBQztRQUN6RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUduRSxhQUFRLEdBQXFCLE1BQU0sQ0FBQztRQUNwQyxlQUFVLEdBQVcsVUFBVSxDQUFDO0lBTWhDLENBQUM7SUFHRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFUSxVQUFVLENBQUMsS0FBVztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFJUyxhQUFhLENBQUMsS0FBVTtRQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OEdBckVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHlaQUZ4QixrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQywySkN2QnpELDgrQkFnQ0E7OzJGRFBhLHdCQUF3QjtrQkFUcEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFNbEIsa0JBQWtCLDBCQUEwQjtxRkFHOUMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQzBCLFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWTtnQkFZdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENhbGVuZGFyVHlwZVZpZXcgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnRJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtaW5wdXQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi9hcGkvaGVscGVycy9jb21wb25lbnQtcHJvdmlkZXJzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWlucHV0LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4va3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL2tlZXZvLWNvbXBvbmVudHMtc3R5bGVzLnNjc3MnLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBDb21wb25lbnRQcm92aWRlcnMoS3ZJbnB1dENhbGVuZGFyQ29tcG9uZW50KSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2SW5wdXRDYWxlbmRhckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRJbnB1dDxEYXRlPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaXNZZWFyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNNb250aFllYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBtaW5EYXRlITogRGF0ZTtcclxuICBASW5wdXQoKSBtYXhEYXRlITogRGF0ZTtcclxuICBASW5wdXQoKSBzaG93QnV0dG9uQmFyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0ljb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dUaW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnIHwgJ3JhbmdlJyA9ICdzaW5nbGUnO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uVmFsdWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVGaWx0ZXInKSBwcml2YXRlIGRhdGVGaWx0ZXI6IGFueTtcclxuXHJcbiAgdHlwZVZpZXc6IENhbGVuZGFyVHlwZVZpZXcgPSAnZGF0ZSc7XHJcbiAgZGF0ZUZvcm1hdDogc3RyaW5nID0gJ2RkL21tL3l5JztcclxuXHJcbiAgc2NyZWVuV2lkdGghOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1llYXIpIHtcclxuICAgICAgdGhpcy50eXBlVmlldyA9ICd5ZWFyJztcclxuICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gJ3l5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5pc01vbnRoWWVhcikge1xyXG4gICAgICB0aGlzLnR5cGVWaWV3ID0gJ21vbnRoJztcclxuICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gJ21tL3l5JztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHlwZVZpZXcgPSAnZGF0ZSc7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICdkZC9tbS95eSc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcm90ZWN0ZWQgb25JbnB1dENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmhpZGVPblJhbmdlTW9kZSgpO1xyXG4gICAgdGhpcy5vblNlbGVjdGlvblZhbHVlLmVtaXQoZXZlbnQpO1xyXG5cclxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVPblJhbmdlTW9kZSgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT0gJ3JhbmdlJykge1xyXG4gICAgICBpZiAodGhpcy5kYXRlRmlsdGVyLnZhbHVlWzFdKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlRmlsdGVyLmhpZGVPdmVybGF5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHNwYW4+XHJcbiAgPGt2LWxhYmVsXHJcbiAgICBbY29tcG9uZW50SWRdPVwiY29tcG9uZW50SWRcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsICYmIGxhYmVsICsgKHNob3dBc3RlcmlzayA/ICcqJyA6ICcnKVwiXHJcbiAgLz5cclxuICA8cC1jYWxlbmRhclxyXG4gICAgI2RhdGVGaWx0ZXJcclxuICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICBbY2xhc3NdPVwiYmFzZUlucHV0Q2xhc3NcIlxyXG4gICAgW2lkXT1cImNvbXBvbmVudElkXCJcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICBbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCJcclxuICAgIFtzaG93QnV0dG9uQmFyXT1cInNob3dCdXR0b25CYXJcIlxyXG4gICAgW3Nob3dJY29uXT1cInNob3dJY29uXCJcclxuICAgIFtzaG93VGltZV09XCJzaG93VGltZVwiXHJcbiAgICBbc2hvd09uRm9jdXNdPVwic2hvd1RpbWUgfHwgc2NyZWVuV2lkdGggPiAxMzY2IHx8IHNlbGVjdGlvbk1vZGUgPT0gJ3JhbmdlJ1wiXHJcbiAgICBbdmlld109XCJ0eXBlVmlld1wiXHJcbiAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0XCJcclxuICAgIChvbkJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXHJcbiAgICAob25DbG9zZSk9XCJvbklucHV0Q2xvc2UoJGV2ZW50KVwiXHJcbiAgICAob25TZWxlY3QpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcclxuICAgIHN0eWxlQ2xhc3M9XCJpbnB1dHNcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICA+XHJcbiAgPC9wLWNhbGVuZGFyPlxyXG5cclxuICA8a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XHJcbjwvc3Bhbj5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LWNhbGVuZGFyL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1jYWxlbmRhci9rdi1pbnB1dC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZOUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEsa0JBQXdCO0lBd0JoQyxZQUFZLGdCQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQXRCakIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUs3QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsa0JBQWEsR0FBb0MsUUFBUSxDQUFDO1FBRXpELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSW5FLGFBQVEsR0FBcUIsTUFBTSxDQUFDO1FB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LDBCQUEwQjtxRkFNOUMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRTBCLFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWTtnQkFZdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDYWxlbmRhclR5cGVWaWV3IH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50SW5wdXQgfSBmcm9tICcuLi8uLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWlucHV0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2hlbHBlcnMvY29tcG9uZW50LXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1pbnB1dC1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi9rZWV2by1jb21wb25lbnRzLXN0eWxlcy5zY3NzJyxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKEt2SW5wdXRDYWxlbmRhckNvbXBvbmVudCksXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdklucHV0Q2FsZW5kYXJDb21wb25lbnRcclxuICBleHRlbmRzIEJhc2VDb21wb25lbnRJbnB1dDxEYXRlPlxyXG4gIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICBASW5wdXQoKSBpc1llYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc01vbnRoWWVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBtaW5EYXRlITogRGF0ZTtcclxuICBASW5wdXQoKSBtYXhEYXRlITogRGF0ZTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VGltZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvbk1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdyYW5nZScgPSAnc2luZ2xlJztcclxuICBcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvblZhbHVlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBcclxuICBAVmlld0NoaWxkKCdkYXRlRmlsdGVyJykgcHJpdmF0ZSBkYXRlRmlsdGVyOiBhbnk7XHJcblxyXG4gIHR5cGVWaWV3OiBDYWxlbmRhclR5cGVWaWV3ID0gJ2RhdGUnO1xyXG4gIGRhdGVGb3JtYXQ6IHN0cmluZyA9ICdkZC9tbS95eSc7XHJcblxyXG4gIHNjcmVlbldpZHRoITogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnRTZXJ2aWNlOiBDb21wb25lbnRTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNZZWFyKSB7XHJcbiAgICAgIHRoaXMudHlwZVZpZXcgPSAneWVhcic7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICd5eSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNNb250aFllYXIpIHtcclxuICAgICAgdGhpcy50eXBlVmlldyA9ICdtb250aCc7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICdtbS95eSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGVWaWV3ID0gJ2RhdGUnO1xyXG4gICAgICB0aGlzLmRhdGVGb3JtYXQgPSAnZGQvbW0veXknO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuaGlkZU9uUmFuZ2VNb2RlKCk7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW9uVmFsdWUuZW1pdChldmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZU9uUmFuZ2VNb2RlKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PSAncmFuZ2UnKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGVGaWx0ZXIudmFsdWVbMV0pIHtcclxuICAgICAgICB0aGlzLmRhdGVGaWx0ZXIuaGlkZU92ZXJsYXkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGFzdElucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIG9uS2V5RGF0ZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlVmlldyA9PT0gJ2RhdGUnKSB7XHJcblxyXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQ7XHJcblxyXG4gICAgICBsZXQgaW5wdXRWYWx1ZSA9IGlucHV0RWxlbWVudC52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpOyAvLyBSZW1vdmUgdHVkbyBxdWUgbsOjbyBzZWphIGTDrWdpdG9cclxuXHJcbiAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0OyAvLyBQZWdhIGEgcG9zacOnw6NvIGF0dWFsIGRvIGN1cnNvclxyXG5cclxuICAgICAgLy8gTGltaXRhIGEgZW50cmFkYSBhIDggY2FyYWN0ZXJlcyAoZGRtbXl5eXkpXHJcbiAgICAgIGlmIChpbnB1dFZhbHVlLmxlbmd0aCA+IDgpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZS5zdWJzdHJpbmcoMCwgOCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0VmFsdWUgPSB0aGlzLm1hc2tEYXRlKGlucHV0VmFsdWUpO1xyXG4gICAgICBsZXQgaW5kQWRpY2FvID1cclxuICAgICAgICBpbnB1dFZhbHVlLmxlbmd0aCA+IHRoaXMubGFzdElucHV0VmFsdWUubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5sYXN0SW5wdXRWYWx1ZSA9IGlucHV0VmFsdWU7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhIGEgZGlmZXJlbsOnYSBkZSB0YW1hbmhvIGFww7NzIGFwbGljYXIgYSBtw6FzY2FyYVxyXG4gICAgICBjb25zdCBtYXNrZWRMZW5ndGggPSBpbnB1dFZhbHVlLmxlbmd0aDtcclxuICAgICAgY29uc3QgbGVuZ3RoRGlmZiA9IG1hc2tlZExlbmd0aCAtIHRoaXMubGFzdElucHV0VmFsdWUubGVuZ3RoO1xyXG5cclxuICAgICAgLy8gQXR1YWxpemEgbyB2YWxvciBkbyBpbnB1dCBzZW0gcGVyZGVyIGEgcG9zacOnw6NvIGRvIGN1cnNvclxyXG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBpbnB1dFZhbHVlO1xyXG5cclxuICAgICAgLy8gQWp1c3RhIGEgcG9zacOnw6NvIGRvIGN1cnNvciBkZSBhY29yZG8gY29tIGEgbXVkYW7Dp2EgY2F1c2FkYSBwZWxhIG3DoXNjYXJhXHJcbiAgICAgIGxldCBuZXdDdXJzb3JQb3NpdGlvbiA9IGN1cnNvclBvc2l0aW9uICsgbGVuZ3RoRGlmZjtcclxuXHJcbiAgICAgIC8vIFNlIG8gY3Vyc29yIGVzdGF2YSBleGF0YW1lbnRlIGVtIHVtYSBwb3Npw6fDo28gZGUgYmFycmEgZSBmb2kgdW1hIGFkacOnw6NvLCBhanVzdGEgcGFyYSBwdWxhciBhIGJhcnJhICggc29tZW50ZSBuYSBhZGnDp8OjbyBkZSBjYXJhY3RlcmVzIClcclxuICAgICAgaWYgKGluZEFkaWNhbykge1xyXG4gICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA9PT0gMyB8fCBjdXJzb3JQb3NpdGlvbiA9PT0gNikge1xyXG4gICAgICAgICAgbmV3Q3Vyc29yUG9zaXRpb24gKz0gMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gRXZpdGEgcXVlIG8gY3Vyc29yIHbDoSBhbMOpbSBkbyBmaW5hbCBkbyB2YWxvciBkaWdpdGFkb1xyXG4gICAgICBpZiAobmV3Q3Vyc29yUG9zaXRpb24gPiBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgbmV3Q3Vyc29yUG9zaXRpb24gPSBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZWZpbmUgYSBub3ZhIHBvc2nDp8OjbyBkbyBjdXJzb3JcclxuICAgICAgaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKG5ld0N1cnNvclBvc2l0aW9uLCBuZXdDdXJzb3JQb3NpdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvbklucHV0Qmx1cihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uSW5wdXRCbHVyKGV2ZW50KTtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMudHlwZVZpZXcgPT09ICdkYXRlJykge1xyXG4gICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50OyAvLyBDYXN0IHBhcmEgSFRNTElucHV0RWxlbWVudFxyXG4gICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudmFsdWUpIHtcclxuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gaW5wdXQudmFsdWU7IC8vIFBlZ2EgbyB2YWxvciBkbyBpbnB1dFxyXG4gICAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGRhdGVTdHJpbmcuc3BsaXQoJy8nKTtcclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2Egc2Ugw6kgdW1hIGRhdGEgdsOhbGlkYVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRheSAmJlxyXG4gICAgICAgICAgbW9udGggJiZcclxuICAgICAgICAgIHllYXIgJiZcclxuICAgICAgICAgIGRheS5sZW5ndGggPT09IDIgJiZcclxuICAgICAgICAgIG1vbnRoLmxlbmd0aCA9PT0gMiAmJlxyXG4gICAgICAgICAgeWVhci5sZW5ndGggPT09IDRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IG9iakRhdGUgPSBuZXcgRGF0ZSgreWVhciwgK21vbnRoIC0gMSwgK2RheSk7XHJcbiAgICAgICAgICBpZiAoIWlzTmFOKG9iakRhdGUuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgICAgICAvLyBWZXJpZmljYSBzZSBhIGRhdGEgw6kgdsOhbGlkYVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVGaWx0ZXIudmFsdWUgPSBvYmpEYXRlOyAvLyBBdHJpYnVpIGEgZGF0YSBzZW0gYmFycmFzIGFvIGRhdGVGaWx0ZXJcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBtYXNrRGF0ZShkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQXBsaWNhIGEgbcOhc2NhcmEgKGRkL21tL3l5eXkpXHJcbiAgICBsZXQgZGF0ZU1hc2tlZCA9IGRhdGU7XHJcbiAgICBpZiAoZGF0ZS5sZW5ndGggPj0gNSkge1xyXG4gICAgICBkYXRlTWFza2VkID0gZGF0ZS5yZXBsYWNlKC9eKFxcZHsyfSkoXFxkezJ9KShcXGR7MCw0fSkvLCAnJDEvJDIvJDMnKTsgLy8gRm9ybWF0YSBjb21vIGRkL21tL3l5eXlcclxuICAgIH0gZWxzZSBpZiAoZGF0ZS5sZW5ndGggPj0gMykge1xyXG4gICAgICBkYXRlTWFza2VkID0gZGF0ZS5yZXBsYWNlKC9eKFxcZHsyfSkoXFxkezAsMn0pLywgJyQxLyQyJyk7IC8vIEZvcm1hdGEgY29tbyBkZC9tbVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGVNYXNrZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxzcGFuPlxyXG4gIDxrdi1sYWJlbFxyXG4gICAgW2NvbXBvbmVudElkXT1cImNvbXBvbmVudElkXCJcclxuICAgIFtsYWJlbF09XCJsYWJlbCAmJiBsYWJlbCArIChzaG93QXN0ZXJpc2sgPyAnKicgOiAnJylcIlxyXG4gIC8+XHJcbiAgPHAtY2FsZW5kYXJcclxuXHJcbiAgICBkYXRlTWFza1xyXG4gICAgKG9uSW5wdXQpPVwib25LZXlEYXRlKCRldmVudClcIlxyXG5cclxuICAgICNkYXRlRmlsdGVyXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgIFtpZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxyXG4gICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXHJcbiAgICBbc2hvd0J1dHRvbkJhcl09XCJzaG93QnV0dG9uQmFyXCJcclxuICAgIFtzaG93SWNvbl09XCJzaG93SWNvblwiXHJcbiAgICBbc2hvd1RpbWVdPVwic2hvd1RpbWVcIlxyXG4gICAgW3Nob3dPbkZvY3VzXT1cInNob3dUaW1lIHx8IHNjcmVlbldpZHRoID4gMTM2NiB8fCBzZWxlY3Rpb25Nb2RlID09ICdyYW5nZSdcIlxyXG4gICAgW3ZpZXddPVwidHlwZVZpZXdcIlxyXG4gICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdFwiXHJcbiAgICAob25CbHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxyXG4gICAgKG9uQ2xvc2UpPVwib25JbnB1dENsb3NlKCRldmVudClcIlxyXG4gICAgKG9uU2VsZWN0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBzdHlsZUNsYXNzPVwiaW5wdXRzXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgPlxyXG4gIDwvcC1jYWxlbmRhcj5cclxuXHJcbiAgPGt2LWVycm9yIFtoYXNFcnJvcl09XCJoYXNDb250cm9sRXJyb3IoKVwiPnt7IGVycm9NZXNzYWdlKCkgfX08L2t2LWVycm9yPlxyXG48L3NwYW4+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -982,7 +982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
982
982
  class TablePaginate {
983
983
  constructor() {
984
984
  this.paginaInicial = 1;
985
- this.tamanhoPagina = 25;
985
+ this.tamanhoPagina = 20;
986
986
  this.termoPesquisa = '';
987
987
  this.ordenacao = '';
988
988
  this.ordernacaoGroup = { column: '', direction: '' };
@@ -5211,6 +5211,7 @@ class KvInputCalendarComponent extends BaseComponentInput {
5211
5211
  this.onSelectionValue = new EventEmitter();
5212
5212
  this.typeView = 'date';
5213
5213
  this.dateFormat = 'dd/mm/yy';
5214
+ this.lastInputValue = '';
5214
5215
  }
5215
5216
  onWindowResize() {
5216
5217
  this.screenWidth = window.innerWidth;
@@ -5251,12 +5252,79 @@ class KvInputCalendarComponent extends BaseComponentInput {
5251
5252
  }
5252
5253
  }
5253
5254
  }
5255
+ onKeyDate(event) {
5256
+ if (this.typeView === 'date') {
5257
+ const inputElement = event.target;
5258
+ let inputValue = inputElement.value.replace(/\D/g, ''); // Remove tudo que não seja dígito
5259
+ const cursorPosition = inputElement.selectionStart; // Pega a posição atual do cursor
5260
+ // Limita a entrada a 8 caracteres (ddmmyyyy)
5261
+ if (inputValue.length > 8) {
5262
+ inputValue = inputValue.substring(0, 8);
5263
+ }
5264
+ inputValue = this.maskDate(inputValue);
5265
+ let indAdicao = inputValue.length > this.lastInputValue.length ? true : false;
5266
+ this.lastInputValue = inputValue;
5267
+ // Calcula a diferença de tamanho após aplicar a máscara
5268
+ const maskedLength = inputValue.length;
5269
+ const lengthDiff = maskedLength - this.lastInputValue.length;
5270
+ // Atualiza o valor do input sem perder a posição do cursor
5271
+ inputElement.value = inputValue;
5272
+ // Ajusta a posição do cursor de acordo com a mudança causada pela máscara
5273
+ let newCursorPosition = cursorPosition + lengthDiff;
5274
+ // Se o cursor estava exatamente em uma posição de barra e foi uma adição, ajusta para pular a barra ( somente na adição de caracteres )
5275
+ if (indAdicao) {
5276
+ if (cursorPosition === 3 || cursorPosition === 6) {
5277
+ newCursorPosition += 1;
5278
+ }
5279
+ }
5280
+ // Evita que o cursor vá além do final do valor digitado
5281
+ if (newCursorPosition > inputElement.value.length) {
5282
+ newCursorPosition = inputElement.value.length;
5283
+ }
5284
+ // Define a nova posição do cursor
5285
+ inputElement.setSelectionRange(newCursorPosition, newCursorPosition);
5286
+ }
5287
+ }
5288
+ onInputBlur(event) {
5289
+ super.onInputBlur(event);
5290
+ if (this.typeView === 'date') {
5291
+ const input = event.target; // Cast para HTMLInputElement
5292
+ if (input && input.value) {
5293
+ const dateString = input.value; // Pega o valor do input
5294
+ const [day, month, year] = dateString.split('/');
5295
+ // Verifica se é uma data válida
5296
+ if (day &&
5297
+ month &&
5298
+ year &&
5299
+ day.length === 2 &&
5300
+ month.length === 2 &&
5301
+ year.length === 4) {
5302
+ const objDate = new Date(+year, +month - 1, +day);
5303
+ if (!isNaN(objDate.getTime())) {
5304
+ // Verifica se a data é válida
5305
+ this.dateFilter.value = objDate; // Atribui a data sem barras ao dateFilter
5306
+ }
5307
+ }
5308
+ }
5309
+ }
5310
+ }
5311
+ maskDate(date) {
5312
+ // Aplica a máscara (dd/mm/yyyy)
5313
+ let dateMasked = date;
5314
+ if (date.length >= 5) {
5315
+ dateMasked = date.replace(/^(\d{2})(\d{2})(\d{0,4})/, '$1/$2/$3'); // Formata como dd/mm/yyyy
5316
+ }
5317
+ else if (date.length >= 3) {
5318
+ dateMasked = date.replace(/^(\d{2})(\d{0,2})/, '$1/$2'); // Formata como dd/mm
5319
+ }
5320
+ return dateMasked;
5321
+ }
5254
5322
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvInputCalendarComponent, deps: [{ token: ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
5255
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvInputCalendarComponent, selector: "kv-input-calendar", inputs: { isYear: "isYear", isMonthYear: "isMonthYear", minDate: "minDate", maxDate: "maxDate", showButtonBar: "showButtonBar", showIcon: "showIcon", showTime: "showTime", selectionMode: "selectionMode" }, outputs: { onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvInputCalendarComponent), viewQueries: [{ propertyName: "dateFilter", first: true, predicate: ["dateFilter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "component", type: i5$4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] }); }
5323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvInputCalendarComponent, selector: "kv-input-calendar", inputs: { isYear: "isYear", isMonthYear: "isMonthYear", minDate: "minDate", maxDate: "maxDate", showButtonBar: "showButtonBar", showIcon: "showIcon", showTime: "showTime", selectionMode: "selectionMode" }, outputs: { onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvInputCalendarComponent), viewQueries: [{ propertyName: "dateFilter", first: true, predicate: ["dateFilter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n\r\n dateMask\r\n (onInput)=\"onKeyDate($event)\"\r\n\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "component", type: i5$4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] }); }
5256
5324
  }
5257
5325
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvInputCalendarComponent, decorators: [{
5258
5326
  type: Component,
5259
- args: [{ selector: 'kv-input-calendar', providers: ComponentProviders(KvInputCalendarComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
5327
+ args: [{ selector: 'kv-input-calendar', providers: ComponentProviders(KvInputCalendarComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n <p-calendar\r\n\r\n dateMask\r\n (onInput)=\"onKeyDate($event)\"\r\n\r\n #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [showOnFocus]=\"showTime || screenWidth > 1366 || selectionMode == 'range'\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n [placeholder]=\"placeholder\"\r\n >\r\n </p-calendar>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-calendar-w-btn .p-datepicker-trigger{background-color:#f2f3f5;border:none;color:#000;border:solid 1px #d1d5db;width:1.875rem}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:hover{background-color:#d9dadb}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:disabled{background-color:#f2f3f5}::ng-deep .p-calendar-w-btn .p-datepicker-trigger:active{background-color:#c0c1c2}::ng-deep input{font-size:.875rem}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
5260
5328
  }], ctorParameters: () => [{ type: ComponentService }], propDecorators: { isYear: [{
5261
5329
  type: Input
5262
5330
  }], isMonthYear: [{