keevo-components 2.0.145 → 2.0.146

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.
@@ -254,11 +254,11 @@ export class KvTreetableComponent {
254
254
  }
255
255
  }
256
256
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreetableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
257
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { disableRowNodeSticky: { classPropertyName: "disableRowNodeSticky", publicName: "disableRowNodeSticky", isSignal: false, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, gridLines: { classPropertyName: "gridLines", publicName: "gridLines", isSignal: false, isRequired: false, transformFunction: null }, tableCaptalized: { classPropertyName: "tableCaptalized", publicName: "tableCaptalized", isSignal: false, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: false, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, treeTableDraggable: { classPropertyName: "treeTableDraggable", publicName: "treeTableDraggable", isSignal: false, isRequired: false, transformFunction: null }, transferArrayItem: { classPropertyName: "transferArrayItem", publicName: "transferArrayItem", isSignal: false, isRequired: false, transformFunction: null }, ordenacao: { classPropertyName: "ordenacao", publicName: "ordenacao", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, textoEmptyMessage: { classPropertyName: "textoEmptyMessage", publicName: "textoEmptyMessage", isSignal: false, isRequired: false, transformFunction: null }, childrenRecoil: { classPropertyName: "childrenRecoil", publicName: "childrenRecoil", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, indFullPage: { classPropertyName: "indFullPage", publicName: "indFullPage", isSignal: false, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: true, isRequired: false, transformFunction: null }, pageLinksOptions: { classPropertyName: "pageLinksOptions", publicName: "pageLinksOptions", isSignal: false, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: false, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: false, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { dataSource: "dataSourceChange", onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onDropItem: "onDropItem", selectionKeys: "selectionKeysChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "kvTreeTable", first: true, predicate: ["kvTreeTable"], descendants: true, isSignal: true }, { propertyName: "pTreeTable", first: true, predicate: TreeTable, descendants: true }, { propertyName: "inputBusca", first: true, predicate: ["inputBusca"], descendants: true }], ngImport: i0, template: "<div class=\"kv-treetable-container\" #kvTreeTable>\r\n <p-treeTable\r\n #tt\r\n cdkDropList\r\n class=\"example-list\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [value]=\"dataSource()\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 15, 25, 50]\"\r\n [showFirstLastIcon]=\"tamanhoTela() > 960 ? true : false\"\r\n [pageLinks]=\"tamanhoTela() > 960 ? 2 : 1\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [selectionKeys]=\"selectionKeys()\"\r\n (selectionKeysChange)=\"selectionKeys.set($event)\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (onNodeSelect)=\"onNodeSelected($event)\"\r\n (onNodeUnselect)=\"onNodeUnselected($event)\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [scrollHeight]=\"scrollHeight\">\r\n @if(config.enableCation)\r\n {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 m-0 p-1\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if(config.title) {\r\n <div class=\"text-md font-bold my-3\">{{ config.title }}</div>\r\n }\r\n @if(config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">{{ config.subtitle }}</div>\r\n }\r\n </div>\r\n <div class=\"flex flex-row align-items-center col-10 p-0 md:col-6 lg:col-2 justify-content-center\r\n {{\r\n tamanhoTela() < 768 ? '' : 'input-search'\r\n }}\">\r\n @if(config.enableFilter) {\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n class=\"h-2rem text-sm\"\r\n #inputBusca\r\n />\r\n }\r\n </div>\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options\">\r\n @for (action of config.actionsLote; track $index)\r\n {\r\n @if((selectedItems.length > 0 || action.showAcoesLote) && exibirCampo()(action, this.action))\r\n {\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [size]=\"'small'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems) || false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity || 'tertiary'\"\r\n />\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } @if(showHeader)\r\n {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div>\r\n <div [ngClass]=\"{ flex: $index == 0, 'gap-3': $index == 0 }\">\r\n @if($index == 0 && config.enableSelect)\r\n {\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"/>\r\n }\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n }\r\n @if(col.headerTooltip)\r\n {\r\n <span class=\"material-symbols-outlined flex align-items-center\" [pTooltip]=\"col.headerTooltip\">info</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for (col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" />\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\">\r\n @if(isLoadingSkeleton())\r\n {\r\n @for(skeletonRow of dataSource(); track $index)\r\n {\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <td>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center w-full\"\r\n >\r\n @if($index == 0) {\r\n <p-treeTableToggler [rowNode]=\"rowNode\"/>\r\n }\r\n <div class=\"flex flex-column w-full\">\r\n <p-skeleton height=\"1rem\"/>\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n <td>\r\n <div class=\"flex justify-content-center\">\r\n <p-skeleton [style]=\"{ height: '1.5rem', width: '1.5rem' }\"/>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n } @else\r\n {\r\n @if(treeTableDraggable)\r\n {\r\n <tr\r\n cdkDrag\r\n cdkDragLockAxis=\"y\"\r\n [cdkDragData]=\"rowNode\"\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n class=\"draggable-cell\"\r\n [style.position]=\"!disableRowNodeSticky && rowNode.level !== 0 ? 'sticky' : null\">\r\n <!-- [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \" -->\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <span\r\n class=\"material-symbols-outlined drag-icon\"\r\n style=\"cursor: grab; font-size: 25px; color: #6b7280; opacity: 0.9;\"\r\n cdkDragHandle>\r\n drag_indicator\r\n </span>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n } @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{ rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td\r\n style=\"border-left: none; text-align: center; width: 0\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 ? 'none' : ''\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end align-items-center\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n @else\r\n {\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 && col.field != config.columns[0].field ? 'none' : ''\">\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"/>\r\n @if(config.enableSelect)\r\n {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{ display: isSelectEnabled()(rowData, rowNode) ? 'block' : 'none', 'margin-left': config.visibleCheckboxFunction ? '-34px' : '0px' }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div\r\n class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\" col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n }\r\n @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td style=\"border-left: none; text-align: center; width: 0\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div>\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"config.columns.length + 1\"\r\n style=\"text-align: center\"\r\n class=\"text-xs\">\r\n {{ textoEmptyMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.1rem}::ng-deep .p-treetable .p-treetable-header{padding:0!important;margin-bottom:.5rem!important;border-radius:5px!important;background-color:transparent;border:none}:host ::ng-deep .p-treetable table{table-layout:auto!important}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem}::ng-deep .p-checkbox{display:flex;align-items:center}::ng-deep .p-treetable .p-paginator{scale:.75}::ng-deep .icon-more-horiz{font-weight:300!important;font-size:1.4rem!important;padding:.1rem!important;color:rgb(var(--kv-color-system),.75)!important;transition:all .4s}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}::ng-deep .p-treetable .p-treetable-thead>tr>th{padding:.15rem!important;background-color:rgba(var(--kv-color-system),.05);color:rgba(var(--kv-color-text),.6);font-size:.75rem!important;font-weight:600!important}::ng-deep .p-treetable .p-treetable-thead>tr>th span{padding:.25rem}::ng-deep .p-treetable .p-treetable-thead{min-height:.5rem!important;padding:.15rem!important}.tag{width:5px;height:20px;border-radius:.25rem}:host ::ng-deep .draggable-cell .drag-icon{visibility:hidden}:host ::ng-deep .draggable-cell:hover .drag-icon{visibility:visible}.cdk-drag-preview{display:flex;align-items:center;justify-content:space-between;border-radius:10px!important}.cdk-drop-list-dragging{cursor:grabbing}:host ::ng-deep .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}:host ::ng-deep .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}::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}:host{height:100%}::ng-deep .kv-treetable-container,::ng-deep p-treeTable{height:100%}::ng-deep p-treeTable .p-treetable{display:flex;flex-direction:column;height:100%}::ng-deep table{height:auto!important}::ng-deep .p-treetable .p-treetable-wrapper{flex:1 1 1;border:1px solid rgba(var(--kv-color-system),.1);border-radius:.5rem;overflow:hidden;color:rgb(var(--kv-color-system))}::ng-deep p-treeTable .p-treetable .p-treetable-wrapper,::ng-deep p-treeTable{height:100%}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-treetable .p-treetable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-menuitem .p-menuitem-content .p-menuitem-link{padding:.5rem!important;font-size:.75rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4.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: i5.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i9.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "component", type: i9.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i9.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i9.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "component", type: i10.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }] }); }
257
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { disableRowNodeSticky: { classPropertyName: "disableRowNodeSticky", publicName: "disableRowNodeSticky", isSignal: false, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, gridLines: { classPropertyName: "gridLines", publicName: "gridLines", isSignal: false, isRequired: false, transformFunction: null }, tableCaptalized: { classPropertyName: "tableCaptalized", publicName: "tableCaptalized", isSignal: false, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: false, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, treeTableDraggable: { classPropertyName: "treeTableDraggable", publicName: "treeTableDraggable", isSignal: false, isRequired: false, transformFunction: null }, transferArrayItem: { classPropertyName: "transferArrayItem", publicName: "transferArrayItem", isSignal: false, isRequired: false, transformFunction: null }, ordenacao: { classPropertyName: "ordenacao", publicName: "ordenacao", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, textoEmptyMessage: { classPropertyName: "textoEmptyMessage", publicName: "textoEmptyMessage", isSignal: false, isRequired: false, transformFunction: null }, childrenRecoil: { classPropertyName: "childrenRecoil", publicName: "childrenRecoil", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, indFullPage: { classPropertyName: "indFullPage", publicName: "indFullPage", isSignal: false, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: true, isRequired: false, transformFunction: null }, pageLinksOptions: { classPropertyName: "pageLinksOptions", publicName: "pageLinksOptions", isSignal: false, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: false, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: false, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { dataSource: "dataSourceChange", onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onDropItem: "onDropItem", selectionKeys: "selectionKeysChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "kvTreeTable", first: true, predicate: ["kvTreeTable"], descendants: true, isSignal: true }, { propertyName: "pTreeTable", first: true, predicate: TreeTable, descendants: true }, { propertyName: "inputBusca", first: true, predicate: ["inputBusca"], descendants: true }], ngImport: i0, template: "<div class=\"kv-treetable-container\" #kvTreeTable>\r\n <p-treeTable\r\n #tt\r\n cdkDropList\r\n class=\"example-list\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [value]=\"dataSource()\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 15, 25, 50]\"\r\n [showFirstLastIcon]=\"tamanhoTela() > 960 ? true : false\"\r\n [pageLinks]=\"tamanhoTela() > 960 ? 2 : 1\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [selectionKeys]=\"selectionKeys()\"\r\n (selectionKeysChange)=\"selectionKeys.set($event)\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (onNodeSelect)=\"onNodeSelected($event)\"\r\n (onNodeUnselect)=\"onNodeUnselected($event)\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [scrollHeight]=\"scrollHeight\">\r\n @if(config.enableCation)\r\n {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 m-0 p-1\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if(config.title) {\r\n <div class=\"text-md font-bold my-3\">{{ config.title }}</div>\r\n }\r\n @if(config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">{{ config.subtitle }}</div>\r\n }\r\n </div>\r\n <div class=\"flex flex-row align-items-center col-10 p-0 md:col-6 lg:col-2 justify-content-center\r\n {{\r\n tamanhoTela() < 768 ? '' : 'input-search'\r\n }}\">\r\n @if(config.enableFilter) {\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n class=\"h-2rem text-sm\"\r\n #inputBusca\r\n />\r\n }\r\n </div>\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options\">\r\n @for (action of config.actionsLote; track $index)\r\n {\r\n @if((selectedItems.length > 0 || action.showAcoesLote) && exibirCampo()(action, this.action))\r\n {\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [size]=\"'small'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems) || false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity || 'tertiary'\"\r\n />\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } @if(showHeader)\r\n {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div>\r\n <div [ngClass]=\"{ flex: $index == 0, 'gap-3': $index == 0 }\">\r\n @if($index == 0 && config.enableSelect)\r\n {\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"/>\r\n }\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n }\r\n @if(col.headerTooltip)\r\n {\r\n <span class=\"material-symbols-outlined flex align-items-center\" [pTooltip]=\"col.headerTooltip\">info</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for (col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" />\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\">\r\n @if(isLoadingSkeleton())\r\n {\r\n @for(skeletonRow of dataSource(); track $index)\r\n {\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <td>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center w-full\"\r\n >\r\n @if($index == 0) {\r\n <p-treeTableToggler [rowNode]=\"rowNode\"/>\r\n }\r\n <div class=\"flex flex-column w-full\">\r\n <p-skeleton height=\"1rem\"/>\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n <td>\r\n <div class=\"flex justify-content-center\">\r\n <p-skeleton [style]=\"{ height: '1.5rem', width: '1.5rem' }\"/>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n } @else\r\n {\r\n @if(treeTableDraggable)\r\n {\r\n <tr\r\n cdkDrag\r\n cdkDragLockAxis=\"y\"\r\n [cdkDragData]=\"rowNode\"\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n class=\"draggable-cell\"\r\n [style.position]=\"!disableRowNodeSticky && rowNode.level !== 0 ? 'sticky' : null\">\r\n <!-- [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \" -->\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <span\r\n class=\"material-symbols-outlined drag-icon\"\r\n style=\"cursor: grab; font-size: 25px; color: #6b7280; opacity: 0.9;\"\r\n cdkDragHandle>\r\n drag_indicator\r\n </span>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n } @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{ rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td\r\n style=\"border-left: none; text-align: center; width: 0\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 ? 'none' : ''\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end align-items-center\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n @else\r\n {\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 && col.field != config.columns[0].field ? 'none' : ''\">\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"/>\r\n @if(config.enableSelect)\r\n {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{ display: isSelectEnabled()(rowData, rowNode) ? 'block' : 'none', 'margin-left': config.visibleCheckboxFunction ? '-34px' : '0px' }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div\r\n class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\" col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n }\r\n @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td style=\"border-left: none; text-align: center; width: 0\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div>\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"config.columns.length + 1\"\r\n style=\"text-align: center\"\r\n class=\"text-xs\">\r\n {{ textoEmptyMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.1rem}::ng-deep .p-treetable .p-treetable-header{padding:0!important;margin-bottom:.5rem!important;border-radius:5px!important;background-color:transparent;border:none}:host ::ng-deep .p-treetable table{table-layout:auto!important}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem}::ng-deep .p-checkbox{display:flex;align-items:center}::ng-deep .p-treetable .p-paginator{scale:.75}::ng-deep .icon-more-horiz{font-weight:300!important;font-size:1.4rem!important;padding:.1rem!important;color:rgb(var(--kv-color-system),.75)!important;transition:all .4s}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}::ng-deep .p-treetable .p-treetable-thead>tr>th{padding:.15rem!important;background-color:rgba(var(--kv-color-system),.05);color:rgba(var(--kv-color-text),.6);font-size:.75rem!important;font-weight:600!important}::ng-deep .p-treetable .p-treetable-thead>tr>th span{padding:.25rem}::ng-deep .p-treetable .p-treetable-thead{min-height:.5rem!important;padding:.15rem!important}.tag{width:5px;height:20px;border-radius:.25rem}:host ::ng-deep .draggable-cell .drag-icon{visibility:hidden}:host ::ng-deep .draggable-cell:hover .drag-icon{visibility:visible}.cdk-drag-preview{display:flex;align-items:center;justify-content:space-between;border-radius:10px!important}.cdk-drop-list-dragging{cursor:grabbing}:host ::ng-deep .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}:host ::ng-deep .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}::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}:host{height:100%}::ng-deep .kv-treetable-container,::ng-deep p-treeTable{height:100%}::ng-deep p-treeTable .p-treetable{display:flex;flex-direction:column;height:100%}::ng-deep table{height:auto!important}::ng-deep .p-treetable .p-treetable-wrapper{border:1px solid rgba(var(--kv-color-system),.1);border-radius:.5rem;color:rgb(var(--kv-color-system))}::ng-deep p-treeTable .p-treetable .p-treetable-wrapper,::ng-deep p-treeTable{height:100%}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-treetable .p-treetable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-menuitem .p-menuitem-content .p-menuitem-link{padding:.5rem!important;font-size:.75rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4.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: i5.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i9.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "component", type: i9.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i9.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i9.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "component", type: i10.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }] }); }
258
258
  }
259
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreetableComponent, decorators: [{
260
260
  type: Component,
261
- args: [{ selector: 'kv-tree-table', template: "<div class=\"kv-treetable-container\" #kvTreeTable>\r\n <p-treeTable\r\n #tt\r\n cdkDropList\r\n class=\"example-list\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [value]=\"dataSource()\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 15, 25, 50]\"\r\n [showFirstLastIcon]=\"tamanhoTela() > 960 ? true : false\"\r\n [pageLinks]=\"tamanhoTela() > 960 ? 2 : 1\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [selectionKeys]=\"selectionKeys()\"\r\n (selectionKeysChange)=\"selectionKeys.set($event)\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (onNodeSelect)=\"onNodeSelected($event)\"\r\n (onNodeUnselect)=\"onNodeUnselected($event)\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [scrollHeight]=\"scrollHeight\">\r\n @if(config.enableCation)\r\n {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 m-0 p-1\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if(config.title) {\r\n <div class=\"text-md font-bold my-3\">{{ config.title }}</div>\r\n }\r\n @if(config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">{{ config.subtitle }}</div>\r\n }\r\n </div>\r\n <div class=\"flex flex-row align-items-center col-10 p-0 md:col-6 lg:col-2 justify-content-center\r\n {{\r\n tamanhoTela() < 768 ? '' : 'input-search'\r\n }}\">\r\n @if(config.enableFilter) {\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n class=\"h-2rem text-sm\"\r\n #inputBusca\r\n />\r\n }\r\n </div>\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options\">\r\n @for (action of config.actionsLote; track $index)\r\n {\r\n @if((selectedItems.length > 0 || action.showAcoesLote) && exibirCampo()(action, this.action))\r\n {\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [size]=\"'small'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems) || false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity || 'tertiary'\"\r\n />\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } @if(showHeader)\r\n {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div>\r\n <div [ngClass]=\"{ flex: $index == 0, 'gap-3': $index == 0 }\">\r\n @if($index == 0 && config.enableSelect)\r\n {\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"/>\r\n }\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n }\r\n @if(col.headerTooltip)\r\n {\r\n <span class=\"material-symbols-outlined flex align-items-center\" [pTooltip]=\"col.headerTooltip\">info</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for (col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" />\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\">\r\n @if(isLoadingSkeleton())\r\n {\r\n @for(skeletonRow of dataSource(); track $index)\r\n {\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <td>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center w-full\"\r\n >\r\n @if($index == 0) {\r\n <p-treeTableToggler [rowNode]=\"rowNode\"/>\r\n }\r\n <div class=\"flex flex-column w-full\">\r\n <p-skeleton height=\"1rem\"/>\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n <td>\r\n <div class=\"flex justify-content-center\">\r\n <p-skeleton [style]=\"{ height: '1.5rem', width: '1.5rem' }\"/>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n } @else\r\n {\r\n @if(treeTableDraggable)\r\n {\r\n <tr\r\n cdkDrag\r\n cdkDragLockAxis=\"y\"\r\n [cdkDragData]=\"rowNode\"\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n class=\"draggable-cell\"\r\n [style.position]=\"!disableRowNodeSticky && rowNode.level !== 0 ? 'sticky' : null\">\r\n <!-- [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \" -->\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <span\r\n class=\"material-symbols-outlined drag-icon\"\r\n style=\"cursor: grab; font-size: 25px; color: #6b7280; opacity: 0.9;\"\r\n cdkDragHandle>\r\n drag_indicator\r\n </span>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n } @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{ rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td\r\n style=\"border-left: none; text-align: center; width: 0\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 ? 'none' : ''\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end align-items-center\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n @else\r\n {\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 && col.field != config.columns[0].field ? 'none' : ''\">\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"/>\r\n @if(config.enableSelect)\r\n {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{ display: isSelectEnabled()(rowData, rowNode) ? 'block' : 'none', 'margin-left': config.visibleCheckboxFunction ? '-34px' : '0px' }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div\r\n class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\" col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n }\r\n @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td style=\"border-left: none; text-align: center; width: 0\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div>\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"config.columns.length + 1\"\r\n style=\"text-align: center\"\r\n class=\"text-xs\">\r\n {{ textoEmptyMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.1rem}::ng-deep .p-treetable .p-treetable-header{padding:0!important;margin-bottom:.5rem!important;border-radius:5px!important;background-color:transparent;border:none}:host ::ng-deep .p-treetable table{table-layout:auto!important}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem}::ng-deep .p-checkbox{display:flex;align-items:center}::ng-deep .p-treetable .p-paginator{scale:.75}::ng-deep .icon-more-horiz{font-weight:300!important;font-size:1.4rem!important;padding:.1rem!important;color:rgb(var(--kv-color-system),.75)!important;transition:all .4s}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}::ng-deep .p-treetable .p-treetable-thead>tr>th{padding:.15rem!important;background-color:rgba(var(--kv-color-system),.05);color:rgba(var(--kv-color-text),.6);font-size:.75rem!important;font-weight:600!important}::ng-deep .p-treetable .p-treetable-thead>tr>th span{padding:.25rem}::ng-deep .p-treetable .p-treetable-thead{min-height:.5rem!important;padding:.15rem!important}.tag{width:5px;height:20px;border-radius:.25rem}:host ::ng-deep .draggable-cell .drag-icon{visibility:hidden}:host ::ng-deep .draggable-cell:hover .drag-icon{visibility:visible}.cdk-drag-preview{display:flex;align-items:center;justify-content:space-between;border-radius:10px!important}.cdk-drop-list-dragging{cursor:grabbing}:host ::ng-deep .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}:host ::ng-deep .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}::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}:host{height:100%}::ng-deep .kv-treetable-container,::ng-deep p-treeTable{height:100%}::ng-deep p-treeTable .p-treetable{display:flex;flex-direction:column;height:100%}::ng-deep table{height:auto!important}::ng-deep .p-treetable .p-treetable-wrapper{flex:1 1 1;border:1px solid rgba(var(--kv-color-system),.1);border-radius:.5rem;overflow:hidden;color:rgb(var(--kv-color-system))}::ng-deep p-treeTable .p-treetable .p-treetable-wrapper,::ng-deep p-treeTable{height:100%}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-treetable .p-treetable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-menuitem .p-menuitem-content .p-menuitem-link{padding:.5rem!important;font-size:.75rem!important}\n"] }]
261
+ args: [{ selector: 'kv-tree-table', template: "<div class=\"kv-treetable-container\" #kvTreeTable>\r\n <p-treeTable\r\n #tt\r\n cdkDropList\r\n class=\"example-list\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [value]=\"dataSource()\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 15, 25, 50]\"\r\n [showFirstLastIcon]=\"tamanhoTela() > 960 ? true : false\"\r\n [pageLinks]=\"tamanhoTela() > 960 ? 2 : 1\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [selectionKeys]=\"selectionKeys()\"\r\n (selectionKeysChange)=\"selectionKeys.set($event)\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (onNodeSelect)=\"onNodeSelected($event)\"\r\n (onNodeUnselect)=\"onNodeUnselected($event)\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [scrollHeight]=\"scrollHeight\">\r\n @if(config.enableCation)\r\n {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 m-0 p-1\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if(config.title) {\r\n <div class=\"text-md font-bold my-3\">{{ config.title }}</div>\r\n }\r\n @if(config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">{{ config.subtitle }}</div>\r\n }\r\n </div>\r\n <div class=\"flex flex-row align-items-center col-10 p-0 md:col-6 lg:col-2 justify-content-center\r\n {{\r\n tamanhoTela() < 768 ? '' : 'input-search'\r\n }}\">\r\n @if(config.enableFilter) {\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n class=\"h-2rem text-sm\"\r\n #inputBusca\r\n />\r\n }\r\n </div>\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options\">\r\n @for (action of config.actionsLote; track $index)\r\n {\r\n @if((selectedItems.length > 0 || action.showAcoesLote) && exibirCampo()(action, this.action))\r\n {\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [size]=\"'small'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems) || false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity || 'tertiary'\"\r\n />\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } @if(showHeader)\r\n {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div>\r\n <div [ngClass]=\"{ flex: $index == 0, 'gap-3': $index == 0 }\">\r\n @if($index == 0 && config.enableSelect)\r\n {\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"/>\r\n }\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n }\r\n @if(col.headerTooltip)\r\n {\r\n <span class=\"material-symbols-outlined flex align-items-center\" [pTooltip]=\"col.headerTooltip\">info</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for (col of columns; track $index)\r\n {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\">\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n @if(col.sortable)\r\n {\r\n <p-treeTableSortIcon [field]=\"col.field\" />\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai)\r\n {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\">\r\n @if(isLoadingSkeleton())\r\n {\r\n @for(skeletonRow of dataSource(); track $index)\r\n {\r\n <tr>\r\n @for(col of columns; track $index)\r\n {\r\n <td>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center w-full\"\r\n >\r\n @if($index == 0) {\r\n <p-treeTableToggler [rowNode]=\"rowNode\"/>\r\n }\r\n <div class=\"flex flex-column w-full\">\r\n <p-skeleton height=\"1rem\"/>\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n <td>\r\n <div class=\"flex justify-content-center\">\r\n <p-skeleton [style]=\"{ height: '1.5rem', width: '1.5rem' }\"/>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n } @else\r\n {\r\n @if(treeTableDraggable)\r\n {\r\n <tr\r\n cdkDrag\r\n cdkDragLockAxis=\"y\"\r\n [cdkDragData]=\"rowNode\"\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n class=\"draggable-cell\"\r\n [style.position]=\"!disableRowNodeSticky && rowNode.level !== 0 ? 'sticky' : null\">\r\n <!-- [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \" -->\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <span\r\n class=\"material-symbols-outlined drag-icon\"\r\n style=\"cursor: grab; font-size: 25px; color: #6b7280; opacity: 0.9;\"\r\n cdkDragHandle>\r\n drag_indicator\r\n </span>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n } @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{ rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td\r\n style=\"border-left: none; text-align: center; width: 0\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 ? 'none' : ''\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end align-items-center\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n @else\r\n {\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\">\r\n @for(col of columns; track $index)\r\n {\r\n <td\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 && col.field != config.columns[0].field ? 'none' : ''\">\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0)\r\n {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"/>\r\n @if(config.enableSelect)\r\n {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{ display: isSelectEnabled()(rowData, rowNode) ? 'block' : 'none', 'margin-left': config.visibleCheckboxFunction ? '-34px' : '0px' }\"\r\n />\r\n }\r\n </div>\r\n }\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col))\r\n {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name))\r\n {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n }\r\n </span>\r\n } @else\r\n {\r\n <div\r\n class=\"flex flex-row align-items-center {{ (col.boolean || col.centralize) && 'justify-content-center' }} gap-2 w-full\">\r\n @if(col.tagColor)\r\n {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\" col.tooltipTag && col.tooltipTag(rowData, col, rowData[col.field])\"\r\n [style.background-color]=\"col.tagColor(rowData, col, rowData[col.field])\">\r\n </div>\r\n }\r\n @if(col.boolean)\r\n {\r\n <i\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : '' }}\"\r\n style=\"font-size: 1rem; font-weight: 700\">\r\n </i>\r\n } @else\r\n {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n @if(col.subtitle)\r\n {\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n @if((config.actions?.length ?? 0 > 0) || config.actionsPai)\r\n {\r\n <td style=\"border-left: none; text-align: center; width: 0\">\r\n @if((config.actions?.length ?? 0 > 0) && validateActionPosition()(rowNode))\r\n {\r\n <div>\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\">\r\n more_horiz\r\n </span>\r\n @for(action of config.actions; track $index)\r\n {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\">\r\n </p-menu>\r\n </div>\r\n }\r\n @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0)\r\n {\r\n <div class=\"flex justify-content-end\">\r\n @for (actionPai of config.actionsPai; track $index)\r\n {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true)\r\n {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"config.columns.length + 1\"\r\n style=\"text-align: center\"\r\n class=\"text-xs\">\r\n {{ textoEmptyMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.1rem}::ng-deep .p-treetable .p-treetable-header{padding:0!important;margin-bottom:.5rem!important;border-radius:5px!important;background-color:transparent;border:none}:host ::ng-deep .p-treetable table{table-layout:auto!important}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem}::ng-deep .p-checkbox{display:flex;align-items:center}::ng-deep .p-treetable .p-paginator{scale:.75}::ng-deep .icon-more-horiz{font-weight:300!important;font-size:1.4rem!important;padding:.1rem!important;color:rgb(var(--kv-color-system),.75)!important;transition:all .4s}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}::ng-deep .p-treetable .p-treetable-thead>tr>th{padding:.15rem!important;background-color:rgba(var(--kv-color-system),.05);color:rgba(var(--kv-color-text),.6);font-size:.75rem!important;font-weight:600!important}::ng-deep .p-treetable .p-treetable-thead>tr>th span{padding:.25rem}::ng-deep .p-treetable .p-treetable-thead{min-height:.5rem!important;padding:.15rem!important}.tag{width:5px;height:20px;border-radius:.25rem}:host ::ng-deep .draggable-cell .drag-icon{visibility:hidden}:host ::ng-deep .draggable-cell:hover .drag-icon{visibility:visible}.cdk-drag-preview{display:flex;align-items:center;justify-content:space-between;border-radius:10px!important}.cdk-drop-list-dragging{cursor:grabbing}:host ::ng-deep .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}:host ::ng-deep .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}::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}:host{height:100%}::ng-deep .kv-treetable-container,::ng-deep p-treeTable{height:100%}::ng-deep p-treeTable .p-treetable{display:flex;flex-direction:column;height:100%}::ng-deep table{height:auto!important}::ng-deep .p-treetable .p-treetable-wrapper{border:1px solid rgba(var(--kv-color-system),.1);border-radius:.5rem;color:rgb(var(--kv-color-system))}::ng-deep p-treeTable .p-treetable .p-treetable-wrapper,::ng-deep p-treeTable{height:100%}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-treetable .p-treetable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-menuitem .p-menuitem-content .p-menuitem-link{padding:.5rem!important;font-size:.75rem!important}\n"] }]
262
262
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disableRowNodeSticky: [{
263
263
  type: Input
264
264
  }], config: [{
@@ -89,7 +89,7 @@ export class KvWidgetCardComponent {
89
89
  });
90
90
  }
91
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvWidgetCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvWidgetCardComponent, isStandalone: true, selector: "kv-widget-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, iconShape: { classPropertyName: "iconShape", publicName: "iconShape", isSignal: true, isRequired: true, transformFunction: null }, iconSeverity: { classPropertyName: "iconSeverity", publicName: "iconSeverity", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, informationMessage: { classPropertyName: "informationMessage", publicName: "informationMessage", isSignal: true, isRequired: false, transformFunction: null }, navigationData: { classPropertyName: "navigationData", publicName: "navigationData", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div \n class=\"flex flex-row gap-4 p-0 card\"\n [style]=\"{ 'width': 'auto', 'padding': '0 !important' }\" \n >\n\n <div\n style=\"box-sizing: border-box !important;\"\n class=\"flex flex-column gap-1 h-auto w-full p-3 border-round-xl card {{severity() ? severity() : ''}}\"\n [ngClass]=\"{\n 'outline outline-1 outline-offset outline-300': border(),\n }\"\n >\n \n <div class=\"flex flex-row align-items-center mb-2\">\n\n <kv-icon\n [icon]=\"icon()\"\n [severity]=\"iconSeverity()\"\n [shape]=\"iconShape()\"\n ></kv-icon>\n\n <span class=\"text-lg font-bold text-700\" [ngClass]=\"{ 'ml-auto': icon() }\">\n {{ indicator() }}\n </span>\n\n </div>\n\n <div class=\"flex flex-row align-items-center gap-3\">\n\n <span class=\"text-800 text-sm white-space-nowrap\">\n {{ title() }}\n </span>\n\n @if(informationMessage()) {\n <span [style.margin-left]=\"'auto'\" class=\"material-symbols-outlined text-base text-500\" style=\"transform: translate(0px, 1px)\" pTooltip=\"{{ informationMessage() }}\" tooltipPosition=\"top\">\n info\n </span>\n }\n \n </div>\n\n @if(showNavigation()) {\n <div>\n\n <button\n class=\"border-none bg-transparent cursor-pointer flex align-items-center gap-1 p-0 m-0 hover-btn\"\n [style.padding-left]=\"'1px !important'\"\n (click)=\"navigationData().action()\"\n >\n <span class=\"text-xs text-500\">\n {{ navigationData().label }}\n </span>\n\n <span class=\"material-symbols-outlined text-xs text-500\">\n {{ navigationData().redirectIcon }}\n </span>\n\n </button>\n\n </div>\n }\n \n </div>\n \n </div>", 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}:host p-card>::ng-deep .p-card{color:transparent!important;box-shadow:none!important;border-radius:none!important}:host p-card>::ng-deep .p-card>.p-card-body{padding:0!important}.outline{outline:solid}.outline-1{outline-width:1px}.outline-offset{outline-offset:-1px}.outline-300{outline-color:rgba(var(--kv-contrast-color),.2)}.card.system{background-color:rgba(var(--kv-color-system),.1)}.card.success{background-color:rgba(var(--kv-primary-color),.1)}.card.warning{background-color:rgba(var(--kv-warn-color),.1)}.card.danger{background-color:rgba(var(--kv-danger-color),.1)}.hover-btn:hover{scale:1.05;transition:all .2s ease-in-out}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i2.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: KvIconModule }, { kind: "component", type: i3.KvIconComponent, selector: "kv-icon", inputs: ["icon", "shape", "severity", "size"] }] }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvWidgetCardComponent, isStandalone: true, selector: "kv-widget-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, iconShape: { classPropertyName: "iconShape", publicName: "iconShape", isSignal: true, isRequired: true, transformFunction: null }, iconSeverity: { classPropertyName: "iconSeverity", publicName: "iconSeverity", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, informationMessage: { classPropertyName: "informationMessage", publicName: "informationMessage", isSignal: true, isRequired: false, transformFunction: null }, navigationData: { classPropertyName: "navigationData", publicName: "navigationData", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div \r\n class=\"flex flex-row gap-4 p-0 card\"\r\n [style]=\"{ 'width': 'auto', 'padding': '0 !important' }\" \r\n >\r\n\r\n <div\r\n style=\"box-sizing: border-box !important;\"\r\n class=\"flex flex-column gap-1 h-auto w-full p-3 border-round-xl card {{severity() ? severity() : ''}}\"\r\n [ngClass]=\"{\r\n 'outline outline-1 outline-offset outline-300': border(),\r\n }\"\r\n >\r\n \r\n <div class=\"flex flex-row align-items-center mb-2\">\r\n\r\n <kv-icon\r\n [icon]=\"icon()\"\r\n [severity]=\"iconSeverity()\"\r\n [shape]=\"iconShape()\"\r\n ></kv-icon>\r\n\r\n <span class=\"text-lg font-bold text-700\" [ngClass]=\"{ 'ml-auto': icon() }\">\r\n {{ indicator() }}\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center gap-3\">\r\n\r\n <span class=\"text-800 text-sm white-space-nowrap\">\r\n {{ title() }}\r\n </span>\r\n\r\n @if(informationMessage()) {\r\n <span [style.margin-left]=\"'auto'\" class=\"material-symbols-outlined text-base text-500\" style=\"transform: translate(0px, 1px)\" pTooltip=\"{{ informationMessage() }}\" tooltipPosition=\"top\">\r\n info\r\n </span>\r\n }\r\n \r\n </div>\r\n\r\n @if(showNavigation()) {\r\n <div>\r\n\r\n <button\r\n class=\"border-none bg-transparent cursor-pointer flex align-items-center gap-1 p-0 m-0 hover-btn\"\r\n [style.padding-left]=\"'1px !important'\"\r\n (click)=\"navigationData().action()\"\r\n >\r\n <span class=\"text-xs text-500\">\r\n {{ navigationData().label }}\r\n </span>\r\n\r\n <span class=\"material-symbols-outlined text-xs text-500\">\r\n {{ navigationData().redirectIcon }}\r\n </span>\r\n\r\n </button>\r\n\r\n </div>\r\n }\r\n \r\n </div>\r\n \r\n </div>", 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}:host p-card>::ng-deep .p-card{color:transparent!important;box-shadow:none!important;border-radius:none!important}:host p-card>::ng-deep .p-card>.p-card-body{padding:0!important}.outline{outline:solid}.outline-1{outline-width:1px}.outline-offset{outline-offset:-1px}.outline-300{outline-color:rgba(var(--kv-contrast-color),.2)}.card.system{background-color:rgba(var(--kv-color-system),.1)}.card.success{background-color:rgba(var(--kv-primary-color),.1)}.card.warning{background-color:rgba(var(--kv-warn-color),.1)}.card.danger{background-color:rgba(var(--kv-danger-color),.1)}.hover-btn:hover{scale:1.05;transition:all .2s ease-in-out}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i2.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: KvIconModule }, { kind: "component", type: i3.KvIconComponent, selector: "kv-icon", inputs: ["icon", "shape", "severity", "size"] }] }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvWidgetCardComponent, decorators: [{
95
95
  type: Component,
@@ -97,6 +97,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
97
97
  CommonModule,
98
98
  PrimeNgModule,
99
99
  KvIconModule
100
- ], template: "<div \n class=\"flex flex-row gap-4 p-0 card\"\n [style]=\"{ 'width': 'auto', 'padding': '0 !important' }\" \n >\n\n <div\n style=\"box-sizing: border-box !important;\"\n class=\"flex flex-column gap-1 h-auto w-full p-3 border-round-xl card {{severity() ? severity() : ''}}\"\n [ngClass]=\"{\n 'outline outline-1 outline-offset outline-300': border(),\n }\"\n >\n \n <div class=\"flex flex-row align-items-center mb-2\">\n\n <kv-icon\n [icon]=\"icon()\"\n [severity]=\"iconSeverity()\"\n [shape]=\"iconShape()\"\n ></kv-icon>\n\n <span class=\"text-lg font-bold text-700\" [ngClass]=\"{ 'ml-auto': icon() }\">\n {{ indicator() }}\n </span>\n\n </div>\n\n <div class=\"flex flex-row align-items-center gap-3\">\n\n <span class=\"text-800 text-sm white-space-nowrap\">\n {{ title() }}\n </span>\n\n @if(informationMessage()) {\n <span [style.margin-left]=\"'auto'\" class=\"material-symbols-outlined text-base text-500\" style=\"transform: translate(0px, 1px)\" pTooltip=\"{{ informationMessage() }}\" tooltipPosition=\"top\">\n info\n </span>\n }\n \n </div>\n\n @if(showNavigation()) {\n <div>\n\n <button\n class=\"border-none bg-transparent cursor-pointer flex align-items-center gap-1 p-0 m-0 hover-btn\"\n [style.padding-left]=\"'1px !important'\"\n (click)=\"navigationData().action()\"\n >\n <span class=\"text-xs text-500\">\n {{ navigationData().label }}\n </span>\n\n <span class=\"material-symbols-outlined text-xs text-500\">\n {{ navigationData().redirectIcon }}\n </span>\n\n </button>\n\n </div>\n }\n \n </div>\n \n </div>", 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}:host p-card>::ng-deep .p-card{color:transparent!important;box-shadow:none!important;border-radius:none!important}:host p-card>::ng-deep .p-card>.p-card-body{padding:0!important}.outline{outline:solid}.outline-1{outline-width:1px}.outline-offset{outline-offset:-1px}.outline-300{outline-color:rgba(var(--kv-contrast-color),.2)}.card.system{background-color:rgba(var(--kv-color-system),.1)}.card.success{background-color:rgba(var(--kv-primary-color),.1)}.card.warning{background-color:rgba(var(--kv-warn-color),.1)}.card.danger{background-color:rgba(var(--kv-danger-color),.1)}.hover-btn:hover{scale:1.05;transition:all .2s ease-in-out}\n"] }]
100
+ ], template: "<div \r\n class=\"flex flex-row gap-4 p-0 card\"\r\n [style]=\"{ 'width': 'auto', 'padding': '0 !important' }\" \r\n >\r\n\r\n <div\r\n style=\"box-sizing: border-box !important;\"\r\n class=\"flex flex-column gap-1 h-auto w-full p-3 border-round-xl card {{severity() ? severity() : ''}}\"\r\n [ngClass]=\"{\r\n 'outline outline-1 outline-offset outline-300': border(),\r\n }\"\r\n >\r\n \r\n <div class=\"flex flex-row align-items-center mb-2\">\r\n\r\n <kv-icon\r\n [icon]=\"icon()\"\r\n [severity]=\"iconSeverity()\"\r\n [shape]=\"iconShape()\"\r\n ></kv-icon>\r\n\r\n <span class=\"text-lg font-bold text-700\" [ngClass]=\"{ 'ml-auto': icon() }\">\r\n {{ indicator() }}\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center gap-3\">\r\n\r\n <span class=\"text-800 text-sm white-space-nowrap\">\r\n {{ title() }}\r\n </span>\r\n\r\n @if(informationMessage()) {\r\n <span [style.margin-left]=\"'auto'\" class=\"material-symbols-outlined text-base text-500\" style=\"transform: translate(0px, 1px)\" pTooltip=\"{{ informationMessage() }}\" tooltipPosition=\"top\">\r\n info\r\n </span>\r\n }\r\n \r\n </div>\r\n\r\n @if(showNavigation()) {\r\n <div>\r\n\r\n <button\r\n class=\"border-none bg-transparent cursor-pointer flex align-items-center gap-1 p-0 m-0 hover-btn\"\r\n [style.padding-left]=\"'1px !important'\"\r\n (click)=\"navigationData().action()\"\r\n >\r\n <span class=\"text-xs text-500\">\r\n {{ navigationData().label }}\r\n </span>\r\n\r\n <span class=\"material-symbols-outlined text-xs text-500\">\r\n {{ navigationData().redirectIcon }}\r\n </span>\r\n\r\n </button>\r\n\r\n </div>\r\n }\r\n \r\n </div>\r\n \r\n </div>", 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}:host p-card>::ng-deep .p-card{color:transparent!important;box-shadow:none!important;border-radius:none!important}:host p-card>::ng-deep .p-card>.p-card-body{padding:0!important}.outline{outline:solid}.outline-1{outline-width:1px}.outline-offset{outline-offset:-1px}.outline-300{outline-color:rgba(var(--kv-contrast-color),.2)}.card.system{background-color:rgba(var(--kv-color-system),.1)}.card.success{background-color:rgba(var(--kv-primary-color),.1)}.card.warning{background-color:rgba(var(--kv-warn-color),.1)}.card.danger{background-color:rgba(var(--kv-danger-color),.1)}.hover-btn:hover{scale:1.05;transition:all .2s ease-in-out}\n"] }]
101
101
  }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytd2lkZ2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytd2lkZ2V0LWNhcmQva3Ytd2lkZ2V0LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytd2lkZ2V0LWNhcmQva3Ytd2lkZ2V0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBb0J6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNIOztHQUVHO0FBR0gsTUFBTSxPQUFPLHFCQUFxQjtJQXJDbEM7UUFzQ0U7OztXQUdHO1FBQ0gsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVoQzs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUMsQ0FBQztRQUU5RDs7O1dBR0c7UUFDSCxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFFLENBQUM7UUFFbkc7OztXQUdHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVqQzs7O1dBR0c7UUFDSCxtQkFBYyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUV2Qzs7O1dBR0c7UUFDSCxXQUFNLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRS9COzs7V0FHRztRQUNILGFBQVEsR0FBRyxLQUFLLEVBQStDLENBQUM7UUFFaEU7OztXQUdHO1FBQ0gsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRTVCOzs7V0FHRztRQUNILHVCQUFrQixHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV2Qzs7O1dBR0c7UUFDSCxtQkFBYyxHQUFHLEtBQUssQ0FBOEI7WUFDbEQsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsRUFBRTtZQUNoQixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUM7U0FDRixDQUFDLENBQUM7S0FDSjs4R0FsRVkscUJBQXFCO2tHQUFyQixxQkFBcUIscTVDQ2pEbEMsaTNEQWdFUSxrd01EOUNKLFlBQVksNEhBQ1osYUFBYSxxWEFDYixZQUFZOzsyRkE2QkgscUJBQXFCO2tCQXJDakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgSWNvbk1vZGVscyBmcm9tICcuLi9rdi1pY29uL2t2LWljb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkljb25Nb2R1bGUgfSBmcm9tICcuLi9rdi1pY29uL2t2LWljb24ubW9kdWxlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgS3ZXaWRnZXRDYXJkTmF2aWdhdGlvbk1vZGVsIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHJlZGlyZWN0SWNvbjogc3RyaW5nO1xyXG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi13aWRnZXQtY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXdpZGdldC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9rdi13aWRnZXQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEt2SWNvbk1vZHVsZVxyXG4gIF1cclxufSlcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHBhcmEgZXhpYmnDp8OjbyBkZSB1bSBjYXJkIHdpZGdldC5cclxuICogXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBPIEt2V2lkZ2V0Q2FyZENvbXBvbmVudCDDqSB1dGlsaXphZG8gcGFyYSBleGliaXIgaW5mb3JtYcOnw7VlcyByZXN1bWlkYXMgZW0gZm9ybWF0byBkZSBjYXJkLFxyXG4gKiBjb21vIGluZGljYWRvcmVzLCB0w610dWxvcyBlIG1lbnNhZ2VucyBpbmZvcm1hdGl2YXMsIGNvbSBvcMOnw7VlcyBkZSBuYXZlZ2HDp8OjbyBlIMOtY29uZXMuXHJcbiAqIFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8a3Ytd2lkZ2V0LWNhcmRcclxuICogICBbdGl0bGVdPVwiJ1RhcmVmYXMgZW0gQXRyYXNvJ1wiXHJcbiAqICAgW2luZGljYXRvcl09XCInNTAnXCJcclxuICogICBbaW5mb3JtYXRpb25NZXNzYWdlXT1cIidBdHJhc28gZGUgMiBkaWFzJ1wiXHJcbiAqICBbaWNvbl09XCInaW5mbydcIlxyXG4gKiAgW2ljb25TaGFwZV09XCInY2lyY2xlJ1wiXHJcbiAqICBbaWNvblNldmVyaXR5XT1cIidzdWNjZXNzJ1wiXHJcbiAqID5cclxuICogPC9rdi13aWRnZXQtY2FyZD5cclxuICogXHJcbiAqIEBwdWJsaWNBcGlcclxuICovXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHBhcmEgZXhpYmnDp8OjbyBkZSBjYXJkcyBkZSB3aWRnZXRzLlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgS3ZXaWRnZXRDYXJkQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBEZWZpbmUgbyDDrWNvbmUgZG8gY2FyZC5cclxuICAgKiBAcmVxdWlyZWRcclxuICAgKi9cclxuICBpY29uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbyBmb3JtYXRvIGRvIMOtY29uZSBkbyBjYXJkLlxyXG4gICAqIEByZXF1aXJlZFxyXG4gICAqL1xyXG4gIGljb25TaGFwZSA9IGlucHV0LnJlcXVpcmVkPCdjaXJjbGUnIHwgJ2hleGFnb24nIHwgJ3NxdWFyZSc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBhIGNvciBkbyDDrWNvbmUgZG8gY2FyZC5cclxuICAgKiBAcmVxdWlyZWRcclxuICAgKi9cclxuICBpY29uU2V2ZXJpdHkgPSBpbnB1dC5yZXF1aXJlZDwnc3lzdGVtJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnIHwgJ2NvbnRyYXN0JyB8ICdpbmZvJz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVMOtdHVsbyBkbyBjYXJkLlxyXG4gICAqIEByZXF1aXJlZFxyXG4gICAqL1xyXG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgc2UgYSBuYXZlZ2HDp8OjbyBkbyBjYXJkIGRldmUgc2VyIGV4aWJpZGEuXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIHNob3dOYXZpZ2F0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgc2UgYSBib3JkYSBkbyBjYXJkIGRldmUgc2VyIGV4aWJpZGEuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBib3JkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBvIGJhY2tncm91bmQtY29sb3IgZG8gY2FyZC5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgc2V2ZXJpdHkgPSBpbnB1dDwnc3lzdGVtJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnPigpO1xyXG5cclxuICAvKipcclxuICAgKiBWYWxvciBkbyBpbmRpY2Fkb3IgcHJpbmNpcGFsIGRvIGNhcmQuXHJcbiAgICogQGRlZmF1bHQgXHJcbiAgICovXHJcbiAgaW5kaWNhdG9yID0gaW5wdXQ8bnVtYmVyPigpO1xyXG5cclxuICAvKipcclxuICAgKiBNZW5zYWdlbSBpbmZvcm1hdGl2YSBhZGljaW9uYWwgZXhpYmlkYSBubyBjYXJkLlxyXG4gICAqIEBkZWZhdWx0ICcnXHJcbiAgICovXHJcbiAgaW5mb3JtYXRpb25NZXNzYWdlID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhZG9zIGRlIG5hdmVnYcOnw6NvIGRvIGNhcmQsIGluY2x1aW5kbyByw7N0dWxvLCDDrWNvbmUgZSBhw6fDo28gYSBzZXIgZXhlY3V0YWRhLlxyXG4gICAqIEBkZWZhdWx0IHtsYWJlbDogJycsIHJlZGlyZWN0SWNvbjogJycsIGFjdGlvbjogZnVuY3Rpb24gcXVlIGxhbsOnYSBlcnJvfVxyXG4gICAqL1xyXG4gIG5hdmlnYXRpb25EYXRhID0gaW5wdXQ8S3ZXaWRnZXRDYXJkTmF2aWdhdGlvbk1vZGVsPih7XHJcbiAgICBsYWJlbDogJycsXHJcbiAgICByZWRpcmVjdEljb246ICcnLFxyXG4gICAgYWN0aW9uOiBmdW5jdGlvbiAoKTogdm9pZCB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59IiwiPGRpdiBcbiAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTQgcC0wIGNhcmRcIlxuICAgIFtzdHlsZV09XCJ7ICd3aWR0aCc6ICdhdXRvJywgJ3BhZGRpbmcnOiAnMCAhaW1wb3J0YW50JyB9XCIgXG4gID5cblxuICAgIDxkaXZcbiAgICAgIHN0eWxlPVwiYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1wiXG4gICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTEgaC1hdXRvIHctZnVsbCBwLTMgYm9yZGVyLXJvdW5kLXhsIGNhcmQge3tzZXZlcml0eSgpID8gc2V2ZXJpdHkoKSA6ICcnfX1cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnb3V0bGluZSBvdXRsaW5lLTEgb3V0bGluZS1vZmZzZXQgb3V0bGluZS0zMDAnOiBib3JkZXIoKSxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5cblxuICAgICAgICA8a3YtaWNvblxuICAgICAgICAgIFtpY29uXT1cImljb24oKVwiXG4gICAgICAgICAgW3NldmVyaXR5XT1cImljb25TZXZlcml0eSgpXCJcbiAgICAgICAgICBbc2hhcGVdPVwiaWNvblNoYXBlKClcIlxuICAgICAgICA+PC9rdi1pY29uPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGQgdGV4dC03MDBcIiBbbmdDbGFzc109XCJ7ICdtbC1hdXRvJzogaWNvbigpIH1cIj5cbiAgICAgICAgICB7eyBpbmRpY2F0b3IoKSB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtODAwIHRleHQtc20gd2hpdGUtc3BhY2Utbm93cmFwXCI+XG4gICAgICAgICAge3sgdGl0bGUoKSB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgQGlmKGluZm9ybWF0aW9uTWVzc2FnZSgpKSB7XG4gICAgICAgICAgPHNwYW4gW3N0eWxlLm1hcmdpbi1sZWZ0XT1cIidhdXRvJ1wiIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LWJhc2UgdGV4dC01MDBcIiBzdHlsZT1cInRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMXB4KVwiIHBUb29sdGlwPVwie3sgaW5mb3JtYXRpb25NZXNzYWdlKCkgfX1cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj5cbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZihzaG93TmF2aWdhdGlvbigpKSB7XG4gICAgICAgIDxkaXY+XG5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImJvcmRlci1ub25lIGJnLXRyYW5zcGFyZW50IGN1cnNvci1wb2ludGVyIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIHAtMCBtLTAgaG92ZXItYnRuXCJcbiAgICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnRdPVwiJzFweCAhaW1wb3J0YW50J1wiXG4gICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGlvbkRhdGEoKS5hY3Rpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIHRleHQtNTAwXCI+XG4gICAgICAgICAgICAgIHt7IG5hdmlnYXRpb25EYXRhKCkubGFiZWwgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQteHMgdGV4dC01MDBcIj5cbiAgICAgICAgICAgICAge3sgbmF2aWdhdGlvbkRhdGEoKS5yZWRpcmVjdEljb24gfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgXG4gICAgPC9kaXY+XG4gICAgXG4gIDwvZGl2PiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytd2lkZ2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytd2lkZ2V0LWNhcmQva3Ytd2lkZ2V0LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytd2lkZ2V0LWNhcmQva3Ytd2lkZ2V0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBb0J6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNIOztHQUVHO0FBR0gsTUFBTSxPQUFPLHFCQUFxQjtJQXJDbEM7UUFzQ0U7OztXQUdHO1FBQ0gsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVoQzs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUMsQ0FBQztRQUU5RDs7O1dBR0c7UUFDSCxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFFLENBQUM7UUFFbkc7OztXQUdHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVqQzs7O1dBR0c7UUFDSCxtQkFBYyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUV2Qzs7O1dBR0c7UUFDSCxXQUFNLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRS9COzs7V0FHRztRQUNILGFBQVEsR0FBRyxLQUFLLEVBQStDLENBQUM7UUFFaEU7OztXQUdHO1FBQ0gsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRTVCOzs7V0FHRztRQUNILHVCQUFrQixHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV2Qzs7O1dBR0c7UUFDSCxtQkFBYyxHQUFHLEtBQUssQ0FBOEI7WUFDbEQsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsRUFBRTtZQUNoQixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUM7U0FDRixDQUFDLENBQUM7S0FDSjs4R0FsRVkscUJBQXFCO2tHQUFyQixxQkFBcUIscTVDQ2pEbEMsaS9EQWdFUSxrd01EOUNKLFlBQVksNEhBQ1osYUFBYSxxWEFDYixZQUFZOzsyRkE2QkgscUJBQXFCO2tCQXJDakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgSWNvbk1vZGVscyBmcm9tICcuLi9rdi1pY29uL2t2LWljb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkljb25Nb2R1bGUgfSBmcm9tICcuLi9rdi1pY29uL2t2LWljb24ubW9kdWxlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgS3ZXaWRnZXRDYXJkTmF2aWdhdGlvbk1vZGVsIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHJlZGlyZWN0SWNvbjogc3RyaW5nO1xyXG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi13aWRnZXQtY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXdpZGdldC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9rdi13aWRnZXQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEt2SWNvbk1vZHVsZVxyXG4gIF1cclxufSlcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHBhcmEgZXhpYmnDp8OjbyBkZSB1bSBjYXJkIHdpZGdldC5cclxuICogXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBPIEt2V2lkZ2V0Q2FyZENvbXBvbmVudCDDqSB1dGlsaXphZG8gcGFyYSBleGliaXIgaW5mb3JtYcOnw7VlcyByZXN1bWlkYXMgZW0gZm9ybWF0byBkZSBjYXJkLFxyXG4gKiBjb21vIGluZGljYWRvcmVzLCB0w610dWxvcyBlIG1lbnNhZ2VucyBpbmZvcm1hdGl2YXMsIGNvbSBvcMOnw7VlcyBkZSBuYXZlZ2HDp8OjbyBlIMOtY29uZXMuXHJcbiAqIFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8a3Ytd2lkZ2V0LWNhcmRcclxuICogICBbdGl0bGVdPVwiJ1RhcmVmYXMgZW0gQXRyYXNvJ1wiXHJcbiAqICAgW2luZGljYXRvcl09XCInNTAnXCJcclxuICogICBbaW5mb3JtYXRpb25NZXNzYWdlXT1cIidBdHJhc28gZGUgMiBkaWFzJ1wiXHJcbiAqICBbaWNvbl09XCInaW5mbydcIlxyXG4gKiAgW2ljb25TaGFwZV09XCInY2lyY2xlJ1wiXHJcbiAqICBbaWNvblNldmVyaXR5XT1cIidzdWNjZXNzJ1wiXHJcbiAqID5cclxuICogPC9rdi13aWRnZXQtY2FyZD5cclxuICogXHJcbiAqIEBwdWJsaWNBcGlcclxuICovXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHBhcmEgZXhpYmnDp8OjbyBkZSBjYXJkcyBkZSB3aWRnZXRzLlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgS3ZXaWRnZXRDYXJkQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBEZWZpbmUgbyDDrWNvbmUgZG8gY2FyZC5cclxuICAgKiBAcmVxdWlyZWRcclxuICAgKi9cclxuICBpY29uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbyBmb3JtYXRvIGRvIMOtY29uZSBkbyBjYXJkLlxyXG4gICAqIEByZXF1aXJlZFxyXG4gICAqL1xyXG4gIGljb25TaGFwZSA9IGlucHV0LnJlcXVpcmVkPCdjaXJjbGUnIHwgJ2hleGFnb24nIHwgJ3NxdWFyZSc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBhIGNvciBkbyDDrWNvbmUgZG8gY2FyZC5cclxuICAgKiBAcmVxdWlyZWRcclxuICAgKi9cclxuICBpY29uU2V2ZXJpdHkgPSBpbnB1dC5yZXF1aXJlZDwnc3lzdGVtJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnIHwgJ2NvbnRyYXN0JyB8ICdpbmZvJz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVMOtdHVsbyBkbyBjYXJkLlxyXG4gICAqIEByZXF1aXJlZFxyXG4gICAqL1xyXG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgc2UgYSBuYXZlZ2HDp8OjbyBkbyBjYXJkIGRldmUgc2VyIGV4aWJpZGEuXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIHNob3dOYXZpZ2F0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgc2UgYSBib3JkYSBkbyBjYXJkIGRldmUgc2VyIGV4aWJpZGEuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBib3JkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBvIGJhY2tncm91bmQtY29sb3IgZG8gY2FyZC5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgc2V2ZXJpdHkgPSBpbnB1dDwnc3lzdGVtJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnPigpO1xyXG5cclxuICAvKipcclxuICAgKiBWYWxvciBkbyBpbmRpY2Fkb3IgcHJpbmNpcGFsIGRvIGNhcmQuXHJcbiAgICogQGRlZmF1bHQgXHJcbiAgICovXHJcbiAgaW5kaWNhdG9yID0gaW5wdXQ8bnVtYmVyPigpO1xyXG5cclxuICAvKipcclxuICAgKiBNZW5zYWdlbSBpbmZvcm1hdGl2YSBhZGljaW9uYWwgZXhpYmlkYSBubyBjYXJkLlxyXG4gICAqIEBkZWZhdWx0ICcnXHJcbiAgICovXHJcbiAgaW5mb3JtYXRpb25NZXNzYWdlID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhZG9zIGRlIG5hdmVnYcOnw6NvIGRvIGNhcmQsIGluY2x1aW5kbyByw7N0dWxvLCDDrWNvbmUgZSBhw6fDo28gYSBzZXIgZXhlY3V0YWRhLlxyXG4gICAqIEBkZWZhdWx0IHtsYWJlbDogJycsIHJlZGlyZWN0SWNvbjogJycsIGFjdGlvbjogZnVuY3Rpb24gcXVlIGxhbsOnYSBlcnJvfVxyXG4gICAqL1xyXG4gIG5hdmlnYXRpb25EYXRhID0gaW5wdXQ8S3ZXaWRnZXRDYXJkTmF2aWdhdGlvbk1vZGVsPih7XHJcbiAgICBsYWJlbDogJycsXHJcbiAgICByZWRpcmVjdEljb246ICcnLFxyXG4gICAgYWN0aW9uOiBmdW5jdGlvbiAoKTogdm9pZCB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59IiwiPGRpdiBcclxuICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNCBwLTAgY2FyZFwiXHJcbiAgICBbc3R5bGVdPVwieyAnd2lkdGgnOiAnYXV0bycsICdwYWRkaW5nJzogJzAgIWltcG9ydGFudCcgfVwiIFxyXG4gID5cclxuXHJcbiAgICA8ZGl2XHJcbiAgICAgIHN0eWxlPVwiYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1wiXHJcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMSBoLWF1dG8gdy1mdWxsIHAtMyBib3JkZXItcm91bmQteGwgY2FyZCB7e3NldmVyaXR5KCkgPyBzZXZlcml0eSgpIDogJyd9fVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnb3V0bGluZSBvdXRsaW5lLTEgb3V0bGluZS1vZmZzZXQgb3V0bGluZS0zMDAnOiBib3JkZXIoKSxcclxuICAgICAgfVwiXHJcbiAgICA+XHJcbiAgICAgIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMlwiPlxyXG5cclxuICAgICAgICA8a3YtaWNvblxyXG4gICAgICAgICAgW2ljb25dPVwiaWNvbigpXCJcclxuICAgICAgICAgIFtzZXZlcml0eV09XCJpY29uU2V2ZXJpdHkoKVwiXHJcbiAgICAgICAgICBbc2hhcGVdPVwiaWNvblNoYXBlKClcIlxyXG4gICAgICAgID48L2t2LWljb24+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGQgdGV4dC03MDBcIiBbbmdDbGFzc109XCJ7ICdtbC1hdXRvJzogaWNvbigpIH1cIj5cclxuICAgICAgICAgIHt7IGluZGljYXRvcigpIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTgwMCB0ZXh0LXNtIHdoaXRlLXNwYWNlLW5vd3JhcFwiPlxyXG4gICAgICAgICAge3sgdGl0bGUoKSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgQGlmKGluZm9ybWF0aW9uTWVzc2FnZSgpKSB7XHJcbiAgICAgICAgICA8c3BhbiBbc3R5bGUubWFyZ2luLWxlZnRdPVwiJ2F1dG8nXCIgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtYmFzZSB0ZXh0LTUwMFwiIHN0eWxlPVwidHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAxcHgpXCIgcFRvb2x0aXA9XCJ7eyBpbmZvcm1hdGlvbk1lc3NhZ2UoKSB9fVwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPlxyXG4gICAgICAgICAgICBpbmZvXHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgICBcclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICBAaWYoc2hvd05hdmlnYXRpb24oKSkge1xyXG4gICAgICAgIDxkaXY+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJvcmRlci1ub25lIGJnLXRyYW5zcGFyZW50IGN1cnNvci1wb2ludGVyIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIHAtMCBtLTAgaG92ZXItYnRuXCJcclxuICAgICAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCInMXB4ICFpbXBvcnRhbnQnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRpb25EYXRhKCkuYWN0aW9uKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgdGV4dC01MDBcIj5cclxuICAgICAgICAgICAgICB7eyBuYXZpZ2F0aW9uRGF0YSgpLmxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LXhzIHRleHQtNTAwXCI+XHJcbiAgICAgICAgICAgICAge3sgbmF2aWdhdGlvbkRhdGEoKS5yZWRpcmVjdEljb24gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgPC9kaXY+Il19