@dev-tcloud/tcloud-ui 7.5.2 → 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.
@@ -1,16 +1,19 @@
1
1
  # Tab Menu
2
2
 
3
3
  ## Características
4
+
4
5
  - Sistema de abas standalone com cabeçalho, títulos/subtítulos e conteúdos associados.
5
6
  - Gerencia estado via serviço interno (TabMenuService) com suporte a loading, scroll, linha inferior e modo full.
6
7
  - Suporta registrar aba ativa na URL (`registerInUrl`) e alternar aba programaticamente por `active`.
7
- - Componentes auxiliares: `tcloud-ui-tab-head`, `tcloud-ui-tab-title`, `tcloud-ui-tab-subtitle`, `tcloud-ui-tab-content`.
8
+ - Componentes auxiliares: `tcloud-ui-tab-head`, `tcloud-ui-tab-title`, `tcloud-ui-tab-subtitle`, `tcloud-ui-tab-option`, `tcloud-ui-tab-content`.
8
9
 
9
10
  ## Instalação
11
+
10
12
  ```ts
11
13
  import {
12
14
  TCloudUiTabMenuComponent,
13
15
  TCloudUiTabHeadComponent,
16
+ TCloudUiTabOptionComponent,
14
17
  TCloudUiTabTitleComponent,
15
18
  TCloudUiTabSubtitleComponent,
16
19
  TCloudUiTabContentComponent
@@ -22,6 +25,7 @@ import {
22
25
  imports: [
23
26
  TCloudUiTabMenuComponent,
24
27
  TCloudUiTabHeadComponent,
28
+ TCloudUiTabOptionComponent,
25
29
  TCloudUiTabTitleComponent,
26
30
  TCloudUiTabSubtitleComponent,
27
31
  TCloudUiTabContentComponent
@@ -32,42 +36,62 @@ export class ExampleComponent {}
32
36
  ```
33
37
 
34
38
  ## Propriedades (API)
39
+
35
40
  ### `tcloud-ui-tab-menu`
36
- | Nome | Tipo | Descrição | Valor Default |
37
- | --- | --- | --- | --- |
38
- | registerInUrl | boolean | Atualiza query param `tab` com a aba ativa. | false |
39
- | loading | boolean | Propaga estado de carregamento para abas. | false |
40
- | active | string | Id da aba ativa inicial (aceita atualização). | '' |
41
- | full | boolean | Habilita modo full (layout mais largo). | false |
41
+
42
+ | Nome | Tipo | Descrição | Valor Default |
43
+ | ------------- | ------- | --------------------------------------------- | ------------- |
44
+ | registerInUrl | boolean | Atualiza query param `tab` com a aba ativa. | false |
45
+ | loading | boolean | Propaga estado de carregamento para abas. | false |
46
+ | active | string | Id da aba ativa inicial (aceita atualização). | '' |
47
+ | full | boolean | Habilita modo full (layout mais largo). | false |
42
48
 
43
49
  ### `tcloud-ui-tab-head`
44
- | Nome | Tipo | Descrição | Valor Default |
45
- | --- | --- | --- | --- |
46
- | scroll | boolean | Controla scroll horizontal do cabeçalho. | true |
47
- | background | boolean | Aplica fundo padrão. | true |
48
- | backgroundColor | '#FFFFFF'\|'#F1F1F1'\|'white'\|'transparent' | Cor de fundo quando `background=true`. | 'transparent' (ajustado para branco/cinza) |
49
- | bottom_line | boolean | Exibe linha inferior. | false |
50
+
51
+ | Nome | Tipo | Descrição | Valor Default |
52
+ | --------------- | -------------------------------------------- | ---------------------------------------- | ------------------------------------------ |
53
+ | scroll | boolean | Controla scroll horizontal do cabeçalho. | true |
54
+ | background | boolean | Aplica fundo padrão. | true |
55
+ | backgroundColor | '#FFFFFF'\|'#F1F1F1'\|'white'\|'transparent' | Cor de fundo quando `background=true`. | 'transparent' (ajustado para branco/cinza) |
56
+ | bottom_line | boolean | Exibe linha inferior. | false |
57
+ | tabOptionTextTone | 'default'\|'inverse' | Tom semântico do texto dos `tcloud-ui-tab-option` filhos (`default` escuro, `inverse` claro). | 'default' |
58
+ | tabOptionActiveTextTone | 'default'\|'inverse' | Tom semântico do texto ativo dos `tcloud-ui-tab-option` filhos (`default` claro, `inverse` escuro). | 'default' |
50
59
 
51
60
  ### `tcloud-ui-tab-title` / `tcloud-ui-tab-subtitle`
52
- | Nome | Tipo | Descrição | Valor Default |
53
- | --- | --- | --- | --- |
54
- | tab | string | Identificador da aba. | '' |
55
- | disabled | boolean | Desabilita seleção da aba. | false |
61
+
62
+ | Nome | Tipo | Descrição | Valor Default |
63
+ | -------- | ------- | -------------------------- | ------------- |
64
+ | tab | string | Identificador da aba. | '' |
65
+ | disabled | boolean | Desabilita seleção da aba. | false |
66
+
67
+ ### `tcloud-ui-tab-option`
68
+
69
+ | Nome | Tipo | Descrição | Valor Default |
70
+ | -------------- | -------------------- | ------------------------------------------------------------------- | ------------- |
71
+ | tab | string | Identificador da aba. | '' |
72
+ | disabled | boolean | Desabilita seleção da aba. | false |
73
+ | textTone | 'default'\|'inverse' | Override opcional do tom definido no `tcloud-ui-tab-head`. | herdado |
74
+ | activeTextTone | 'default'\|'inverse' | Override opcional do tom ativo definido no `tcloud-ui-tab-head`. | herdado |
56
75
 
57
76
  ### `tcloud-ui-tab-content`
58
- | Nome | Tipo | Descrição | Valor Default |
59
- | --- | --- | --- | --- |
60
- | tab | string | Identificador da aba que o conteúdo representa. | '' |
61
- | hideContent | boolean | Esconde conteúdo mantendo estrutura. | false |
77
+
78
+ | Nome | Tipo | Descrição | Valor Default |
79
+ | ----------- | ------- | ----------------------------------------------- | ------------- |
80
+ | tab | string | Identificador da aba que o conteúdo representa. | '' |
81
+ | hideContent | boolean | Esconde conteúdo mantendo estrutura. | false |
62
82
 
63
83
  ### Outputs
84
+
64
85
  `TCloudUiTabMenuComponent`:
65
- | Nome | Tipo de Evento | Descrição |
66
- | --- | --- | --- |
86
+
87
+ | Nome | Tipo de Evento | Descrição |
88
+ | -------- | -------------------- | ---------------------------------- |
67
89
  | onChange | EventEmitter<string> | Emite o id da aba ativa ao trocar. |
68
90
 
69
91
  ## Exemplos de Uso
92
+
70
93
  ### Uso Básico
94
+
71
95
  ```html
72
96
  <tcloud-ui-tab-menu [active]="'tab-1'" (onChange)="onTab($event)">
73
97
  <tcloud-ui-tab-head [bottom_line]="true" [background]="true">
@@ -81,6 +105,7 @@ export class ExampleComponent {}
81
105
  ```
82
106
 
83
107
  ### Subtítulos, full e desabilitado
108
+
84
109
  ```html
85
110
  <tcloud-ui-tab-menu [active]="'a1'" [full]="true">
86
111
  <tcloud-ui-tab-head [bottom_line]="false" [background]="false">
@@ -95,12 +120,39 @@ export class ExampleComponent {}
95
120
  </tcloud-ui-tab-menu>
96
121
  ```
97
122
 
123
+ ### Menu horizontal preenchido
124
+
125
+ ```html
126
+ <tcloud-ui-tab-menu [active]="'security'" [full]="true">
127
+ <tcloud-ui-tab-head
128
+ [scroll]="false"
129
+ [bottom_line]="false"
130
+ [background]="true"
131
+ tabOptionTextTone="default"
132
+ tabOptionActiveTextTone="default">
133
+ <tcloud-ui-tab-option tab="environment-details">Detalhes do ambiente</tcloud-ui-tab-option>
134
+ <tcloud-ui-tab-option tab="monitoring">Monitoramento</tcloud-ui-tab-option>
135
+ <tcloud-ui-tab-option tab="log">Log</tcloud-ui-tab-option>
136
+ <tcloud-ui-tab-option tab="database">Banco de dados</tcloud-ui-tab-option>
137
+ <tcloud-ui-tab-option tab="executed-actions">Ações executadas</tcloud-ui-tab-option>
138
+ <tcloud-ui-tab-option tab="backup">Backup</tcloud-ui-tab-option>
139
+ <tcloud-ui-tab-option tab="infrastructure">Infraestrutura</tcloud-ui-tab-option>
140
+ <tcloud-ui-tab-option tab="security">Segurança</tcloud-ui-tab-option>
141
+ <tcloud-ui-tab-option tab="manage">Gerenciar</tcloud-ui-tab-option>
142
+ </tcloud-ui-tab-head>
143
+
144
+ <tcloud-ui-tab-content tab="security">Conteúdo de segurança</tcloud-ui-tab-content>
145
+ </tcloud-ui-tab-menu>
146
+ ```
147
+
98
148
  ### Com registro na URL
149
+
99
150
  ```html
100
151
  <tcloud-ui-tab-menu [active]="'tab-1'" [registerInUrl]="true"></tcloud-ui-tab-menu>
101
152
  ```
102
153
 
103
154
  ## Tipos auxiliares
155
+
104
156
  ```ts
105
157
  export interface ITab {
106
158
  id: string;
@@ -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
 
@@ -12898,5 +13010,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
12898
13010
  * Generated bundle index. Do not edit.
12899
13011
  */
12900
13012
 
12901
- 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 };
12902
13014
  //# sourceMappingURL=dev-tcloud-tcloud-ui.mjs.map