@dev-tcloud/tcloud-ui 7.5.1 → 7.5.3

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.
@@ -4476,6 +4476,12 @@ class TabMenuService {
4476
4476
  this.loadingState$ = this.loadingSubject.asObservable();
4477
4477
  this.fullSubject = new Subject();
4478
4478
  this.fullState$ = this.fullSubject.asObservable();
4479
+ this._tabOptionTextTone = 'default';
4480
+ this.tabOptionTextToneSubject = new Subject();
4481
+ this.tabOptionTextToneState$ = this.tabOptionTextToneSubject.asObservable();
4482
+ this._tabOptionActiveTextTone = 'default';
4483
+ this.tabOptionActiveTextToneSubject = new Subject();
4484
+ this.tabOptionActiveTextToneState$ = this.tabOptionActiveTextToneSubject.asObservable();
4479
4485
  }
4480
4486
  setTabScroll(scroll) {
4481
4487
  this._scroll = scroll;
@@ -4505,6 +4511,20 @@ class TabMenuService {
4505
4511
  getTabFull() {
4506
4512
  return this._full;
4507
4513
  }
4514
+ setTabOptionTextTone(textTone) {
4515
+ this._tabOptionTextTone = textTone;
4516
+ this.tabOptionTextToneSubject.next(textTone);
4517
+ }
4518
+ getTabOptionTextTone() {
4519
+ return this._tabOptionTextTone;
4520
+ }
4521
+ setTabOptionActiveTextTone(activeTextTone) {
4522
+ this._tabOptionActiveTextTone = activeTextTone;
4523
+ this.tabOptionActiveTextToneSubject.next(activeTextTone);
4524
+ }
4525
+ getTabOptionActiveTextTone() {
4526
+ return this._tabOptionActiveTextTone;
4527
+ }
4508
4528
  setTabState(tab, registerInUrl) {
4509
4529
  this._tab = tab;
4510
4530
  if (registerInUrl) {
@@ -4629,6 +4649,16 @@ class TCloudUiTabHeadComponent {
4629
4649
  }
4630
4650
  }
4631
4651
  get scroll() { return this._scroll; }
4652
+ set tabOptionTextTone(tabOptionTextTone) {
4653
+ this._tabOptionTextTone = tabOptionTextTone;
4654
+ this.tabMenuService.setTabOptionTextTone(tabOptionTextTone);
4655
+ }
4656
+ get tabOptionTextTone() { return this._tabOptionTextTone; }
4657
+ set tabOptionActiveTextTone(tabOptionActiveTextTone) {
4658
+ this._tabOptionActiveTextTone = tabOptionActiveTextTone;
4659
+ this.tabMenuService.setTabOptionActiveTextTone(tabOptionActiveTextTone);
4660
+ }
4661
+ get tabOptionActiveTextTone() { return this._tabOptionActiveTextTone; }
4632
4662
  set bottom_line(bottom_line) {
4633
4663
  if (typeof bottom_line === 'boolean') {
4634
4664
  this._bottom_line = bottom_line;
@@ -4643,9 +4673,13 @@ class TCloudUiTabHeadComponent {
4643
4673
  this.background = true;
4644
4674
  // Aceita 'white' | 'transparent' (ou um CSS color); resolvido para token dark-aware no ngOnInit
4645
4675
  this.backgroundColor = 'transparent';
4676
+ this._tabOptionTextTone = 'default';
4677
+ this._tabOptionActiveTextTone = 'default';
4646
4678
  this._bottom_line = false;
4647
4679
  }
4648
4680
  ngOnInit() {
4681
+ this.tabMenuService.setTabOptionTextTone(this.tabOptionTextTone);
4682
+ this.tabMenuService.setTabOptionActiveTextTone(this.tabOptionActiveTextTone);
4649
4683
  if (this.background) {
4650
4684
  if (this.backgroundColor === 'white') {
4651
4685
  this.backgroundColor = 'var(--c-neutral-50)';
@@ -4688,7 +4722,7 @@ class TCloudUiTabHeadComponent {
4688
4722
  this.scrollSuave(ccs_s, action == 'next' ? wid + ccs_s : ccs_s - wid, 0, ccs);
4689
4723
  }
4690
4724
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiTabHeadComponent, deps: [{ token: TabMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
4691
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiTabHeadComponent, isStandalone: true, selector: "tcloud-ui-tab-head", inputs: { scroll: "scroll", background: "background", backgroundColor: "backgroundColor", bottom_line: "bottom_line" }, ngImport: i0, template: "\n\n<table class=\"tcloud-ui-tab-head area-navigation\">\n <tr>\n @if (scroll) {\n <td>\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\n </td>\n }\n\n <td>\n\n </td>\n\n @if (scroll) {\n <td>\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\n </td>\n }\n </tr>\n</table>\n\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" [class.tab-subtitle-line-bottom]=\"bottom_line\">\n <ng-content></ng-content>\n</div>\n\n@if (bottom_line) {\n <div class=\"hr-border-bottom\"></div>\n}\n", styles: [".area-navigation{display:none;width:100%;line-height:0}.area-navigation button{padding:0!important}.area-navigation td{width:100%;height:0;line-height:0}.area-navigation td:first-child{width:10px!important;text-align:left}.area-navigation td:first-child button{color:var(--c-primary-500);cursor:pointer;position:relative;top:15px;right:0;border:none;background-color:transparent;font-size:15px;height:30px}.area-navigation td:last-child{width:10px!important;text-align:right}.area-navigation td:last-child button{color:var(--c-primary-500);cursor:pointer;position:relative;top:15px;left:0;border:none;background-color:transparent;font-size:15px;height:30px}.tc-menu{display:flex;align-items:center;overflow:hidden;margin-bottom:5px;z-index:1;position:relative}.hr-border-bottom{border-bottom:none;border-left:none;border-right:none;margin-top:0!important;border-top:1px solid var(--c-neutral-300);margin-bottom:0}@media(max-width:1440px){.area-navigation{display:block!important;position:relative;top:0;height:2px}.tc-menu{margin-left:15px;margin-right:15px}}.tab-full{margin-left:0!important;margin-right:0!important}\n"] }); }
4725
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiTabHeadComponent, isStandalone: true, selector: "tcloud-ui-tab-head", inputs: { scroll: "scroll", background: "background", backgroundColor: "backgroundColor", tabOptionTextTone: "tabOptionTextTone", tabOptionActiveTextTone: "tabOptionActiveTextTone", bottom_line: "bottom_line" }, ngImport: i0, template: "\n\n<table class=\"tcloud-ui-tab-head area-navigation\">\n <tr>\n @if (scroll) {\n <td>\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\n </td>\n }\n\n <td>\n\n </td>\n\n @if (scroll) {\n <td>\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\n </td>\n }\n </tr>\n</table>\n\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" [class.tab-subtitle-line-bottom]=\"bottom_line\">\n <ng-content></ng-content>\n</div>\n\n@if (bottom_line) {\n <div class=\"hr-border-bottom\"></div>\n}\n", styles: [".area-navigation{display:none;width:100%;line-height:0}.area-navigation button{padding:0!important}.area-navigation td{width:100%;height:0;line-height:0}.area-navigation td:first-child{width:10px!important;text-align:left}.area-navigation td:first-child button{color:var(--c-primary-500);cursor:pointer;position:relative;top:15px;right:0;border:none;background-color:transparent;font-size:15px;height:30px}.area-navigation td:last-child{width:10px!important;text-align:right}.area-navigation td:last-child button{color:var(--c-primary-500);cursor:pointer;position:relative;top:15px;left:0;border:none;background-color:transparent;font-size:15px;height:30px}.tc-menu{display:flex;align-items:center;overflow:hidden;margin-bottom:5px;z-index:1;position:relative}.hr-border-bottom{border-bottom:none;border-left:none;border-right:none;margin-top:0!important;border-top:1px solid var(--c-neutral-300);margin-bottom:0}@media(max-width:1440px){.area-navigation{display:block!important;position:relative;top:0;height:2px}.tc-menu{margin-left:15px;margin-right:15px}}.tab-full{margin-left:0!important;margin-right:0!important}\n"] }); }
4692
4726
  }
4693
4727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiTabHeadComponent, decorators: [{
4694
4728
  type: Component,
@@ -4699,6 +4733,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
4699
4733
  type: Input
4700
4734
  }], backgroundColor: [{
4701
4735
  type: Input
4736
+ }], tabOptionTextTone: [{
4737
+ type: Input
4738
+ }], tabOptionActiveTextTone: [{
4739
+ type: Input
4702
4740
  }], bottom_line: [{
4703
4741
  type: Input
4704
4742
  }] } });
@@ -4867,6 +4905,97 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
4867
4905
  type: Input
4868
4906
  }] } });
4869
4907
 
4908
+ class TCloudUiTabOptionComponent {
4909
+ set disabled(disabled) {
4910
+ this._disabled = disabled;
4911
+ this.tabMenuService.setTabDisabled(this.tab, this._disabled);
4912
+ }
4913
+ get disabled() {
4914
+ return this._disabled;
4915
+ }
4916
+ constructor(tabMenuService) {
4917
+ this.tabMenuService = tabMenuService;
4918
+ this.tab = '';
4919
+ this.active = false;
4920
+ this.loading = false;
4921
+ this.inheritedTextTone = 'default';
4922
+ this.inheritedActiveTextTone = 'default';
4923
+ this._disabled = false;
4924
+ this.subscription = new Subscription();
4925
+ }
4926
+ get resolvedTextColor() {
4927
+ return this.resolveTextTone(this.textTone ?? this.inheritedTextTone);
4928
+ }
4929
+ get resolvedActiveTextColor() {
4930
+ return this.resolveActiveTextTone(this.activeTextTone ?? this.inheritedActiveTextTone);
4931
+ }
4932
+ ngOnInit() {
4933
+ if (!this.disabled) {
4934
+ const tab = this.tabMenuService.getTabState();
4935
+ if (this.tab !== '') {
4936
+ this.active = tab === this.tab;
4937
+ }
4938
+ }
4939
+ this.subscription?.add(this.tabMenuService.tabState$.subscribe((tab) => {
4940
+ if (this.tab !== '') {
4941
+ this.active = tab === this.tab;
4942
+ }
4943
+ }));
4944
+ this.loading = this.tabMenuService.getTabLoading();
4945
+ this.inheritedTextTone = this.tabMenuService.getTabOptionTextTone();
4946
+ this.inheritedActiveTextTone = this.tabMenuService.getTabOptionActiveTextTone();
4947
+ this.subscription?.add(this.tabMenuService.loadingState$.subscribe((loading) => {
4948
+ this.loading = loading;
4949
+ }));
4950
+ this.subscription?.add(this.tabMenuService.tabOptionTextToneState$.subscribe((textTone) => {
4951
+ this.inheritedTextTone = textTone;
4952
+ }));
4953
+ this.subscription?.add(this.tabMenuService.tabOptionActiveTextToneState$.subscribe((activeTextTone) => {
4954
+ this.inheritedActiveTextTone = activeTextTone;
4955
+ }));
4956
+ }
4957
+ toTab() {
4958
+ if (!this.disabled) {
4959
+ if (this.tab && this.tab !== '') {
4960
+ this.tabMenuService.setTabState(this.tab);
4961
+ }
4962
+ }
4963
+ }
4964
+ ngOnDestroy() {
4965
+ if (this.subscription) {
4966
+ this.subscription.unsubscribe();
4967
+ }
4968
+ }
4969
+ resolveTextTone(tone) {
4970
+ if (tone === 'inverse') {
4971
+ return 'var(--c-neutral-50)';
4972
+ }
4973
+ return 'var(--c-neutral-900)';
4974
+ }
4975
+ resolveActiveTextTone(tone) {
4976
+ if (tone === 'inverse') {
4977
+ return 'var(--c-neutral-900)';
4978
+ }
4979
+ return 'var(--c-neutral-50)';
4980
+ }
4981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiTabOptionComponent, deps: [{ token: TabMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
4982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: TCloudUiTabOptionComponent, isStandalone: true, selector: "tcloud-ui-tab-option", inputs: { tab: "tab", active: "active", textTone: "textTone", activeTextTone: "activeTextTone", disabled: "disabled" }, ngImport: i0, template: "<button\n [class.loading]=\"loading\"\n [attr.data-id]=\"tab\"\n [class.tab-option-active]=\"active\"\n [style.--tc-tab-option-text-color]=\"resolvedTextColor\"\n [style.--tc-tab-option-active-text-color]=\"resolvedActiveTextColor\"\n [disabled]=\"disabled || loading\"\n type=\"button\"\n (click)=\"toTab()\"\n class=\"tcloud-ui-tab-option tab-option\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:inline-flex;min-width:max-content}.tab-option{align-items:center;background:transparent;border:none;border-radius:0!important;color:var(--tc-tab-option-text-color, var(--c-neutral-900));cursor:pointer;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:var(--f-weight-400);justify-content:center;line-height:1.2;margin:0!important;min-height:70px;min-width:120px;padding:0 28px;text-align:center;transition:background-color .2s ease,color .2s ease;white-space:nowrap;width:100%}.tab-option:hover,.tab-option:focus{background:var(--c-neutral-200);color:var(--tc-tab-option-text-color, var(--c-neutral-900));outline:none}.tab-option-active,.tab-option-active:hover,.tab-option-active:focus{background:var(--c-primary-500);color:var(--tc-tab-option-active-text-color, var(--tc-tab-option-text-color, var(--c-neutral-900)));font-weight:var(--f-weight-700)}.loading{cursor:progress!important}button:disabled{opacity:.7;cursor:not-allowed!important}@media(max-width:1440px){.tab-option{font-size:var(--f-size-14);min-width:104px;padding:0 20px}}\n"] }); }
4983
+ }
4984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiTabOptionComponent, decorators: [{
4985
+ type: Component,
4986
+ args: [{ selector: 'tcloud-ui-tab-option', standalone: true, imports: [], template: "<button\n [class.loading]=\"loading\"\n [attr.data-id]=\"tab\"\n [class.tab-option-active]=\"active\"\n [style.--tc-tab-option-text-color]=\"resolvedTextColor\"\n [style.--tc-tab-option-active-text-color]=\"resolvedActiveTextColor\"\n [disabled]=\"disabled || loading\"\n type=\"button\"\n (click)=\"toTab()\"\n class=\"tcloud-ui-tab-option tab-option\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:inline-flex;min-width:max-content}.tab-option{align-items:center;background:transparent;border:none;border-radius:0!important;color:var(--tc-tab-option-text-color, var(--c-neutral-900));cursor:pointer;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:var(--f-weight-400);justify-content:center;line-height:1.2;margin:0!important;min-height:70px;min-width:120px;padding:0 28px;text-align:center;transition:background-color .2s ease,color .2s ease;white-space:nowrap;width:100%}.tab-option:hover,.tab-option:focus{background:var(--c-neutral-200);color:var(--tc-tab-option-text-color, var(--c-neutral-900));outline:none}.tab-option-active,.tab-option-active:hover,.tab-option-active:focus{background:var(--c-primary-500);color:var(--tc-tab-option-active-text-color, var(--tc-tab-option-text-color, var(--c-neutral-900)));font-weight:var(--f-weight-700)}.loading{cursor:progress!important}button:disabled{opacity:.7;cursor:not-allowed!important}@media(max-width:1440px){.tab-option{font-size:var(--f-size-14);min-width:104px;padding:0 20px}}\n"] }]
4987
+ }], ctorParameters: () => [{ type: TabMenuService }], propDecorators: { tab: [{
4988
+ type: Input
4989
+ }], active: [{
4990
+ type: Input
4991
+ }], textTone: [{
4992
+ type: Input
4993
+ }], activeTextTone: [{
4994
+ type: Input
4995
+ }], disabled: [{
4996
+ type: Input
4997
+ }] } });
4998
+
4870
4999
  class TCloudUiTableComponent {
4871
5000
  constructor(_tCloudUiLayoutService) {
4872
5001
  this._tCloudUiLayoutService = _tCloudUiLayoutService;
@@ -10507,6 +10636,7 @@ const COMPONENTS = [
10507
10636
  TCloudUiTabContentComponent,
10508
10637
  TCloudUiTabTitleComponent,
10509
10638
  TCloudUiTabSubtitleComponent,
10639
+ TCloudUiTabOptionComponent,
10510
10640
  TCloudUiTableComponent,
10511
10641
  TCloudUiInputPasswordComponent,
10512
10642
  TCloudUiLabelTokenComponent,
@@ -10577,7 +10707,7 @@ const DIRECTIVES = [
10577
10707
  TCloudUiSlideToggleDirective,
10578
10708
  TCloudUiRadioDirective,
10579
10709
  TCloudUiIconButtonDirective,
10580
- TCloudUiInputDirective,
10710
+ TCloudUiInputDirective
10581
10711
  ];
10582
10712
  const PIPES = [
10583
10713
  ToTextPipe,
@@ -10590,9 +10720,7 @@ const PIPES = [
10590
10720
  StatusInfoPipe,
10591
10721
  TCloudUiPaginationPipe
10592
10722
  ];
10593
- const SERVICES = [
10594
- TCloudUiDialogService,
10595
- ];
10723
+ const SERVICES = [TCloudUiDialogService];
10596
10724
  class TCloudUiModule {
10597
10725
  static forRoot(config) {
10598
10726
  const providers = [
@@ -10649,6 +10777,7 @@ class TCloudUiModule {
10649
10777
  TCloudUiTabContentComponent,
10650
10778
  TCloudUiTabTitleComponent,
10651
10779
  TCloudUiTabSubtitleComponent,
10780
+ TCloudUiTabOptionComponent,
10652
10781
  TCloudUiTableComponent,
10653
10782
  TCloudUiInputPasswordComponent,
10654
10783
  TCloudUiLabelTokenComponent,
@@ -10753,6 +10882,7 @@ class TCloudUiModule {
10753
10882
  TCloudUiTabContentComponent,
10754
10883
  TCloudUiTabTitleComponent,
10755
10884
  TCloudUiTabSubtitleComponent,
10885
+ TCloudUiTabOptionComponent,
10756
10886
  TCloudUiTableComponent,
10757
10887
  TCloudUiInputPasswordComponent,
10758
10888
  TCloudUiLabelTokenComponent,
@@ -10829,12 +10959,7 @@ class TCloudUiModule {
10829
10959
  RespectivePipe,
10830
10960
  StatusInfoPipe,
10831
10961
  TCloudUiPaginationPipe] }); }
10832
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiModule, providers: [
10833
- DatePipe,
10834
- StatusInfoPipe,
10835
- TCloudUiPaginationService,
10836
- ...SERVICES
10837
- ], imports: [TCloudUiChoiceIssuesComponent,
10962
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiModule, providers: [DatePipe, StatusInfoPipe, TCloudUiPaginationService, ...SERVICES], imports: [TCloudUiChoiceIssuesComponent,
10838
10963
  TCloudUiDataListComponent,
10839
10964
  TCloudUiDatepickerTimeComponent,
10840
10965
  TCloudUiDatepickerComponent,
@@ -10879,22 +11004,9 @@ class TCloudUiModule {
10879
11004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiModule, decorators: [{
10880
11005
  type: NgModule,
10881
11006
  args: [{
10882
- imports: [
10883
- ...COMPONENTS,
10884
- ...DIRECTIVES,
10885
- ...PIPES
10886
- ],
10887
- exports: [
10888
- ...COMPONENTS,
10889
- ...DIRECTIVES,
10890
- ...PIPES
10891
- ],
10892
- providers: [
10893
- DatePipe,
10894
- StatusInfoPipe,
10895
- TCloudUiPaginationService,
10896
- ...SERVICES
10897
- ]
11007
+ imports: [...COMPONENTS, ...DIRECTIVES, ...PIPES],
11008
+ exports: [...COMPONENTS, ...DIRECTIVES, ...PIPES],
11009
+ providers: [DatePipe, StatusInfoPipe, TCloudUiPaginationService, ...SERVICES]
10898
11010
  }]
10899
11011
  }] });
10900
11012
 
@@ -10959,17 +11071,92 @@ class TCloudUiDropdownSubMenuComponent {
10959
11071
  constructor() {
10960
11072
  this.items = input.required(...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
10961
11073
  this.position = input.required(...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
10962
- this.parentOffsetTop = input.required(...(ngDevMode ? [{ debugName: "parentOffsetTop" }] : /* istanbul ignore next */ []));
11074
+ this.anchorEl = input(null, ...(ngDevMode ? [{ debugName: "anchorEl" }] : /* istanbul ignore next */ [])); // Item pai que ancora o submenu flutuante
11075
+ this.maxHeight = input(320, ...(ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []));
10963
11076
  this.selectedOption = input(...(ngDevMode ? [undefined, { debugName: "selectedOption" }] : /* istanbul ignore next */ []));
10964
11077
  this.onOptionSelected = output();
11078
+ this.hoverStart = output(); // Mouse entrou no submenu → o pai cancela o fechamento
11079
+ this.hoverEnd = output(); // Mouse saiu do submenu → o pai agenda o fechamento
11080
+ // Estado de posicionamento (position: fixed, coordenadas de viewport)
11081
+ this.left = signal(0, ...(ngDevMode ? [{ debugName: "left" }] : /* istanbul ignore next */ []));
11082
+ this.top = signal(0, ...(ngDevMode ? [{ debugName: "top" }] : /* istanbul ignore next */ []));
11083
+ this.positioned = signal(false, ...(ngDevMode ? [{ debugName: "positioned" }] : /* istanbul ignore next */ []));
11084
+ // Hover interno para abrir submenus aninhados (mesmo padrão do menu raiz)
11085
+ this.hoveredIndex = signal(null, ...(ngDevMode ? [{ debugName: "hoveredIndex" }] : /* istanbul ignore next */ []));
11086
+ this.hoveredAnchor = signal(null, ...(ngDevMode ? [{ debugName: "hoveredAnchor" }] : /* istanbul ignore next */ []));
11087
+ this.reposition = () => this.updatePosition();
11088
+ this.closeTimer = null;
11089
+ }
11090
+ ngAfterViewInit() {
11091
+ this.updatePosition();
11092
+ // Recalcula quando qualquer container rola (capture pega o scroll da lista raiz) ou a janela redimensiona
11093
+ window.addEventListener('scroll', this.reposition, true);
11094
+ window.addEventListener('resize', this.reposition);
11095
+ }
11096
+ ngOnDestroy() {
11097
+ window.removeEventListener('scroll', this.reposition, true);
11098
+ window.removeEventListener('resize', this.reposition);
11099
+ this.cancelClose();
11100
+ }
11101
+ onItemEnter(event, index) {
11102
+ this.cancelClose();
11103
+ this.hoveredIndex.set(index);
11104
+ this.hoveredAnchor.set(event.currentTarget);
11105
+ }
11106
+ // Hover-intent para o submenu aninhado (mesmo motivo: cruzar a scrollbar deste submenu)
11107
+ scheduleClose() {
11108
+ this.cancelClose();
11109
+ this.closeTimer = setTimeout(() => this.hoveredIndex.set(null), 250);
11110
+ }
11111
+ cancelClose() {
11112
+ if (this.closeTimer) {
11113
+ clearTimeout(this.closeTimer);
11114
+ this.closeTimer = null;
11115
+ }
11116
+ }
11117
+ updatePosition() {
11118
+ const anchor = this.anchorEl();
11119
+ const el = this.subMenuEl?.nativeElement;
11120
+ if (!anchor || !el)
11121
+ return;
11122
+ const a = anchor.getBoundingClientRect();
11123
+ const menuW = el.offsetWidth;
11124
+ const menuH = el.offsetHeight; // já limitado pelo max-height do CSS
11125
+ const vw = window.innerWidth;
11126
+ const vh = window.innerHeight;
11127
+ const margin = 8;
11128
+ // Horizontal: respeita a preferência e faz flip quando não há espaço
11129
+ let left;
11130
+ if (this.position() === 'left') {
11131
+ left = a.left - menuW;
11132
+ if (left < margin)
11133
+ left = a.right; // sem espaço à esquerda → abre à direita
11134
+ }
11135
+ else {
11136
+ left = a.right;
11137
+ if (left + menuW > vw - margin)
11138
+ left = a.left - menuW; // sem espaço à direita → abre à esquerda
11139
+ }
11140
+ left = Math.max(margin, Math.min(left, vw - menuW - margin));
11141
+ // Vertical: alinha com o topo do item e sobe se estourar o rodapé
11142
+ let top = a.top;
11143
+ if (top + menuH > vh - margin)
11144
+ top = vh - menuH - margin;
11145
+ top = Math.max(margin, top);
11146
+ this.left.set(left);
11147
+ this.top.set(top);
11148
+ this.positioned.set(true);
10965
11149
  }
10966
11150
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiDropdownSubMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10967
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiDropdownSubMenuComponent, isStandalone: true, selector: "tcloud-ui-dropdown-sub-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, parentOffsetTop: { classPropertyName: "parentOffsetTop", publicName: "parentOffsetTop", isSignal: true, isRequired: true, transformFunction: null }, selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionSelected: "onOptionSelected" }, ngImport: i0, template: "<ul\n class=\"sub-menu\"\n [ngClass]=\"this.position()\"\n [style.top.px]=\"this.parentOffsetTop()\">\n @for (item of this.items(); track item.value)\n {\n <li\n class=\"sub-menu-item\"\n [class.selected]=\"this.selectedOption()?.value === item.value\"\n (click)=\"this.onOptionSelected.emit(item)\">\n {{ item.displayValue }}\n @if (this.selectedOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check\"></i>\n }\n @if (item.children?.length)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"position()\"\n [parentOffsetTop]=\"0\"\n [selectedOption]=\"this.selectedOption()\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n</ul>\n", styles: [".sub-menu{position:absolute;min-width:160px;background:#fff;box-shadow:var(--shadow-md);z-index:1001;padding:0;margin:0;list-style:none}.sub-menu.right{left:100%}.sub-menu.left{right:100%}.sub-menu-item{padding:8px 16px;white-space:nowrap;position:relative;align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);color:var(--c-neutral-900);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.sub-menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.sub-menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.sub-menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: TCloudUiDropdownSubMenuComponent, selector: "tcloud-ui-dropdown-sub-menu", inputs: ["items", "position", "parentOffsetTop", "selectedOption"], outputs: ["onOptionSelected"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
11151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiDropdownSubMenuComponent, isStandalone: true, selector: "tcloud-ui-dropdown-sub-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, anchorEl: { classPropertyName: "anchorEl", publicName: "anchorEl", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionSelected: "onOptionSelected", hoverStart: "hoverStart", hoverEnd: "hoverEnd" }, viewQueries: [{ propertyName: "subMenuEl", first: true, predicate: ["subMenuEl"], descendants: true, static: true }], ngImport: i0, template: "<ul\n #subMenuEl\n class=\"sub-menu\"\n [ngClass]=\"this.position()\"\n [style.left.px]=\"this.left()\"\n [style.top.px]=\"this.top()\"\n [style.max-height.px]=\"this.maxHeight()\"\n [style.visibility]=\"this.positioned() ? 'visible' : 'hidden'\"\n (mouseenter)=\"hoverStart.emit()\"\n (mouseleave)=\"hoverEnd.emit()\">\n @for (item of this.items(); track item.value; let i = $index)\n {\n <li\n class=\"sub-menu-item\"\n [class.selected]=\"this.selectedOption()?.value === item.value\"\n (mouseenter)=\"onItemEnter($event, i)\"\n (mouseleave)=\"scheduleClose()\"\n (click)=\"this.onOptionSelected.emit(item)\">\n <span class=\"sub-menu-item__label\" [title]=\"item.displayValue\">{{ item.displayValue }}</span>\n @if (this.selectedOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check\"></i>\n }\n @if (item.children?.length && hoveredIndex() === i)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"position()\"\n [maxHeight]=\"maxHeight()\"\n [anchorEl]=\"hoveredAnchor()\"\n [selectedOption]=\"this.selectedOption()\"\n (hoverStart)=\"cancelClose()\"\n (hoverEnd)=\"scheduleClose()\"\n (onOptionSelected)=\"this.onOptionSelected.emit($event)\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n</ul>\n", styles: [".sub-menu{position:fixed;min-width:160px;max-width:200px;background-color:var(--c-neutral-50);box-shadow:var(--shadow-md);z-index:1001;padding:0;margin:0;list-style:none;overflow-y:auto;overflow-x:hidden}.sub-menu-item{padding:8px 16px;white-space:nowrap;position:relative;align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);color:var(--c-neutral-900);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.sub-menu-item__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.sub-menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.sub-menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: TCloudUiDropdownSubMenuComponent, selector: "tcloud-ui-dropdown-sub-menu", inputs: ["items", "position", "anchorEl", "maxHeight", "selectedOption"], outputs: ["onOptionSelected", "hoverStart", "hoverEnd"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
10968
11152
  }
10969
11153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiDropdownSubMenuComponent, decorators: [{
10970
11154
  type: Component,
10971
- args: [{ selector: 'tcloud-ui-dropdown-sub-menu', imports: [CommonModule], template: "<ul\n class=\"sub-menu\"\n [ngClass]=\"this.position()\"\n [style.top.px]=\"this.parentOffsetTop()\">\n @for (item of this.items(); track item.value)\n {\n <li\n class=\"sub-menu-item\"\n [class.selected]=\"this.selectedOption()?.value === item.value\"\n (click)=\"this.onOptionSelected.emit(item)\">\n {{ item.displayValue }}\n @if (this.selectedOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check\"></i>\n }\n @if (item.children?.length)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"position()\"\n [parentOffsetTop]=\"0\"\n [selectedOption]=\"this.selectedOption()\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n</ul>\n", styles: [".sub-menu{position:absolute;min-width:160px;background:#fff;box-shadow:var(--shadow-md);z-index:1001;padding:0;margin:0;list-style:none}.sub-menu.right{left:100%}.sub-menu.left{right:100%}.sub-menu-item{padding:8px 16px;white-space:nowrap;position:relative;align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);color:var(--c-neutral-900);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.sub-menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.sub-menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.sub-menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"] }]
10972
- }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: true }] }], parentOffsetTop: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentOffsetTop", required: true }] }], selectedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOption", required: false }] }], onOptionSelected: [{ type: i0.Output, args: ["onOptionSelected"] }] } });
11155
+ args: [{ selector: 'tcloud-ui-dropdown-sub-menu', imports: [CommonModule], template: "<ul\n #subMenuEl\n class=\"sub-menu\"\n [ngClass]=\"this.position()\"\n [style.left.px]=\"this.left()\"\n [style.top.px]=\"this.top()\"\n [style.max-height.px]=\"this.maxHeight()\"\n [style.visibility]=\"this.positioned() ? 'visible' : 'hidden'\"\n (mouseenter)=\"hoverStart.emit()\"\n (mouseleave)=\"hoverEnd.emit()\">\n @for (item of this.items(); track item.value; let i = $index)\n {\n <li\n class=\"sub-menu-item\"\n [class.selected]=\"this.selectedOption()?.value === item.value\"\n (mouseenter)=\"onItemEnter($event, i)\"\n (mouseleave)=\"scheduleClose()\"\n (click)=\"this.onOptionSelected.emit(item)\">\n <span class=\"sub-menu-item__label\" [title]=\"item.displayValue\">{{ item.displayValue }}</span>\n @if (this.selectedOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check\"></i>\n }\n @if (item.children?.length && hoveredIndex() === i)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"position()\"\n [maxHeight]=\"maxHeight()\"\n [anchorEl]=\"hoveredAnchor()\"\n [selectedOption]=\"this.selectedOption()\"\n (hoverStart)=\"cancelClose()\"\n (hoverEnd)=\"scheduleClose()\"\n (onOptionSelected)=\"this.onOptionSelected.emit($event)\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n</ul>\n", styles: [".sub-menu{position:fixed;min-width:160px;max-width:200px;background-color:var(--c-neutral-50);box-shadow:var(--shadow-md);z-index:1001;padding:0;margin:0;list-style:none;overflow-y:auto;overflow-x:hidden}.sub-menu-item{padding:8px 16px;white-space:nowrap;position:relative;align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);color:var(--c-neutral-900);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.sub-menu-item__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.sub-menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.sub-menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"] }]
11156
+ }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: true }] }], anchorEl: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorEl", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], selectedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOption", required: false }] }], onOptionSelected: [{ type: i0.Output, args: ["onOptionSelected"] }], hoverStart: [{ type: i0.Output, args: ["hoverStart"] }], hoverEnd: [{ type: i0.Output, args: ["hoverEnd"] }], subMenuEl: [{
11157
+ type: ViewChild,
11158
+ args: ['subMenuEl', { static: true }]
11159
+ }] } });
10973
11160
 
10974
11161
  var MultiLevelDropdownSize$1;
10975
11162
  (function (MultiLevelDropdownSize) {
@@ -10990,12 +11177,15 @@ class TCloudUiDropdownMultiLevelComponent {
10990
11177
  this.subMenuPosition = input('right', ...(ngDevMode ? [{ debugName: "subMenuPosition" }] : /* istanbul ignore next */ []));
10991
11178
  this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
10992
11179
  this.size = input(MultiLevelDropdownSize$1.sm, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
11180
+ this.maxHeight = input(320, ...(ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ [])); // Altura máxima (px) do menu/submenus; ativa scroll ao exceder
10993
11181
  this.initialValue = input(null, ...(ngDevMode ? [{ debugName: "initialValue" }] : /* istanbul ignore next */ [])); // Valor pré-selecionado
10994
11182
  this.optionSelected = output();
10995
11183
  this.selectedOption = signal(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
10996
11184
  this.selectedParentOption = signal(null, ...(ngDevMode ? [{ debugName: "selectedParentOption" }] : /* istanbul ignore next */ []));
10997
11185
  this.hoveredIndex = null;
11186
+ this.hoveredAnchor = null; // Elemento do item sob hover, âncora do submenu flutuante
10998
11187
  this.isOpen = false;
11188
+ this.closeTimer = null;
10999
11189
  }
11000
11190
  ngOnChanges(_simpleChanges) {
11001
11191
  // Atualiza a opção selecionada quando o valor pré-selecionado muda
@@ -11004,14 +11194,21 @@ class TCloudUiDropdownMultiLevelComponent {
11004
11194
  this.selectedParentOption.set(null);
11005
11195
  }
11006
11196
  }
11007
- getItemOffsetTop(index) {
11008
- if (!this.menuRoot)
11009
- return 0;
11010
- const items = this.menuRoot.nativeElement.querySelectorAll('.menu-item');
11011
- if (items && items[index]) {
11012
- return items[index].offsetTop;
11197
+ onItemEnter(event, index) {
11198
+ this.cancelClose();
11199
+ this.hoveredIndex = index;
11200
+ this.hoveredAnchor = event.currentTarget;
11201
+ }
11202
+ // Hover-intent: adia o fechamento para o mouse poder cruzar a scrollbar/gap até o submenu
11203
+ scheduleClose() {
11204
+ this.cancelClose();
11205
+ this.closeTimer = setTimeout(() => { this.hoveredIndex = null; }, 250);
11206
+ }
11207
+ cancelClose() {
11208
+ if (this.closeTimer) {
11209
+ clearTimeout(this.closeTimer);
11210
+ this.closeTimer = null;
11013
11211
  }
11014
- return 0;
11015
11212
  }
11016
11213
  toggleDropdown() {
11017
11214
  this.isOpen = !this.isOpen;
@@ -11030,21 +11227,21 @@ class TCloudUiDropdownMultiLevelComponent {
11030
11227
  this.selectOption(option, parentOption);
11031
11228
  }
11032
11229
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiDropdownMultiLevelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
11033
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiDropdownMultiLevelComponent, isStandalone: true, selector: "tcloud-ui-dropdown-multi-level", inputs: { menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null }, subMenuPosition: { classPropertyName: "subMenuPosition", publicName: "subMenuPosition", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, initialValue: { classPropertyName: "initialValue", publicName: "initialValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { optionSelected: "optionSelected" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "menuRoot", first: true, predicate: ["menuRoot"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"tcloud-ui-dropdown-multi-level\">\n <button\n class=\"tcloud-ui-dropdown-toggle\"\n tcloudButton=\"outline\"\n color=\"dark\"\n [size]=\"this.size()\"\n [class.active]=\"isOpen\"\n (click)=\"toggleDropdown()\"\n [class.disabled]=\"disabled()\">\n <ng-content></ng-content>\n </button>\n\n\t<ul class=\"tcloud-ui-dropdown-multi-level__menu-list\" #menuRoot>\n\t\t@if (isOpen)\n {\n @for (item of menu(); track $index; let i = $index)\n {\n <li\n class=\"menu-item\"\n [class.c-primary-500]=\"this.selectedParentOption()?.value === item?.value\"\n (mouseenter)=\"hoveredIndex = i\"\n (mouseleave)=\"hoveredIndex = null\"\n (click)=\"this.selectParentItem($event, item, item)\">\n {{ item.displayValue }}\n @if (this.selectedParentOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check c-primary-500 mar-l-a\"></i>\n }\n @if (item?.children?.length && hoveredIndex === i)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"subMenuPosition()\"\n [parentOffsetTop]=\"getItemOffsetTop(i)\"\n [selectedOption]=\"this.selectedOption()\"\n (onOptionSelected)=\"this.selectOption($event, item)\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n }\n\t</ul>\n</div>\n", styles: [":host{display:block}.tcloud-ui-dropdown-multi-level{position:relative;display:inline-block}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle{align-items:center;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:var(--f-weight-600);gap:var(--size-8);line-height:var(--l-height-20);outline:none;transition:.2s ease;padding:0 var(--size-16)}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle.active{background-color:var(--c-neutral-500);color:var(--c-neutral-50);border-color:var(--c-neutral-700)}.tcloud-ui-dropdown-multi-level__menu-list{box-shadow:var(--shadow-md);position:absolute;top:110%;left:0;background-color:var(--c-neutral-50);border-radius:var(--bor-radius-4);list-style:none;margin:0;padding:0;width:130%;z-index:1000;color:var(--c-neutral-900)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item{align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: TCloudUiDropdownSubMenuComponent, selector: "tcloud-ui-dropdown-sub-menu", inputs: ["items", "position", "parentOffsetTop", "selectedOption"], outputs: ["onOptionSelected"] }, { kind: "directive", type: TCloudUiButtonDirective, selector: "[tcloudButton]", inputs: ["color", "size", "fullWidth", "tcloudButton"] }] }); }
11230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiDropdownMultiLevelComponent, isStandalone: true, selector: "tcloud-ui-dropdown-multi-level", inputs: { menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null }, subMenuPosition: { classPropertyName: "subMenuPosition", publicName: "subMenuPosition", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, initialValue: { classPropertyName: "initialValue", publicName: "initialValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { optionSelected: "optionSelected" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "menuRoot", first: true, predicate: ["menuRoot"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"tcloud-ui-dropdown-multi-level\">\n <button\n class=\"tcloud-ui-dropdown-toggle\"\n tcloudButton=\"outline\"\n color=\"dark\"\n [size]=\"this.size()\"\n [class.active]=\"isOpen\"\n (click)=\"toggleDropdown()\"\n [class.disabled]=\"disabled()\">\n <ng-content></ng-content>\n </button>\n\n\t<ul class=\"tcloud-ui-dropdown-multi-level__menu-list\" #menuRoot [style.max-height.px]=\"maxHeight()\">\n\t\t@if (isOpen)\n {\n @for (item of menu(); track $index; let i = $index)\n {\n <li\n class=\"menu-item\"\n [class.c-primary-500]=\"this.selectedParentOption()?.value === item?.value\"\n (mouseenter)=\"onItemEnter($event, i)\"\n (mouseleave)=\"scheduleClose()\"\n (click)=\"this.selectParentItem($event, item, item)\">\n <span class=\"menu-item__label\" [title]=\"item.displayValue\">{{ item.displayValue }}</span>\n @if (this.selectedParentOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check c-primary-500 mar-l-a\"></i>\n }\n @if (item?.children?.length && hoveredIndex === i)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"subMenuPosition()\"\n [maxHeight]=\"maxHeight()\"\n [anchorEl]=\"hoveredAnchor\"\n [selectedOption]=\"this.selectedOption()\"\n (hoverStart)=\"cancelClose()\"\n (hoverEnd)=\"scheduleClose()\"\n (onOptionSelected)=\"this.selectOption($event, item)\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n }\n\t</ul>\n</div>\n", styles: [":host{display:block}.tcloud-ui-dropdown-multi-level{position:relative;display:inline-block}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle{align-items:center;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:var(--f-weight-600);gap:var(--size-8);line-height:var(--l-height-20);outline:none;transition:.2s ease;padding:0 var(--size-16)}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle.active{background-color:var(--c-neutral-500);color:var(--c-neutral-50);border-color:var(--c-neutral-700)}.tcloud-ui-dropdown-multi-level__menu-list{box-shadow:var(--shadow-md);position:absolute;top:110%;left:0;background-color:var(--c-neutral-50);border-radius:var(--bor-radius-4);list-style:none;margin:0;padding:0;width:130%;z-index:1000;color:var(--c-neutral-900);overflow-y:auto;overflow-x:hidden}.tcloud-ui-dropdown-multi-level__menu-list .menu-item{align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.tcloud-ui-dropdown-multi-level__menu-list .menu-item__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: TCloudUiDropdownSubMenuComponent, selector: "tcloud-ui-dropdown-sub-menu", inputs: ["items", "position", "anchorEl", "maxHeight", "selectedOption"], outputs: ["onOptionSelected", "hoverStart", "hoverEnd"] }, { kind: "directive", type: TCloudUiButtonDirective, selector: "[tcloudButton]", inputs: ["color", "size", "fullWidth", "tcloudButton"] }] }); }
11034
11231
  }
11035
11232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiDropdownMultiLevelComponent, decorators: [{
11036
11233
  type: Component,
11037
11234
  args: [{ selector: 'tcloud-ui-dropdown-multi-level', imports: [
11038
11235
  TCloudUiDropdownSubMenuComponent,
11039
11236
  TCloudUiButtonDirective
11040
- ], template: "<div class=\"tcloud-ui-dropdown-multi-level\">\n <button\n class=\"tcloud-ui-dropdown-toggle\"\n tcloudButton=\"outline\"\n color=\"dark\"\n [size]=\"this.size()\"\n [class.active]=\"isOpen\"\n (click)=\"toggleDropdown()\"\n [class.disabled]=\"disabled()\">\n <ng-content></ng-content>\n </button>\n\n\t<ul class=\"tcloud-ui-dropdown-multi-level__menu-list\" #menuRoot>\n\t\t@if (isOpen)\n {\n @for (item of menu(); track $index; let i = $index)\n {\n <li\n class=\"menu-item\"\n [class.c-primary-500]=\"this.selectedParentOption()?.value === item?.value\"\n (mouseenter)=\"hoveredIndex = i\"\n (mouseleave)=\"hoveredIndex = null\"\n (click)=\"this.selectParentItem($event, item, item)\">\n {{ item.displayValue }}\n @if (this.selectedParentOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check c-primary-500 mar-l-a\"></i>\n }\n @if (item?.children?.length && hoveredIndex === i)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"subMenuPosition()\"\n [parentOffsetTop]=\"getItemOffsetTop(i)\"\n [selectedOption]=\"this.selectedOption()\"\n (onOptionSelected)=\"this.selectOption($event, item)\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n }\n\t</ul>\n</div>\n", styles: [":host{display:block}.tcloud-ui-dropdown-multi-level{position:relative;display:inline-block}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle{align-items:center;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:var(--f-weight-600);gap:var(--size-8);line-height:var(--l-height-20);outline:none;transition:.2s ease;padding:0 var(--size-16)}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle.active{background-color:var(--c-neutral-500);color:var(--c-neutral-50);border-color:var(--c-neutral-700)}.tcloud-ui-dropdown-multi-level__menu-list{box-shadow:var(--shadow-md);position:absolute;top:110%;left:0;background-color:var(--c-neutral-50);border-radius:var(--bor-radius-4);list-style:none;margin:0;padding:0;width:130%;z-index:1000;color:var(--c-neutral-900)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item{align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"] }]
11237
+ ], template: "<div class=\"tcloud-ui-dropdown-multi-level\">\n <button\n class=\"tcloud-ui-dropdown-toggle\"\n tcloudButton=\"outline\"\n color=\"dark\"\n [size]=\"this.size()\"\n [class.active]=\"isOpen\"\n (click)=\"toggleDropdown()\"\n [class.disabled]=\"disabled()\">\n <ng-content></ng-content>\n </button>\n\n\t<ul class=\"tcloud-ui-dropdown-multi-level__menu-list\" #menuRoot [style.max-height.px]=\"maxHeight()\">\n\t\t@if (isOpen)\n {\n @for (item of menu(); track $index; let i = $index)\n {\n <li\n class=\"menu-item\"\n [class.c-primary-500]=\"this.selectedParentOption()?.value === item?.value\"\n (mouseenter)=\"onItemEnter($event, i)\"\n (mouseleave)=\"scheduleClose()\"\n (click)=\"this.selectParentItem($event, item, item)\">\n <span class=\"menu-item__label\" [title]=\"item.displayValue\">{{ item.displayValue }}</span>\n @if (this.selectedParentOption()?.value === item?.value)\n {\n <i class=\"fa-light fa-circle-check c-primary-500 mar-l-a\"></i>\n }\n @if (item?.children?.length && hoveredIndex === i)\n {\n <tcloud-ui-dropdown-sub-menu\n [items]=\"item.children\"\n [position]=\"subMenuPosition()\"\n [maxHeight]=\"maxHeight()\"\n [anchorEl]=\"hoveredAnchor\"\n [selectedOption]=\"this.selectedOption()\"\n (hoverStart)=\"cancelClose()\"\n (hoverEnd)=\"scheduleClose()\"\n (onOptionSelected)=\"this.selectOption($event, item)\">\n </tcloud-ui-dropdown-sub-menu>\n }\n </li>\n }\n }\n\t</ul>\n</div>\n", styles: [":host{display:block}.tcloud-ui-dropdown-multi-level{position:relative;display:inline-block}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle{align-items:center;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:var(--f-weight-600);gap:var(--size-8);line-height:var(--l-height-20);outline:none;transition:.2s ease;padding:0 var(--size-16)}.tcloud-ui-dropdown-multi-level .tcloud-ui-dropdown-toggle.active{background-color:var(--c-neutral-500);color:var(--c-neutral-50);border-color:var(--c-neutral-700)}.tcloud-ui-dropdown-multi-level__menu-list{box-shadow:var(--shadow-md);position:absolute;top:110%;left:0;background-color:var(--c-neutral-50);border-radius:var(--bor-radius-4);list-style:none;margin:0;padding:0;width:130%;z-index:1000;color:var(--c-neutral-900);overflow-y:auto;overflow-x:hidden}.tcloud-ui-dropdown-multi-level__menu-list .menu-item{align-items:center;background-color:transparent;border:1px solid var(--c-neutral-50);border-radius:var(--bor-radius-4);cursor:pointer;display:flex;justify-content:space-between;font-size:var(--f-size-12);line-height:var(--l-height-16);height:var(--size-32);padding:var(--size-8);text-align:left;text-wrap:nowrap;transition:.2s ease;width:100%}.tcloud-ui-dropdown-multi-level__menu-list .menu-item__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:hover{border-color:var(--c-primary-500);color:var(--c-primary-500)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item.selected{background-color:var(--c-primary-300);border-color:var(--c-primary-300);color:var(--c-primary-500);font-weight:var(--f-weight-700)}.tcloud-ui-dropdown-multi-level__menu-list .menu-item:disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-300);color:var(--c-neutral-500);cursor:not-allowed}\n"] }]
11041
11238
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onDocumentClick: [{
11042
11239
  type: HostListener,
11043
11240
  args: ['document:click', ['$event']]
11044
11241
  }], menuRoot: [{
11045
11242
  type: ViewChild,
11046
11243
  args: ['menuRoot', { static: false }]
11047
- }], menu: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu", required: true }] }], subMenuPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "subMenuPosition", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], initialValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialValue", required: false }] }], optionSelected: [{ type: i0.Output, args: ["optionSelected"] }] } });
11244
+ }], menu: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu", required: true }] }], subMenuPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "subMenuPosition", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], initialValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialValue", required: false }] }], optionSelected: [{ type: i0.Output, args: ["optionSelected"] }] } });
11048
11245
 
11049
11246
  var TCloudUiDialogStatusEnum;
11050
11247
  (function (TCloudUiDialogStatusEnum) {
@@ -12813,5 +13010,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
12813
13010
  * Generated bundle index. Do not edit.
12814
13011
  */
12815
13012
 
12816
- export { AcceptedFileType, BytesPipe, CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$2 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, DateBRPipe, DropdownGroupedSize, DropdownMultiSize$1 as DropdownMultiSize, DropdownSize$1 as DropdownSize, MonthNamePipe, MultiLevelDropdownSize$1 as MultiLevelDropdownSize, ProductActionPipe, ProgressStatusBarGradientStatus$1 as ProgressStatusBarGradientStatus, RespectivePipe, StatusInfoPipe, TCCondition, TCFiltersType, TCLOUD_UI_CONFIG, TCLOUD_UI_LAYOUT_SERVICE, TCLOUD_UI_LOCALE_SERVICE, TCLOUD_UI_USER_SERVICE, TCLOUD_UI_VIEWPORT_SERVICE, TCloudUiAccordionBodyComponent, TCloudUiAccordionComponent, TCloudUiAccordionTitleComponent, TCloudUiAlertBannerComponent, TCloudUiAlignDirective, TCloudUiBreadcrumbComponent, TCloudUiBreadcrumbService, TCloudUiButtonDirective, TCloudUiCalendarComponent, TCloudUiCardAccordionComponent, TCloudUiCardComponent, TCloudUiCardTitleComponent, TCloudUiCarouselComponent, TCloudUiCheckAccessDirective, TCloudUiCheckAccessService, TCloudUiCheckboxDirective, TCloudUiChoiceIssuesComponent, TCloudUiContainerColComponent, TCloudUiContainerComponent, TCloudUiContainerContentComponent, TCloudUiCubesComponent, TCloudUiCurrencyDirective, TCloudUiDataListComponent, TCloudUiDataListOptionComponent, TCloudUiDatepickerComponent, TCloudUiDatepickerTimeComponent, TCloudUiDialogComponent, TCloudUiDialogEventsEnum, TCloudUiDialogHostComponent, TCloudUiDialogModel, TCloudUiDialogService, TCloudUiDialogStatusEnum, TCloudUiDialogTextConfirmationEnum, TCloudUiDigitOnlyDirective, TCloudUiDropdownComponent, TCloudUiDropdownMultiComponent, TCloudUiDropdownMultiLevelComponent, TCloudUiEditorComponent, TCloudUiEditorDiffComponent, TCloudUiElCopyDirective, TCloudUiEmptyContentComponent, TCloudUiFaqComponent, TCloudUiFilterBarComponent, TCloudUiFiltersComponent, TCloudUiFooterComponent, TCloudUiFormDirective, TCloudUiHighLightDirective, TCloudUiHoverParentDirective, TCloudUiIconButtonDirective, TCloudUiInputContainerComponent, TCloudUiInputDirective, TCloudUiInputPasswordComponent, TCloudUiInputSearchComponent, TCloudUiIpMaskDirective, TCloudUiLabelTokenComponent, TCloudUiLegendComponent, TCloudUiLineStepCircleComponent, TCloudUiLineStepTitleComponent, TCloudUiLinhaLogoComponent, TCloudUiLoadingComponent, TCloudUiLoadingTransitionsService, TCloudUiMarkReadmeComponent, TCloudUiMessageComponent, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiSelectComponent, TCloudUiMultiplesValuesComponent, TCloudUiNavbarComponent, TCloudUiNavbarFooterComponent, TCloudUiNavbarItemComponent, TCloudUiNgCheckAccessDirective, TCloudUiNgFeatureFlagsDirective, TCloudUiNotFoundComponent, TCloudUiNumberStepComponent, TCloudUiPaginationComponent, TCloudUiPaginationPipe, TCloudUiPopoverComponent, TCloudUiProgressBarComponent, TCloudUiProgressStatusBarComponent, TCloudUiRadioDirective, TCloudUiRangeDateComponent, TCloudUiReorderItemsComponent, TCloudUiScrollBoxComponent, TCloudUiSearchBarComponent, TCloudUiSearchInObjectService, TCloudUiSearchInputComponent, TCloudUiSkeletonLoadingComponent, TCloudUiSkeletonLoadingComponentStyle, TCloudUiSlideToggleDirective, TCloudUiSubNavbarComponent, TCloudUiSubNavbarGroupComponent, TCloudUiSubNavbarItemComponent, TCloudUiTabContentComponent, TCloudUiTabGroupComponent, TCloudUiTabHeadComponent, TCloudUiTabItemComponent, TCloudUiTabMenuComponent, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTableComponent, TCloudUiTagComponent, TCloudUiToastComponent, TCloudUiTooltipDirective, TCloudUiTopNavigationComponent, TCloudUiUploadAreaComponent, TCloudUiWelcomeComponent, TCloudUiWizardStepsComponent, 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, TopologyEnvironmentPipe, TopologyProductPipe, TopologyRegionPipe, TopologyStatusPipe, echartBarConfig, isTextEllipsed, provideTCloudUi };
13013
+ export { AcceptedFileType, BytesPipe, CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$2 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, DateBRPipe, DropdownGroupedSize, DropdownMultiSize$1 as DropdownMultiSize, DropdownSize$1 as DropdownSize, MonthNamePipe, MultiLevelDropdownSize$1 as MultiLevelDropdownSize, ProductActionPipe, ProgressStatusBarGradientStatus$1 as ProgressStatusBarGradientStatus, RespectivePipe, StatusInfoPipe, TCCondition, TCFiltersType, TCLOUD_UI_CONFIG, TCLOUD_UI_LAYOUT_SERVICE, TCLOUD_UI_LOCALE_SERVICE, TCLOUD_UI_USER_SERVICE, TCLOUD_UI_VIEWPORT_SERVICE, TCloudUiAccordionBodyComponent, TCloudUiAccordionComponent, TCloudUiAccordionTitleComponent, TCloudUiAlertBannerComponent, TCloudUiAlignDirective, TCloudUiBreadcrumbComponent, TCloudUiBreadcrumbService, TCloudUiButtonDirective, TCloudUiCalendarComponent, TCloudUiCardAccordionComponent, TCloudUiCardComponent, TCloudUiCardTitleComponent, TCloudUiCarouselComponent, TCloudUiCheckAccessDirective, TCloudUiCheckAccessService, TCloudUiCheckboxDirective, TCloudUiChoiceIssuesComponent, TCloudUiContainerColComponent, TCloudUiContainerComponent, TCloudUiContainerContentComponent, TCloudUiCubesComponent, TCloudUiCurrencyDirective, TCloudUiDataListComponent, TCloudUiDataListOptionComponent, TCloudUiDatepickerComponent, TCloudUiDatepickerTimeComponent, TCloudUiDialogComponent, TCloudUiDialogEventsEnum, TCloudUiDialogHostComponent, TCloudUiDialogModel, TCloudUiDialogService, TCloudUiDialogStatusEnum, TCloudUiDialogTextConfirmationEnum, TCloudUiDigitOnlyDirective, TCloudUiDropdownComponent, TCloudUiDropdownMultiComponent, TCloudUiDropdownMultiLevelComponent, TCloudUiEditorComponent, TCloudUiEditorDiffComponent, TCloudUiElCopyDirective, TCloudUiEmptyContentComponent, TCloudUiFaqComponent, TCloudUiFilterBarComponent, TCloudUiFiltersComponent, TCloudUiFooterComponent, TCloudUiFormDirective, TCloudUiHighLightDirective, TCloudUiHoverParentDirective, TCloudUiIconButtonDirective, TCloudUiInputContainerComponent, TCloudUiInputDirective, TCloudUiInputPasswordComponent, TCloudUiInputSearchComponent, TCloudUiIpMaskDirective, TCloudUiLabelTokenComponent, TCloudUiLegendComponent, TCloudUiLineStepCircleComponent, TCloudUiLineStepTitleComponent, TCloudUiLinhaLogoComponent, TCloudUiLoadingComponent, TCloudUiLoadingTransitionsService, TCloudUiMarkReadmeComponent, TCloudUiMessageComponent, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiSelectComponent, TCloudUiMultiplesValuesComponent, TCloudUiNavbarComponent, TCloudUiNavbarFooterComponent, TCloudUiNavbarItemComponent, TCloudUiNgCheckAccessDirective, TCloudUiNgFeatureFlagsDirective, TCloudUiNotFoundComponent, TCloudUiNumberStepComponent, TCloudUiPaginationComponent, TCloudUiPaginationPipe, TCloudUiPopoverComponent, TCloudUiProgressBarComponent, TCloudUiProgressStatusBarComponent, TCloudUiRadioDirective, TCloudUiRangeDateComponent, TCloudUiReorderItemsComponent, TCloudUiScrollBoxComponent, TCloudUiSearchBarComponent, TCloudUiSearchInObjectService, TCloudUiSearchInputComponent, TCloudUiSkeletonLoadingComponent, TCloudUiSkeletonLoadingComponentStyle, TCloudUiSlideToggleDirective, TCloudUiSubNavbarComponent, TCloudUiSubNavbarGroupComponent, TCloudUiSubNavbarItemComponent, TCloudUiTabContentComponent, TCloudUiTabGroupComponent, TCloudUiTabHeadComponent, TCloudUiTabItemComponent, TCloudUiTabMenuComponent, TCloudUiTabOptionComponent, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTableComponent, TCloudUiTagComponent, TCloudUiToastComponent, TCloudUiTooltipDirective, TCloudUiTopNavigationComponent, TCloudUiUploadAreaComponent, TCloudUiWelcomeComponent, TCloudUiWizardStepsComponent, 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, TopologyEnvironmentPipe, TopologyProductPipe, TopologyRegionPipe, TopologyStatusPipe, echartBarConfig, isTextEllipsed, provideTCloudUi };
12817
13014
  //# sourceMappingURL=dev-tcloud-tcloud-ui.mjs.map