keevo-components 2.0.141 → 2.0.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +6 -3
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +7 -4
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +3 -3
- package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +9 -3
- package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +3 -3
- package/fesm2022/keevo-components.mjs +22 -10
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/api/base-components/base-component-dropdown.d.ts +4 -1
- package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +2 -1
- package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +4 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, ViewChild, Injectable, signal, Directive, Pipe, ViewChildren, ContentChildren, forwardRef, viewChild, input, model, output, effect, computed, HostListener, NgModule, untracked, inject, ChangeDetectionStrategy, ViewContainerRef, HostBinding, contentChildren, Injector } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, ViewChild, Injectable, signal, Directive, Pipe, ViewChildren, ContentChildren, forwardRef, viewChild, input, model, output, effect, computed, HostListener, TemplateRef, ContentChild, NgModule, untracked, inject, ChangeDetectionStrategy, ViewContainerRef, HostBinding, contentChildren, Injector } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule, NgClass, DatePipe } from '@angular/common';
|
|
5
5
|
import * as i1$1 from 'primeng/button';
|
|
@@ -143,6 +143,7 @@ import * as vkbeautify from 'vkbeautify';
|
|
|
143
143
|
import * as i3$3 from 'ng2-pdf-viewer';
|
|
144
144
|
import { PdfViewerModule } from 'ng2-pdf-viewer';
|
|
145
145
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
146
|
+
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
146
147
|
|
|
147
148
|
class BaseComponentButton {
|
|
148
149
|
constructor() {
|
|
@@ -2544,6 +2545,9 @@ class BaseComponentDropDown extends BaseComponentInput {
|
|
|
2544
2545
|
this.onSelectionValue = new EventEmitter();
|
|
2545
2546
|
this.requestComplete = new EventEmitter();
|
|
2546
2547
|
this.onFilter = new EventEmitter();
|
|
2548
|
+
this.showFooterTemplate = input(false);
|
|
2549
|
+
this.footerButtonLabel = input('Adicionar item');
|
|
2550
|
+
this.footerButtonAction = output();
|
|
2547
2551
|
this.prepositions = [
|
|
2548
2552
|
'de',
|
|
2549
2553
|
'da',
|
|
@@ -2703,7 +2707,7 @@ class BaseComponentDropDown extends BaseComponentInput {
|
|
|
2703
2707
|
return options;
|
|
2704
2708
|
}
|
|
2705
2709
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentDropDown, deps: [{ token: ComponentService }, { token: i1$3.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2706
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2710
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: BaseComponentDropDown, selector: "ng-component", inputs: { filteredOptions: { classPropertyName: "filteredOptions", publicName: "filteredOptions", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, nameForSelectionChange: { classPropertyName: "nameForSelectionChange", publicName: "nameForSelectionChange", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, capitalize: { classPropertyName: "capitalize", publicName: "capitalize", isSignal: false, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, showAddButton: { classPropertyName: "showAddButton", publicName: "showAddButton", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: null }, widthField: { classPropertyName: "widthField", publicName: "widthField", isSignal: false, isRequired: false, transformFunction: null }, showFooterTemplate: { classPropertyName: "showFooterTemplate", publicName: "showFooterTemplate", isSignal: true, isRequired: false, transformFunction: null }, footerButtonLabel: { classPropertyName: "footerButtonLabel", publicName: "footerButtonLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAddClick: "onAddClick", onClick: "onClick", onLoadCombo: "onLoadCombo", onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue", requestComplete: "requestComplete", onFilter: "onFilter", footerButtonAction: "footerButtonAction" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
2707
2711
|
}
|
|
2708
2712
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentDropDown, decorators: [{
|
|
2709
2713
|
type: Component,
|
|
@@ -2831,11 +2835,11 @@ class KvDropdownComponent extends BaseComponentDropDown {
|
|
|
2831
2835
|
this.onLazyLoad.emit(event);
|
|
2832
2836
|
}
|
|
2833
2837
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvDropdownComponent, deps: [{ token: ComponentService }, { token: i1$3.DialogService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2834
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.8", type: KvDropdownComponent, selector: "kv-dropdown", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, dropDowValue: { classPropertyName: "dropDowValue", publicName: "dropDowValue", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, selectedItemTemplate: { classPropertyName: "selectedItemTemplate", publicName: "selectedItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, disabledOptions: { classPropertyName: "disabledOptions", publicName: "disabledOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLazyLoad: "onLazyLoad" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvDropdownComponent), viewQueries: [{ propertyName: "pDropDown", first: true, predicate: Dropdown, descendants: true, isSignal: 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\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled()(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\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-dropdown-filter-icon{top:1.2rem}::ng-deep .p-dropdown-clear-icon{top:1.2em}::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%;border-radius:.5rem}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed;pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$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: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
|
|
2838
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvDropdownComponent, selector: "kv-dropdown", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, dropDowValue: { classPropertyName: "dropDowValue", publicName: "dropDowValue", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, selectedItemTemplate: { classPropertyName: "selectedItemTemplate", publicName: "selectedItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, disabledOptions: { classPropertyName: "disabledOptions", publicName: "disabledOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLazyLoad: "onLazyLoad" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvDropdownComponent), queries: [{ propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "pDropDown", first: true, predicate: Dropdown, descendants: true, isSignal: 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\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template> \r\n\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled()(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n @if(showFooterTemplate()) {\r\n <ng-template pTemplate=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate || defaultFooterTemplate;\"></ng-container>\r\n </ng-template>\r\n }\r\n\r\n <ng-template #defaultFooterTemplate>\r\n <div class=\"p-0 pb-2 text-center\">\r\n <button pButton type=\"button\" [label]=\"footerButtonLabel()\"\r\n icon=\"pi pi-plus\"\r\n class=\"text-xs p-button-xs p-button-text\"\r\n (click)=\"footerButtonAction.emit()\">\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\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-dropdown-filter-icon{top:1.2rem}::ng-deep .p-dropdown-clear-icon{top:1.2em}::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%;border-radius:.5rem}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed;pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$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: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
|
|
2835
2839
|
}
|
|
2836
2840
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvDropdownComponent, decorators: [{
|
|
2837
2841
|
type: Component,
|
|
2838
|
-
args: [{ selector: 'kv-dropdown', providers: ComponentProviders(KvDropdownComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled()(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\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-dropdown-filter-icon{top:1.2rem}::ng-deep .p-dropdown-clear-icon{top:1.2em}::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%;border-radius:.5rem}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed;pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"] }]
|
|
2842
|
+
args: [{ selector: 'kv-dropdown', providers: ComponentProviders(KvDropdownComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template> \r\n\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled()(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n @if(showFooterTemplate()) {\r\n <ng-template pTemplate=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate || defaultFooterTemplate;\"></ng-container>\r\n </ng-template>\r\n }\r\n\r\n <ng-template #defaultFooterTemplate>\r\n <div class=\"p-0 pb-2 text-center\">\r\n <button pButton type=\"button\" [label]=\"footerButtonLabel()\"\r\n icon=\"pi pi-plus\"\r\n class=\"text-xs p-button-xs p-button-text\"\r\n (click)=\"footerButtonAction.emit()\">\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\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-dropdown-filter-icon{top:1.2rem}::ng-deep .p-dropdown-clear-icon{top:1.2em}::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%;border-radius:.5rem}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed;pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"] }]
|
|
2839
2843
|
}], ctorParameters: () => [{ type: ComponentService }, { type: i1$3.DialogService }, { type: i0.ElementRef }], propDecorators: { filterPlaceholder: [{
|
|
2840
2844
|
type: Input
|
|
2841
2845
|
}], placeholder: [{
|
|
@@ -2850,6 +2854,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
2850
2854
|
type: Input
|
|
2851
2855
|
}], virtualScrollItemSize: [{
|
|
2852
2856
|
type: Input
|
|
2857
|
+
}], footerTemplate: [{
|
|
2858
|
+
type: ContentChild,
|
|
2859
|
+
args: ['footer', { read: TemplateRef }]
|
|
2853
2860
|
}], onLazyLoad: [{
|
|
2854
2861
|
type: Output
|
|
2855
2862
|
}], onWindowResize: [{
|
|
@@ -7332,11 +7339,11 @@ class KvLayoutComponent {
|
|
|
7332
7339
|
this.showVideoDocEmit.emit(trilha);
|
|
7333
7340
|
}
|
|
7334
7341
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$2.FormBuilder }, { token: i3$1.Router }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7335
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: { classPropertyName: "apps", publicName: "apps", isSignal: false, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: false, isRequired: false, transformFunction: null }, useCard: { classPropertyName: "useCard", publicName: "useCard", isSignal: false, isRequired: false, transformFunction: null }, topMenusVisible: { classPropertyName: "topMenusVisible", publicName: "topMenusVisible", isSignal: true, isRequired: false, transformFunction: null }, profileImage: { classPropertyName: "profileImage", publicName: "profileImage", isSignal: true, isRequired: false, transformFunction: null }, breadCrumbItems: { classPropertyName: "breadCrumbItems", publicName: "breadCrumbItems", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: false, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, expandMenu: { classPropertyName: "expandMenu", publicName: "expandMenu", isSignal: true, isRequired: false, transformFunction: null }, logoMenuExpand: { classPropertyName: "logoMenuExpand", publicName: "logoMenuExpand", isSignal: false, isRequired: false, transformFunction: null }, logoMenuHide: { classPropertyName: "logoMenuHide", publicName: "logoMenuHide", isSignal: false, isRequired: false, transformFunction: null }, selectedApp: { classPropertyName: "selectedApp", publicName: "selectedApp", isSignal: false, isRequired: false, transformFunction: null }, selectedEmpresa: { classPropertyName: "selectedEmpresa", publicName: "selectedEmpresa", isSignal: false, isRequired: false, transformFunction: null }, selectedMaster: { classPropertyName: "selectedMaster", publicName: "selectedMaster", isSignal: false, isRequired: false, transformFunction: null }, showButtonApps: { classPropertyName: "showButtonApps", publicName: "showButtonApps", isSignal: false, isRequired: false, transformFunction: null }, showButtonUser: { classPropertyName: "showButtonUser", publicName: "showButtonUser", isSignal: false, isRequired: false, transformFunction: null }, showExpandMenu: { classPropertyName: "showExpandMenu", publicName: "showExpandMenu", isSignal: false, isRequired: false, transformFunction: null }, showDropdownLicenca: { classPropertyName: "showDropdownLicenca", publicName: "showDropdownLicenca", isSignal: false, isRequired: false, transformFunction: null }, showMenu: { classPropertyName: "showMenu", publicName: "showMenu", isSignal: false, isRequired: false, transformFunction: null }, showTrocaEmpresa: { classPropertyName: "showTrocaEmpresa", publicName: "showTrocaEmpresa", isSignal: false, isRequired: false, transformFunction: null }, showBreadcrumb: { classPropertyName: "showBreadcrumb", publicName: "showBreadcrumb", isSignal: false, isRequired: false, transformFunction: null }, userName: { classPropertyName: "userName", publicName: "userName", isSignal: false, isRequired: false, transformFunction: null }, userEmail: { classPropertyName: "userEmail", publicName: "userEmail", isSignal: false, isRequired: false, transformFunction: null }, masterName: { classPropertyName: "masterName", publicName: "masterName", isSignal: false, isRequired: false, transformFunction: null }, empresaName: { classPropertyName: "empresaName", publicName: "empresaName", isSignal: false, isRequired: false, transformFunction: null }, idsAplicativosMenuHide: { classPropertyName: "idsAplicativosMenuHide", publicName: "idsAplicativosMenuHide", isSignal: false, isRequired: false, transformFunction: null }, useSelectionApps: { classPropertyName: "useSelectionApps", publicName: "useSelectionApps", isSignal: false, isRequired: false, transformFunction: null }, showTrilhaConhecimento: { classPropertyName: "showTrilhaConhecimento", publicName: "showTrilhaConhecimento", isSignal: false, isRequired: false, transformFunction: null }, isDisableSelectionEmpresa: { classPropertyName: "isDisableSelectionEmpresa", publicName: "isDisableSelectionEmpresa", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { menus: "menusChange", expandMenu: "expandMenuChange", accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit", navigateToDefaultRouteEmit: "navigateToDefaultRouteEmit", downloadDocEmit: "downloadDocEmit", showVideoDocEmit: "showVideoDocEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"h-full flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{ item.nomeaplicativo }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\r\n } @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n } @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n } @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } } @else { @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mx-3\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n }\r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-overlayPanel>\r\n</div>\r\n", styles: ["@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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{background-color:rgb(var(--kv-background-system),1);overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}.menu-childs .menu-childs-content::-webkit-scrollbar{width:8px}.menu-childs .menu-childs-content::-webkit-scrollbar:hover{background-color:#dededebf}.menu-childs .menu-childs-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.menu-childs .menu-childs-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.menu-childs .menu-childs-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6$2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i11.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i10$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TopIconsComponent, selector: "kv-top-icons", inputs: ["topActions"] }, { kind: "component", type: i12$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "component", type: DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: CpfCnpjPipe, name: "cpfCnpj" }] }); }
|
|
7342
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: { classPropertyName: "apps", publicName: "apps", isSignal: false, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: false, isRequired: false, transformFunction: null }, useCard: { classPropertyName: "useCard", publicName: "useCard", isSignal: false, isRequired: false, transformFunction: null }, topMenusVisible: { classPropertyName: "topMenusVisible", publicName: "topMenusVisible", isSignal: true, isRequired: false, transformFunction: null }, profileImage: { classPropertyName: "profileImage", publicName: "profileImage", isSignal: true, isRequired: false, transformFunction: null }, breadCrumbItems: { classPropertyName: "breadCrumbItems", publicName: "breadCrumbItems", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: false, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, expandMenu: { classPropertyName: "expandMenu", publicName: "expandMenu", isSignal: true, isRequired: false, transformFunction: null }, logoMenuExpand: { classPropertyName: "logoMenuExpand", publicName: "logoMenuExpand", isSignal: false, isRequired: false, transformFunction: null }, logoMenuHide: { classPropertyName: "logoMenuHide", publicName: "logoMenuHide", isSignal: false, isRequired: false, transformFunction: null }, selectedApp: { classPropertyName: "selectedApp", publicName: "selectedApp", isSignal: false, isRequired: false, transformFunction: null }, selectedEmpresa: { classPropertyName: "selectedEmpresa", publicName: "selectedEmpresa", isSignal: false, isRequired: false, transformFunction: null }, selectedMaster: { classPropertyName: "selectedMaster", publicName: "selectedMaster", isSignal: false, isRequired: false, transformFunction: null }, showButtonApps: { classPropertyName: "showButtonApps", publicName: "showButtonApps", isSignal: false, isRequired: false, transformFunction: null }, showButtonUser: { classPropertyName: "showButtonUser", publicName: "showButtonUser", isSignal: false, isRequired: false, transformFunction: null }, showExpandMenu: { classPropertyName: "showExpandMenu", publicName: "showExpandMenu", isSignal: false, isRequired: false, transformFunction: null }, showDropdownLicenca: { classPropertyName: "showDropdownLicenca", publicName: "showDropdownLicenca", isSignal: false, isRequired: false, transformFunction: null }, showMenu: { classPropertyName: "showMenu", publicName: "showMenu", isSignal: false, isRequired: false, transformFunction: null }, showTrocaEmpresa: { classPropertyName: "showTrocaEmpresa", publicName: "showTrocaEmpresa", isSignal: false, isRequired: false, transformFunction: null }, showBreadcrumb: { classPropertyName: "showBreadcrumb", publicName: "showBreadcrumb", isSignal: false, isRequired: false, transformFunction: null }, userName: { classPropertyName: "userName", publicName: "userName", isSignal: false, isRequired: false, transformFunction: null }, userEmail: { classPropertyName: "userEmail", publicName: "userEmail", isSignal: false, isRequired: false, transformFunction: null }, masterName: { classPropertyName: "masterName", publicName: "masterName", isSignal: false, isRequired: false, transformFunction: null }, empresaName: { classPropertyName: "empresaName", publicName: "empresaName", isSignal: false, isRequired: false, transformFunction: null }, idsAplicativosMenuHide: { classPropertyName: "idsAplicativosMenuHide", publicName: "idsAplicativosMenuHide", isSignal: false, isRequired: false, transformFunction: null }, useSelectionApps: { classPropertyName: "useSelectionApps", publicName: "useSelectionApps", isSignal: false, isRequired: false, transformFunction: null }, showTrilhaConhecimento: { classPropertyName: "showTrilhaConhecimento", publicName: "showTrilhaConhecimento", isSignal: false, isRequired: false, transformFunction: null }, isDisableSelectionEmpresa: { classPropertyName: "isDisableSelectionEmpresa", publicName: "isDisableSelectionEmpresa", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { menus: "menusChange", expandMenu: "expandMenuChange", accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit", navigateToDefaultRouteEmit: "navigateToDefaultRouteEmit", downloadDocEmit: "downloadDocEmit", showVideoDocEmit: "showVideoDocEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"h-full flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{ item.nomeaplicativo }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\r\n } @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n } @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n } @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } } @else { @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mb-2\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n }\r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-overlayPanel>\r\n</div>\r\n", styles: ["@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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{background-color:rgb(var(--kv-background-system),1);overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}.menu-childs .menu-childs-content::-webkit-scrollbar{width:8px}.menu-childs .menu-childs-content::-webkit-scrollbar:hover{background-color:#dededebf}.menu-childs .menu-childs-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.menu-childs .menu-childs-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.menu-childs .menu-childs-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6$2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i11.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i10$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TopIconsComponent, selector: "kv-top-icons", inputs: ["topActions"] }, { kind: "component", type: i12$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "component", type: DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: CpfCnpjPipe, name: "cpfCnpj" }] }); }
|
|
7336
7343
|
}
|
|
7337
7344
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, decorators: [{
|
|
7338
7345
|
type: Component,
|
|
7339
|
-
args: [{ selector: 'kv-layout', template: "<div class=\"h-full flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{ item.nomeaplicativo }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\r\n } @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n } @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n } @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } } @else { @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mx-3\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n }\r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-overlayPanel>\r\n</div>\r\n", styles: ["@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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{background-color:rgb(var(--kv-background-system),1);overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}.menu-childs .menu-childs-content::-webkit-scrollbar{width:8px}.menu-childs .menu-childs-content::-webkit-scrollbar:hover{background-color:#dededebf}.menu-childs .menu-childs-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.menu-childs .menu-childs-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.menu-childs .menu-childs-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"] }]
|
|
7346
|
+
args: [{ selector: 'kv-layout', template: "<div class=\"h-full flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{ item.nomeaplicativo }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\r\n } @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n } @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n } @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } } @else { @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <kv-top-icons [topActions]=\"topMenuOptions\" />\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mb-2\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n }\r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-overlayPanel>\r\n</div>\r\n", styles: ["@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-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,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,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}: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:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{background-color:rgb(var(--kv-background-system),1);overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}.menu-childs .menu-childs-content::-webkit-scrollbar{width:8px}.menu-childs .menu-childs-content::-webkit-scrollbar:hover{background-color:#dededebf}.menu-childs .menu-childs-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.menu-childs .menu-childs-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.menu-childs .menu-childs-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"] }]
|
|
7340
7347
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$2.FormBuilder }, { type: i3$1.Router }, { type: i3$1.ActivatedRoute }], propDecorators: { apps: [{
|
|
7341
7348
|
type: Input
|
|
7342
7349
|
}], actions: [{
|
|
@@ -10819,6 +10826,7 @@ class KvTableViewerComponent {
|
|
|
10819
10826
|
this.cpfCnpjPipe = inject(CpfCnpjPipe);
|
|
10820
10827
|
this.telefonePipe = inject(TelefonePipe);
|
|
10821
10828
|
this.datePipe = inject(DatePipe);
|
|
10829
|
+
this.breakpointObserver = inject(BreakpointObserver);
|
|
10822
10830
|
this.columns = input([]);
|
|
10823
10831
|
this.actionsRow = input([]);
|
|
10824
10832
|
this.actionsHeader = input(undefined);
|
|
@@ -10847,6 +10855,7 @@ class KvTableViewerComponent {
|
|
|
10847
10855
|
this.first = signal(0);
|
|
10848
10856
|
this.searchValue = signal('');
|
|
10849
10857
|
this.lastEmittedSort = signal(null);
|
|
10858
|
+
this.isMobile = signal(false);
|
|
10850
10859
|
this.onPageChange = output();
|
|
10851
10860
|
this.onClickRowItem = output();
|
|
10852
10861
|
this.onSelectItems = output();
|
|
@@ -10912,6 +10921,9 @@ class KvTableViewerComponent {
|
|
|
10912
10921
|
this.isEmptyTable = computed(() => {
|
|
10913
10922
|
return this.data()?.length == 0;
|
|
10914
10923
|
});
|
|
10924
|
+
this.breakpointObserver
|
|
10925
|
+
.observe([Breakpoints.HandsetPortrait, '(max-width: 768px)'])
|
|
10926
|
+
.subscribe(state => this.isMobile.set(state.matches));
|
|
10915
10927
|
effect(() => {
|
|
10916
10928
|
this.onSelectItems.emit(this.selectedItems());
|
|
10917
10929
|
this.onSearch.emit(this.searchValue());
|
|
@@ -10964,7 +10976,7 @@ class KvTableViewerComponent {
|
|
|
10964
10976
|
return formatter.format(valor);
|
|
10965
10977
|
}
|
|
10966
10978
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10967
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableViewerComponent, isStandalone: true, selector: "kv-table-viewer", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, actionsRow: { classPropertyName: "actionsRow", publicName: "actionsRow", isSignal: true, isRequired: false, transformFunction: null }, actionsHeader: { classPropertyName: "actionsHeader", publicName: "actionsHeader", isSignal: true, isRequired: false, transformFunction: null }, actionsLote: { classPropertyName: "actionsLote", publicName: "actionsLote", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: true, isRequired: false, transformFunction: null }, currentPageReportTemplate: { classPropertyName: "currentPageReportTemplate", publicName: "currentPageReportTemplate", isSignal: true, isRequired: false, transformFunction: null }, selectionPageOnly: { classPropertyName: "selectionPageOnly", publicName: "selectionPageOnly", isSignal: true, isRequired: false, transformFunction: null }, selectableTable: { classPropertyName: "selectableTable", publicName: "selectableTable", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, showHeaderTemplate: { classPropertyName: "showHeaderTemplate", publicName: "showHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableViewerSize: { classPropertyName: "tableViewerSize", publicName: "tableViewerSize", isSignal: true, isRequired: false, transformFunction: null }, searchInput: { classPropertyName: "searchInput", publicName: "searchInput", isSignal: true, isRequired: false, transformFunction: null }, filterButton: { classPropertyName: "filterButton", publicName: "filterButton", isSignal: true, isRequired: false, transformFunction: null }, idName: { classPropertyName: "idName", publicName: "idName", isSignal: true, isRequired: false, transformFunction: null }, emptyTableImg: { classPropertyName: "emptyTableImg", publicName: "emptyTableImg", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageChange: "onPageChange", onClickRowItem: "onClickRowItem", onSelectItems: "onSelectItems", onSearch: "onSearch", onSort: "onSort" }, queries: [{ propertyName: "templates", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"h-full flex flex-row p-2 kv-table-viewer overflow-hidden {{\r\n isEmptyTable() ? 'empty-table' : ''\r\n }}\"\r\n>\r\n <div\r\n class=\"h-full {{ handleTableSize() }} m-0 p-0 flex flex-column gap-2\"\r\n [style.transition]=\"'all 0.3s ease-in-out'\"\r\n >\r\n @if(showHeaderTemplate()) {\r\n <div>\r\n <ng-content select=\"[tableHeaderTemplate]\"> </ng-content>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between flex-initial\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-2\">\r\n @if(searchInput()) {\r\n <input\r\n style=\"height: 1.875rem\"\r\n placeholder=\"Pesquisar...\"\r\n type=\"text\"\r\n pInputText\r\n [(ngModel)]=\"searchValue\"\r\n class=\"text-xs\"\r\n />\r\n\r\n } @if(filterButton()) {\r\n <kv-button\r\n label=\"Filtrar\"\r\n icon=\"filter_alt\"\r\n severity=\"tertiary\"\r\n (onClick)=\"toggleOverlayPanel($event)\"\r\n ></kv-button>\r\n }\r\n\r\n <p-overlayPanel #op [dismissable]=\"false\">\r\n <ng-content select=\"[filtro]\"> </ng-content>\r\n </p-overlayPanel>\r\n </div>\r\n <div class=\"flex flex-row gap-2\">\r\n @if(actionsHeader()) { @for(action of actionsHeader(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n [severity]=\"action['severity'] || 'tertiary'\"\r\n (onClick)=\"action?.command($event)\"\r\n [popupIcon]=\"false\"\r\n [items]=\"action.items || []\"\r\n [popup]=\"isPopupButton()(action)\"\r\n ></kv-button>\r\n } } @if(selectedItem()) {\r\n <kv-button\r\n [pTooltip]=\"'Recolher'\"\r\n icon=\"reorder\"\r\n severity=\"tertiary\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n ></kv-button>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-1 h-full overflow-hidden\">\r\n <p-table\r\n [value]=\"data()\"\r\n [lazy]=\"lazy()\"\r\n [selectionPageOnly]=\"selectionPageOnly()\"\r\n [columns]=\"columns()\"\r\n [paginator]=\"paginator()\"\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [loading]=\"loading()\"\r\n [pageLinks]=\"pageLinks()\"\r\n [first]=\"first()\"\r\n [scrollable]=\"scrollable()\"\r\n scrollHeight=\"flex\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\r\n (onPage)=\"handlePageChange($event)\"\r\n (onSort)=\"handleSort($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [(selection)]=\"selectedItems\"\r\n styleClass=\"p-datatable-sm text-xs overflow-y-auto h-full flex flex-column h-full\"\r\n >\r\n @if(showHeader()) {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @if(selectableTable()) {\r\n <th style=\"width: 4rem\"><p-tableHeaderCheckbox /></th>\r\n } @for (col of columns; track col.field) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"!col?.sortable\"\r\n [style]=\"{ width: col.width || 'auto' }\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon [field]=\"col.field\" class=\"pb-1\"></p-sortIcon>\r\n }\r\n </th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr\r\n class=\"cursor-pointer {{\r\n verifyItemSelecionado()(rowData) && 'bg-gray-100'\r\n }} hover:bg-gray-200\"\r\n >\r\n @if(selectableTable()) {\r\n <td><p-tableCheckbox [value]=\"rowData\" /></td>\r\n } @for (col of columns; track col.field) {\r\n <td (click)=\"rowSelect(rowData)\">\r\n @if(col?.template) {\r\n <div class=\"flex flex-row gap-2 align-items-center\">\r\n @if (getCustomTemplate()(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate()(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </div>\r\n } @else if(col?.icon) {\r\n <span class=\"material-symbols-outlined text-lg\">\r\n {{ col.icon(rowData) }}\r\n </span>\r\n } @else if(col?.tag) {\r\n <kv-tags [tags]=\"[col.tag(rowData)]\" />\r\n } @else {\r\n {{ transformData()(col.pipe, rowData[col.field]) }}\r\n }\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"returnColspan()\">\r\n <div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n >\r\n <img [src]=\"emptyTableImg()\" class=\"h-10rem w-auto\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"shadow-2 p-0 m-0 col selected-item-field ml-2 flex flex-column\"\r\n [@slideInOut]=\"isRowSelected() ? 'i.n' : 'out'\"\r\n [style.overflow]=\"'hidden'\"\r\n >\r\n @if(hasSelectedItems()) {\r\n <actions-lote-field\r\n class=\"h-full\"\r\n [selectedItems]=\"selectedItems()\"\r\n [actionsLote]=\"actionsLote()\"\r\n />\r\n } @else if(showSelectedItem()) {\r\n <div class=\"bg-gray-100 w-full h-auto p-2 relative\">\r\n @if(hasActionsRow()) {\r\n <actions-row-menu [actionsRow]=\"actionsRow()\" />\r\n }\r\n <ng-content select=\"[selectedItemHeader]\"></ng-content>\r\n </div>\r\n <div class=\"p-2 overflow-y-auto h-full\">\r\n <ng-content select=\"[selectedItem]\"></ng-content>\r\n </div>\r\n }\r\n\r\n <!-- @else { Nenhum item selecionado } -->\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .kv-table-viewer .p-paginator .p-paginator-pages .p-paginator-page{font-size:.75rem;min-width:2rem;height:2rem}::ng-deep .kv-table-viewer .p-paginator .p-paginator-current{font-size:.75rem}::ng-deep .kv-table-viewer .p-inputwrapper .p-dropdown{margin:0;height:auto}::ng-deep .p-paginator-rpp-options .p-dropdown-panel .p-dropdown-items{padding:.25rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item{border-radius:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-label{padding:.5rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-trigger{width:1.5rem}::ng-deep .p-paginator-bottom .p-link{min-width:2rem;height:2rem}::ng-deep .p-paginator{padding:0rem}::ng-deep .p-dropdown-label{font-size:.75rem}::ng-deep .p-datatable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-datatable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-datatable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .empty-table .p-datatable-table{height:100%}::ng-deep .p-menu{padding:.25rem}::ng-deep .p-menu-list .p-menuitem .p-menuitem-content .p-menuitem-link{font-size:.75rem;padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5$3.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i14.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i14.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i14.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i14.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: KvInputsModule }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i11.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: ActionsLoteFieldComponent, selector: "actions-lote-field", inputs: ["selectedItems", "actionsLote"] }, { kind: "ngmodule", type: KvTagsModule }, { kind: "component", type: KvTagsComponent, selector: "kv-tags", inputs: ["tags", "hover", "clickable"], outputs: ["onClickTag"] }, { kind: "ngmodule", type: TieredMenuModule }, { kind: "component", type: ActionsRowMenuComponent, selector: "actions-row-menu", inputs: ["actionsRow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.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: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
10979
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableViewerComponent, isStandalone: true, selector: "kv-table-viewer", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, actionsRow: { classPropertyName: "actionsRow", publicName: "actionsRow", isSignal: true, isRequired: false, transformFunction: null }, actionsHeader: { classPropertyName: "actionsHeader", publicName: "actionsHeader", isSignal: true, isRequired: false, transformFunction: null }, actionsLote: { classPropertyName: "actionsLote", publicName: "actionsLote", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: true, isRequired: false, transformFunction: null }, currentPageReportTemplate: { classPropertyName: "currentPageReportTemplate", publicName: "currentPageReportTemplate", isSignal: true, isRequired: false, transformFunction: null }, selectionPageOnly: { classPropertyName: "selectionPageOnly", publicName: "selectionPageOnly", isSignal: true, isRequired: false, transformFunction: null }, selectableTable: { classPropertyName: "selectableTable", publicName: "selectableTable", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, showHeaderTemplate: { classPropertyName: "showHeaderTemplate", publicName: "showHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableViewerSize: { classPropertyName: "tableViewerSize", publicName: "tableViewerSize", isSignal: true, isRequired: false, transformFunction: null }, searchInput: { classPropertyName: "searchInput", publicName: "searchInput", isSignal: true, isRequired: false, transformFunction: null }, filterButton: { classPropertyName: "filterButton", publicName: "filterButton", isSignal: true, isRequired: false, transformFunction: null }, idName: { classPropertyName: "idName", publicName: "idName", isSignal: true, isRequired: false, transformFunction: null }, emptyTableImg: { classPropertyName: "emptyTableImg", publicName: "emptyTableImg", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageChange: "onPageChange", onClickRowItem: "onClickRowItem", onSelectItems: "onSelectItems", onSearch: "onSearch", onSort: "onSort" }, queries: [{ propertyName: "templates", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"h-full flex flex-row p-2 kv-table-viewer overflow-hidden {{\r\n isEmptyTable() ? 'empty-table' : ''\r\n }}\"\r\n>\r\n @if(!this.selectedItem() || !isMobile() && !selectableTable()) {\r\n <div\r\n class=\"h-full {{ handleTableSize() }} m-0 p-0 flex flex-column gap-2\"\r\n [style.transition]=\"'all 0.3s ease-in-out'\"\r\n >\r\n @if(showHeaderTemplate()) {\r\n <div>\r\n <ng-content select=\"[tableHeaderTemplate]\"> </ng-content>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between flex-initial\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-2\">\r\n @if(searchInput()) {\r\n <input\r\n style=\"height: 1.875rem\"\r\n placeholder=\"Pesquisar...\"\r\n type=\"text\"\r\n pInputText\r\n [(ngModel)]=\"searchValue\"\r\n class=\"text-xs\"\r\n />\r\n\r\n } @if(filterButton()) {\r\n <kv-button\r\n label=\"Filtrar\"\r\n icon=\"filter_alt\"\r\n severity=\"tertiary\"\r\n (onClick)=\"toggleOverlayPanel($event)\"\r\n ></kv-button>\r\n }\r\n\r\n <p-overlayPanel #op [dismissable]=\"false\">\r\n <ng-content select=\"[filtro]\"> </ng-content>\r\n </p-overlayPanel>\r\n </div>\r\n <div class=\"flex flex-row gap-2\">\r\n @if(actionsHeader()) { @for(action of actionsHeader(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n [severity]=\"action['severity'] || 'tertiary'\"\r\n (onClick)=\"action?.command($event)\"\r\n [popupIcon]=\"false\"\r\n [items]=\"action.items || []\"\r\n [popup]=\"isPopupButton()(action)\"\r\n ></kv-button>\r\n } } @if(selectedItem()) {\r\n <kv-button\r\n [pTooltip]=\"'Recolher'\"\r\n icon=\"reorder\"\r\n severity=\"tertiary\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n ></kv-button>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-1 h-full overflow-hidden\">\r\n <p-table\r\n [value]=\"data()\"\r\n [lazy]=\"lazy()\"\r\n [selectionPageOnly]=\"selectionPageOnly()\"\r\n [columns]=\"columns()\"\r\n [paginator]=\"paginator()\"\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [loading]=\"loading()\"\r\n [pageLinks]=\"pageLinks()\"\r\n [first]=\"first()\"\r\n [scrollable]=\"scrollable()\"\r\n scrollHeight=\"flex\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\r\n (onPage)=\"handlePageChange($event)\"\r\n (onSort)=\"handleSort($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [(selection)]=\"selectedItems\"\r\n styleClass=\"p-datatable-sm text-xs overflow-y-auto h-full flex flex-column h-full\"\r\n >\r\n @if(showHeader()) {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @if(selectableTable()) {\r\n <th style=\"width: 4rem\"><p-tableHeaderCheckbox /></th>\r\n } @for (col of columns; track col.field) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"!col?.sortable\"\r\n [style]=\"{ width: col.width || 'auto' }\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-1\">\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon [field]=\"col.field\" class=\"pb-1\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr\r\n class=\"cursor-pointer {{\r\n verifyItemSelecionado()(rowData) && 'bg-gray-100'\r\n }} hover:bg-gray-200\"\r\n >\r\n @if(selectableTable()) {\r\n <td><p-tableCheckbox [value]=\"rowData\" /></td>\r\n } @for (col of columns; track col.field) {\r\n <td (click)=\"rowSelect(rowData)\" style=\"word-break: break-all;\">\r\n @if(col?.template) {\r\n <div class=\"flex flex-row gap-2 align-items-center\">\r\n @if (getCustomTemplate()(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate()(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </div>\r\n } @else if(col?.icon) {\r\n <span class=\"material-symbols-outlined text-lg\">\r\n {{ col.icon(rowData) }}\r\n </span>\r\n } @else if(col?.tag) {\r\n <kv-tags [tags]=\"[col.tag(rowData)]\" />\r\n } @else {\r\n {{ transformData()(col.pipe, rowData[col.field]) }}\r\n }\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"returnColspan()\">\r\n <div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n >\r\n <img [src]=\"emptyTableImg()\" class=\"h-10rem w-auto\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n <div\r\n class=\"shadow-2 p-0 m-0 col selected-item-field ml-2 flex flex-column\"\r\n [@slideInOut]=\"isRowSelected() ? 'i.n' : 'out'\"\r\n [style.overflow]=\"'hidden'\"\r\n >\r\n @if(hasSelectedItems()) {\r\n <actions-lote-field\r\n class=\"h-full\"\r\n [selectedItems]=\"selectedItems()\"\r\n [actionsLote]=\"actionsLote()\"\r\n />\r\n } @else if(showSelectedItem()) {\r\n <div class=\"bg-gray-100 w-full h-auto p-2 relative\">\r\n @if(hasActionsRow()) {\r\n <actions-row-menu [actionsRow]=\"actionsRow()\" />\r\n }\r\n\r\n @if(isMobile()) {\r\n <div class=\"h-2rem w-2rem\">\r\n <kv-button\r\n icon=\"arrow_back\"\r\n severity=\"tertiary\"\r\n [pTooltip]=\"'Voltar'\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n />\r\n </div>\r\n }\r\n\r\n <ng-content select=\"[selectedItemHeader]\"></ng-content>\r\n </div>\r\n <div class=\"p-2 overflow-y-auto h-full\">\r\n <ng-content select=\"[selectedItem]\"></ng-content>\r\n </div>\r\n }\r\n\r\n <!-- @else { Nenhum item selecionado } -->\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .kv-table-viewer .p-datatable-wrapper{overflow-x:hidden}::ng-deep .kv-table-viewer .p-paginator .p-paginator-pages .p-paginator-page{font-size:.75rem;min-width:2rem;height:2rem}::ng-deep .kv-table-viewer .p-paginator .p-paginator-current{font-size:.75rem}::ng-deep .kv-table-viewer .p-inputwrapper .p-dropdown{margin:0;height:auto}::ng-deep .p-paginator-rpp-options .p-dropdown-panel .p-dropdown-items{padding:.25rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item{border-radius:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-label{padding:.5rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-trigger{width:1.5rem}::ng-deep .p-paginator-bottom .p-link{min-width:2rem;height:2rem}::ng-deep .p-paginator{padding:0rem}::ng-deep .p-dropdown-label{font-size:.75rem}::ng-deep .p-datatable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-datatable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-datatable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .empty-table .p-datatable-table{height:100%}::ng-deep .p-menu{padding:.25rem}::ng-deep .p-menu-list .p-menuitem .p-menuitem-content .p-menuitem-link{font-size:.75rem;padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5$3.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i14.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i14.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i14.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i14.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: KvInputsModule }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i11.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: ActionsLoteFieldComponent, selector: "actions-lote-field", inputs: ["selectedItems", "actionsLote"] }, { kind: "ngmodule", type: KvTagsModule }, { kind: "component", type: KvTagsComponent, selector: "kv-tags", inputs: ["tags", "hover", "clickable"], outputs: ["onClickTag"] }, { kind: "ngmodule", type: TieredMenuModule }, { kind: "component", type: ActionsRowMenuComponent, selector: "actions-row-menu", inputs: ["actionsRow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.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: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
10968
10980
|
trigger('slideInOut', [
|
|
10969
10981
|
state('in', style({
|
|
10970
10982
|
width: '*',
|
|
@@ -11006,7 +11018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
11006
11018
|
animate('200ms ease-in-out')
|
|
11007
11019
|
])
|
|
11008
11020
|
])
|
|
11009
|
-
], template: "<div\r\n class=\"h-full flex flex-row p-2 kv-table-viewer overflow-hidden {{\r\n isEmptyTable() ? 'empty-table' : ''\r\n }}\"\r\n>\r\n <div\r\n class=\"h-full {{ handleTableSize() }} m-0 p-0 flex flex-column gap-2\"\r\n [style.transition]=\"'all 0.3s ease-in-out'\"\r\n >\r\n @if(showHeaderTemplate()) {\r\n <div>\r\n <ng-content select=\"[tableHeaderTemplate]\"> </ng-content>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between flex-initial\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-2\">\r\n @if(searchInput()) {\r\n <input\r\n style=\"height: 1.875rem\"\r\n placeholder=\"Pesquisar...\"\r\n type=\"text\"\r\n pInputText\r\n [(ngModel)]=\"searchValue\"\r\n class=\"text-xs\"\r\n />\r\n\r\n } @if(filterButton()) {\r\n <kv-button\r\n label=\"Filtrar\"\r\n icon=\"filter_alt\"\r\n severity=\"tertiary\"\r\n (onClick)=\"toggleOverlayPanel($event)\"\r\n ></kv-button>\r\n }\r\n\r\n <p-overlayPanel #op [dismissable]=\"false\">\r\n <ng-content select=\"[filtro]\"> </ng-content>\r\n </p-overlayPanel>\r\n </div>\r\n <div class=\"flex flex-row gap-2\">\r\n @if(actionsHeader()) { @for(action of actionsHeader(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n [severity]=\"action['severity'] || 'tertiary'\"\r\n (onClick)=\"action?.command($event)\"\r\n [popupIcon]=\"false\"\r\n [items]=\"action.items || []\"\r\n [popup]=\"isPopupButton()(action)\"\r\n ></kv-button>\r\n } } @if(selectedItem()) {\r\n <kv-button\r\n [pTooltip]=\"'Recolher'\"\r\n icon=\"reorder\"\r\n severity=\"tertiary\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n ></kv-button>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-1 h-full overflow-hidden\">\r\n <p-table\r\n [value]=\"data()\"\r\n [lazy]=\"lazy()\"\r\n [selectionPageOnly]=\"selectionPageOnly()\"\r\n [columns]=\"columns()\"\r\n [paginator]=\"paginator()\"\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [loading]=\"loading()\"\r\n [pageLinks]=\"pageLinks()\"\r\n [first]=\"first()\"\r\n [scrollable]=\"scrollable()\"\r\n scrollHeight=\"flex\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\r\n (onPage)=\"handlePageChange($event)\"\r\n (onSort)=\"handleSort($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [(selection)]=\"selectedItems\"\r\n styleClass=\"p-datatable-sm text-xs overflow-y-auto h-full flex flex-column h-full\"\r\n >\r\n @if(showHeader()) {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @if(selectableTable()) {\r\n <th style=\"width: 4rem\"><p-tableHeaderCheckbox /></th>\r\n } @for (col of columns; track col.field) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"!col?.sortable\"\r\n [style]=\"{ width: col.width || 'auto' }\"\r\n >\r\n <span>{{ col.header }}</span>\r\n
|
|
11021
|
+
], template: "<div\r\n class=\"h-full flex flex-row p-2 kv-table-viewer overflow-hidden {{\r\n isEmptyTable() ? 'empty-table' : ''\r\n }}\"\r\n>\r\n @if(!this.selectedItem() || !isMobile() && !selectableTable()) {\r\n <div\r\n class=\"h-full {{ handleTableSize() }} m-0 p-0 flex flex-column gap-2\"\r\n [style.transition]=\"'all 0.3s ease-in-out'\"\r\n >\r\n @if(showHeaderTemplate()) {\r\n <div>\r\n <ng-content select=\"[tableHeaderTemplate]\"> </ng-content>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between flex-initial\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-2\">\r\n @if(searchInput()) {\r\n <input\r\n style=\"height: 1.875rem\"\r\n placeholder=\"Pesquisar...\"\r\n type=\"text\"\r\n pInputText\r\n [(ngModel)]=\"searchValue\"\r\n class=\"text-xs\"\r\n />\r\n\r\n } @if(filterButton()) {\r\n <kv-button\r\n label=\"Filtrar\"\r\n icon=\"filter_alt\"\r\n severity=\"tertiary\"\r\n (onClick)=\"toggleOverlayPanel($event)\"\r\n ></kv-button>\r\n }\r\n\r\n <p-overlayPanel #op [dismissable]=\"false\">\r\n <ng-content select=\"[filtro]\"> </ng-content>\r\n </p-overlayPanel>\r\n </div>\r\n <div class=\"flex flex-row gap-2\">\r\n @if(actionsHeader()) { @for(action of actionsHeader(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n [severity]=\"action['severity'] || 'tertiary'\"\r\n (onClick)=\"action?.command($event)\"\r\n [popupIcon]=\"false\"\r\n [items]=\"action.items || []\"\r\n [popup]=\"isPopupButton()(action)\"\r\n ></kv-button>\r\n } } @if(selectedItem()) {\r\n <kv-button\r\n [pTooltip]=\"'Recolher'\"\r\n icon=\"reorder\"\r\n severity=\"tertiary\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n ></kv-button>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-1 h-full overflow-hidden\">\r\n <p-table\r\n [value]=\"data()\"\r\n [lazy]=\"lazy()\"\r\n [selectionPageOnly]=\"selectionPageOnly()\"\r\n [columns]=\"columns()\"\r\n [paginator]=\"paginator()\"\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [loading]=\"loading()\"\r\n [pageLinks]=\"pageLinks()\"\r\n [first]=\"first()\"\r\n [scrollable]=\"scrollable()\"\r\n scrollHeight=\"flex\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\r\n (onPage)=\"handlePageChange($event)\"\r\n (onSort)=\"handleSort($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [(selection)]=\"selectedItems\"\r\n styleClass=\"p-datatable-sm text-xs overflow-y-auto h-full flex flex-column h-full\"\r\n >\r\n @if(showHeader()) {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @if(selectableTable()) {\r\n <th style=\"width: 4rem\"><p-tableHeaderCheckbox /></th>\r\n } @for (col of columns; track col.field) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"!col?.sortable\"\r\n [style]=\"{ width: col.width || 'auto' }\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-1\">\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon [field]=\"col.field\" class=\"pb-1\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr\r\n class=\"cursor-pointer {{\r\n verifyItemSelecionado()(rowData) && 'bg-gray-100'\r\n }} hover:bg-gray-200\"\r\n >\r\n @if(selectableTable()) {\r\n <td><p-tableCheckbox [value]=\"rowData\" /></td>\r\n } @for (col of columns; track col.field) {\r\n <td (click)=\"rowSelect(rowData)\" style=\"word-break: break-all;\">\r\n @if(col?.template) {\r\n <div class=\"flex flex-row gap-2 align-items-center\">\r\n @if (getCustomTemplate()(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate()(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </div>\r\n } @else if(col?.icon) {\r\n <span class=\"material-symbols-outlined text-lg\">\r\n {{ col.icon(rowData) }}\r\n </span>\r\n } @else if(col?.tag) {\r\n <kv-tags [tags]=\"[col.tag(rowData)]\" />\r\n } @else {\r\n {{ transformData()(col.pipe, rowData[col.field]) }}\r\n }\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"returnColspan()\">\r\n <div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n >\r\n <img [src]=\"emptyTableImg()\" class=\"h-10rem w-auto\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n <div\r\n class=\"shadow-2 p-0 m-0 col selected-item-field ml-2 flex flex-column\"\r\n [@slideInOut]=\"isRowSelected() ? 'i.n' : 'out'\"\r\n [style.overflow]=\"'hidden'\"\r\n >\r\n @if(hasSelectedItems()) {\r\n <actions-lote-field\r\n class=\"h-full\"\r\n [selectedItems]=\"selectedItems()\"\r\n [actionsLote]=\"actionsLote()\"\r\n />\r\n } @else if(showSelectedItem()) {\r\n <div class=\"bg-gray-100 w-full h-auto p-2 relative\">\r\n @if(hasActionsRow()) {\r\n <actions-row-menu [actionsRow]=\"actionsRow()\" />\r\n }\r\n\r\n @if(isMobile()) {\r\n <div class=\"h-2rem w-2rem\">\r\n <kv-button\r\n icon=\"arrow_back\"\r\n severity=\"tertiary\"\r\n [pTooltip]=\"'Voltar'\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n />\r\n </div>\r\n }\r\n\r\n <ng-content select=\"[selectedItemHeader]\"></ng-content>\r\n </div>\r\n <div class=\"p-2 overflow-y-auto h-full\">\r\n <ng-content select=\"[selectedItem]\"></ng-content>\r\n </div>\r\n }\r\n\r\n <!-- @else { Nenhum item selecionado } -->\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .kv-table-viewer .p-datatable-wrapper{overflow-x:hidden}::ng-deep .kv-table-viewer .p-paginator .p-paginator-pages .p-paginator-page{font-size:.75rem;min-width:2rem;height:2rem}::ng-deep .kv-table-viewer .p-paginator .p-paginator-current{font-size:.75rem}::ng-deep .kv-table-viewer .p-inputwrapper .p-dropdown{margin:0;height:auto}::ng-deep .p-paginator-rpp-options .p-dropdown-panel .p-dropdown-items{padding:.25rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item{border-radius:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-label{padding:.5rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-trigger{width:1.5rem}::ng-deep .p-paginator-bottom .p-link{min-width:2rem;height:2rem}::ng-deep .p-paginator{padding:0rem}::ng-deep .p-dropdown-label{font-size:.75rem}::ng-deep .p-datatable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-datatable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-datatable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .empty-table .p-datatable-table{height:100%}::ng-deep .p-menu{padding:.25rem}::ng-deep .p-menu-list .p-menuitem .p-menuitem-content .p-menuitem-link{font-size:.75rem;padding:.5rem}\n"] }]
|
|
11010
11022
|
}], ctorParameters: () => [], propDecorators: { op: [{
|
|
11011
11023
|
type: ViewChild,
|
|
11012
11024
|
args: ['op']
|
|
@@ -12000,11 +12012,11 @@ class KvTimelineComponent {
|
|
|
12000
12012
|
});
|
|
12001
12013
|
}
|
|
12002
12014
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12003
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: KvTimelineComponent, isStandalone: true, selector: "kv-timeline", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, getSeverityFn: { classPropertyName: "getSeverityFn", publicName: "getSeverityFn", isSignal: false, isRequired: false, transformFunction: null }, getLastActiveCount: { classPropertyName: "getLastActiveCount", publicName: "getLastActiveCount", isSignal: false, isRequired: false, transformFunction: null }, lastOnly: { classPropertyName: "lastOnly", publicName: "lastOnly", isSignal: false, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: false, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: false, isRequired: false, transformFunction: null }, oppositeTemplate: { classPropertyName: "oppositeTemplate", publicName: "oppositeTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, lastContentTemplate: { classPropertyName: "lastContentTemplate", publicName: "lastContentTemplate", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"card h-full\">\r\n <p-timeline [value]=\"parsedEvents()\" [align]=\"align\" [layout]=\"layout\" styleClass=\"h-full\">\r\n\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <span class=\"material-symbols-outlined\" [ngStyle]=\"{\r\n color: event.timelineColor,\r\n fontSize: '1.3rem',\r\n 'font-variation-settings': '\\'FILL\\' 1, \\'wght\\' 400, \\'GRAD\\' 0, \\'opsz\\' 24'\r\n }\">\r\n {{ event.timelineIcon }}\r\n </span>\r\n </ng-template>\r\n\r\n <!-- TIMELINE OPPOSITE CONTENT -->\r\n <ng-template pTemplate=\"opposite\" let-event>\r\n <ng-container\r\n *ngTemplateOutlet=\"oppositeTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- TIMELINE CONTENT -->\r\n <ng-template pTemplate=\"content\" let-event>\r\n <ng-container\r\n *ngIf=\"lastContentTemplate && event.isLastRelevant; else defaultContent\"\r\n [ngTemplateOutlet]=\"lastContentTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: event }\">\r\n </ng-container>\r\n\r\n <ng-template #defaultContent>\r\n <ng-container\r\n *ngTemplateOutlet=\"contentTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n\r\n </p-timeline>\r\n</div>\r\n", styles: ["::ng-deep .p-timeline{height:100%;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i2$6.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
|
12015
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: KvTimelineComponent, isStandalone: true, selector: "kv-timeline", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, getSeverityFn: { classPropertyName: "getSeverityFn", publicName: "getSeverityFn", isSignal: false, isRequired: false, transformFunction: null }, getLastActiveCount: { classPropertyName: "getLastActiveCount", publicName: "getLastActiveCount", isSignal: false, isRequired: false, transformFunction: null }, lastOnly: { classPropertyName: "lastOnly", publicName: "lastOnly", isSignal: false, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: false, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: false, isRequired: false, transformFunction: null }, oppositeTemplate: { classPropertyName: "oppositeTemplate", publicName: "oppositeTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, lastContentTemplate: { classPropertyName: "lastContentTemplate", publicName: "lastContentTemplate", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"card h-full\">\r\n <p-timeline [value]=\"parsedEvents()\" [align]=\"align\" [layout]=\"layout\" styleClass=\"h-full\">\r\n\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <span class=\"material-symbols-outlined\" [ngStyle]=\"{\r\n color: event.timelineColor,\r\n fontSize: '1.3rem',\r\n 'font-variation-settings': '\\'FILL\\' 1, \\'wght\\' 400, \\'GRAD\\' 0, \\'opsz\\' 24'\r\n }\">\r\n {{ event.timelineIcon }}\r\n </span>\r\n </ng-template>\r\n\r\n <!-- TIMELINE OPPOSITE CONTENT -->\r\n <ng-template pTemplate=\"opposite\" let-event>\r\n <ng-container\r\n *ngTemplateOutlet=\"oppositeTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- TIMELINE CONTENT -->\r\n <ng-template pTemplate=\"content\" let-event>\r\n <ng-container\r\n *ngIf=\"lastContentTemplate && event.isLastRelevant; else defaultContent\"\r\n [ngTemplateOutlet]=\"lastContentTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: event }\">\r\n </ng-container>\r\n\r\n <ng-template #defaultContent>\r\n <ng-container\r\n *ngTemplateOutlet=\"contentTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n\r\n </p-timeline>\r\n</div>\r\n", styles: ["::ng-deep .p-timeline{height:100%;overflow-y:auto}::ng-deep .p-timeline::-webkit-scrollbar{width:6px}::ng-deep .p-timeline::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-timeline::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-timeline:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-timeline::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i2$6.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
|
12004
12016
|
}
|
|
12005
12017
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTimelineComponent, decorators: [{
|
|
12006
12018
|
type: Component,
|
|
12007
|
-
args: [{ selector: 'kv-timeline', standalone: true, imports: [CommonModule, TimelineModule], template: "<div class=\"card h-full\">\r\n <p-timeline [value]=\"parsedEvents()\" [align]=\"align\" [layout]=\"layout\" styleClass=\"h-full\">\r\n\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <span class=\"material-symbols-outlined\" [ngStyle]=\"{\r\n color: event.timelineColor,\r\n fontSize: '1.3rem',\r\n 'font-variation-settings': '\\'FILL\\' 1, \\'wght\\' 400, \\'GRAD\\' 0, \\'opsz\\' 24'\r\n }\">\r\n {{ event.timelineIcon }}\r\n </span>\r\n </ng-template>\r\n\r\n <!-- TIMELINE OPPOSITE CONTENT -->\r\n <ng-template pTemplate=\"opposite\" let-event>\r\n <ng-container\r\n *ngTemplateOutlet=\"oppositeTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- TIMELINE CONTENT -->\r\n <ng-template pTemplate=\"content\" let-event>\r\n <ng-container\r\n *ngIf=\"lastContentTemplate && event.isLastRelevant; else defaultContent\"\r\n [ngTemplateOutlet]=\"lastContentTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: event }\">\r\n </ng-container>\r\n\r\n <ng-template #defaultContent>\r\n <ng-container\r\n *ngTemplateOutlet=\"contentTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n\r\n </p-timeline>\r\n</div>\r\n", styles: ["::ng-deep .p-timeline{height:100%;overflow-y:auto}\n"] }]
|
|
12019
|
+
args: [{ selector: 'kv-timeline', standalone: true, imports: [CommonModule, TimelineModule], template: "<div class=\"card h-full\">\r\n <p-timeline [value]=\"parsedEvents()\" [align]=\"align\" [layout]=\"layout\" styleClass=\"h-full\">\r\n\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <span class=\"material-symbols-outlined\" [ngStyle]=\"{\r\n color: event.timelineColor,\r\n fontSize: '1.3rem',\r\n 'font-variation-settings': '\\'FILL\\' 1, \\'wght\\' 400, \\'GRAD\\' 0, \\'opsz\\' 24'\r\n }\">\r\n {{ event.timelineIcon }}\r\n </span>\r\n </ng-template>\r\n\r\n <!-- TIMELINE OPPOSITE CONTENT -->\r\n <ng-template pTemplate=\"opposite\" let-event>\r\n <ng-container\r\n *ngTemplateOutlet=\"oppositeTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- TIMELINE CONTENT -->\r\n <ng-template pTemplate=\"content\" let-event>\r\n <ng-container\r\n *ngIf=\"lastContentTemplate && event.isLastRelevant; else defaultContent\"\r\n [ngTemplateOutlet]=\"lastContentTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: event }\">\r\n </ng-container>\r\n\r\n <ng-template #defaultContent>\r\n <ng-container\r\n *ngTemplateOutlet=\"contentTemplate; context: { $implicit: event }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n\r\n </p-timeline>\r\n</div>\r\n", styles: ["::ng-deep .p-timeline{height:100%;overflow-y:auto}::ng-deep .p-timeline::-webkit-scrollbar{width:6px}::ng-deep .p-timeline::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-timeline::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-timeline:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-timeline::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}\n"] }]
|
|
12008
12020
|
}], ctorParameters: () => [], propDecorators: { getSeverityFn: [{
|
|
12009
12021
|
type: Input
|
|
12010
12022
|
}], getLastActiveCount: [{
|