keevo-components 2.0.181 → 2.0.182

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.
@@ -13330,29 +13330,39 @@ class NoArvoreComponent {
13330
13330
  event.stopPropagation();
13331
13331
  this.sidebarClick.emit(this.noPlano().dadosOriginais);
13332
13332
  }
13333
+ toggleMenu(event, menu) {
13334
+ event.stopPropagation();
13335
+ menu.toggle(event);
13336
+ }
13333
13337
  calcularEstilosIcone(no) {
13334
13338
  const pai = !!(no.filhos && no.filhos.length > 0);
13335
- const corPadrao = '#2f80ed';
13336
- const corFinal = no.cor || corPadrao;
13337
- if (no.ativo === false) {
13338
- return pai
13339
- ? { 'background-color': '#f2f2f2', 'color': '#bdbdbd' }
13340
- : { 'background-color': 'transparent', 'color': '#bdbdbd' };
13339
+ const corPadrao = 'transparent';
13340
+ const corBackgroundIcon = no.backgroundIconColor || corPadrao;
13341
+ const corIcon = no.iconColor || '#64748B';
13342
+ if (!no.ativo) {
13343
+ return pai ? {
13344
+ 'background-color': '#f2f2f2',
13345
+ 'color': '#bdbdbd'
13346
+ } : {
13347
+ 'background-color': 'transparent',
13348
+ 'color': '#bdbdbd'
13349
+ };
13341
13350
  }
13342
- return pai
13343
- ? { 'background-color': corFinal, 'color': 'white' }
13344
- : { 'background-color': 'transparent', 'color': corFinal };
13351
+ return {
13352
+ 'background-color': corBackgroundIcon,
13353
+ 'color': corIcon
13354
+ };
13345
13355
  }
13346
13356
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NoArvoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13347
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: NoArvoreComponent, isStandalone: true, selector: "no-arvore", inputs: { noPlano: { classPropertyName: "noPlano", publicName: "noPlano", isSignal: true, isRequired: true, transformFunction: null }, enableSidebar: { classPropertyName: "enableSidebar", publicName: "enableSidebar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { noAlternado: "noAlternado", actionExecuted: "actionExecuted", sidebarClick: "sidebarClick" }, ngImport: i0, template: "<li \n class=\"no-container\"\n [class.inativo]=\"noPlano().dadosOriginais.ativo === false\">\n\n <div class=\"linhas-guia\">\n @for(i of [].constructor(noPlano().nivel); track i) {\n <div class=\"linha-vertical\"></div>\n }\n </div>\n\n <div \n class=\"no-conteudo\" \n [class.is-last-child]=\"noPlano().isLast\"\n (click)=\"alternarExpansao()\">\n\n <div class=\"container-icone\" [ngStyle]=\"estilosIcone()\">\n <span class=\"material-symbols-outlined text-lg no-icone\">\n {{ noPlano().dadosOriginais.icone }}\n </span>\n </div>\n\n <span \n class=\"no-rotulo\"\n [class.text-black-alpha-80]=\"!ehNoPai()\">\n {{ noPlano().dadosOriginais.rotulo }}\n </span>\n\n @if (noPlano().dadosOriginais.showSidebarAction) {\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow\"\n (click)=\"abrirSidebar($event)\"\n >\n menu\n </span>\n }\n\n @if (items().length > 0) {\n\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow\"\n (click)=\"$event.stopPropagation()\"\n (click)=\"menu.toggle($event)\"\n >\n more_horiz\n </span>\n\n <p-tieredMenu\n #menu\n [popup]=\"true\"\n [model]=\"items()\"\n appendTo=\"body\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"left\"\n class=\"cursor-pointer\"\n (click)=\"onActionClick(item, $event)\"\n >\n <span class=\"text-xs\">\n {{ item.label }}\n </span>\n </div>\n </ng-template>\n </p-tieredMenu>\n }\n \n </div>\n \n \n</li>\n\n", styles: [":host{--ident-size: 2rem;--line-color: #e0e0e0;--line-width: 1px}.no-container{display:flex;align-items:stretch;position:relative}.linhas-guia{display:flex;flex-shrink:0;position:relative}.linha-vertical{width:var(--ident-size);position:relative}.linha-vertical:before{content:\"\";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:var(--line-width);background-color:var(--line-color)}.no-conteudo{display:flex;align-items:center;cursor:pointer;position:relative;padding:4px 4px 4px 0}.no-conteudo:before{content:\"\";position:absolute;left:calc(var(--ident-size) / -2);top:50%;width:calc(var(--ident-size) / 2);height:var(--line-width);background-color:var(--line-color)}.no-conteudo:hover{background-color:#0000000a;border-radius:4px}.is-last-child~.linhas-guia .linha-vertical:last-child:before,.is-last-child .linhas-guia .linha-vertical:last-child:before{height:50%}:host:first-child .no-conteudo:before,:host:first-child .linhas-guia{display:none}.no-seta{transition:transform .25s ease-in-out;color:#555;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.no-seta.rotacionado{transform:rotate(0)}.no-seta:not(.rotacionado){transform:rotate(-90deg)}.container-icone{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;margin-right:8px;flex-shrink:0}.container-icone .no-icone{font-size:18px}.no-rotulo{font-family:system-ui,sans-serif;color:#000}.inativo .no-rotulo,.inativo .no-seta{color:#bdbdbd}.icone-arrow{font-weight:500;color:rgb(var(--kv-color-system),.75);transition:all .4s;opacity:0;transition:opacity .2s ease,transform .2s ease}.icone-arrow:hover{background:#0000001a;border-radius:4px}.no-conteudo:hover .icone-arrow{opacity:1}::ng-deep .p-tieredmenu{padding:.5rem!important}::ng-deep .p-tieredmenu .p-tieredmenu-root-list{font-size:.75rem!important}::ng-deep .p-tieredmenu .p-menuitem>.p-menuitem-content{padding:.5rem}::ng-deep p-tieredmenusub .p-disabled *:active{pointer-events:none!important;font-size:.75rem!important;padding:.5rem!important}::ng-deep .p-disabled *{pointer-events:auto!important}.icon-more{font-weight:500;font-size:1.4rem!important;color:rgb(var(--kv-color-system),.75);transition:all .4s}.icon-more:hover,.icon-more:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TieredMenuModule }, { kind: "component", type: i13.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13357
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: NoArvoreComponent, isStandalone: true, selector: "no-arvore", inputs: { noPlano: { classPropertyName: "noPlano", publicName: "noPlano", isSignal: true, isRequired: true, transformFunction: null }, enableSidebar: { classPropertyName: "enableSidebar", publicName: "enableSidebar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { noAlternado: "noAlternado", actionExecuted: "actionExecuted", sidebarClick: "sidebarClick" }, ngImport: i0, template: "<li \n class=\"no-container\"\n [class.inativo]=\"noPlano().dadosOriginais.ativo === false\">\n\n <div class=\"linhas-guia\">\n @for(i of [].constructor(noPlano().nivel); track i) {\n <div class=\"linha-vertical\"></div>\n }\n </div>\n\n <div \n class=\"no-conteudo\" \n [class.is-last-child]=\"noPlano().isLast\"\n (click)=\"alternarExpansao()\">\n\n <div class=\"container-icone\" [ngStyle]=\"estilosIcone()\">\n <span class=\"material-symbols-outlined text-lg no-icone\">\n {{ noPlano().dadosOriginais.icone }}\n </span>\n </div>\n\n <span \n class=\"no-rotulo\"\n [class.text-black-alpha-80]=\"!ehNoPai()\">\n {{ noPlano().dadosOriginais.rotulo }}\n </span>\n\n @if (noPlano().dadosOriginais.showSidebarAction) {\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow text-600\"\n style=\"transform: translate(0px, 2px);\"\n (click)=\"abrirSidebar($event)\"\n >\n menu\n </span>\n }\n\n @if (items().length > 0) {\n\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow text-600\"\n style=\"transform: translate(0px, 2px);\"\n (click)=\"toggleMenu($event, menu)\"\n >\n more_horiz\n </span>\n\n <p-tieredMenu\n #menu\n [popup]=\"true\"\n [model]=\"items()\"\n appendTo=\"body\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"left\"\n class=\"cursor-pointer\"\n (click)=\"onActionClick(item, $event)\"\n >\n <span class=\"text-xs\">\n {{ item.label }}\n </span>\n </div>\n </ng-template>\n </p-tieredMenu>\n }\n \n </div>\n \n \n</li>\n\n", styles: [":host{--ident-size: 2rem;--line-color: #e0e0e0;--line-width: 1px}.no-container{display:flex;align-items:stretch;position:relative}.linhas-guia{display:flex;flex-shrink:0;position:relative}.linha-vertical{width:var(--ident-size);position:relative}.linha-vertical:before{content:\"\";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:var(--line-width);background-color:var(--line-color)}.no-conteudo{display:flex;align-items:center;cursor:pointer;position:relative;padding:4px 6px 6px 0}.no-conteudo:before{content:\"\";position:absolute;left:calc(var(--ident-size) / -2);top:50%;width:calc(var(--ident-size) / 2);height:var(--line-width);background-color:var(--line-color)}.no-conteudo:hover{transition:background-color .5s cubic-bezier(.075,.82,.165,1);background-color:rgba(var(--kv-color-system),.09);border-radius:4px}.is-last-child~.linhas-guia .linha-vertical:last-child:before,.is-last-child .linhas-guia .linha-vertical:last-child:before{height:50%}:host:first-child .no-conteudo:before,:host:first-child .linhas-guia{display:none}.no-seta{transition:transform .25s ease-in-out;color:#555;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.no-seta.rotacionado{transform:rotate(0)}.no-seta:not(.rotacionado){transform:rotate(-90deg)}.container-icone{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;margin:0 8px;flex-shrink:0;transform:translateY(1px)}.container-icone .no-icone{font-size:18px}.no-rotulo{font-family:system-ui,sans-serif;color:#000}.inativo .no-rotulo,.inativo .no-seta{color:#bdbdbd}.icone-arrow{font-weight:500;transition:all .4s;opacity:1;transition:opacity .2s ease,transform .2s ease}.icone-arrow:hover{transition:scale .3s ease,transform .2s ease;scale:1.2;border-radius:4px}.no-conteudo:hover .icone-arrow{opacity:1}::ng-deep .p-tieredmenu{padding:.5rem!important}::ng-deep .p-tieredmenu .p-tieredmenu-root-list{font-size:.75rem!important}::ng-deep .p-tieredmenu .p-menuitem>.p-menuitem-content{padding:.5rem}::ng-deep p-tieredmenusub .p-disabled *:active{pointer-events:none!important;font-size:.75rem!important;padding:.5rem!important}::ng-deep .p-disabled *{pointer-events:auto!important}.icon-more{font-weight:500;font-size:1.4rem!important;color:rgb(var(--kv-color-system),.75);transition:all .4s}.icon-more:hover,.icon-more:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TieredMenuModule }, { kind: "component", type: i13.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i5$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }] }); }
13348
13358
  }
13349
13359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NoArvoreComponent, decorators: [{
13350
13360
  type: Component,
13351
- args: [{ standalone: true, selector: 'no-arvore', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
13361
+ args: [{ standalone: true, selector: 'no-arvore', imports: [
13352
13362
  CommonModule,
13353
13363
  TieredMenuModule,
13354
13364
  TooltipModule
13355
- ], template: "<li \n class=\"no-container\"\n [class.inativo]=\"noPlano().dadosOriginais.ativo === false\">\n\n <div class=\"linhas-guia\">\n @for(i of [].constructor(noPlano().nivel); track i) {\n <div class=\"linha-vertical\"></div>\n }\n </div>\n\n <div \n class=\"no-conteudo\" \n [class.is-last-child]=\"noPlano().isLast\"\n (click)=\"alternarExpansao()\">\n\n <div class=\"container-icone\" [ngStyle]=\"estilosIcone()\">\n <span class=\"material-symbols-outlined text-lg no-icone\">\n {{ noPlano().dadosOriginais.icone }}\n </span>\n </div>\n\n <span \n class=\"no-rotulo\"\n [class.text-black-alpha-80]=\"!ehNoPai()\">\n {{ noPlano().dadosOriginais.rotulo }}\n </span>\n\n @if (noPlano().dadosOriginais.showSidebarAction) {\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow\"\n (click)=\"abrirSidebar($event)\"\n >\n menu\n </span>\n }\n\n @if (items().length > 0) {\n\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow\"\n (click)=\"$event.stopPropagation()\"\n (click)=\"menu.toggle($event)\"\n >\n more_horiz\n </span>\n\n <p-tieredMenu\n #menu\n [popup]=\"true\"\n [model]=\"items()\"\n appendTo=\"body\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"left\"\n class=\"cursor-pointer\"\n (click)=\"onActionClick(item, $event)\"\n >\n <span class=\"text-xs\">\n {{ item.label }}\n </span>\n </div>\n </ng-template>\n </p-tieredMenu>\n }\n \n </div>\n \n \n</li>\n\n", styles: [":host{--ident-size: 2rem;--line-color: #e0e0e0;--line-width: 1px}.no-container{display:flex;align-items:stretch;position:relative}.linhas-guia{display:flex;flex-shrink:0;position:relative}.linha-vertical{width:var(--ident-size);position:relative}.linha-vertical:before{content:\"\";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:var(--line-width);background-color:var(--line-color)}.no-conteudo{display:flex;align-items:center;cursor:pointer;position:relative;padding:4px 4px 4px 0}.no-conteudo:before{content:\"\";position:absolute;left:calc(var(--ident-size) / -2);top:50%;width:calc(var(--ident-size) / 2);height:var(--line-width);background-color:var(--line-color)}.no-conteudo:hover{background-color:#0000000a;border-radius:4px}.is-last-child~.linhas-guia .linha-vertical:last-child:before,.is-last-child .linhas-guia .linha-vertical:last-child:before{height:50%}:host:first-child .no-conteudo:before,:host:first-child .linhas-guia{display:none}.no-seta{transition:transform .25s ease-in-out;color:#555;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.no-seta.rotacionado{transform:rotate(0)}.no-seta:not(.rotacionado){transform:rotate(-90deg)}.container-icone{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;margin-right:8px;flex-shrink:0}.container-icone .no-icone{font-size:18px}.no-rotulo{font-family:system-ui,sans-serif;color:#000}.inativo .no-rotulo,.inativo .no-seta{color:#bdbdbd}.icone-arrow{font-weight:500;color:rgb(var(--kv-color-system),.75);transition:all .4s;opacity:0;transition:opacity .2s ease,transform .2s ease}.icone-arrow:hover{background:#0000001a;border-radius:4px}.no-conteudo:hover .icone-arrow{opacity:1}::ng-deep .p-tieredmenu{padding:.5rem!important}::ng-deep .p-tieredmenu .p-tieredmenu-root-list{font-size:.75rem!important}::ng-deep .p-tieredmenu .p-menuitem>.p-menuitem-content{padding:.5rem}::ng-deep p-tieredmenusub .p-disabled *:active{pointer-events:none!important;font-size:.75rem!important;padding:.5rem!important}::ng-deep .p-disabled *{pointer-events:auto!important}.icon-more{font-weight:500;font-size:1.4rem!important;color:rgb(var(--kv-color-system),.75);transition:all .4s}.icon-more:hover,.icon-more:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}\n"] }]
13365
+ ], template: "<li \n class=\"no-container\"\n [class.inativo]=\"noPlano().dadosOriginais.ativo === false\">\n\n <div class=\"linhas-guia\">\n @for(i of [].constructor(noPlano().nivel); track i) {\n <div class=\"linha-vertical\"></div>\n }\n </div>\n\n <div \n class=\"no-conteudo\" \n [class.is-last-child]=\"noPlano().isLast\"\n (click)=\"alternarExpansao()\">\n\n <div class=\"container-icone\" [ngStyle]=\"estilosIcone()\">\n <span class=\"material-symbols-outlined text-lg no-icone\">\n {{ noPlano().dadosOriginais.icone }}\n </span>\n </div>\n\n <span \n class=\"no-rotulo\"\n [class.text-black-alpha-80]=\"!ehNoPai()\">\n {{ noPlano().dadosOriginais.rotulo }}\n </span>\n\n @if (noPlano().dadosOriginais.showSidebarAction) {\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow text-600\"\n style=\"transform: translate(0px, 2px);\"\n (click)=\"abrirSidebar($event)\"\n >\n menu\n </span>\n }\n\n @if (items().length > 0) {\n\n <span\n class=\"material-symbols-outlined flex text-lg ml-2 cursor-pointer icone-arrow text-600\"\n style=\"transform: translate(0px, 2px);\"\n (click)=\"toggleMenu($event, menu)\"\n >\n more_horiz\n </span>\n\n <p-tieredMenu\n #menu\n [popup]=\"true\"\n [model]=\"items()\"\n appendTo=\"body\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"left\"\n class=\"cursor-pointer\"\n (click)=\"onActionClick(item, $event)\"\n >\n <span class=\"text-xs\">\n {{ item.label }}\n </span>\n </div>\n </ng-template>\n </p-tieredMenu>\n }\n \n </div>\n \n \n</li>\n\n", styles: [":host{--ident-size: 2rem;--line-color: #e0e0e0;--line-width: 1px}.no-container{display:flex;align-items:stretch;position:relative}.linhas-guia{display:flex;flex-shrink:0;position:relative}.linha-vertical{width:var(--ident-size);position:relative}.linha-vertical:before{content:\"\";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:var(--line-width);background-color:var(--line-color)}.no-conteudo{display:flex;align-items:center;cursor:pointer;position:relative;padding:4px 6px 6px 0}.no-conteudo:before{content:\"\";position:absolute;left:calc(var(--ident-size) / -2);top:50%;width:calc(var(--ident-size) / 2);height:var(--line-width);background-color:var(--line-color)}.no-conteudo:hover{transition:background-color .5s cubic-bezier(.075,.82,.165,1);background-color:rgba(var(--kv-color-system),.09);border-radius:4px}.is-last-child~.linhas-guia .linha-vertical:last-child:before,.is-last-child .linhas-guia .linha-vertical:last-child:before{height:50%}:host:first-child .no-conteudo:before,:host:first-child .linhas-guia{display:none}.no-seta{transition:transform .25s ease-in-out;color:#555;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.no-seta.rotacionado{transform:rotate(0)}.no-seta:not(.rotacionado){transform:rotate(-90deg)}.container-icone{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;margin:0 8px;flex-shrink:0;transform:translateY(1px)}.container-icone .no-icone{font-size:18px}.no-rotulo{font-family:system-ui,sans-serif;color:#000}.inativo .no-rotulo,.inativo .no-seta{color:#bdbdbd}.icone-arrow{font-weight:500;transition:all .4s;opacity:1;transition:opacity .2s ease,transform .2s ease}.icone-arrow:hover{transition:scale .3s ease,transform .2s ease;scale:1.2;border-radius:4px}.no-conteudo:hover .icone-arrow{opacity:1}::ng-deep .p-tieredmenu{padding:.5rem!important}::ng-deep .p-tieredmenu .p-tieredmenu-root-list{font-size:.75rem!important}::ng-deep .p-tieredmenu .p-menuitem>.p-menuitem-content{padding:.5rem}::ng-deep p-tieredmenusub .p-disabled *:active{pointer-events:none!important;font-size:.75rem!important;padding:.5rem!important}::ng-deep .p-disabled *{pointer-events:auto!important}.icon-more{font-weight:500;font-size:1.4rem!important;color:rgb(var(--kv-color-system),.75);transition:all .4s}.icon-more:hover,.icon-more:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}\n"] }]
13356
13366
  }], propDecorators: { noAlternado: [{
13357
13367
  type: Output
13358
13368
  }], actionExecuted: [{
@@ -13424,7 +13434,7 @@ class KvTreeEnvironmentComponent {
13424
13434
  const search = this.searchValue()?.trim().toLowerCase();
13425
13435
  const dados = this.dadosFiltrados();
13426
13436
  if (search) {
13427
- this.expandirTodosNos(dados);
13437
+ untracked(() => this.expandirTodosNos(dados));
13428
13438
  }
13429
13439
  });
13430
13440
  }
@@ -13448,7 +13458,8 @@ class KvTreeEnvironmentComponent {
13448
13458
  const no = {
13449
13459
  rotulo: simples.rotulo,
13450
13460
  icone: simples.icone,
13451
- cor: simples.cor,
13461
+ backgroundIconColor: simples.backgroundIconColor,
13462
+ iconColor: simples.iconColor,
13452
13463
  ativo: simples.ativo,
13453
13464
  expanded: simples.expanded,
13454
13465
  filhos: []
@@ -13554,7 +13565,8 @@ class KvTreeEnvironmentComponent {
13554
13565
  const no = {
13555
13566
  rotulo: dado?.rotulo || est.label,
13556
13567
  icone: est.icone,
13557
- cor: est.cor,
13568
+ backgroundIconColor: est.backgroundIconColor,
13569
+ iconColor: est.iconColor,
13558
13570
  ativo: dado?.ativo ?? true,
13559
13571
  expanded: est.expanded,
13560
13572
  filhos: [],
@@ -13607,17 +13619,18 @@ class KvTreeEnvironmentComponent {
13607
13619
  return resultado;
13608
13620
  }
13609
13621
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreeEnvironmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13610
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreeEnvironmentComponent, isStandalone: true, selector: "kv-tree-environment", inputs: { arvoreDeDados: { classPropertyName: "arvoreDeDados", publicName: "arvoreDeDados", isSignal: true, isRequired: false, transformFunction: null }, nosSimples: { classPropertyName: "nosSimples", publicName: "nosSimples", isSignal: true, isRequired: false, transformFunction: null }, estruturaArvore: { classPropertyName: "estruturaArvore", publicName: "estruturaArvore", isSignal: true, isRequired: false, transformFunction: null }, dadosArvore: { classPropertyName: "dadosArvore", publicName: "dadosArvore", isSignal: true, isRequired: false, transformFunction: null }, configuracao: { classPropertyName: "configuracao", publicName: "configuracao", isSignal: true, isRequired: false, transformFunction: null }, showButtonCollapsed: { classPropertyName: "showButtonCollapsed", publicName: "showButtonCollapsed", isSignal: true, isRequired: false, transformFunction: null }, showAddButton: { classPropertyName: "showAddButton", publicName: "showAddButton", isSignal: true, isRequired: false, transformFunction: null }, showSearchField: { classPropertyName: "showSearchField", publicName: "showSearchField", isSignal: true, isRequired: false, transformFunction: null }, enableSidebar: { classPropertyName: "enableSidebar", publicName: "enableSidebar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAddClick: "onAddClick", onSelectedItem: "onSelectedItem", onSidebarNodeClick: "onSidebarNodeClick" }, queries: [{ propertyName: "sidebarTemplate", first: true, predicate: ["sidebar"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-column h-full\">\n <div class=\"flex flex-row gap-2 p-2\" [formGroup]=\"formFiltro\">\n @if(showSearchField()) {\n <kv-input-text\n placeholder=\"Pesquisar...\"\n icon=\"search\"\n formControlName=\"search\"\n ></kv-input-text>\n }\n\n <kv-button\n severity=\"tertiary\"\n class=\"w-auto\"\n label=\"Expandir\"\n icon=\"expand_content\"\n (click)=\"expandirTodos()\"\n ></kv-button>\n\n <kv-button\n severity=\"tertiary\"\n class=\"w-auto\"\n label=\"Recolher\"\n icon=\"collapse_all\"\n (click)=\"colapsarTodos()\"\n ></kv-button>\n </div>\n\n <div class=\"pl-2 pb-2 flex-1 w-full flex flex-row items-center gap-2\" style=\"min-height: 0; position: relative;\">\n <cdk-virtual-scroll-viewport class=\"h-full flex-1\" itemSize=\"40\">\n <ul class=\"lista-arvore-virtual pr-2 py-2\">\n <no-arvore \n *cdkVirtualFor=\"let no of listaPlana(); trackBy: trackByNode\" \n [noPlano]=\"no\"\n [enableSidebar]=\"enableSidebar()\"\n (noAlternado)=\"alternarNo($event)\"\n (actionExecuted)=\"onActionExecuted($event)\"\n (sidebarClick)=\"abrirSidebarParaNo($event)\" />\n </ul>\n </cdk-virtual-scroll-viewport>\n\n @if (sidebarVisible() && enableSidebar()) {\n <kv-button\n severity=\"tertiary\"\n icon=\"menu\"\n (click)=\"sidebarVisible.set(false)\"\n ></kv-button>\n }\n\n <p-sidebar [visible]=\"sidebarVisible()\" (visibleChange)=\"sidebarVisible.set($event)\" position=\"right\" class=\"pr-2\" [ngStyle]=\"{'flex': '0.6 1 0%'}\" styleClass=\"w-full\">\n <ng-template pTemplate=\"headless\">\n @if (sidebarTemplate && currentSidebarNode()) {\n <ng-container [ngTemplateOutlet]=\"sidebarTemplate\" [ngTemplateOutletContext]=\"{ $implicit: currentSidebarNode() }\"></ng-container>\n }\n </ng-template>\n </p-sidebar>\n </div>\n</div>\n", styles: [".grid-container{display:grid;grid-template-columns:auto 1fr;align-items:start}.lista-arvore-virtual{list-style:none;padding:0;margin:0}::ng-deep .p-component-overlay{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NoArvoreComponent, selector: "no-arvore", inputs: ["noPlano", "enableSidebar"], outputs: ["noAlternado", "actionExecuted", "sidebarClick"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2$7.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2$7.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2$7.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i10$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: KeevoComponentsModule }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13622
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreeEnvironmentComponent, isStandalone: true, selector: "kv-tree-environment", inputs: { arvoreDeDados: { classPropertyName: "arvoreDeDados", publicName: "arvoreDeDados", isSignal: true, isRequired: false, transformFunction: null }, nosSimples: { classPropertyName: "nosSimples", publicName: "nosSimples", isSignal: true, isRequired: false, transformFunction: null }, estruturaArvore: { classPropertyName: "estruturaArvore", publicName: "estruturaArvore", isSignal: true, isRequired: false, transformFunction: null }, dadosArvore: { classPropertyName: "dadosArvore", publicName: "dadosArvore", isSignal: true, isRequired: false, transformFunction: null }, configuracao: { classPropertyName: "configuracao", publicName: "configuracao", isSignal: true, isRequired: false, transformFunction: null }, showButtonCollapsed: { classPropertyName: "showButtonCollapsed", publicName: "showButtonCollapsed", isSignal: true, isRequired: false, transformFunction: null }, showAddButton: { classPropertyName: "showAddButton", publicName: "showAddButton", isSignal: true, isRequired: false, transformFunction: null }, showSearchField: { classPropertyName: "showSearchField", publicName: "showSearchField", isSignal: true, isRequired: false, transformFunction: null }, enableSidebar: { classPropertyName: "enableSidebar", publicName: "enableSidebar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAddClick: "onAddClick", onSelectedItem: "onSelectedItem", onSidebarNodeClick: "onSidebarNodeClick" }, queries: [{ propertyName: "sidebarTemplate", first: true, predicate: ["sidebar"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-column h-full\">\n <div class=\"flex flex-row gap-2 p-2\" [formGroup]=\"formFiltro\">\n @if(showSearchField()) {\n <kv-input-text\n placeholder=\"Pesquisar...\"\n icon=\"search\"\n formControlName=\"search\"\n ></kv-input-text>\n }\n\n <kv-button\n severity=\"tertiary\"\n class=\"w-auto\"\n label=\"Expandir\"\n icon=\"expand_content\"\n (click)=\"expandirTodos()\"\n ></kv-button>\n\n <kv-button\n severity=\"tertiary\"\n class=\"w-auto\"\n label=\"Recolher\"\n icon=\"collapse_all\"\n (click)=\"colapsarTodos()\"\n ></kv-button>\n </div>\n\n <div class=\"pl-2 pb-2 flex-1 w-full flex flex-row items-center gap-2\" style=\"min-height: 0; position: relative;\">\n <cdk-virtual-scroll-viewport class=\"h-full flex-1\" itemSize=\"40\">\n <ul class=\"lista-arvore-virtual pr-2 py-2\">\n <no-arvore \n *cdkVirtualFor=\"let no of listaPlana(); trackBy: trackByNode\" \n [noPlano]=\"no\"\n [enableSidebar]=\"enableSidebar()\"\n (noAlternado)=\"alternarNo($event)\"\n (actionExecuted)=\"onActionExecuted($event)\"\n (sidebarClick)=\"abrirSidebarParaNo($event)\" />\n </ul>\n </cdk-virtual-scroll-viewport>\n\n @if (sidebarVisible() && enableSidebar()) {\n <kv-button\n severity=\"tertiary\"\n icon=\"menu\"\n (click)=\"sidebarVisible.set(false)\"\n ></kv-button>\n }\n\n <p-sidebar [visible]=\"sidebarVisible()\" (visibleChange)=\"sidebarVisible.set($event)\" position=\"right\" class=\"pr-2\" [ngStyle]=\"{'flex': '0.6 1 0%'}\" styleClass=\"w-full\">\n <ng-template pTemplate=\"headless\">\n @if (sidebarTemplate && currentSidebarNode()) {\n <ng-container [ngTemplateOutlet]=\"sidebarTemplate\" [ngTemplateOutletContext]=\"{ $implicit: currentSidebarNode() }\"></ng-container>\n }\n </ng-template>\n </p-sidebar>\n </div>\n</div>\n", styles: [".grid-container{display:grid;grid-template-columns:auto 1fr;align-items:start}.lista-arvore-virtual{list-style:none;padding:0;margin:0}::ng-deep .p-component-overlay{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NoArvoreComponent, selector: "no-arvore", inputs: ["noPlano", "enableSidebar"], outputs: ["noAlternado", "actionExecuted", "sidebarClick"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2$7.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2$7.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2$7.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i10$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: KvInputsModule }, { kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
13611
13623
  }
13612
13624
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreeEnvironmentComponent, decorators: [{
13613
13625
  type: Component,
13614
- args: [{ standalone: true, selector: 'kv-tree-environment', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
13626
+ args: [{ standalone: true, selector: 'kv-tree-environment', imports: [
13615
13627
  CommonModule,
13616
13628
  NoArvoreComponent,
13617
13629
  ScrollingModule,
13618
13630
  PrimeNgModule,
13619
- KeevoComponentsModule,
13620
13631
  FormsModule,
13632
+ KvButtonModule,
13633
+ KvInputsModule,
13621
13634
  ReactiveFormsModule
13622
13635
  ], template: "<div class=\"flex flex-column h-full\">\n <div class=\"flex flex-row gap-2 p-2\" [formGroup]=\"formFiltro\">\n @if(showSearchField()) {\n <kv-input-text\n placeholder=\"Pesquisar...\"\n icon=\"search\"\n formControlName=\"search\"\n ></kv-input-text>\n }\n\n <kv-button\n severity=\"tertiary\"\n class=\"w-auto\"\n label=\"Expandir\"\n icon=\"expand_content\"\n (click)=\"expandirTodos()\"\n ></kv-button>\n\n <kv-button\n severity=\"tertiary\"\n class=\"w-auto\"\n label=\"Recolher\"\n icon=\"collapse_all\"\n (click)=\"colapsarTodos()\"\n ></kv-button>\n </div>\n\n <div class=\"pl-2 pb-2 flex-1 w-full flex flex-row items-center gap-2\" style=\"min-height: 0; position: relative;\">\n <cdk-virtual-scroll-viewport class=\"h-full flex-1\" itemSize=\"40\">\n <ul class=\"lista-arvore-virtual pr-2 py-2\">\n <no-arvore \n *cdkVirtualFor=\"let no of listaPlana(); trackBy: trackByNode\" \n [noPlano]=\"no\"\n [enableSidebar]=\"enableSidebar()\"\n (noAlternado)=\"alternarNo($event)\"\n (actionExecuted)=\"onActionExecuted($event)\"\n (sidebarClick)=\"abrirSidebarParaNo($event)\" />\n </ul>\n </cdk-virtual-scroll-viewport>\n\n @if (sidebarVisible() && enableSidebar()) {\n <kv-button\n severity=\"tertiary\"\n icon=\"menu\"\n (click)=\"sidebarVisible.set(false)\"\n ></kv-button>\n }\n\n <p-sidebar [visible]=\"sidebarVisible()\" (visibleChange)=\"sidebarVisible.set($event)\" position=\"right\" class=\"pr-2\" [ngStyle]=\"{'flex': '0.6 1 0%'}\" styleClass=\"w-full\">\n <ng-template pTemplate=\"headless\">\n @if (sidebarTemplate && currentSidebarNode()) {\n <ng-container [ngTemplateOutlet]=\"sidebarTemplate\" [ngTemplateOutletContext]=\"{ $implicit: currentSidebarNode() }\"></ng-container>\n }\n </ng-template>\n </p-sidebar>\n </div>\n</div>\n", styles: [".grid-container{display:grid;grid-template-columns:auto 1fr;align-items:start}.lista-arvore-virtual{list-style:none;padding:0;margin:0}::ng-deep .p-component-overlay{display:none}\n"] }]
13623
13636
  }], ctorParameters: () => [], propDecorators: { onAddClick: [{