@dev-tcloud/tcloud-ui 6.2.0 → 6.4.0

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.
Files changed (18) hide show
  1. package/fesm2022/dev-tcloud-tcloud-ui.mjs +207 -27
  2. package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
  3. package/lib/_modules/tcloud-ui-container/components/tcloud-ui-container-col/tcloud-ui-container-col.component.d.ts +7 -0
  4. package/lib/_modules/tcloud-ui-container/components/tcloud-ui-container-content/tcloud-ui-container-content.component.d.ts +7 -0
  5. package/lib/_modules/tcloud-ui-container/services/container.service.d.ts +8 -0
  6. package/lib/_modules/tcloud-ui-container/tcloud-ui-container.component.d.ts +10 -0
  7. package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.d.ts +5 -1
  8. package/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.d.ts +8 -0
  9. package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.d.ts +30 -1
  10. package/lib/_modules/tcloud-ui-sub-navbar/component/tcloud-ui-sub-navbar-item/tcloud-ui-sub-navbar-item.component.d.ts +13 -0
  11. package/lib/_modules/tcloud-ui-sub-navbar/tcloud-ui-sub-navbar.component.d.ts +12 -0
  12. package/lib/revitalizacao/components/tc-rev-dropdown-multi-level/tc-rev-dropdown-multi-level.component.d.ts +1 -1
  13. package/lib/revitalizacao/components/tc-rev-dropdown-multi-level/tc-rev-dropdown-sub-menu/tc-rev-dropdown-sub-menu.component.d.ts +1 -1
  14. package/lib/revitalizacao/components/tc-rev-input-container/tc-rev-input-container.component.d.ts +1 -1
  15. package/lib/revitalizacao/components/tc-rev-side-drawer/tc-rev-side-drawer.component.d.ts +1 -1
  16. package/lib/revitalizacao/components/tc-rev-tooltip/tc-rev-tooltip.directive.d.ts +1 -1
  17. package/package.json +1 -1
  18. package/public-api.d.ts +5 -0
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, EventEmitter, Input, Output, forwardRef, ViewChild, InjectionToken, Optional, Inject, input, effect, Directive, Pipe, ViewEncapsulation, HostListener, NgModule, makeEnvironmentProviders, computed, output, signal, inject, ApplicationRef, model, viewChild, ChangeDetectionStrategy, ContentChildren } from '@angular/core';
2
+ import { Injectable, Component, EventEmitter, Input, Output, forwardRef, ViewChild, InjectionToken, Optional, Inject, input, effect, Directive, Pipe, ViewEncapsulation, signal, HostListener, NgModule, makeEnvironmentProviders, output, ContentChildren, inject, computed, ApplicationRef, model, viewChild, ChangeDetectionStrategy } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, DatePipe, DOCUMENT } from '@angular/common';
5
5
  import { Subject, Subscription, debounceTime, distinctUntilChanged, map, BehaviorSubject } from 'rxjs';
6
- import { trigger, state, transition, style, animate, AnimationBuilder } from '@angular/animations';
6
+ import { trigger, state, style, transition, animate, AnimationBuilder } from '@angular/animations';
7
7
  import * as i2 from '@angular/forms';
8
8
  import { NG_VALUE_ACCESSOR, FormsModule, FormControl, ReactiveFormsModule, NG_VALIDATORS, FormGroup, Validators } from '@angular/forms';
9
9
  import * as i1$1 from '@angular/router';
@@ -3050,6 +3050,7 @@ class TcloudModalService {
3050
3050
  constructor() {
3051
3051
  this.param_mode = '';
3052
3052
  this.param_confirm = {};
3053
+ this.sticky = false;
3053
3054
  this._stateClose = new Subject();
3054
3055
  this.stateClose$ = this._stateClose.asObservable();
3055
3056
  this._stateConfirm = new Subject();
@@ -3060,6 +3061,10 @@ class TcloudModalService {
3060
3061
  this.stateLoading$ = this._stateLoading.asObservable();
3061
3062
  this._stateMode = new Subject();
3062
3063
  this.stateMode$ = this._stateMode.asObservable();
3064
+ this._stateSticky = new Subject();
3065
+ this.stateSticky$ = this._stateSticky.asObservable();
3066
+ this._is_footer_signal = signal(undefined);
3067
+ this.is_footer_signal = this._is_footer_signal.asReadonly();
3063
3068
  }
3064
3069
  toModal(action) {
3065
3070
  if (action === 'close') {
@@ -3081,6 +3086,13 @@ class TcloudModalService {
3081
3086
  this.param_mode = mode;
3082
3087
  this._stateMode.next(mode);
3083
3088
  }
3089
+ setSticky(sticky) {
3090
+ this.sticky = sticky;
3091
+ this._stateSticky.next(sticky);
3092
+ }
3093
+ getSticky() {
3094
+ return this.sticky;
3095
+ }
3084
3096
  getLoading() {
3085
3097
  return this.loading;
3086
3098
  }
@@ -3088,6 +3100,9 @@ class TcloudModalService {
3088
3100
  this.loading = loading;
3089
3101
  this._stateLoading.next(loading);
3090
3102
  }
3103
+ set_is_footer_signal(v) {
3104
+ this._is_footer_signal.set(v);
3105
+ }
3091
3106
  fixed_body(fixed) {
3092
3107
  let body = document.getElementsByTagName("BODY")[0];
3093
3108
  if (body && body.style) {
@@ -3123,6 +3138,25 @@ class TCloudUiModalComponent {
3123
3138
  this.param_confirm.confirmText = this._confirmText;
3124
3139
  this.param_confirm.confirm = this._confirm;
3125
3140
  }
3141
+ get animationParams() {
3142
+ if (this.position === 'left') {
3143
+ return { value: this.position, params: { enterTransform: 'translateX(-30%)', leaveTransform: 'translateX(-30%)' } };
3144
+ }
3145
+ if (this.position === 'right') {
3146
+ return { value: this.position, params: { enterTransform: 'translateX(30%)', leaveTransform: 'translateX(30%)' } };
3147
+ }
3148
+ if (this.position === 'bottom') {
3149
+ return { value: this.position, params: { enterTransform: 'translateY(30%)', leaveTransform: 'translateY(30%)' } };
3150
+ }
3151
+ return { value: this.position, params: { enterTransform: 'translateY(-38%)', leaveTransform: 'translateY(-38%)' } };
3152
+ }
3153
+ set sticky(v) {
3154
+ this._sticky = v;
3155
+ this.tcloudModalService.setSticky(this._sticky);
3156
+ }
3157
+ get sticky() {
3158
+ return this._sticky;
3159
+ }
3126
3160
  /**
3127
3161
  * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)
3128
3162
  */
@@ -3187,6 +3221,8 @@ class TCloudUiModalComponent {
3187
3221
  * maxWidth - number - Largura máxima do modal - default 500px
3188
3222
  */
3189
3223
  this.maxWidth = 500;
3224
+ this.position = 'top';
3225
+ this._sticky = false;
3190
3226
  this.mode = '';
3191
3227
  this.control_open = false;
3192
3228
  this._open = false;
@@ -3251,18 +3287,18 @@ class TCloudUiModalComponent {
3251
3287
  }
3252
3288
  }
3253
3289
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiModalComponent, deps: [{ token: TCloudUiLayoutService }, { token: TcloudModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3254
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiModalComponent, isStandalone: true, selector: "tcloud-ui-modal", inputs: { confirm: "confirm", confirmText: "confirmText", autoClose: "autoClose", title: "title", maxWidth: "maxWidth", window: "window", open: "open", loading: "loading" }, outputs: { openChange: "openChange", toConfirm: "toConfirm", toCancel: "toCancel", toAction: "toAction" }, providers: [
3290
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiModalComponent, isStandalone: true, selector: "tcloud-ui-modal", inputs: { confirm: "confirm", confirmText: "confirmText", autoClose: "autoClose", title: "title", maxWidth: "maxWidth", position: "position", sticky: "sticky", window: "window", open: "open", loading: "loading" }, outputs: { openChange: "openChange", toConfirm: "toConfirm", toCancel: "toCancel", toAction: "toAction" }, providers: [
3255
3291
  TcloudModalService,
3256
3292
  TCloudUiLayoutService
3257
- ], ngImport: i0, template: "<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\n\n<div class=\"tcloud-ui-modal base-modal\" [attr.data-layout]=\"layout\" *ngIf=\"open\">\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\n </button>\n </div>\n\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\n\n <ng-content></ng-content>\n\n </div>\n </div>\n</div>\n\n<!-- Ex: Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open\">\n\n <tcloud-ui-modal-header title=\"T\u00EDtulo do Modal\" ></tcloud-ui-modal-header>\n\n <tcloud-ui-modal-body>\n Conte\u00FAdo do modal aqui\n </tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\n-->\n\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n\n<!-- Ex: Confirm Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Aten\u00E7\u00E3o'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\n\n <tcloud-ui-modal-body>Deseja realmente executar esta a\u00E7\u00E3o?</tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\n-->", styles: [".tc-background-modal{border:1px solid #ccc;position:fixed;width:100%;left:0;top:0;background-color:#000;z-index:4005;height:100%;opacity:.3}.base-modal{height:100%;overflow:scroll;position:fixed;width:100%;z-index:4005;left:0;top:0;text-align:left!important}.sub-modal{padding:30px;position:absolute;width:100%}.tc-modal{position:relative;background-color:#fff;padding:12px;border-radius:8px;margin:auto;width:100%}.tc-modal-shadow{-webkit-box-shadow:2px 2px 10px 0px rgba(0,0,0,.368627451);box-shadow:2px 2px 10px #0000005e}.area-top-actions{position:absolute;top:2px;right:5px;z-index:1}.area-top-actions.tc-ui-modal-colorless button i{color:var(--tc-gray-600)!important}.area-top-actions button{cursor:pointer;background-color:transparent;border:none;font-size:15px;padding:5px 7px}.area-top-actions button i{font-size:17px;color:#fff;transition:all .25s;opacity:.7}.area-top-actions button i:hover{opacity:1!important}h4{font-size:16px;margin:5px 30px 10px 0;font-weight:700}.no-use-header i{color:#999!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
3293
+ ], ngImport: i0, template: "<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\n\n<div class=\"tcloud-ui-modal base-modal\" [attr.data-layout]=\"layout\" *ngIf=\"open\">\n <div class=\"sub-modal\" [ngClass]=\"['position-' + position, sticky ? 'is-sticky' : '']\" [@fade]=\"animationParams\">\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\" [class.tcloud-ui-modal-sticky]=\"sticky\">\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\n </button>\n </div>\n\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\n\n <ng-content></ng-content>\n\n </div>\n </div>\n</div>\n\n<!-- Ex: Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open\">\n\n <tcloud-ui-modal-header title=\"T\u00EDtulo do Modal\" ></tcloud-ui-modal-header>\n\n <tcloud-ui-modal-body>\n Conte\u00FAdo do modal aqui\n </tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\n-->\n\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n\n<!-- Ex: Confirm Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Aten\u00E7\u00E3o'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\n\n <tcloud-ui-modal-body>Deseja realmente executar esta a\u00E7\u00E3o?</tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\n-->", styles: [".tc-background-modal{border:1px solid #ccc;position:fixed;width:100%;left:0;top:0;background-color:#000;z-index:4005;height:100%;opacity:.3}.base-modal{height:100%;overflow:scroll;position:fixed;width:100%;z-index:4005;left:0;top:0;text-align:left!important}.sub-modal{padding:30px;position:absolute;width:100%;display:flex;justify-content:center;align-items:flex-start}.sub-modal.position-left{justify-content:flex-start}.sub-modal.position-right{justify-content:flex-end}.sub-modal.position-bottom{align-items:flex-end}.tc-modal{position:relative;background-color:#fff;padding:12px;border-radius:8px;margin:auto;width:100%}.sub-modal.is-sticky{padding:0}.sub-modal.is-sticky .tc-modal{border-radius:0}.sub-modal.is-sticky.position-left .tc-modal{margin:0 auto 0 0}.sub-modal.is-sticky.position-right .tc-modal{margin:0 0 0 auto}.sub-modal.is-sticky.position-bottom .tc-modal{margin:auto 0 0}.sub-modal.is-sticky.position-center .tc-modal,.sub-modal.is-sticky.position-bottom .tc-modal{max-width:100%!important;width:100%!important}.tc-modal-shadow{-webkit-box-shadow:2px 2px 10px 0px rgba(0,0,0,.368627451);box-shadow:2px 2px 10px #0000005e}.area-top-actions{position:absolute;top:2px;right:5px;z-index:1}.area-top-actions.tc-ui-modal-colorless button i{color:var(--tc-gray-600)!important}.area-top-actions button{cursor:pointer;background-color:transparent;border:none;font-size:15px;padding:5px 7px}.area-top-actions button i{font-size:17px;color:#fff;transition:all .25s;opacity:.7}.area-top-actions button i:hover{opacity:1!important}h4{font-size:16px;margin:5px 30px 10px 0;font-weight:700}.no-use-header i{color:#999!important}.tcloud-ui-modal-sticky{height:100vh;overflow:hidden;padding:12px 4px 12px 12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
3258
3294
  trigger('fade', [
3259
- state('visible', style({ opacity: 1 })),
3260
- state('hide', style({ opacity: 0, top: '-38%' })),
3261
- transition('void => visible', [
3262
- style({ opacity: 0, top: '-38%' }),
3263
- animate('0.3s ease-out')
3264
- ]),
3265
- transition('visible => hide', animate('0.3s ease-out'))
3295
+ transition('void => *', [
3296
+ style({ opacity: 0, transform: '{{enterTransform}}' }),
3297
+ animate('0.3s ease-out', style({ opacity: 1, transform: 'translate(0, 0)' }))
3298
+ ], { params: { enterTransform: 'translateY(-38%)' } }),
3299
+ transition('* => void', [
3300
+ animate('0.3s ease-out', style({ opacity: 0, transform: '{{leaveTransform}}' }))
3301
+ ], { params: { leaveTransform: 'translateY(-38%)' } })
3266
3302
  ])
3267
3303
  ] }); }
3268
3304
  }
@@ -3273,15 +3309,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
3273
3309
  TCloudUiLayoutService
3274
3310
  ], animations: [
3275
3311
  trigger('fade', [
3276
- state('visible', style({ opacity: 1 })),
3277
- state('hide', style({ opacity: 0, top: '-38%' })),
3278
- transition('void => visible', [
3279
- style({ opacity: 0, top: '-38%' }),
3280
- animate('0.3s ease-out')
3281
- ]),
3282
- transition('visible => hide', animate('0.3s ease-out'))
3312
+ transition('void => *', [
3313
+ style({ opacity: 0, transform: '{{enterTransform}}' }),
3314
+ animate('0.3s ease-out', style({ opacity: 1, transform: 'translate(0, 0)' }))
3315
+ ], { params: { enterTransform: 'translateY(-38%)' } }),
3316
+ transition('* => void', [
3317
+ animate('0.3s ease-out', style({ opacity: 0, transform: '{{leaveTransform}}' }))
3318
+ ], { params: { leaveTransform: 'translateY(-38%)' } })
3283
3319
  ])
3284
- ], standalone: true, imports: [CommonModule], template: "<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\n\n<div class=\"tcloud-ui-modal base-modal\" [attr.data-layout]=\"layout\" *ngIf=\"open\">\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\n </button>\n </div>\n\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\n\n <ng-content></ng-content>\n\n </div>\n </div>\n</div>\n\n<!-- Ex: Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open\">\n\n <tcloud-ui-modal-header title=\"T\u00EDtulo do Modal\" ></tcloud-ui-modal-header>\n\n <tcloud-ui-modal-body>\n Conte\u00FAdo do modal aqui\n </tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\n-->\n\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n\n<!-- Ex: Confirm Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Aten\u00E7\u00E3o'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\n\n <tcloud-ui-modal-body>Deseja realmente executar esta a\u00E7\u00E3o?</tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\n-->", styles: [".tc-background-modal{border:1px solid #ccc;position:fixed;width:100%;left:0;top:0;background-color:#000;z-index:4005;height:100%;opacity:.3}.base-modal{height:100%;overflow:scroll;position:fixed;width:100%;z-index:4005;left:0;top:0;text-align:left!important}.sub-modal{padding:30px;position:absolute;width:100%}.tc-modal{position:relative;background-color:#fff;padding:12px;border-radius:8px;margin:auto;width:100%}.tc-modal-shadow{-webkit-box-shadow:2px 2px 10px 0px rgba(0,0,0,.368627451);box-shadow:2px 2px 10px #0000005e}.area-top-actions{position:absolute;top:2px;right:5px;z-index:1}.area-top-actions.tc-ui-modal-colorless button i{color:var(--tc-gray-600)!important}.area-top-actions button{cursor:pointer;background-color:transparent;border:none;font-size:15px;padding:5px 7px}.area-top-actions button i{font-size:17px;color:#fff;transition:all .25s;opacity:.7}.area-top-actions button i:hover{opacity:1!important}h4{font-size:16px;margin:5px 30px 10px 0;font-weight:700}.no-use-header i{color:#999!important}\n"] }]
3320
+ ], standalone: true, imports: [CommonModule], template: "<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\n\n<div class=\"tcloud-ui-modal base-modal\" [attr.data-layout]=\"layout\" *ngIf=\"open\">\n <div class=\"sub-modal\" [ngClass]=\"['position-' + position, sticky ? 'is-sticky' : '']\" [@fade]=\"animationParams\">\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\" [class.tcloud-ui-modal-sticky]=\"sticky\">\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\n </button>\n </div>\n\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\n\n <ng-content></ng-content>\n\n </div>\n </div>\n</div>\n\n<!-- Ex: Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open\">\n\n <tcloud-ui-modal-header title=\"T\u00EDtulo do Modal\" ></tcloud-ui-modal-header>\n\n <tcloud-ui-modal-body>\n Conte\u00FAdo do modal aqui\n </tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\n-->\n\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n\n<!-- Ex: Confirm Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Aten\u00E7\u00E3o'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\n\n <tcloud-ui-modal-body>Deseja realmente executar esta a\u00E7\u00E3o?</tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\n-->", styles: [".tc-background-modal{border:1px solid #ccc;position:fixed;width:100%;left:0;top:0;background-color:#000;z-index:4005;height:100%;opacity:.3}.base-modal{height:100%;overflow:scroll;position:fixed;width:100%;z-index:4005;left:0;top:0;text-align:left!important}.sub-modal{padding:30px;position:absolute;width:100%;display:flex;justify-content:center;align-items:flex-start}.sub-modal.position-left{justify-content:flex-start}.sub-modal.position-right{justify-content:flex-end}.sub-modal.position-bottom{align-items:flex-end}.tc-modal{position:relative;background-color:#fff;padding:12px;border-radius:8px;margin:auto;width:100%}.sub-modal.is-sticky{padding:0}.sub-modal.is-sticky .tc-modal{border-radius:0}.sub-modal.is-sticky.position-left .tc-modal{margin:0 auto 0 0}.sub-modal.is-sticky.position-right .tc-modal{margin:0 0 0 auto}.sub-modal.is-sticky.position-bottom .tc-modal{margin:auto 0 0}.sub-modal.is-sticky.position-center .tc-modal,.sub-modal.is-sticky.position-bottom .tc-modal{max-width:100%!important;width:100%!important}.tc-modal-shadow{-webkit-box-shadow:2px 2px 10px 0px rgba(0,0,0,.368627451);box-shadow:2px 2px 10px #0000005e}.area-top-actions{position:absolute;top:2px;right:5px;z-index:1}.area-top-actions.tc-ui-modal-colorless button i{color:var(--tc-gray-600)!important}.area-top-actions button{cursor:pointer;background-color:transparent;border:none;font-size:15px;padding:5px 7px}.area-top-actions button i{font-size:17px;color:#fff;transition:all .25s;opacity:.7}.area-top-actions button i:hover{opacity:1!important}h4{font-size:16px;margin:5px 30px 10px 0;font-weight:700}.no-use-header i{color:#999!important}.tcloud-ui-modal-sticky{height:100vh;overflow:hidden;padding:12px 4px 12px 12px}\n"] }]
3285
3321
  }], ctorParameters: () => [{ type: TCloudUiLayoutService }, { type: TcloudModalService }], propDecorators: { confirm: [{
3286
3322
  type: Input
3287
3323
  }], confirmText: [{
@@ -3292,6 +3328,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
3292
3328
  type: Input
3293
3329
  }], maxWidth: [{
3294
3330
  type: Input
3331
+ }], position: [{
3332
+ type: Input
3333
+ }], sticky: [{
3334
+ type: Input
3295
3335
  }], window: [{
3296
3336
  type: Input
3297
3337
  }], open: [{
@@ -3309,16 +3349,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
3309
3349
  }] } });
3310
3350
 
3311
3351
  class TCloudUiModalBodyComponent {
3312
- constructor() { }
3352
+ constructor(tcloudModalService) {
3353
+ this.tcloudModalService = tcloudModalService;
3354
+ this.sticky = false;
3355
+ }
3356
+ get isFooter() {
3357
+ return this.tcloudModalService.is_footer_signal();
3358
+ }
3313
3359
  ngOnInit() {
3360
+ this.sticky = this.tcloudModalService.getSticky();
3361
+ this.tcloudModalService.stateSticky$.subscribe((v) => { this.sticky = v; });
3314
3362
  }
3315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiModalBodyComponent, isStandalone: true, selector: "tcloud-ui-modal-body", ngImport: i0, template: "<div class=\"tcloud-ui-modal-body tc-modal-body\">\n <ng-content></ng-content>\n</div>", styles: [".tc-modal-body{padding:13px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
3363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiModalBodyComponent, deps: [{ token: TcloudModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3364
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiModalBodyComponent, isStandalone: true, selector: "tcloud-ui-modal-body", ngImport: i0, template: "<div class=\"tcloud-ui-modal-body tc-modal-body\" [class.body-sticky]=\"sticky\" [class.body-with-footer]=\"isFooter\" >\n <ng-content></ng-content>\n</div>", styles: [".tc-modal-body{padding:13px}.body-sticky{overflow:scroll;height:100%;padding:0!important}.body-with-footer{height:calc(100% - 130px)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
3317
3365
  }
3318
3366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiModalBodyComponent, decorators: [{
3319
3367
  type: Component,
3320
- args: [{ selector: 'tcloud-ui-modal-body', standalone: true, imports: [CommonModule], template: "<div class=\"tcloud-ui-modal-body tc-modal-body\">\n <ng-content></ng-content>\n</div>", styles: [".tc-modal-body{padding:13px}\n"] }]
3321
- }], ctorParameters: () => [] });
3368
+ args: [{ selector: 'tcloud-ui-modal-body', standalone: true, imports: [CommonModule], template: "<div class=\"tcloud-ui-modal-body tc-modal-body\" [class.body-sticky]=\"sticky\" [class.body-with-footer]=\"isFooter\" >\n <ng-content></ng-content>\n</div>", styles: [".tc-modal-body{padding:13px}.body-sticky{overflow:scroll;height:100%;padding:0!important}.body-with-footer{height:calc(100% - 130px)!important}\n"] }]
3369
+ }], ctorParameters: () => [{ type: TcloudModalService }] });
3322
3370
 
3323
3371
  class TCloudUiModalHeaderComponent {
3324
3372
  constructor(_tcloudModalService) {
@@ -3403,6 +3451,7 @@ class TCloudUiModalFooterComponent {
3403
3451
  this.txt_value = '';
3404
3452
  this.param_confirm = this.tcloudModalService.getParamConfirm();
3405
3453
  this.toStateLoading();
3454
+ this.tcloudModalService.set_is_footer_signal(true);
3406
3455
  }
3407
3456
  toClose() {
3408
3457
  this.tcloudModalService.toModal('close');
@@ -5001,11 +5050,11 @@ class TCloudUiProgressBarComponent {
5001
5050
  // console.log('new_status', this.new_status);
5002
5051
  }
5003
5052
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5004
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiProgressBarComponent, isStandalone: true, selector: "tcloud-ui-progress-bar", inputs: { limit: "limit", status: "status", mode: "mode", height: "height", useDefaultBackground: "useDefaultBackground", showValue: "showValue" }, ngImport: i0, template: "<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\n\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\n\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \n [class.fixed-left]=\"(+status >= 12)\" \n [style]=\"'left: '+ (70) +'px'\" \n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\n </label>\n </div>\n</div>\n<div *ngIf=\"limit && (+limit > 100)\" >\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\n <label>100%</label>\n </div> \n</div>\n\n", styles: [".tc-background-progress-gradient-success{border:none!important}.tc-background-progress-gradient-success .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-warning{border:none!important}.tc-background-progress-gradient-warning .tc-progress-bar{background:#f7e3d0;background:linear-gradient(90deg,#f7e3d0,#f7d9d8)}.tc-background-progress-gradient-info{border:none!important}.tc-background-progress-gradient-info .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-danger{border:none!important}.tc-background-progress-gradient-danger .tc-progress-bar{background:#f4d0f7;background:linear-gradient(90deg,#f4d0f7,#eea7a5)}.tc-ui-progress-bar{border:1px solid #ccc;border-radius:9px}.tc-ui-progress-bar .height-slim{height:10px;border-radius:5px}.tc-ui-progress-bar .height-normal{height:15px;border-radius:8px}.tc-ui-progress-bar .height-normal .indicative-value{position:relative;top:-18.5px!important;z-index:1;font-size:12px!important;font-weight:400!important}.tc-ui-progress-bar .height-fat{height:20px;border-radius:10px}.tc-ui-progress-bar .height-fat .indicative-value{position:relative;top:-21px!important;z-index:1;font-size:13.5px!important;font-weight:400!important}.tc-ui-progress-bar .height-very-fat{height:24px;border-radius:10px}.tc-ui-progress-bar .height-very-fat .indicative-value{position:relative;top:-24px!important;z-index:1;font-size:15.5px!important;font-weight:400!important}.tc-ui-progress-bar .tc-progress-bar.use-background{background-color:var(--tc-gray-200)}.tc-ui-progress-bar .tc-progress-bar{border:1px solid #fff;overflow:hidden}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status{transition:width 2s ease;position:relative;bottom:1px}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-primary{background-color:var(--tc-primary)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-danger{background-color:var(--red)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-warning{background-color:var(--orange)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-info{background-color:var(--azul)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-success{background-color:var(--green2)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gray{background-color:var(--tc-gray-500)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-success{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-warning{background:#ffbf1a;background:linear-gradient(90deg,0%,rgb(255,191,26) 0%,rgb(255,64,128) 100%)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-info{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-danger{background:#ea2f67;background:linear-gradient(90deg,0%,rgb(233,47,102) 0%,rgb(208,46,46) 100%)}label.indicative-value.info-progress-gradient-success,label.indicative-value.info-progress-success{color:var(--green2)}label.indicative-value.info-progress-gradient-anger,label.indicative-value.info-progress-danger{color:#d02e2e}label.indicative-value.info-progress-gradient-warning,label.indicative-value.info-progress-warning{color:#f7b50c}label.indicative-value{position:relative;top:-19.5px;z-index:1;font-size:12.5px;font-weight:500}label.indicative-value.fixed-left{left:16px!important;color:#fff!important}.indicative-limit{border-right:2px solid #000;line-height:0;height:30px;position:relative;top:-20px;text-align:right}.indicative-limit label{position:relative;top:30px;left:-3px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
5053
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiProgressBarComponent, isStandalone: true, selector: "tcloud-ui-progress-bar", inputs: { limit: "limit", status: "status", mode: "mode", height: "height", useDefaultBackground: "useDefaultBackground", showValue: "showValue" }, ngImport: i0, template: "<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\n\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\n\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \n [class.fixed-left]=\"(+status >= 12)\" \n [style]=\"'left: '+ (70) +'px'\" \n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\n </label>\n </div>\n</div>\n<div *ngIf=\"limit && (+limit > 100)\" >\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\n <label>100%</label>\n </div> \n</div>", styles: [".tc-background-progress-gradient-success{border:none!important}.tc-background-progress-gradient-success .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-warning{border:none!important}.tc-background-progress-gradient-warning .tc-progress-bar{background:#f7e3d0;background:linear-gradient(90deg,#f7e3d0,#f7d9d8)}.tc-background-progress-gradient-info{border:none!important}.tc-background-progress-gradient-info .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-danger{border:none!important}.tc-background-progress-gradient-danger .tc-progress-bar{background:#f4d0f7;background:linear-gradient(90deg,#f4d0f7,#eea7a5)}.tc-ui-progress-bar{border:1px solid #ccc;border-radius:9px}.tc-ui-progress-bar .height-slim{height:10px;border-radius:5px}.tc-ui-progress-bar .height-normal{height:15px;border-radius:8px}.tc-ui-progress-bar .height-normal .indicative-value{position:relative;top:-18.5px!important;z-index:1;font-size:12px!important;font-weight:400!important}.tc-ui-progress-bar .height-fat{height:20px;border-radius:10px}.tc-ui-progress-bar .height-fat .indicative-value{position:relative;top:-21px!important;z-index:1;font-size:13.5px!important;font-weight:400!important}.tc-ui-progress-bar .height-very-fat{height:24px;border-radius:10px}.tc-ui-progress-bar .height-very-fat .indicative-value{position:relative;top:-24px!important;z-index:1;font-size:15.5px!important;font-weight:400!important}.tc-ui-progress-bar .tc-progress-bar.use-background{background-color:var(--tc-gray-200)}.tc-ui-progress-bar .tc-progress-bar{border:1px solid #fff;overflow:hidden}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status{transition:width 2s ease;position:relative;bottom:1px}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-primary{background-color:var(--tc-primary)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-danger{background-color:var(--red)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-warning{background-color:var(--orange)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-info{background-color:var(--azul)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-success{background-color:var(--green2)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gray{background-color:var(--tc-gray-500)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-success{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-warning{background:#ffbf1a;background:linear-gradient(90deg,0%,rgb(255,191,26) 0%,rgb(255,64,128) 100%)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-info{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-danger{background:#ea2f67;background:linear-gradient(90deg,0%,rgb(233,47,102) 0%,rgb(208,46,46) 100%)}label.indicative-value.info-progress-gradient-success,label.indicative-value.info-progress-success{color:var(--green2)}label.indicative-value.info-progress-gradient-anger,label.indicative-value.info-progress-danger{color:#d02e2e}label.indicative-value.info-progress-gradient-warning,label.indicative-value.info-progress-warning{color:#f7b50c}label.indicative-value{position:relative;top:-19.5px;z-index:1;font-size:12.5px;font-weight:500}label.indicative-value.fixed-left{left:16px!important;color:#fff!important}.indicative-limit{border-right:2px solid #000;line-height:0;height:30px;position:relative;top:-20px;text-align:right}.indicative-limit label{position:relative;top:30px;left:-3px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
5005
5054
  }
5006
5055
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiProgressBarComponent, decorators: [{
5007
5056
  type: Component,
5008
- args: [{ selector: 'tcloud-ui-progress-bar', standalone: true, imports: [CommonModule], template: "<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\n\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\n\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \n [class.fixed-left]=\"(+status >= 12)\" \n [style]=\"'left: '+ (70) +'px'\" \n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\n </label>\n </div>\n</div>\n<div *ngIf=\"limit && (+limit > 100)\" >\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\n <label>100%</label>\n </div> \n</div>\n\n", styles: [".tc-background-progress-gradient-success{border:none!important}.tc-background-progress-gradient-success .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-warning{border:none!important}.tc-background-progress-gradient-warning .tc-progress-bar{background:#f7e3d0;background:linear-gradient(90deg,#f7e3d0,#f7d9d8)}.tc-background-progress-gradient-info{border:none!important}.tc-background-progress-gradient-info .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-danger{border:none!important}.tc-background-progress-gradient-danger .tc-progress-bar{background:#f4d0f7;background:linear-gradient(90deg,#f4d0f7,#eea7a5)}.tc-ui-progress-bar{border:1px solid #ccc;border-radius:9px}.tc-ui-progress-bar .height-slim{height:10px;border-radius:5px}.tc-ui-progress-bar .height-normal{height:15px;border-radius:8px}.tc-ui-progress-bar .height-normal .indicative-value{position:relative;top:-18.5px!important;z-index:1;font-size:12px!important;font-weight:400!important}.tc-ui-progress-bar .height-fat{height:20px;border-radius:10px}.tc-ui-progress-bar .height-fat .indicative-value{position:relative;top:-21px!important;z-index:1;font-size:13.5px!important;font-weight:400!important}.tc-ui-progress-bar .height-very-fat{height:24px;border-radius:10px}.tc-ui-progress-bar .height-very-fat .indicative-value{position:relative;top:-24px!important;z-index:1;font-size:15.5px!important;font-weight:400!important}.tc-ui-progress-bar .tc-progress-bar.use-background{background-color:var(--tc-gray-200)}.tc-ui-progress-bar .tc-progress-bar{border:1px solid #fff;overflow:hidden}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status{transition:width 2s ease;position:relative;bottom:1px}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-primary{background-color:var(--tc-primary)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-danger{background-color:var(--red)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-warning{background-color:var(--orange)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-info{background-color:var(--azul)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-success{background-color:var(--green2)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gray{background-color:var(--tc-gray-500)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-success{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-warning{background:#ffbf1a;background:linear-gradient(90deg,0%,rgb(255,191,26) 0%,rgb(255,64,128) 100%)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-info{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-danger{background:#ea2f67;background:linear-gradient(90deg,0%,rgb(233,47,102) 0%,rgb(208,46,46) 100%)}label.indicative-value.info-progress-gradient-success,label.indicative-value.info-progress-success{color:var(--green2)}label.indicative-value.info-progress-gradient-anger,label.indicative-value.info-progress-danger{color:#d02e2e}label.indicative-value.info-progress-gradient-warning,label.indicative-value.info-progress-warning{color:#f7b50c}label.indicative-value{position:relative;top:-19.5px;z-index:1;font-size:12.5px;font-weight:500}label.indicative-value.fixed-left{left:16px!important;color:#fff!important}.indicative-limit{border-right:2px solid #000;line-height:0;height:30px;position:relative;top:-20px;text-align:right}.indicative-limit label{position:relative;top:30px;left:-3px}\n"] }]
5057
+ args: [{ selector: 'tcloud-ui-progress-bar', standalone: true, imports: [CommonModule], template: "<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\n\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\n\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \n [class.fixed-left]=\"(+status >= 12)\" \n [style]=\"'left: '+ (70) +'px'\" \n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\n </label>\n </div>\n</div>\n<div *ngIf=\"limit && (+limit > 100)\" >\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\n <label>100%</label>\n </div> \n</div>", styles: [".tc-background-progress-gradient-success{border:none!important}.tc-background-progress-gradient-success .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-warning{border:none!important}.tc-background-progress-gradient-warning .tc-progress-bar{background:#f7e3d0;background:linear-gradient(90deg,#f7e3d0,#f7d9d8)}.tc-background-progress-gradient-info{border:none!important}.tc-background-progress-gradient-info .tc-progress-bar{background:#2fea9b;background:linear-gradient(90deg,#def1d5,#cef3e4)}.tc-background-progress-gradient-danger{border:none!important}.tc-background-progress-gradient-danger .tc-progress-bar{background:#f4d0f7;background:linear-gradient(90deg,#f4d0f7,#eea7a5)}.tc-ui-progress-bar{border:1px solid #ccc;border-radius:9px}.tc-ui-progress-bar .height-slim{height:10px;border-radius:5px}.tc-ui-progress-bar .height-normal{height:15px;border-radius:8px}.tc-ui-progress-bar .height-normal .indicative-value{position:relative;top:-18.5px!important;z-index:1;font-size:12px!important;font-weight:400!important}.tc-ui-progress-bar .height-fat{height:20px;border-radius:10px}.tc-ui-progress-bar .height-fat .indicative-value{position:relative;top:-21px!important;z-index:1;font-size:13.5px!important;font-weight:400!important}.tc-ui-progress-bar .height-very-fat{height:24px;border-radius:10px}.tc-ui-progress-bar .height-very-fat .indicative-value{position:relative;top:-24px!important;z-index:1;font-size:15.5px!important;font-weight:400!important}.tc-ui-progress-bar .tc-progress-bar.use-background{background-color:var(--tc-gray-200)}.tc-ui-progress-bar .tc-progress-bar{border:1px solid #fff;overflow:hidden}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status{transition:width 2s ease;position:relative;bottom:1px}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-primary{background-color:var(--tc-primary)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-danger{background-color:var(--red)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-warning{background-color:var(--orange)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-info{background-color:var(--azul)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-success{background-color:var(--green2)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gray{background-color:var(--tc-gray-500)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-success{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-warning{background:#ffbf1a;background:linear-gradient(90deg,0%,rgb(255,191,26) 0%,rgb(255,64,128) 100%)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-info{background:#2fea9b;background:linear-gradient(90deg,#2fea9b,#7fdd53)}.tc-ui-progress-bar .tc-progress-bar .tc-progress-bar-status.progress-gradient-danger{background:#ea2f67;background:linear-gradient(90deg,0%,rgb(233,47,102) 0%,rgb(208,46,46) 100%)}label.indicative-value.info-progress-gradient-success,label.indicative-value.info-progress-success{color:var(--green2)}label.indicative-value.info-progress-gradient-anger,label.indicative-value.info-progress-danger{color:#d02e2e}label.indicative-value.info-progress-gradient-warning,label.indicative-value.info-progress-warning{color:#f7b50c}label.indicative-value{position:relative;top:-19.5px;z-index:1;font-size:12.5px;font-weight:500}label.indicative-value.fixed-left{left:16px!important;color:#fff!important}.indicative-limit{border-right:2px solid #000;line-height:0;height:30px;position:relative;top:-20px;text-align:right}.indicative-limit label{position:relative;top:30px;left:-3px}\n"] }]
5009
5058
  }], ctorParameters: () => [], propDecorators: { limit: [{
5010
5059
  type: Input
5011
5060
  }], status: [{
@@ -6468,6 +6517,137 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
6468
6517
  }]
6469
6518
  }], ctorParameters: () => [] });
6470
6519
 
6520
+ class TCloudUiSubNavbarItemComponent {
6521
+ constructor() {
6522
+ this.label = input.required();
6523
+ this.onClick = output();
6524
+ this.active = input(false);
6525
+ this.routerLink = input(null);
6526
+ this.queryParams = input(null);
6527
+ }
6528
+ handleClick(_ev) {
6529
+ this.onClick.emit(_ev);
6530
+ }
6531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiSubNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6532
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TCloudUiSubNavbarItemComponent, isStandalone: true, selector: "tcloud-ui-sub-navbar-item", inputs: { isMenuExpanded: { classPropertyName: "isMenuExpanded", publicName: "isMenuExpanded", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: "queryParams", publicName: "queryParams", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<li\n class=\"tc-sub-navbar-item\"\n [class.tc-rev-submenu-expanded]=\"isMenuExpanded\">\n <a\n class=\"tc-sub-navbar-item-link\"\n [class.selected]=\"active()\"\n [routerLink]=\"routerLink()\"\n routerLinkActive=\"active\"\n [queryParams]=\"queryParams()\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [title]=\"label()\"\n (click)=\"handleClick($event)\">\n\n <div class=\"navbar-item-icon-container\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n @if (isMenuExpanded)\n {\n <div class=\"navbar-item-label\">\n {{label()}}\n </div>\n }\n </a>\n</li>\n", styles: [":host{display:block}.tc-sub-navbar-item{list-style:none;margin:0;padding:0}.tc-sub-navbar-item .tc-sub-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;font-family:var(--f-family);display:flex;transition:all .2s ease;text-decoration:none}.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-icon-container{text-align:center;align-content:center;background-color:var(--c-neutral-50);border-radius:var(--bor-radius-4);font-size:var(--f-size-20);height:var(--size-36);width:var(--size-36);transition:all .2s ease;min-height:var(--size-36);min-width:var(--size-36);max-height:var(--size-36);max-width:var(--size-36)}.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-icon-container:hover,.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-icon-container:focus{background-color:var(--c-neutral-200);color:var(--c-primary-500)}.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-label{align-content:center;color:var(--c-neutral-700);font-size:var(--f-size-14);height:var(--size-36);padding-left:var(--size-8);transition:all .2s ease;min-height:var(--size-36);max-height:var(--size-36)}.tc-sub-navbar-item .tc-sub-navbar-item-link:hover,.tc-sub-navbar-item .tc-sub-navbar-item-link:focus{color:var(--c-primary-500)}.tc-sub-navbar-item .tc-sub-navbar-item-link.active .navbar-item-icon-container,.tc-sub-navbar-item .tc-sub-navbar-item-link.selected .navbar-item-icon-container,.tc-sub-navbar-item .tc-sub-navbar-item-link:active .navbar-item-icon-container{background-color:var(--c-primary-300);color:var(--c-primary-500)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link .navbar-item-icon-container{background-color:var(--c-neutral-200)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link:hover .navbar-item-label,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link:focus .navbar-item-label{color:var(--c-primary-500)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.active,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.selected,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.active .navbar-item-icon-container,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.selected .navbar-item-icon-container{background-color:var(--c-primary-300)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.active .navbar-item-label,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.selected .navbar-item-label{color:var(--c-primary-500);font-weight:var(--f-weight-700)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
6533
+ }
6534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiSubNavbarItemComponent, decorators: [{
6535
+ type: Component,
6536
+ args: [{ selector: 'tcloud-ui-sub-navbar-item', imports: [
6537
+ CommonModule,
6538
+ RouterModule,
6539
+ ], template: "<li\n class=\"tc-sub-navbar-item\"\n [class.tc-rev-submenu-expanded]=\"isMenuExpanded\">\n <a\n class=\"tc-sub-navbar-item-link\"\n [class.selected]=\"active()\"\n [routerLink]=\"routerLink()\"\n routerLinkActive=\"active\"\n [queryParams]=\"queryParams()\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [title]=\"label()\"\n (click)=\"handleClick($event)\">\n\n <div class=\"navbar-item-icon-container\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n @if (isMenuExpanded)\n {\n <div class=\"navbar-item-label\">\n {{label()}}\n </div>\n }\n </a>\n</li>\n", styles: [":host{display:block}.tc-sub-navbar-item{list-style:none;margin:0;padding:0}.tc-sub-navbar-item .tc-sub-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;font-family:var(--f-family);display:flex;transition:all .2s ease;text-decoration:none}.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-icon-container{text-align:center;align-content:center;background-color:var(--c-neutral-50);border-radius:var(--bor-radius-4);font-size:var(--f-size-20);height:var(--size-36);width:var(--size-36);transition:all .2s ease;min-height:var(--size-36);min-width:var(--size-36);max-height:var(--size-36);max-width:var(--size-36)}.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-icon-container:hover,.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-icon-container:focus{background-color:var(--c-neutral-200);color:var(--c-primary-500)}.tc-sub-navbar-item .tc-sub-navbar-item-link .navbar-item-label{align-content:center;color:var(--c-neutral-700);font-size:var(--f-size-14);height:var(--size-36);padding-left:var(--size-8);transition:all .2s ease;min-height:var(--size-36);max-height:var(--size-36)}.tc-sub-navbar-item .tc-sub-navbar-item-link:hover,.tc-sub-navbar-item .tc-sub-navbar-item-link:focus{color:var(--c-primary-500)}.tc-sub-navbar-item .tc-sub-navbar-item-link.active .navbar-item-icon-container,.tc-sub-navbar-item .tc-sub-navbar-item-link.selected .navbar-item-icon-container,.tc-sub-navbar-item .tc-sub-navbar-item-link:active .navbar-item-icon-container{background-color:var(--c-primary-300);color:var(--c-primary-500)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link .navbar-item-icon-container{background-color:var(--c-neutral-200)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link:hover .navbar-item-label,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link:focus .navbar-item-label{color:var(--c-primary-500)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.active,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.selected,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.active .navbar-item-icon-container,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.selected .navbar-item-icon-container{background-color:var(--c-primary-300)}.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.active .navbar-item-label,.tc-sub-navbar-item.tc-rev-submenu-expanded .tc-sub-navbar-item-link.selected .navbar-item-label{color:var(--c-primary-500);font-weight:var(--f-weight-700)}\n"] }]
6540
+ }], propDecorators: { isMenuExpanded: [{
6541
+ type: Input
6542
+ }] } });
6543
+
6544
+ class TCloudUiSubNavbarComponent {
6545
+ constructor() {
6546
+ this.isMenuExpanded = signal(true);
6547
+ this.onSubMenuExpandChange = output();
6548
+ }
6549
+ ngAfterContentInit() {
6550
+ setTimeout(() => this.setExpandedMenuValueToChildrend(), 0);
6551
+ }
6552
+ handleExpandMenu() {
6553
+ this.isMenuExpanded.update((value) => !value);
6554
+ this.setExpandedMenuValueToChildrend();
6555
+ }
6556
+ setExpandedMenuValueToChildrend() {
6557
+ if (!this.subNavbarItems?.length)
6558
+ return;
6559
+ this.subNavbarItems.forEach((x) => {
6560
+ x.isMenuExpanded = this.isMenuExpanded();
6561
+ });
6562
+ this.onSubMenuExpandChange.emit(this.isMenuExpanded());
6563
+ }
6564
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiSubNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6565
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiSubNavbarComponent, isStandalone: true, selector: "tc-rev-sub-navbar", outputs: { onSubMenuExpandChange: "onSubMenuExpandChange" }, queries: [{ propertyName: "subNavbarItems", predicate: TCloudUiSubNavbarItemComponent }], ngImport: i0, template: "<nav class=\"tc-sub-navbar\">\n <ul\n class=\"tc-sub-navbar-list\"\n [class.tc-rev-submenu-expanded]=\"isMenuExpanded()\"\n >\n <tcloud-ui-sub-navbar-item\n [isMenuExpanded]=\"isMenuExpanded()\"\n (click)=\"handleExpandMenu()\"\n label=\"Minimizar\"\n >\n <i\n class=\"fa-light\"\n [class.fa-arrow-left-to-line]=\"isMenuExpanded()\"\n [class.fa-arrow-right-to-line]=\"!isMenuExpanded()\"\n icon\n ></i>\n </tcloud-ui-sub-navbar-item>\n <ng-content></ng-content>\n </ul>\n</nav>\n", styles: [":host{display:block;height:100%}.tc-sub-navbar{height:100%;margin:var(--size-0);padding:var(--size-0)}.tc-sub-navbar .tc-sub-navbar-list{background-color:var(--c-neutral-50);color:var(--c-neutral-700);box-shadow:var(--shadow-xs);border-radius:var(--bor-radius-8);display:flex;flex-direction:column;gap:var(--size-8);height:100%;list-style:none;margin:var(--size-0);overflow:hidden auto;padding:var(--size-8);width:var(--size-52)}.tc-sub-navbar .tc-sub-navbar-list::-webkit-scrollbar{display:none}.tc-sub-navbar .tc-sub-navbar-list.tc-rev-submenu-expanded{width:14.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TCloudUiSubNavbarItemComponent, selector: "tcloud-ui-sub-navbar-item", inputs: ["isMenuExpanded", "label", "active", "routerLink", "queryParams"], outputs: ["onClick"] }] }); }
6566
+ }
6567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiSubNavbarComponent, decorators: [{
6568
+ type: Component,
6569
+ args: [{ selector: 'tc-rev-sub-navbar', imports: [
6570
+ CommonModule,
6571
+ TCloudUiSubNavbarItemComponent,
6572
+ ], template: "<nav class=\"tc-sub-navbar\">\n <ul\n class=\"tc-sub-navbar-list\"\n [class.tc-rev-submenu-expanded]=\"isMenuExpanded()\"\n >\n <tcloud-ui-sub-navbar-item\n [isMenuExpanded]=\"isMenuExpanded()\"\n (click)=\"handleExpandMenu()\"\n label=\"Minimizar\"\n >\n <i\n class=\"fa-light\"\n [class.fa-arrow-left-to-line]=\"isMenuExpanded()\"\n [class.fa-arrow-right-to-line]=\"!isMenuExpanded()\"\n icon\n ></i>\n </tcloud-ui-sub-navbar-item>\n <ng-content></ng-content>\n </ul>\n</nav>\n", styles: [":host{display:block;height:100%}.tc-sub-navbar{height:100%;margin:var(--size-0);padding:var(--size-0)}.tc-sub-navbar .tc-sub-navbar-list{background-color:var(--c-neutral-50);color:var(--c-neutral-700);box-shadow:var(--shadow-xs);border-radius:var(--bor-radius-8);display:flex;flex-direction:column;gap:var(--size-8);height:100%;list-style:none;margin:var(--size-0);overflow:hidden auto;padding:var(--size-8);width:var(--size-52)}.tc-sub-navbar .tc-sub-navbar-list::-webkit-scrollbar{display:none}.tc-sub-navbar .tc-sub-navbar-list.tc-rev-submenu-expanded{width:14.5rem}\n"] }]
6573
+ }], propDecorators: { subNavbarItems: [{
6574
+ type: ContentChildren,
6575
+ args: [TCloudUiSubNavbarItemComponent]
6576
+ }] } });
6577
+
6578
+ class ContainerService {
6579
+ constructor() {
6580
+ this._expanded_signal = signal(undefined);
6581
+ this.expanded_signal = this._expanded_signal.asReadonly();
6582
+ }
6583
+ set_expanded_signal(v) {
6584
+ this._expanded_signal.set(v);
6585
+ }
6586
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6587
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ContainerService }); }
6588
+ }
6589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ContainerService, decorators: [{
6590
+ type: Injectable
6591
+ }] });
6592
+
6593
+ class TCloudUiContainerComponent {
6594
+ constructor() {
6595
+ this._containerService = inject(ContainerService);
6596
+ this._expanded = false;
6597
+ }
6598
+ set expanded(v) {
6599
+ // coerce to boolean and only propagate when changed
6600
+ const newVal = !!v;
6601
+ if (this._expanded !== newVal) {
6602
+ this._expanded = newVal;
6603
+ this.to_expanded();
6604
+ }
6605
+ }
6606
+ get expanded() { return this._expanded; }
6607
+ // optional manual trigger kept for backward-compatibility
6608
+ to_expanded() {
6609
+ this._containerService.set_expanded_signal(this._expanded);
6610
+ }
6611
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6612
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiContainerComponent, isStandalone: true, selector: "tcloud-ui-container", inputs: { expanded: "expanded" }, providers: [ContainerService], ngImport: i0, template: "<div class=\"tc-rev-container f-family c-neutral-900 mar-b-24\" [class.container-expanded]=\"expanded\">\n <ng-content></ng-content> \n</div>", styles: [":host{display:block}.tc-rev-container{display:flex;gap:24px}\n"] }); }
6613
+ }
6614
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiContainerComponent, decorators: [{
6615
+ type: Component,
6616
+ args: [{ selector: 'tcloud-ui-container', imports: [], providers: [ContainerService], template: "<div class=\"tc-rev-container f-family c-neutral-900 mar-b-24\" [class.container-expanded]=\"expanded\">\n <ng-content></ng-content> \n</div>", styles: [":host{display:block}.tc-rev-container{display:flex;gap:24px}\n"] }]
6617
+ }], propDecorators: { expanded: [{
6618
+ type: Input
6619
+ }] } });
6620
+
6621
+ class TCloudUiContainerContentComponent {
6622
+ constructor() {
6623
+ this._containerService = inject(ContainerService);
6624
+ }
6625
+ get expanded() {
6626
+ return this._containerService.expanded_signal();
6627
+ }
6628
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiContainerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6629
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiContainerContentComponent, isStandalone: true, selector: "tcloud-ui-container-content", ngImport: i0, template: "\n<div class=\"tc-rev-container-content\" [class.content-expanded]=\"expanded\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:flex;flex:1}.tc-rev-container-content{flex:1;padding-left:52px}.content-expanded{padding-left:232px}\n", ":host{display:block}.tc-rev-container{display:flex;gap:24px}\n"] }); }
6630
+ }
6631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiContainerContentComponent, decorators: [{
6632
+ type: Component,
6633
+ args: [{ selector: 'tcloud-ui-container-content', imports: [], template: "\n<div class=\"tc-rev-container-content\" [class.content-expanded]=\"expanded\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:flex;flex:1}.tc-rev-container-content{flex:1;padding-left:52px}.content-expanded{padding-left:232px}\n", ":host{display:block}.tc-rev-container{display:flex;gap:24px}\n"] }]
6634
+ }] });
6635
+
6636
+ class TCloudUiContainerColComponent {
6637
+ constructor() {
6638
+ this._containerService = inject(ContainerService);
6639
+ }
6640
+ get expanded() {
6641
+ return this._containerService.expanded_signal();
6642
+ }
6643
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiContainerColComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6644
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TCloudUiContainerColComponent, isStandalone: true, selector: "tcloud-ui-container-col", ngImport: i0, template: "\n<div class=\"tc-rev-container-col\" [class.col-expanded]=\"expanded\">\n <ng-content></ng-content>\n</div>", styles: [".tc-rev-container-col{height:calc(100vh - 10.875rem);display:flex;position:fixed}\n", ":host{display:block}.tc-rev-container{display:flex;gap:24px}\n"] }); }
6645
+ }
6646
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TCloudUiContainerColComponent, decorators: [{
6647
+ type: Component,
6648
+ args: [{ selector: 'tcloud-ui-container-col', imports: [], template: "\n<div class=\"tc-rev-container-col\" [class.col-expanded]=\"expanded\">\n <ng-content></ng-content>\n</div>", styles: [".tc-rev-container-col{height:calc(100vh - 10.875rem);display:flex;position:fixed}\n", ":host{display:block}.tc-rev-container{display:flex;gap:24px}\n"] }]
6649
+ }] });
6650
+
6471
6651
  class TcRevButtonDirective {
6472
6652
  constructor(_el) {
6473
6653
  this._el = _el;
@@ -8635,5 +8815,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
8635
8815
  * Generated bundle index. Do not edit.
8636
8816
  */
8637
8817
 
8638
- export { BytesPipe, CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, DateBRPipe, DropdownGroupedSize, DropdownMultiSize, DropdownSize, MonthNamePipe, MultiLevelDropdownSize, ProgressStatusBarGradientStatus, RespectivePipe, StatusInfoPipe, TCCondition, TCFiltersType, TCLOUD_UI_CONFIG, TCLOUD_UI_LAYOUT_SERVICE, TCLOUD_UI_USER_SERVICE, TCLOUD_UI_VIEWPORT_SERVICE, TCloudUiAccordionBodyComponent, TCloudUiAccordionComponent, TCloudUiAccordionTitleComponent, TCloudUiAlignDirective, TCloudUiButtonDirective, TCloudUiCheckAccessDirective, TCloudUiCheckAccessService, TCloudUiChoiceIssuesComponent, TCloudUiCubesComponent, TCloudUiCurrencyDirective, TCloudUiDataListComponent, TCloudUiDataListOptionComponent, TCloudUiDatepickerComponent, TCloudUiDatepickerTimeComponent, TCloudUiDigitOnlyDirective, TCloudUiElCopyDirective, TCloudUiFiltersComponent, TCloudUiFormDirective, TCloudUiHighLightDirective, TCloudUiHoverParentDirective, TCloudUiInputPasswordComponent, TCloudUiInputSearchComponent, TCloudUiIpMaskDirective, TCloudUiLabelTokenComponent, TCloudUiLineStepCircleComponent, TCloudUiLineStepTitleComponent, TCloudUiLinhaLogoComponent, TCloudUiLoadingComponent, TCloudUiLoadingTransitionsService, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiSelectComponent, TCloudUiMultiplesValuesComponent, TCloudUiNgCheckAccessDirective, TCloudUiNgFeatureFlagsDirective, TCloudUiNotFoundComponent, TCloudUiNumberStepComponent, TCloudUiProgressBarComponent, TCloudUiRangeDateComponent, TCloudUiReorderItemsComponent, TCloudUiScrollBoxComponent, TCloudUiSearchInObjectService, TCloudUiTabContentComponent, TCloudUiTabHeadComponent, TCloudUiTabMenuComponent, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTableComponent, TCloudUiTooltipDirective, TCloudUiWelcomeComponent, TagColorsEnum, TcRevButtonDirective, TcRevCalendarComponent, TcRevCardAccordionComponent, TcRevCardComponent, TcRevCardTitleComponent, TcRevCheckboxDirective, TcRevComponentsLibModule, TcRevDropdownComponent, TcRevDropdownGroupedComponent, TcRevDropdownMultiComponent, TcRevDropdownMultiLevelComponent, TcRevEmptyContentComponent, TcRevFaqComponent, TcRevIconButtonDirective, TcRevInputContainerComponent, TcRevInputDirective, TcRevLoadingComponent, TcRevMessageComponent, TcRevMultiInputComponent, TcRevPaginationComponent, TcRevProgressStatusBarComponent, TcRevRadioDirective, TcRevSearchInputComponent, TcRevSideDrawerComponent, TcRevSkeletonLoadingComponent, TcRevSkeletonLoadingComponentStyle, TcRevSlideToggleDirective, TcRevSmallLoadingComponent, TcRevSmallLoadingComponentStyle, TcRevSubNavbarComponent, TcRevSubNavbarItemComponent, TcRevTabGroupComponent, TcRevTabItemComponent, TcRevTagComponent, TcRevToastComponent, TcRevTooltipDirective, TcRevWizardStepsComponent, ToTextPipe, echartBarConfig, isTextEllipsed, provideTCloudUi };
8818
+ export { BytesPipe, CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, DateBRPipe, DropdownGroupedSize, DropdownMultiSize, DropdownSize, MonthNamePipe, MultiLevelDropdownSize, ProgressStatusBarGradientStatus, RespectivePipe, StatusInfoPipe, TCCondition, TCFiltersType, TCLOUD_UI_CONFIG, TCLOUD_UI_LAYOUT_SERVICE, TCLOUD_UI_USER_SERVICE, TCLOUD_UI_VIEWPORT_SERVICE, TCloudUiAccordionBodyComponent, TCloudUiAccordionComponent, TCloudUiAccordionTitleComponent, TCloudUiAlignDirective, TCloudUiButtonDirective, TCloudUiCheckAccessDirective, TCloudUiCheckAccessService, TCloudUiChoiceIssuesComponent, TCloudUiContainerColComponent, TCloudUiContainerComponent, TCloudUiContainerContentComponent, TCloudUiCubesComponent, TCloudUiCurrencyDirective, TCloudUiDataListComponent, TCloudUiDataListOptionComponent, TCloudUiDatepickerComponent, TCloudUiDatepickerTimeComponent, TCloudUiDigitOnlyDirective, TCloudUiElCopyDirective, TCloudUiFiltersComponent, TCloudUiFormDirective, TCloudUiHighLightDirective, TCloudUiHoverParentDirective, TCloudUiInputPasswordComponent, TCloudUiInputSearchComponent, TCloudUiIpMaskDirective, TCloudUiLabelTokenComponent, TCloudUiLineStepCircleComponent, TCloudUiLineStepTitleComponent, TCloudUiLinhaLogoComponent, TCloudUiLoadingComponent, TCloudUiLoadingTransitionsService, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiSelectComponent, TCloudUiMultiplesValuesComponent, TCloudUiNgCheckAccessDirective, TCloudUiNgFeatureFlagsDirective, TCloudUiNotFoundComponent, TCloudUiNumberStepComponent, TCloudUiProgressBarComponent, TCloudUiRangeDateComponent, TCloudUiReorderItemsComponent, TCloudUiScrollBoxComponent, TCloudUiSearchInObjectService, TCloudUiSubNavbarComponent, TCloudUiSubNavbarItemComponent, TCloudUiTabContentComponent, TCloudUiTabHeadComponent, TCloudUiTabMenuComponent, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTableComponent, TCloudUiTooltipDirective, TCloudUiWelcomeComponent, TagColorsEnum, TcRevButtonDirective, TcRevCalendarComponent, TcRevCardAccordionComponent, TcRevCardComponent, TcRevCardTitleComponent, TcRevCheckboxDirective, TcRevComponentsLibModule, TcRevDropdownComponent, TcRevDropdownGroupedComponent, TcRevDropdownMultiComponent, TcRevDropdownMultiLevelComponent, TcRevEmptyContentComponent, TcRevFaqComponent, TcRevIconButtonDirective, TcRevInputContainerComponent, TcRevInputDirective, TcRevLoadingComponent, TcRevMessageComponent, TcRevMultiInputComponent, TcRevPaginationComponent, TcRevProgressStatusBarComponent, TcRevRadioDirective, TcRevSearchInputComponent, TcRevSideDrawerComponent, TcRevSkeletonLoadingComponent, TcRevSkeletonLoadingComponentStyle, TcRevSlideToggleDirective, TcRevSmallLoadingComponent, TcRevSmallLoadingComponentStyle, TcRevSubNavbarComponent, TcRevSubNavbarItemComponent, TcRevTabGroupComponent, TcRevTabItemComponent, TcRevTagComponent, TcRevToastComponent, TcRevTooltipDirective, TcRevWizardStepsComponent, ToTextPipe, echartBarConfig, isTextEllipsed, provideTCloudUi };
8639
8819
  //# sourceMappingURL=dev-tcloud-tcloud-ui.mjs.map