@dev-tcloud/tcloud-ui 7.2.0 → 7.2.2
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.
- package/docs/tcloud-ui-navbar.md +227 -0
- package/fesm2022/dev-tcloud-tcloud-ui.mjs +92 -5
- package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/js/tcloud-ui-app.js +69 -69
- package/package.json +1 -1
- package/scss/components/custom/_tcloud-ui-navbar.scss +84 -0
- package/scss/components/styles.scss +2 -1
- package/types/dev-tcloud-tcloud-ui.d.ts +66 -4
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# Navbar
|
|
2
|
+
|
|
3
|
+
## Caracteristicas
|
|
4
|
+
|
|
5
|
+
O `TCloudUiNavbarComponent` e o menu vertical principal do tcloud. E um componente
|
|
6
|
+
**data-driven**: recebe um array de itens (`TCloudUiNavbarItem[]`) e renderiza a
|
|
7
|
+
navegacao, incluindo submenus **recursivos** de qualquer profundidade.
|
|
8
|
+
|
|
9
|
+
Funcionalidades principais:
|
|
10
|
+
- Menu vertical alimentado por `[menuItems]` ou por `[groups]` (secoes separadas por divisor).
|
|
11
|
+
- Submenus recursivos (N niveis), expansiveis/colapsaveis pelo proprio item.
|
|
12
|
+
- Modo expandido (labels + icones) e minimizado (somente icones) via `isMenuExpanded`.
|
|
13
|
+
- Botao interno de minimizar/expandir (controlavel por `showToggle`).
|
|
14
|
+
- Navegacao interna por `routerLink` (`link`) e externa em nova aba (`href`).
|
|
15
|
+
- Selo curto por item via `badge` (ex.: `'Novo'`).
|
|
16
|
+
- Itens desabilitados (`enable: false`) sao ocultados.
|
|
17
|
+
- Logo no header via `[logoSrc]` (com variante `[logoSrcDark]` para `body.tc-dark`);
|
|
18
|
+
no modo minimizado o logo e recortado, sobrando so o simbolo.
|
|
19
|
+
- Rodape de perfil pronto com o componente `tcloud-ui-navbar-footer` (avatar, nome,
|
|
20
|
+
papel e botao de sair), ou conteudo livre via slots `[navbar-header]`/`[navbar-footer]`.
|
|
21
|
+
- Emite `onItemClick` ao clicar num item folha e `onExpandChange` ao alternar o menu.
|
|
22
|
+
|
|
23
|
+
## Instalacao
|
|
24
|
+
|
|
25
|
+
Importe o componente (e o item, para a recursao; o footer, se for usar o rodape de
|
|
26
|
+
perfil) no consumidor standalone:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import {
|
|
30
|
+
TCloudUiNavbarComponent,
|
|
31
|
+
TCloudUiNavbarItemComponent,
|
|
32
|
+
TCloudUiNavbarFooterComponent
|
|
33
|
+
} from 'tcloud-ui';
|
|
34
|
+
|
|
35
|
+
@Component({
|
|
36
|
+
selector: 'app-exemplo',
|
|
37
|
+
standalone: true,
|
|
38
|
+
imports: [TCloudUiNavbarComponent, TCloudUiNavbarItemComponent, TCloudUiNavbarFooterComponent],
|
|
39
|
+
templateUrl: './app-exemplo.component.html'
|
|
40
|
+
})
|
|
41
|
+
export class ExemploComponent {}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Em aplicacoes NgModule, o `TCloudUiModule` ja exporta esses componentes.
|
|
45
|
+
|
|
46
|
+
## Propriedades (API)
|
|
47
|
+
|
|
48
|
+
### Inputs
|
|
49
|
+
|
|
50
|
+
| Nome | Tipo | Descricao | Valor Default |
|
|
51
|
+
|------|------|-----------|---------------|
|
|
52
|
+
| menuItems | `TCloudUiNavbarItem[]` | Itens do menu (grupo unico). Submenus sao renderizados recursivamente. | `[]` |
|
|
53
|
+
| groups | `TCloudUiNavbarGroup[]` | Grupos de itens separados por divisor. Tem precedencia sobre `menuItems`. | `[]` |
|
|
54
|
+
| isMenuExpanded | `boolean` | Menu expandido (labels visiveis) ou minimizado (so icones). | `true` |
|
|
55
|
+
| showToggle | `boolean` | Exibe o botao interno de minimizar/expandir. | `true` |
|
|
56
|
+
| logoSrc | `string?` | Caminho da imagem do logo exibido no header (tema claro). | logo TOTVS preto |
|
|
57
|
+
| logoSrcDark | `string?` | Caminho do logo para o tema escuro (`body.tc-dark`). Quando informado, o header alterna automaticamente. | logo TOTVS branco |
|
|
58
|
+
| logoAlt | `string` | Texto alternativo do logo. | `'Logo'` |
|
|
59
|
+
|
|
60
|
+
> **Logo no modo minimizado:** o header usa `overflow: hidden` com o logo em largura
|
|
61
|
+
> fixa — ao minimizar, o wordmark e **recortado** (nao reduzido), sobrando so o
|
|
62
|
+
> simbolo. Prefira um logo **horizontal com o simbolo a esquerda**.
|
|
63
|
+
|
|
64
|
+
### Slots de conteudo (content projection)
|
|
65
|
+
|
|
66
|
+
| Seletor | Descricao |
|
|
67
|
+
|---------|-----------|
|
|
68
|
+
| `[navbar-header]` | Conteudo customizado do topo (alternativa ao `logoSrc`). |
|
|
69
|
+
| `[navbar-footer]` | Conteudo do rodape fixo — tipicamente o `tcloud-ui-navbar-footer`. |
|
|
70
|
+
|
|
71
|
+
### Componente `tcloud-ui-navbar-footer`
|
|
72
|
+
|
|
73
|
+
Rodape de perfil (avatar, nome, papel e botao de sair) para projetar no slot
|
|
74
|
+
`[navbar-footer]`. Respeita o modo minimizado (mostra so o avatar).
|
|
75
|
+
|
|
76
|
+
Inputs:
|
|
77
|
+
|
|
78
|
+
| Nome | Tipo | Descricao | Valor Default |
|
|
79
|
+
|------|------|-----------|---------------|
|
|
80
|
+
| avatarSrc | `string?` | Caminho da imagem do avatar. Quando ausente, usa `avatarIcon`. | `undefined` |
|
|
81
|
+
| avatarAlt | `string` | Texto alternativo do avatar. | `''` |
|
|
82
|
+
| avatarIcon | `string` | Icone exibido no avatar (circulo cinza) quando nao ha `avatarSrc`. | `'fas fa-user'` |
|
|
83
|
+
| name | `string` | Nome do usuario. | `''` |
|
|
84
|
+
| role | `string` | Papel/subtitulo do usuario. | `''` |
|
|
85
|
+
| isMenuExpanded | `boolean` | Mostra nome/papel e o botao de sair. | `true` |
|
|
86
|
+
| showLogout | `boolean` | Exibe o botao de sair. | `true` |
|
|
87
|
+
| logoutTitle | `string` | Titulo/tooltip do botao de sair. | `'Sair'` |
|
|
88
|
+
|
|
89
|
+
Outputs:
|
|
90
|
+
|
|
91
|
+
| Nome | Tipo | Descricao |
|
|
92
|
+
|------|------|-----------|
|
|
93
|
+
| onLogout | `void` | Emitido ao clicar no botao de sair. |
|
|
94
|
+
|
|
95
|
+
### Outputs
|
|
96
|
+
|
|
97
|
+
| Nome | Tipo | Descricao |
|
|
98
|
+
|------|------|-----------|
|
|
99
|
+
| onItemClick | `TCloudUiNavbarItem` | Emitido ao clicar num item folha (sem submenu). |
|
|
100
|
+
| onExpandChange | `boolean` | Emitido ao alternar entre expandido/minimizado. |
|
|
101
|
+
|
|
102
|
+
### Modelo `TCloudUiNavbarItem`
|
|
103
|
+
|
|
104
|
+
| Campo | Tipo | Descricao |
|
|
105
|
+
|-------|------|-----------|
|
|
106
|
+
| label | `string` | Texto exibido (ja traduzido pelo consumidor). |
|
|
107
|
+
| icon | `string?` | Classe(s) do icone, ex.: `'fas fa-laptop'`. |
|
|
108
|
+
| link | `string?` | Rota interna (usada como `routerLink`). |
|
|
109
|
+
| queryParams | `Params \| null` | Query params aplicados junto do `routerLink`. |
|
|
110
|
+
| href | `string?` | URL externa — abre em nova aba. |
|
|
111
|
+
| submenu | `TCloudUiNavbarItem[]?` | Sub-itens (recursivos). |
|
|
112
|
+
| active | `boolean?` | Forca o realce full-width. O ativo tambem e detectado pela rota atual via `routerLinkActive` — nao fixe este campo so para reproduzir um mockup. |
|
|
113
|
+
| open | `boolean?` | Estado inicial do submenu (aberto/fechado). |
|
|
114
|
+
| enable | `boolean?` | Quando `false`, o item e ocultado. Default `true`. |
|
|
115
|
+
| badge | `string?` | Selo curto exibido ao lado do label, ex.: `'Novo'`. |
|
|
116
|
+
|
|
117
|
+
### Modelo `TCloudUiNavbarGroup`
|
|
118
|
+
|
|
119
|
+
| Campo | Tipo | Descricao |
|
|
120
|
+
|-------|------|-----------|
|
|
121
|
+
| label | `string?` | Rotulo opcional exibido como cabecalho da secao (so no modo expandido). |
|
|
122
|
+
| items | `TCloudUiNavbarItem[]` | Itens do grupo. |
|
|
123
|
+
|
|
124
|
+
## Exemplos de Uso
|
|
125
|
+
|
|
126
|
+
### Uso Basico
|
|
127
|
+
|
|
128
|
+
```html
|
|
129
|
+
<tcloud-ui-navbar [menuItems]="menuItems" (onItemClick)="go($event)"></tcloud-ui-navbar>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
import { Component } from '@angular/core';
|
|
134
|
+
import { TCloudUiNavbarComponent, TCloudUiNavbarItemComponent, TCloudUiNavbarItem } from 'tcloud-ui';
|
|
135
|
+
|
|
136
|
+
@Component({
|
|
137
|
+
selector: 'app-exemplo',
|
|
138
|
+
standalone: true,
|
|
139
|
+
imports: [TCloudUiNavbarComponent, TCloudUiNavbarItemComponent],
|
|
140
|
+
templateUrl: './app-exemplo.component.html'
|
|
141
|
+
})
|
|
142
|
+
export class AppExemploComponent {
|
|
143
|
+
menuItems: TCloudUiNavbarItem[] = [
|
|
144
|
+
{ label: 'Home', icon: 'fas fa-laptop', link: '/dashboard' },
|
|
145
|
+
{ label: 'Documentacao', icon: 'fas fa-book', href: 'https://exemplo.com' }
|
|
146
|
+
];
|
|
147
|
+
|
|
148
|
+
go(item: TCloudUiNavbarItem) {
|
|
149
|
+
console.log('clicou', item);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Uso Avancado (submenu recursivo)
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
menuItems: TCloudUiNavbarItem[] = [
|
|
158
|
+
{ label: 'Home', icon: 'fas fa-laptop', link: '/dashboard', active: true },
|
|
159
|
+
{
|
|
160
|
+
label: 'IaaS',
|
|
161
|
+
icon: 'fas fa-cloud',
|
|
162
|
+
open: true,
|
|
163
|
+
submenu: [
|
|
164
|
+
{ label: 'Boas vindas', link: '/iaas/welcome' },
|
|
165
|
+
{ label: 'Meus ambientes', link: '/iaas/virtual-machines' }
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
label: 'Administracao',
|
|
170
|
+
icon: 'fas fa-cogs',
|
|
171
|
+
submenu: [
|
|
172
|
+
{
|
|
173
|
+
label: 'IAM',
|
|
174
|
+
submenu: [
|
|
175
|
+
{ label: 'Papeis de usuario', link: '/admin/iam/roles' }
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
{ label: 'Item oculto', link: '/admin/hidden', enable: false }
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
];
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
O menu monta os niveis recursivamente; itens com `submenu` alternam a exibicao dos
|
|
185
|
+
filhos ao serem clicados, e itens com `enable: false` nao aparecem.
|
|
186
|
+
|
|
187
|
+
### Grupos, badge e slots (logo + perfil)
|
|
188
|
+
|
|
189
|
+
Use `[groups]` para separar secoes por divisor, `badge` para selos e os slots
|
|
190
|
+
`[navbar-header]` / `[navbar-footer]` para projetar logo e perfil do usuario:
|
|
191
|
+
|
|
192
|
+
```html
|
|
193
|
+
<tcloud-ui-navbar [groups]="groups" [logoSrc]="'logo.svg'" logoAlt="Logo" (onItemClick)="go($event)">
|
|
194
|
+
<tcloud-ui-navbar-footer
|
|
195
|
+
navbar-footer
|
|
196
|
+
avatarSrc="avatar.png"
|
|
197
|
+
name="Simone Garcia"
|
|
198
|
+
role="Operadora"
|
|
199
|
+
(onLogout)="logout()">
|
|
200
|
+
</tcloud-ui-navbar-footer>
|
|
201
|
+
</tcloud-ui-navbar>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
import { TCloudUiNavbarGroup } from 'tcloud-ui';
|
|
206
|
+
|
|
207
|
+
groups: TCloudUiNavbarGroup[] = [
|
|
208
|
+
{
|
|
209
|
+
items: [
|
|
210
|
+
{ label: 'Pagina inicial', icon: 'fas fa-house', link: '/dashboard', active: true },
|
|
211
|
+
{ label: 'Marketplace', icon: 'fas fa-cart-shopping', badge: 'Novo', submenu: [
|
|
212
|
+
{ label: 'Agentes de IA', link: '/marketplace/ai-agents' }
|
|
213
|
+
] }
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
items: [
|
|
218
|
+
{ label: 'Configuracoes', icon: 'fas fa-gear', link: '/settings' },
|
|
219
|
+
{ label: 'Minha conta', icon: 'fas fa-user', link: '/account' }
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
];
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Quando `[groups]` nao e informado, `[menuItems]` continua funcionando como um
|
|
226
|
+
grupo unico (backward-compat). Os slots `[navbar-header]`/`[navbar-footer]` sao
|
|
227
|
+
opcionais: ficam ocultos quando nada e projetado.
|
|
@@ -9811,11 +9811,11 @@ class TCloudUiNavbarItemComponent {
|
|
|
9811
9811
|
this.onItemClick.emit(item);
|
|
9812
9812
|
}
|
|
9813
9813
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9814
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiNavbarItemComponent, isStandalone: true, selector: "tcloud-ui-navbar-item", inputs: { item: "item", isMenuExpanded: "isMenuExpanded", level: "level" }, outputs: { onItemClick: "onItemClick" }, ngImport: i0, template: "<li\n class=\"tcloud-ui-navbar-item\"\n [class.tcloud-ui-navbar-expanded]=\"isMenuExpanded\"\n [class.has-submenu]=\"hasSubmenu\"\n [class.open]=\"item.open\">\n\n <a\n class=\"tcloud-ui-navbar-item-link\"\n [class.selected]=\"item.active\"\n [routerLink]=\"hasSubmenu ? null : (item.link ?? null)\"\n routerLinkActive=\"active\"\n [queryParams]=\"item.queryParams ?? null\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [title]=\"item.label\"\n (click)=\"handleClick($event)\">\n\n <div class=\"navbar-item-icon-container\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n </div>\n\n @if (isMenuExpanded) {\n <div class=\"navbar-item-label\">\n <span class=\"navbar-item-text\">{{ item.label }}</span>\n @if (hasSubmenu) {\n <i class=\"navbar-item-chevron fas\"\n [class.fa-chevron-down]=\"item.open\"\n [class.fa-chevron-right]=\"!item.open\"></i>\n }\n </div>\n }\n </a>\n\n @if (hasSubmenu && isMenuExpanded) {\n <ul class=\"tcloud-ui-navbar-submenu\" [class.open]=\"item.open\">\n @for (child of item.submenu; track $index) {\n @if (child.enable !== false) {\n <tcloud-ui-navbar-item\n [item]=\"child\"\n [isMenuExpanded]=\"isMenuExpanded\"\n [level]=\"level + 1\"\n (onItemClick)=\"bubbleClick($event)\">\n </tcloud-ui-navbar-item>\n }\n }\n </ul>\n }\n</li>\n", styles: [":host{display:block}.tcloud-ui-navbar-item{list-style:none;margin:0;padding:0}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;font-family:var(--f-family);display:flex;transition:all .2s ease;text-decoration:none}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-icon-container{text-align:center;align-content:center;background-color:var(--c-neutral-
|
|
9814
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiNavbarItemComponent, isStandalone: true, selector: "tcloud-ui-navbar-item", inputs: { item: "item", isMenuExpanded: "isMenuExpanded", level: "level" }, outputs: { onItemClick: "onItemClick" }, ngImport: i0, template: "<li\n class=\"tcloud-ui-navbar-item\"\n [class.tcloud-ui-navbar-expanded]=\"isMenuExpanded\"\n [class.tcloud-ui-navbar-subitem]=\"level > 0\"\n [class.has-submenu]=\"hasSubmenu\"\n [class.open]=\"item.open\">\n\n <a\n class=\"tcloud-ui-navbar-item-link\"\n [class.selected]=\"item.active\"\n [routerLink]=\"hasSubmenu ? null : (item.link ?? null)\"\n routerLinkActive=\"active\"\n [queryParams]=\"item.queryParams ?? null\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [title]=\"item.label\"\n (click)=\"handleClick($event)\">\n\n <div class=\"navbar-item-icon-container\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n </div>\n\n @if (isMenuExpanded) {\n <div class=\"navbar-item-label\">\n <span class=\"navbar-item-text\">{{ item.label }}</span>\n @if (item.badge) {\n <span class=\"navbar-item-badge\">{{ item.badge }}</span>\n }\n @if (hasSubmenu) {\n <i class=\"navbar-item-chevron fas\"\n [class.fa-chevron-down]=\"item.open\"\n [class.fa-chevron-right]=\"!item.open\"></i>\n }\n </div>\n }\n </a>\n\n @if (hasSubmenu && isMenuExpanded) {\n <ul class=\"tcloud-ui-navbar-submenu\" [class.open]=\"item.open\">\n @for (child of item.submenu; track $index) {\n @if (child.enable !== false) {\n <tcloud-ui-navbar-item\n [item]=\"child\"\n [isMenuExpanded]=\"isMenuExpanded\"\n [level]=\"level + 1\"\n (onItemClick)=\"bubbleClick($event)\">\n </tcloud-ui-navbar-item>\n }\n }\n </ul>\n }\n</li>\n", styles: [":host{display:block}.tcloud-ui-navbar-item{list-style:none;margin:0;padding:0}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;font-family:var(--f-family);display:flex;transition:all .2s ease;text-decoration:none}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-icon-container{text-align:center;align-content:center;background-color:var(--c-neutral-100);border-radius:var(--bor-radius-4);font-size:var(--f-size-20);height:var(--size-36);width:var(--size-36);transition:all .2s ease;min-height:var(--size-36);min-width:var(--size-36);max-height:var(--size-36);max-width:var(--size-36)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label{align-items:center;display:flex;gap:var(--size-4);justify-content:space-between;width:100%;min-width:0;color:var(--c-neutral-700);font-size:var(--f-size-14);height:var(--size-36);padding-left:var(--size-8);transition:all .2s ease;min-height:var(--size-36);max-height:var(--size-36)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label .navbar-item-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label .navbar-item-badge{flex:0 0 auto;background-color:var(--c-primary-500);border-radius:var(--bor-radius-4);color:var(--c-neutral-50);font-size:var(--f-size-12);font-weight:var(--f-weight-700);line-height:1;padding:var(--size-4) var(--size-8)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label .navbar-item-chevron{flex:0 0 auto;font-size:var(--f-size-12);padding-right:var(--size-8);transition:transform .2s ease}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:hover,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:focus{color:var(--c-primary-500)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:hover .navbar-item-icon-container,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:focus .navbar-item-icon-container{background-color:var(--c-neutral-200);color:var(--c-primary-500)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.active,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.selected{background-color:var(--c-primary-300)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.active .navbar-item-icon-container,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.selected .navbar-item-icon-container{background-color:transparent;color:var(--c-primary-500)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.active .navbar-item-label,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.selected .navbar-item-label{color:var(--c-primary-500);font-weight:var(--f-weight-700)}.tcloud-ui-navbar-item .tcloud-ui-navbar-submenu{display:none;flex-direction:column;gap:var(--size-4);list-style:none;margin:var(--size-4) 0 0 0;padding:0 0 0 var(--size-8)}.tcloud-ui-navbar-item .tcloud-ui-navbar-submenu.open{display:flex}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link{border-left:2px solid var(--c-neutral-200);border-radius:0 var(--bor-radius-4) var(--bor-radius-4) 0}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link .navbar-item-icon-container{display:none}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link .navbar-item-label{padding-left:var(--size-12)}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link.active,.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link.selected{border-left-color:var(--c-primary-500)}\n"], dependencies: [{ kind: "component", type: TCloudUiNavbarItemComponent, selector: "tcloud-ui-navbar-item", inputs: ["item", "isMenuExpanded", "level"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
|
|
9815
9815
|
}
|
|
9816
9816
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiNavbarItemComponent, decorators: [{
|
|
9817
9817
|
type: Component,
|
|
9818
|
-
args: [{ selector: 'tcloud-ui-navbar-item', standalone: true, imports: [CommonModule, RouterModule], template: "<li\n class=\"tcloud-ui-navbar-item\"\n [class.tcloud-ui-navbar-expanded]=\"isMenuExpanded\"\n [class.has-submenu]=\"hasSubmenu\"\n [class.open]=\"item.open\">\n\n <a\n class=\"tcloud-ui-navbar-item-link\"\n [class.selected]=\"item.active\"\n [routerLink]=\"hasSubmenu ? null : (item.link ?? null)\"\n routerLinkActive=\"active\"\n [queryParams]=\"item.queryParams ?? null\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [title]=\"item.label\"\n (click)=\"handleClick($event)\">\n\n <div class=\"navbar-item-icon-container\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n </div>\n\n @if (isMenuExpanded) {\n <div class=\"navbar-item-label\">\n <span class=\"navbar-item-text\">{{ item.label }}</span>\n @if (hasSubmenu) {\n <i class=\"navbar-item-chevron fas\"\n [class.fa-chevron-down]=\"item.open\"\n [class.fa-chevron-right]=\"!item.open\"></i>\n }\n </div>\n }\n </a>\n\n @if (hasSubmenu && isMenuExpanded) {\n <ul class=\"tcloud-ui-navbar-submenu\" [class.open]=\"item.open\">\n @for (child of item.submenu; track $index) {\n @if (child.enable !== false) {\n <tcloud-ui-navbar-item\n [item]=\"child\"\n [isMenuExpanded]=\"isMenuExpanded\"\n [level]=\"level + 1\"\n (onItemClick)=\"bubbleClick($event)\">\n </tcloud-ui-navbar-item>\n }\n }\n </ul>\n }\n</li>\n", styles: [":host{display:block}.tcloud-ui-navbar-item{list-style:none;margin:0;padding:0}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;font-family:var(--f-family);display:flex;transition:all .2s ease;text-decoration:none}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-icon-container{text-align:center;align-content:center;background-color:var(--c-neutral-
|
|
9818
|
+
args: [{ selector: 'tcloud-ui-navbar-item', standalone: true, imports: [CommonModule, RouterModule], template: "<li\n class=\"tcloud-ui-navbar-item\"\n [class.tcloud-ui-navbar-expanded]=\"isMenuExpanded\"\n [class.tcloud-ui-navbar-subitem]=\"level > 0\"\n [class.has-submenu]=\"hasSubmenu\"\n [class.open]=\"item.open\">\n\n <a\n class=\"tcloud-ui-navbar-item-link\"\n [class.selected]=\"item.active\"\n [routerLink]=\"hasSubmenu ? null : (item.link ?? null)\"\n routerLinkActive=\"active\"\n [queryParams]=\"item.queryParams ?? null\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [title]=\"item.label\"\n (click)=\"handleClick($event)\">\n\n <div class=\"navbar-item-icon-container\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n </div>\n\n @if (isMenuExpanded) {\n <div class=\"navbar-item-label\">\n <span class=\"navbar-item-text\">{{ item.label }}</span>\n @if (item.badge) {\n <span class=\"navbar-item-badge\">{{ item.badge }}</span>\n }\n @if (hasSubmenu) {\n <i class=\"navbar-item-chevron fas\"\n [class.fa-chevron-down]=\"item.open\"\n [class.fa-chevron-right]=\"!item.open\"></i>\n }\n </div>\n }\n </a>\n\n @if (hasSubmenu && isMenuExpanded) {\n <ul class=\"tcloud-ui-navbar-submenu\" [class.open]=\"item.open\">\n @for (child of item.submenu; track $index) {\n @if (child.enable !== false) {\n <tcloud-ui-navbar-item\n [item]=\"child\"\n [isMenuExpanded]=\"isMenuExpanded\"\n [level]=\"level + 1\"\n (onItemClick)=\"bubbleClick($event)\">\n </tcloud-ui-navbar-item>\n }\n }\n </ul>\n }\n</li>\n", styles: [":host{display:block}.tcloud-ui-navbar-item{list-style:none;margin:0;padding:0}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;font-family:var(--f-family);display:flex;transition:all .2s ease;text-decoration:none}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-icon-container{text-align:center;align-content:center;background-color:var(--c-neutral-100);border-radius:var(--bor-radius-4);font-size:var(--f-size-20);height:var(--size-36);width:var(--size-36);transition:all .2s ease;min-height:var(--size-36);min-width:var(--size-36);max-height:var(--size-36);max-width:var(--size-36)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label{align-items:center;display:flex;gap:var(--size-4);justify-content:space-between;width:100%;min-width:0;color:var(--c-neutral-700);font-size:var(--f-size-14);height:var(--size-36);padding-left:var(--size-8);transition:all .2s ease;min-height:var(--size-36);max-height:var(--size-36)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label .navbar-item-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label .navbar-item-badge{flex:0 0 auto;background-color:var(--c-primary-500);border-radius:var(--bor-radius-4);color:var(--c-neutral-50);font-size:var(--f-size-12);font-weight:var(--f-weight-700);line-height:1;padding:var(--size-4) var(--size-8)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link .navbar-item-label .navbar-item-chevron{flex:0 0 auto;font-size:var(--f-size-12);padding-right:var(--size-8);transition:transform .2s ease}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:hover,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:focus{color:var(--c-primary-500)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:hover .navbar-item-icon-container,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link:focus .navbar-item-icon-container{background-color:var(--c-neutral-200);color:var(--c-primary-500)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.active,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.selected{background-color:var(--c-primary-300)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.active .navbar-item-icon-container,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.selected .navbar-item-icon-container{background-color:transparent;color:var(--c-primary-500)}.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.active .navbar-item-label,.tcloud-ui-navbar-item .tcloud-ui-navbar-item-link.selected .navbar-item-label{color:var(--c-primary-500);font-weight:var(--f-weight-700)}.tcloud-ui-navbar-item .tcloud-ui-navbar-submenu{display:none;flex-direction:column;gap:var(--size-4);list-style:none;margin:var(--size-4) 0 0 0;padding:0 0 0 var(--size-8)}.tcloud-ui-navbar-item .tcloud-ui-navbar-submenu.open{display:flex}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link{border-left:2px solid var(--c-neutral-200);border-radius:0 var(--bor-radius-4) var(--bor-radius-4) 0}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link .navbar-item-icon-container{display:none}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link .navbar-item-label{padding-left:var(--size-12)}.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link.active,.tcloud-ui-navbar-item.tcloud-ui-navbar-subitem .tcloud-ui-navbar-item-link.selected{border-left-color:var(--c-primary-500)}\n"] }]
|
|
9819
9819
|
}], propDecorators: { item: [{
|
|
9820
9820
|
type: Input
|
|
9821
9821
|
}], isMenuExpanded: [{
|
|
@@ -9828,33 +9828,116 @@ class TCloudUiNavbarComponent {
|
|
|
9828
9828
|
constructor() {
|
|
9829
9829
|
/** Itens do menu (data-driven). Submenu é renderizado recursivamente. */
|
|
9830
9830
|
this.menuItems = [];
|
|
9831
|
+
/**
|
|
9832
|
+
* Grupos de itens separados por divisor. Quando informado, tem precedência
|
|
9833
|
+
* sobre `menuItems`. Use para reproduzir as seções do layout (primária,
|
|
9834
|
+
* secundária, etc.).
|
|
9835
|
+
*/
|
|
9836
|
+
this.groups = [];
|
|
9831
9837
|
/** Menu expandido (labels visíveis) x minimizado (só ícones). */
|
|
9832
9838
|
this.isMenuExpanded = true;
|
|
9833
9839
|
/** Exibe o botão interno de minimizar/expandir. */
|
|
9834
9840
|
this.showToggle = true;
|
|
9841
|
+
/** Caminho da imagem do logo exibido no header (tema claro). */
|
|
9842
|
+
this.logoSrc = 'https://tcloud.totvs.com.br/plataforma/assets/img/totvs-logo-black.svg';
|
|
9843
|
+
/**
|
|
9844
|
+
* Caminho da imagem do logo para o tema escuro (`body.tc-dark`). Quando
|
|
9845
|
+
* informado, o header alterna automaticamente entre `logoSrc` (claro) e
|
|
9846
|
+
* `logoSrcDark` (escuro).
|
|
9847
|
+
*/
|
|
9848
|
+
this.logoSrcDark = 'https://tcloud.totvs.com.br/plataforma/assets/img/totvs-logo-white.svg';
|
|
9849
|
+
/** Texto alternativo do logo. */
|
|
9850
|
+
this.logoAlt = 'Logo';
|
|
9835
9851
|
/** Emitido quando o menu é expandido/minimizado. */
|
|
9836
9852
|
this.onExpandChange = output();
|
|
9837
9853
|
/** Emitido ao clicar num item folha (sem submenu). */
|
|
9838
9854
|
this.onItemClick = output();
|
|
9839
9855
|
}
|
|
9856
|
+
/**
|
|
9857
|
+
* Grupos efetivamente renderizados: usa `groups` quando informado; caso
|
|
9858
|
+
* contrário embrulha `menuItems` num único grupo (backward-compat).
|
|
9859
|
+
*/
|
|
9860
|
+
get resolvedGroups() {
|
|
9861
|
+
if (this.groups.length > 0) {
|
|
9862
|
+
return this.groups;
|
|
9863
|
+
}
|
|
9864
|
+
return this.menuItems.length > 0 ? [{ items: this.menuItems }] : [];
|
|
9865
|
+
}
|
|
9840
9866
|
handleExpand() {
|
|
9841
9867
|
this.isMenuExpanded = !this.isMenuExpanded;
|
|
9842
9868
|
this.onExpandChange.emit(this.isMenuExpanded);
|
|
9843
9869
|
}
|
|
9844
9870
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9845
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiNavbarComponent, isStandalone: true, selector: "tcloud-ui-navbar", inputs: { menuItems: "menuItems", isMenuExpanded: "isMenuExpanded", showToggle: "showToggle" }, outputs: { onExpandChange: "onExpandChange", onItemClick: "onItemClick" }, ngImport: i0, template: "<nav class=\"tcloud-ui-navbar\">\n <
|
|
9871
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiNavbarComponent, isStandalone: true, selector: "tcloud-ui-navbar", inputs: { menuItems: "menuItems", groups: "groups", isMenuExpanded: "isMenuExpanded", showToggle: "showToggle", logoSrc: "logoSrc", logoSrcDark: "logoSrcDark", logoAlt: "logoAlt" }, outputs: { onExpandChange: "onExpandChange", onItemClick: "onItemClick" }, ngImport: i0, template: "<nav class=\"tcloud-ui-navbar\" [class.tcloud-ui-navbar-expanded]=\"isMenuExpanded\">\n\n <!-- Header (logo): via [logoSrc]/[logoSrcDark] ou conte\u00FAdo em [navbar-header]. -->\n <div class=\"tcloud-ui-navbar-header\">\n @if (logoSrc) {\n <img class=\"tcloud-ui-navbar-logo\"\n [class.tcloud-ui-navbar-logo--light]=\"!!logoSrcDark\"\n [src]=\"logoSrc\" [alt]=\"logoAlt\" />\n }\n @if (logoSrcDark) {\n <img class=\"tcloud-ui-navbar-logo tcloud-ui-navbar-logo--dark\"\n [src]=\"logoSrcDark\" [alt]=\"logoAlt\" />\n }\n <ng-content select=\"[navbar-header]\"></ng-content>\n </div>\n\n <!-- Conte\u00FAdo rol\u00E1vel: grupos separados por divisor + toggle de minimizar. -->\n <div class=\"tcloud-ui-navbar-content\">\n\n\n @if (showToggle) {\n <ul class=\"tcloud-ui-navbar-list tcloud-ui-navbar-toggle-list\">\n <li class=\"tcloud-ui-navbar-item tcloud-ui-navbar-toggle\">\n <a class=\"tcloud-ui-navbar-item-link\"\n (click)=\"handleExpand()\"\n [title]=\"isMenuExpanded ? 'Minimizar' : 'Expandir'\">\n <div class=\"navbar-item-icon-container\">\n <i class=\"fa-light\"\n [class.fa-arrow-left-to-line]=\"isMenuExpanded\"\n [class.fa-arrow-right-to-line]=\"!isMenuExpanded\"></i>\n </div>\n @if (isMenuExpanded) {\n <div class=\"navbar-item-label\">Minimizar</div>\n }\n </a>\n </li>\n </ul>\n }\n\n\n @for (group of resolvedGroups; track $index; let last = $last) {\n <ul class=\"tcloud-ui-navbar-list\">\n @if (group.label && isMenuExpanded) {\n <li class=\"tcloud-ui-navbar-group-label\">{{ group.label }}</li>\n }\n @for (item of group.items; track $index) {\n @if (item.enable !== false) {\n <tcloud-ui-navbar-item\n [item]=\"item\"\n [isMenuExpanded]=\"isMenuExpanded\"\n (onItemClick)=\"onItemClick.emit($event)\">\n </tcloud-ui-navbar-item>\n }\n }\n </ul>\n\n @if (!last || showToggle) {\n <hr class=\"tcloud-ui-navbar-divider\" />\n }\n }\n\n \n </div>\n\n <!-- Footer (perfil/logout) \u2014 projetado pelo consumidor via [navbar-footer]. -->\n <div class=\"tcloud-ui-navbar-footer\">\n <ng-content select=\"[navbar-footer]\"></ng-content>\n </div>\n</nav>\n", styles: [":host{display:block;height:100%}.tcloud-ui-navbar{box-sizing:border-box;color:var(--c-neutral-700);display:flex;flex-direction:column;height:100%;margin:var(--size-0);padding:var(--size-0);transition:width .2s ease;width:var(--size-48)}.tcloud-ui-navbar.tcloud-ui-navbar-expanded{width:15.625rem}.tcloud-ui-navbar .tcloud-ui-navbar-header{flex:0 0 auto;align-items:center;display:flex;min-height:var(--size-56, 56px);overflow:hidden;padding:var(--size-8)}.tcloud-ui-navbar .tcloud-ui-navbar-header:empty{display:none}.tcloud-ui-navbar .tcloud-ui-navbar-header .tcloud-ui-navbar-logo{display:block;flex:0 0 auto;width:8.5rem;height:auto;transition:width .2s ease}.tcloud-ui-navbar .tcloud-ui-navbar-header .tcloud-ui-navbar-logo--dark{display:none}:host-context(.tc-dark) .tcloud-ui-navbar .tcloud-ui-navbar-logo--light{display:none}:host-context(.tc-dark) .tcloud-ui-navbar .tcloud-ui-navbar-logo--dark{display:block}.tcloud-ui-navbar .tcloud-ui-navbar-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--size-8);overflow:hidden auto;padding:var(--size-8)}.tcloud-ui-navbar .tcloud-ui-navbar-content::-webkit-scrollbar{display:none}.tcloud-ui-navbar .tcloud-ui-navbar-list{display:flex;flex-direction:column;gap:var(--size-8);list-style:none;margin:var(--size-0);padding:var(--size-0)}.tcloud-ui-navbar .tcloud-ui-navbar-group-label{color:var(--c-neutral-500);font-family:var(--f-family);font-size:var(--f-size-12);font-weight:var(--f-weight-700);padding:0 var(--size-8);text-transform:uppercase}.tcloud-ui-navbar .tcloud-ui-navbar-divider{border:0;border-top:1px solid var(--c-neutral-200);margin:var(--size-0);width:100%}.tcloud-ui-navbar .tcloud-ui-navbar-toggle{list-style:none;margin:0;padding:0}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;display:flex;font-family:var(--f-family);text-decoration:none;transition:all .2s ease}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link .navbar-item-icon-container{align-content:center;background-color:var(--c-neutral-100);border-radius:var(--bor-radius-4);font-size:var(--f-size-20);height:var(--size-36);width:var(--size-36);text-align:center;transition:all .2s ease;min-height:var(--size-36);min-width:var(--size-36);max-height:var(--size-36);max-width:var(--size-36)}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link .navbar-item-label{align-items:center;display:flex;color:var(--c-neutral-700);font-size:var(--f-size-14);height:var(--size-36);padding-left:var(--size-8);min-height:var(--size-36);max-height:var(--size-36)}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:hover,.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:focus{color:var(--c-primary-500)}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:hover .navbar-item-icon-container,.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:focus .navbar-item-icon-container{background-color:var(--c-neutral-200);color:var(--c-primary-500)}.tcloud-ui-navbar .tcloud-ui-navbar-footer{flex:0 0 auto;border-top:1px solid var(--c-neutral-200);padding:var(--size-8)}.tcloud-ui-navbar .tcloud-ui-navbar-footer:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TCloudUiNavbarItemComponent, selector: "tcloud-ui-navbar-item", inputs: ["item", "isMenuExpanded", "level"], outputs: ["onItemClick"] }] }); }
|
|
9846
9872
|
}
|
|
9847
9873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiNavbarComponent, decorators: [{
|
|
9848
9874
|
type: Component,
|
|
9849
|
-
args: [{ selector: 'tcloud-ui-navbar', standalone: true, imports: [CommonModule, TCloudUiNavbarItemComponent], template: "<nav class=\"tcloud-ui-navbar\">\n <
|
|
9875
|
+
args: [{ selector: 'tcloud-ui-navbar', standalone: true, imports: [CommonModule, TCloudUiNavbarItemComponent], template: "<nav class=\"tcloud-ui-navbar\" [class.tcloud-ui-navbar-expanded]=\"isMenuExpanded\">\n\n <!-- Header (logo): via [logoSrc]/[logoSrcDark] ou conte\u00FAdo em [navbar-header]. -->\n <div class=\"tcloud-ui-navbar-header\">\n @if (logoSrc) {\n <img class=\"tcloud-ui-navbar-logo\"\n [class.tcloud-ui-navbar-logo--light]=\"!!logoSrcDark\"\n [src]=\"logoSrc\" [alt]=\"logoAlt\" />\n }\n @if (logoSrcDark) {\n <img class=\"tcloud-ui-navbar-logo tcloud-ui-navbar-logo--dark\"\n [src]=\"logoSrcDark\" [alt]=\"logoAlt\" />\n }\n <ng-content select=\"[navbar-header]\"></ng-content>\n </div>\n\n <!-- Conte\u00FAdo rol\u00E1vel: grupos separados por divisor + toggle de minimizar. -->\n <div class=\"tcloud-ui-navbar-content\">\n\n\n @if (showToggle) {\n <ul class=\"tcloud-ui-navbar-list tcloud-ui-navbar-toggle-list\">\n <li class=\"tcloud-ui-navbar-item tcloud-ui-navbar-toggle\">\n <a class=\"tcloud-ui-navbar-item-link\"\n (click)=\"handleExpand()\"\n [title]=\"isMenuExpanded ? 'Minimizar' : 'Expandir'\">\n <div class=\"navbar-item-icon-container\">\n <i class=\"fa-light\"\n [class.fa-arrow-left-to-line]=\"isMenuExpanded\"\n [class.fa-arrow-right-to-line]=\"!isMenuExpanded\"></i>\n </div>\n @if (isMenuExpanded) {\n <div class=\"navbar-item-label\">Minimizar</div>\n }\n </a>\n </li>\n </ul>\n }\n\n\n @for (group of resolvedGroups; track $index; let last = $last) {\n <ul class=\"tcloud-ui-navbar-list\">\n @if (group.label && isMenuExpanded) {\n <li class=\"tcloud-ui-navbar-group-label\">{{ group.label }}</li>\n }\n @for (item of group.items; track $index) {\n @if (item.enable !== false) {\n <tcloud-ui-navbar-item\n [item]=\"item\"\n [isMenuExpanded]=\"isMenuExpanded\"\n (onItemClick)=\"onItemClick.emit($event)\">\n </tcloud-ui-navbar-item>\n }\n }\n </ul>\n\n @if (!last || showToggle) {\n <hr class=\"tcloud-ui-navbar-divider\" />\n }\n }\n\n \n </div>\n\n <!-- Footer (perfil/logout) \u2014 projetado pelo consumidor via [navbar-footer]. -->\n <div class=\"tcloud-ui-navbar-footer\">\n <ng-content select=\"[navbar-footer]\"></ng-content>\n </div>\n</nav>\n", styles: [":host{display:block;height:100%}.tcloud-ui-navbar{box-sizing:border-box;color:var(--c-neutral-700);display:flex;flex-direction:column;height:100%;margin:var(--size-0);padding:var(--size-0);transition:width .2s ease;width:var(--size-48)}.tcloud-ui-navbar.tcloud-ui-navbar-expanded{width:15.625rem}.tcloud-ui-navbar .tcloud-ui-navbar-header{flex:0 0 auto;align-items:center;display:flex;min-height:var(--size-56, 56px);overflow:hidden;padding:var(--size-8)}.tcloud-ui-navbar .tcloud-ui-navbar-header:empty{display:none}.tcloud-ui-navbar .tcloud-ui-navbar-header .tcloud-ui-navbar-logo{display:block;flex:0 0 auto;width:8.5rem;height:auto;transition:width .2s ease}.tcloud-ui-navbar .tcloud-ui-navbar-header .tcloud-ui-navbar-logo--dark{display:none}:host-context(.tc-dark) .tcloud-ui-navbar .tcloud-ui-navbar-logo--light{display:none}:host-context(.tc-dark) .tcloud-ui-navbar .tcloud-ui-navbar-logo--dark{display:block}.tcloud-ui-navbar .tcloud-ui-navbar-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--size-8);overflow:hidden auto;padding:var(--size-8)}.tcloud-ui-navbar .tcloud-ui-navbar-content::-webkit-scrollbar{display:none}.tcloud-ui-navbar .tcloud-ui-navbar-list{display:flex;flex-direction:column;gap:var(--size-8);list-style:none;margin:var(--size-0);padding:var(--size-0)}.tcloud-ui-navbar .tcloud-ui-navbar-group-label{color:var(--c-neutral-500);font-family:var(--f-family);font-size:var(--f-size-12);font-weight:var(--f-weight-700);padding:0 var(--size-8);text-transform:uppercase}.tcloud-ui-navbar .tcloud-ui-navbar-divider{border:0;border-top:1px solid var(--c-neutral-200);margin:var(--size-0);width:100%}.tcloud-ui-navbar .tcloud-ui-navbar-toggle{list-style:none;margin:0;padding:0}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link{align-items:center;border-radius:var(--bor-radius-4);color:var(--c-neutral-700);cursor:pointer;display:flex;font-family:var(--f-family);text-decoration:none;transition:all .2s ease}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link .navbar-item-icon-container{align-content:center;background-color:var(--c-neutral-100);border-radius:var(--bor-radius-4);font-size:var(--f-size-20);height:var(--size-36);width:var(--size-36);text-align:center;transition:all .2s ease;min-height:var(--size-36);min-width:var(--size-36);max-height:var(--size-36);max-width:var(--size-36)}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link .navbar-item-label{align-items:center;display:flex;color:var(--c-neutral-700);font-size:var(--f-size-14);height:var(--size-36);padding-left:var(--size-8);min-height:var(--size-36);max-height:var(--size-36)}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:hover,.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:focus{color:var(--c-primary-500)}.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:hover .navbar-item-icon-container,.tcloud-ui-navbar .tcloud-ui-navbar-toggle .tcloud-ui-navbar-item-link:focus .navbar-item-icon-container{background-color:var(--c-neutral-200);color:var(--c-primary-500)}.tcloud-ui-navbar .tcloud-ui-navbar-footer{flex:0 0 auto;border-top:1px solid var(--c-neutral-200);padding:var(--size-8)}.tcloud-ui-navbar .tcloud-ui-navbar-footer:empty{display:none}\n"] }]
|
|
9850
9876
|
}], propDecorators: { menuItems: [{
|
|
9851
9877
|
type: Input
|
|
9878
|
+
}], groups: [{
|
|
9879
|
+
type: Input
|
|
9852
9880
|
}], isMenuExpanded: [{
|
|
9853
9881
|
type: Input
|
|
9854
9882
|
}], showToggle: [{
|
|
9855
9883
|
type: Input
|
|
9884
|
+
}], logoSrc: [{
|
|
9885
|
+
type: Input
|
|
9886
|
+
}], logoSrcDark: [{
|
|
9887
|
+
type: Input
|
|
9888
|
+
}], logoAlt: [{
|
|
9889
|
+
type: Input
|
|
9856
9890
|
}], onExpandChange: [{ type: i0.Output, args: ["onExpandChange"] }], onItemClick: [{ type: i0.Output, args: ["onItemClick"] }] } });
|
|
9857
9891
|
|
|
9892
|
+
/**
|
|
9893
|
+
* Rodapé de perfil do `tcloud-ui-navbar`: avatar, nome, papel e botão de sair.
|
|
9894
|
+
*
|
|
9895
|
+
* Projetado no slot `[navbar-footer]` do navbar. Respeita o modo minimizado
|
|
9896
|
+
* (`isMenuExpanded = false`), quando só o avatar é exibido.
|
|
9897
|
+
*/
|
|
9898
|
+
class TCloudUiNavbarFooterComponent {
|
|
9899
|
+
constructor() {
|
|
9900
|
+
/** Texto alternativo do avatar. */
|
|
9901
|
+
this.avatarAlt = '';
|
|
9902
|
+
/** Ícone exibido no avatar quando não há `avatarSrc`. */
|
|
9903
|
+
this.avatarIcon = 'fas fa-user';
|
|
9904
|
+
/** Nome do usuário. */
|
|
9905
|
+
this.name = '';
|
|
9906
|
+
/** Papel/subtítulo do usuário (ex.: 'Operadora'). */
|
|
9907
|
+
this.role = '';
|
|
9908
|
+
/** Menu expandido: mostra nome/papel e o botão de sair. */
|
|
9909
|
+
this.isMenuExpanded = true;
|
|
9910
|
+
/** Exibe o botão de sair. */
|
|
9911
|
+
this.showLogout = true;
|
|
9912
|
+
/** Título/tooltip do botão de sair. */
|
|
9913
|
+
this.logoutTitle = 'Sair';
|
|
9914
|
+
/** Emitido ao clicar no botão de sair. */
|
|
9915
|
+
this.onLogout = output();
|
|
9916
|
+
}
|
|
9917
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiNavbarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9918
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TCloudUiNavbarFooterComponent, isStandalone: true, selector: "tcloud-ui-navbar-footer", inputs: { avatarSrc: "avatarSrc", avatarAlt: "avatarAlt", avatarIcon: "avatarIcon", name: "name", role: "role", isMenuExpanded: "isMenuExpanded", showLogout: "showLogout", logoutTitle: "logoutTitle" }, outputs: { onLogout: "onLogout" }, ngImport: i0, template: "<div class=\"tcloud-ui-navbar-footer-avatar\">\n @if (avatarSrc) {\n <img [src]=\"avatarSrc\" [alt]=\"avatarAlt\" />\n } @else {\n <i [class]=\"avatarIcon\"></i>\n }\n</div>\n\n@if (isMenuExpanded) {\n <div class=\"tcloud-ui-navbar-footer-info\">\n <strong>{{ name }}</strong>\n <span>{{ role }}</span>\n </div>\n\n @if (showLogout) {\n <button type=\"button\"\n class=\"tcloud-ui-navbar-footer-logout\"\n [title]=\"logoutTitle\"\n (click)=\"onLogout.emit()\">\n <i class=\"fas fa-arrow-right-from-bracket\"></i>\n </button>\n }\n}\n", styles: [":host{align-items:center;display:flex;font-family:var(--f-family);gap:var(--size-8);width:100%}.tcloud-ui-navbar-footer-avatar{align-items:center;background-color:var(--c-neutral-100);border-radius:50%;color:var(--c-neutral-700);display:flex;flex:0 0 auto;font-size:var(--f-size-20);height:var(--size-36);justify-content:center;overflow:hidden;width:var(--size-36)}.tcloud-ui-navbar-footer-avatar img{height:100%;object-fit:cover;width:100%}.tcloud-ui-navbar-footer-info{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.tcloud-ui-navbar-footer-info strong{color:var(--c-neutral-700);font-size:var(--f-size-14);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-navbar-footer-info span{color:var(--c-neutral-500);font-size:var(--f-size-12);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-navbar-footer-logout{background:transparent;border:0;color:var(--c-danger-500);cursor:pointer;flex:0 0 auto;font-size:var(--f-size-20);padding:var(--size-4);transition:color .2s ease}.tcloud-ui-navbar-footer-logout:hover,.tcloud-ui-navbar-footer-logout:focus{color:var(--c-danger-400)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
9919
|
+
}
|
|
9920
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TCloudUiNavbarFooterComponent, decorators: [{
|
|
9921
|
+
type: Component,
|
|
9922
|
+
args: [{ selector: 'tcloud-ui-navbar-footer', standalone: true, imports: [CommonModule], template: "<div class=\"tcloud-ui-navbar-footer-avatar\">\n @if (avatarSrc) {\n <img [src]=\"avatarSrc\" [alt]=\"avatarAlt\" />\n } @else {\n <i [class]=\"avatarIcon\"></i>\n }\n</div>\n\n@if (isMenuExpanded) {\n <div class=\"tcloud-ui-navbar-footer-info\">\n <strong>{{ name }}</strong>\n <span>{{ role }}</span>\n </div>\n\n @if (showLogout) {\n <button type=\"button\"\n class=\"tcloud-ui-navbar-footer-logout\"\n [title]=\"logoutTitle\"\n (click)=\"onLogout.emit()\">\n <i class=\"fas fa-arrow-right-from-bracket\"></i>\n </button>\n }\n}\n", styles: [":host{align-items:center;display:flex;font-family:var(--f-family);gap:var(--size-8);width:100%}.tcloud-ui-navbar-footer-avatar{align-items:center;background-color:var(--c-neutral-100);border-radius:50%;color:var(--c-neutral-700);display:flex;flex:0 0 auto;font-size:var(--f-size-20);height:var(--size-36);justify-content:center;overflow:hidden;width:var(--size-36)}.tcloud-ui-navbar-footer-avatar img{height:100%;object-fit:cover;width:100%}.tcloud-ui-navbar-footer-info{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.tcloud-ui-navbar-footer-info strong{color:var(--c-neutral-700);font-size:var(--f-size-14);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-navbar-footer-info span{color:var(--c-neutral-500);font-size:var(--f-size-12);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcloud-ui-navbar-footer-logout{background:transparent;border:0;color:var(--c-danger-500);cursor:pointer;flex:0 0 auto;font-size:var(--f-size-20);padding:var(--size-4);transition:color .2s ease}.tcloud-ui-navbar-footer-logout:hover,.tcloud-ui-navbar-footer-logout:focus{color:var(--c-danger-400)}\n"] }]
|
|
9923
|
+
}], propDecorators: { avatarSrc: [{
|
|
9924
|
+
type: Input
|
|
9925
|
+
}], avatarAlt: [{
|
|
9926
|
+
type: Input
|
|
9927
|
+
}], avatarIcon: [{
|
|
9928
|
+
type: Input
|
|
9929
|
+
}], name: [{
|
|
9930
|
+
type: Input
|
|
9931
|
+
}], role: [{
|
|
9932
|
+
type: Input
|
|
9933
|
+
}], isMenuExpanded: [{
|
|
9934
|
+
type: Input
|
|
9935
|
+
}], showLogout: [{
|
|
9936
|
+
type: Input
|
|
9937
|
+
}], logoutTitle: [{
|
|
9938
|
+
type: Input
|
|
9939
|
+
}], onLogout: [{ type: i0.Output, args: ["onLogout"] }] } });
|
|
9940
|
+
|
|
9858
9941
|
class TCloudUiTabGroupComponent {
|
|
9859
9942
|
constructor() {
|
|
9860
9943
|
this.isCarouselOverflowed = false;
|
|
@@ -10492,6 +10575,7 @@ const COMPONENTS = [
|
|
|
10492
10575
|
TCloudUiSubNavbarItemComponent,
|
|
10493
10576
|
TCloudUiNavbarComponent,
|
|
10494
10577
|
TCloudUiNavbarItemComponent,
|
|
10578
|
+
TCloudUiNavbarFooterComponent,
|
|
10495
10579
|
TCloudUiTabGroupComponent,
|
|
10496
10580
|
TCloudUiTabItemComponent,
|
|
10497
10581
|
TCloudUiWizardStepsComponent,
|
|
@@ -10631,6 +10715,7 @@ class TCloudUiModule {
|
|
|
10631
10715
|
TCloudUiSubNavbarItemComponent,
|
|
10632
10716
|
TCloudUiNavbarComponent,
|
|
10633
10717
|
TCloudUiNavbarItemComponent,
|
|
10718
|
+
TCloudUiNavbarFooterComponent,
|
|
10634
10719
|
TCloudUiTabGroupComponent,
|
|
10635
10720
|
TCloudUiTabItemComponent,
|
|
10636
10721
|
TCloudUiWizardStepsComponent,
|
|
@@ -10732,6 +10817,7 @@ class TCloudUiModule {
|
|
|
10732
10817
|
TCloudUiSubNavbarItemComponent,
|
|
10733
10818
|
TCloudUiNavbarComponent,
|
|
10734
10819
|
TCloudUiNavbarItemComponent,
|
|
10820
|
+
TCloudUiNavbarFooterComponent,
|
|
10735
10821
|
TCloudUiTabGroupComponent,
|
|
10736
10822
|
TCloudUiTabItemComponent,
|
|
10737
10823
|
TCloudUiWizardStepsComponent,
|
|
@@ -10807,6 +10893,7 @@ class TCloudUiModule {
|
|
|
10807
10893
|
TCloudUiSubNavbarItemComponent,
|
|
10808
10894
|
TCloudUiNavbarComponent,
|
|
10809
10895
|
TCloudUiNavbarItemComponent,
|
|
10896
|
+
TCloudUiNavbarFooterComponent,
|
|
10810
10897
|
TCloudUiTabItemComponent,
|
|
10811
10898
|
TCloudUiBreadcrumbComponent,
|
|
10812
10899
|
TCloudUiSearchInputComponent,
|
|
@@ -12822,5 +12909,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
12822
12909
|
* Generated bundle index. Do not edit.
|
|
12823
12910
|
*/
|
|
12824
12911
|
|
|
12825
|
-
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, 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, 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, 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 };
|
|
12912
|
+
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, 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, 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 };
|
|
12826
12913
|
//# sourceMappingURL=dev-tcloud-tcloud-ui.mjs.map
|