keevo-components 1.8.495 → 1.8.496

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/package.json +1 -1
  2. package/src/lib/components/keevo-components-styles.scss +0 -44
  3. package/src/lib/components/keevo-components.module.ts +2 -5
  4. package/src/lib/components/kv-carousel/kv-carousel.component.html +1 -0
  5. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +1 -10
  6. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +0 -18
  7. package/src/lib/components/kv-layout/kv-layout.module.ts +9 -18
  8. package/src/lib/components/kv-layout/layout/kv-layout.component.html +387 -349
  9. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +230 -356
  10. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +32 -104
  11. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +2 -0
  12. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +11 -0
  13. package/src/public-api.ts +1 -8
  14. package/src/lib/components/kv-icon/kv-icon.component.html +0 -15
  15. package/src/lib/components/kv-icon/kv-icon.component.scss +0 -48
  16. package/src/lib/components/kv-icon/kv-icon.component.spec.ts +0 -23
  17. package/src/lib/components/kv-icon/kv-icon.component.ts +0 -20
  18. package/src/lib/components/kv-icon/kv-icon.module.ts +0 -18
  19. package/src/lib/components/kv-layout/top-icons/top-icons.component.html +0 -14
  20. package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +0 -7
  21. package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +0 -23
  22. package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +0 -25
@@ -1,246 +1,244 @@
1
- <div class="flex flex-row full-container">
2
- @if(showMenu) {
3
- <p-sidebar
4
- #sidebarRef
5
- [visible]="true"
6
- [showCloseIcon]="false"
7
- [modal]="false"
8
- [style]="{ width: expandMenu() ? '17rem' : '3.65rem' }"
9
- styleClass="transition-all"
10
- >
11
- <ng-template pTemplate="headless">
12
- <div class="h-full flex flex-column overflow-hidden p-2">
13
-
14
- <!-- LOGO -->
15
- <div class="flex-none flex flex-column gap-1 justify-content-between flex-shrink-0 overflow-hidden">
16
- <div
17
- class="flex {{
18
- expandMenu() ? 'flex-row' : 'flex-column'
19
- }} align-items-center {{
20
- expandMenu()
21
- ? 'justify-content-between'
22
- : 'justify-content-center'
23
- }} py-1"
24
- >
25
- <!-- Logo para o menu expandido -->
26
- @if(expandMenu() && logoMenuExpand){
27
- <img
28
- alt="Card"
29
- [src]="logoMenuExpand"
30
- [style.height]="'2.8rem'"
31
- width="auto"
32
- class="cursor-pointer p-0"
33
- (click)="navigateToDefaultRoute()"
34
- />
35
- }
36
-
37
- <!-- Logo para o menu minimizado-->
38
- @if(!expandMenu() && logoMenuHide){
39
- <img
40
- alt="Card"
41
- [src]="logoMenuHide"
42
- [style.height]="'2.8rem'"
43
- width="auto"
44
- class=""
45
- (click)="navigateToDefaultRoute()"
46
- />
47
- }
1
+ <div class="flex flex-row overflow-y-hidden w- full-container">
2
+ <div
3
+ [ngClass]="{ 'overlay-background': expandMenu() && widthPage() < 800 }"
4
+ ></div>
5
+ @if (showMenu) {
6
+ <div
7
+ [style]="{
8
+ minWidth: expandMenu() && widthPage() > 800 ? '17rem' : '3.65rem'
9
+ }"
10
+ ></div>
11
+ } @if(showMenu) {
12
+ <p-sidebar
13
+ #sidebarRef
14
+ [visible]="true"
15
+ [showCloseIcon]="false"
16
+ [modal]="false"
17
+ [style]="{ width: expandMenu() ? '17rem' : '3.65rem' }"
18
+ class="sidebar-animation"
19
+ styleClass="transition-all"
20
+ >
21
+ <ng-template pTemplate="headless">
22
+ <div class="flex flex-column overflow-hidden">
23
+ <div
24
+ class="flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2 overflow-hidden"
25
+ >
26
+ <div
27
+ class="flex {{
28
+ expandMenu() ? 'flex-row' : 'flex-column'
29
+ }} align-items-center {{
30
+ expandMenu()
31
+ ? 'justify-content-between'
32
+ : 'justify-content-center'
33
+ }} py-3"
34
+ >
35
+ <!-- Logo para o menu expandido -->
36
+ <img
37
+ *ngIf="expandMenu() && logoMenuExpand"
38
+ alt="Card"
39
+ [src]="logoMenuExpand"
40
+ [style.height]="'3rem'"
41
+ width="auto"
42
+ class="cursor-pointer p-1"
43
+ (click)="navigateToDefaultRoute()"
44
+ />
48
45
 
49
- <!-- Toggle menu -->
50
- @if(showExpandMenu){
51
- <kv-icon
52
- icon="menu-2"
53
- [clickable]="true"
54
- [pTooltip]="expandMenu() ? 'Ocultar Menu' : 'Expandir Menu'"
55
- [tooltipPosition]="'right'"
56
- (onClick)="toggleMenu()"
57
- />
58
- }
59
- </div>
46
+ <!-- Logo para o menu minimizado-->
47
+ <img
48
+ *ngIf="!expandMenu() && logoMenuHide"
49
+ alt="Card"
50
+ [src]="logoMenuHide"
51
+ [style.height]="'3rem'"
52
+ width="auto"
53
+ class="mb-2 p-1"
54
+ (click)="navigateToDefaultRoute()"
55
+ />
60
56
 
61
- @if(showTrocaEmpresa){
62
- <div
63
- class="flex flex-row align-items-center justify-content-{{expandMenu()? 'between px-2': 'center'}}"
64
- (click)="changeEmpresa($event)"
65
- >
66
- @if(expandMenu() && selectedEmpresa){
67
- <div
68
- class="flex flex-column "
69
- (click)="changeEmpresa($event)"
70
- >
71
- @if(this.selectedEmpresa.razaosocial){
72
- <span
73
- class="text-sm font-semibold mr-2"
74
- [pTooltip]="this.selectedEmpresa.razaosocial"
75
- [tooltipPosition]="'right'"
76
- >
77
- {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}
78
- </span>
79
- }
80
- @if(this.selectedEmpresa.cpfcnpj){
81
- <span class="text-sm mt-1">{{
82
- this.selectedEmpresa.cpfcnpj | cpfCnpj
83
- }}</span>
84
- }
85
- </div>
86
-
87
- }
88
- <kv-icon
89
- icon="transfer"
90
- [clickable]="true"
91
- [pTooltip]="'Trocar de empresa'"
92
- [tooltipPosition]="'right'"
93
- (onClick)="changeEmpresa($event)"
94
- class=" side-menu-item py-1"
95
- />
96
- </div>
97
- }
57
+ <!-- Toggle menu -->
58
+ <span
59
+ *ngIf="showExpandMenu"
60
+ class="material-symbols-outlined top-layout-icons p-1"
61
+ [pTooltip]="expandMenu() ? 'Ocultar Menu' : 'Expandir Menu'"
62
+ [tooltipPosition]="'right'"
63
+ (click)="toggleMenu()"
64
+ >
65
+ menu
66
+ </span>
98
67
  </div>
99
68
 
100
- <p-divider type="solid"></p-divider>
101
-
102
- <!-- MENUS -->
103
- <div class="flex-1 list-none m-0 overflow-y-auto max-h-full">
104
- <!-- menus -->
105
- @for (menu of menus(); track $index) {
106
- <li>
107
- <!-- menu que não tem filho -->
108
- @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){
109
- <div
110
- class="flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item py-2"
111
- [pTooltip]="!expandMenu() ? menu.descricaomenu : ''"
112
- (click)="callRoute(menu.link)"
113
- >
114
- <kv-icon
115
- [icon]="menu.icone|| 'circle-dotted'"
116
- />
117
- @if(expandMenu()){
118
- <label>{{menu.descricaomenu}}</label>
119
- }
120
- </div>
121
- }
122
- <!-- menu com filho -->
123
- @if(menu.indmenupai){
124
- <div>
125
- <div
126
- class="flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item py-2"
127
- [pTooltip]="!expandMenu() ? menu.descricaomenu : ''"
128
- >
129
- <kv-icon
130
- [icon]="menu.icone|| 'circle-dotted'"
131
- (click)="expandMenu()?'':filho.toggle($event)"
132
- />
133
- @if(expandMenu()){
134
- <label>{{menu.descricaomenu}}</label>
135
- <kv-icon
136
- #chevronIcon
137
- icon="chevron-right"
138
- (click)="filho.toggle($event)"
139
- [clickable]="true"
140
- />
141
- }
142
- </div>
143
- <div #appendMenuDiv class="appendMenuDiv"></div>
144
-
145
- <p-menu #filho [popup]="true" [model]="returnMenuChilds()(menu.idmenu)" [appendTo]="appendMenuDiv">
146
- <ng-template pTemplate="submenuheader" let-item let-i="index">
147
- <label class="font-medium pl-3 text-xs">
148
- {{item.label}}
149
- </label>
150
- <div [style.height.rem]="0.5"></div>
151
- </ng-template>
152
- <ng-template pTemplate="item" let-item>
153
- <div
154
- class=" side-menu-item py-2 pl-3 pr-1 text-sm"
155
- (click)="callRoute(item.url)"
156
- >
157
- {{item.label}}
158
- </div>
159
- </ng-template>
160
- </p-menu>
69
+ @if(showTrocaEmpresa){
70
+ <div
71
+ class="flex flex-row align-items-center {{
72
+ expandMenu()
73
+ ? 'justify-content-between'
74
+ : 'justify-content-center'
75
+ }}"
76
+ >
77
+ <div
78
+ class="flex flex-column cursor-pointer"
79
+ *ngIf="expandMenu() && selectedEmpresa"
80
+ (click)="changeEmpresa($event)"
81
+ >
82
+ <span
83
+ class="text-sm font-semibold mr-2"
84
+ [pTooltip]="this.selectedEmpresa.razaosocial"
85
+ [tooltipPosition]="'right'"
86
+ >
87
+ {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}
88
+ </span>
89
+ <span class="text-sm mt-1">{{
90
+ this.selectedEmpresa.cpfcnpj | cpfCnpj
91
+ }}</span>
92
+ </div>
161
93
 
162
- </div>
163
- }
164
- </li>
165
- }
94
+ <button
95
+ pButton
96
+ class="p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu"
97
+ (click)="changeEmpresa($event)"
98
+ [pTooltip]="'Trocar de empresa'"
99
+ [tooltipPosition]="'right'"
100
+ >
101
+ <i class="material-symbols-outlined"> sync_alt </i>
102
+ </button>
166
103
  </div>
167
-
168
104
  <p-divider type="solid"></p-divider>
169
-
170
- <!-- APPS E SAIR -->
171
- <div class="flex-none list-none m-0 overflow-y-auto max-h-full">
172
- <li>
173
- <div
174
- class="flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item py-2"
175
- [pTooltip]="!expandMenu() ? 'Sistemas' : ''"
176
- (click)="!expandMenu() && menusistemas.toggle($event)"
105
+ }
106
+ </div>
107
+
108
+ <div class="list-none m-0 card-container overflow-y-auto max-h-full">
109
+ <!-- menus -->
110
+ <li
111
+ *ngFor="let menu of menus; let i = index"
112
+ [class]="expandMenu() ? 'px-2' : 'px-1'"
113
+ >
114
+ <!-- menu que não tem filho -->
115
+ <a
116
+ (click)="callRoute(menu.link)"
117
+ *ngIf="
118
+ !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)
119
+ "
120
+ pRipple
121
+ [pTooltip]="!expandMenu() ? menu.descricaomenu : ''"
122
+ [tooltipPosition]="'right'"
123
+ class="menu-option"
124
+ [style.background-color]="menu.bgColor"
125
+ [class.justify-content-center]="!expandMenu()"
126
+ >
127
+ <i
128
+ class="content-option-menu material-symbols-outlined icon-menu {{
129
+ expandMenu() ? 'ml-1 mr-2' : ''
130
+ }} icon-hover-color {{ menu.textColor }}"
131
+ *ngIf="menu.icone"
177
132
  >
178
- <kv-icon
179
- [icon]="'apps'"
180
- />
181
- @if(expandMenu()){
182
- <label>Sistemas</label>
183
- <kv-icon
184
- #chevronIcon
185
- icon="chevron-right"
186
- (click)="expandMenu() && menusistemas.toggle($event)"
187
- [clickable]="true"
188
- />
189
- }
190
- </div>
191
- <div #sistemasmenughost class="appendMenuDiv"></div>
192
- <p-menu #menusistemas [popup]="true" [model]="apps" [appendTo]="sistemasmenughost">
193
- <ng-template pTemplate="submenuheader">
194
- <label class="font-medium pl-3 text-xs">
195
- Sistemas
196
- </label>
197
- <div [style.height.rem]="0.5"></div>
198
- </ng-template>
199
- <ng-template pTemplate="item" let-item>
200
- <div class="flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1"
201
- (click)="callRoute(item.rotapadrao)"
133
+ {{ menu.icone }}
134
+ </i>
135
+ <span
136
+ class="content-option-menu text-base text-blue-900 font-semibold {{
137
+ menu.textColor
138
+ }}"
139
+ *ngIf="expandMenu()"
140
+ >{{ menu.descricaomenu }}</span
141
+ >
142
+ </a>
143
+ <!-- menu com filho -->
144
+ <div *ngIf="menu.indmenupai">
145
+ <a
146
+ pRipple
147
+ pStyleClass="@next"
148
+ enterClass="hidden"
149
+ enterActiveClass="slidedown"
150
+ leaveToClass="hidden"
151
+ leaveActiveClass="slideup"
152
+ [style.background-color]="
153
+ isSelectedMenuPai(menu) ? 'rgb(41, 185, 45)' : 'white'
154
+ "
155
+ class="menu-option {{
156
+ !expandMenu()
157
+ ? 'justify-content-center'
158
+ : 'justify-content-between'
159
+ }} "
160
+ [tooltipPosition]="'right'"
161
+ [pTooltip]="!expandMenu() ? menu.descricaomenu : ''"
162
+ (click)="
163
+ expandMenu.set(!expandMenu() ? !expandMenu() : expandMenu())
164
+ "
165
+ >
166
+ <div class="flex flex-row align-items-center">
167
+ <i
168
+ class="content-option-menu material-symbols-outlined icon-menu {{
169
+ expandMenu() ? 'ml-1 mr-2' : ''
170
+ }} icon-hover-color"
171
+ *ngIf="menu.icone"
172
+ [class.text-white]="isSelectedMenuPai(menu)"
202
173
  >
203
- <img
204
- [src]="item.urlicone"
205
- class="h-2 w-2 border-round-lg"
206
- />
207
- <div class="text-sm">
208
- {{item.nomeaplicativo}}
209
- </div>
210
- </div>
211
- </ng-template>
212
- </p-menu>
213
- </li>
214
- <li>
174
+ {{ menu.icone }}
175
+ </i>
176
+ <span
177
+ class="text-base text-blue-900 font-semibold content-option-menu"
178
+ *ngIf="expandMenu()"
179
+ >{{ menu.descricaomenu }}</span
180
+ >
181
+ </div>
182
+ <span
183
+ class="pi pi-chevron-down text-blue-900 mr-1 icon-hover-color content-option-menu"
184
+ *ngIf="expandMenu()"
185
+ ></span>
186
+ </a>
187
+
188
+ <!-- filhos -->
215
189
  <div
216
- class="flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item py-2"
217
- [pTooltip]="!expandMenu() ? 'Sair' : ''"
218
- [style.color]="'red'"
219
- [style.opacity]="0.5"
220
- (click)="logout($event)"
190
+ class="list-none py-0 pl-3 pr-0 m-0 {{
191
+ !(
192
+ menuSelecionado()?.idmenupai == menu.idmenu &&
193
+ this.expandMenu()
194
+ ) && 'hidden'
195
+ }} overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out"
221
196
  >
222
- <kv-icon
223
- [icon]="'logout'"
224
-
225
- />
226
- @if(expandMenu()){
227
- <label>Sair</label>
228
- }
197
+ <li
198
+ *ngFor="
199
+ let filho of returnMenuChild(menu.idmenu);
200
+ let iFilho = index
201
+ "
202
+ >
203
+ <a
204
+ *ngIf="expandMenu()"
205
+ (click)="callRoute(filho.link)"
206
+ pRipple
207
+ class="menu-option"
208
+ [style.background-color]="filho.bgColor"
209
+ >
210
+ <i
211
+ class="content-option-menu material-symbols-outlined icon-menu {{
212
+ expandMenu() ? 'ml-1 mr-2' : ''
213
+ }} icon-hover-color"
214
+ *ngIf="filho.icone"
215
+ >
216
+ {{ filho.icone }}
217
+ </i>
218
+ <span
219
+ class="content-option-menu text-medium text-blue-900 ml-4 {{
220
+ filho.textColor
221
+ }}"
222
+ *ngIf="expandMenu()"
223
+ >{{ filho.descricaomenu }}</span
224
+ >
225
+ </a>
226
+ </li>
229
227
  </div>
230
- </li>
231
- </div>
228
+ </div>
229
+ </li>
232
230
  </div>
233
- </ng-template>
234
- </p-sidebar>
231
+ </div>
232
+ </ng-template>
233
+ </p-sidebar>
235
234
  }
236
235
 
237
- <!-- SEÇÃO CONTEÚDO -->
236
+ <!-- Topbar -->
238
237
  <div
239
238
  class="w-auto h-screen page-content overflow-y-hidden flex flex-column"
240
239
  id="page-content"
241
240
  style="width: 100vw !important"
242
241
  >
243
- <!-- TOPO -->
244
242
  <div
245
243
  class="flex flex-row flex-wrap align-items-center justify-content-between my-2 mx-2 lg:mx-3 mb-0 gap-1"
246
244
  >
@@ -250,119 +248,154 @@
250
248
  <img [src]="logoMenuExpand" width="150" />
251
249
  </div>
252
250
  } @else {
253
- <!-- Breadcrumbs -->
254
- @if(showBreadcrumb) {
255
- <div>
256
- <p class="text-xl font-semibold system-color breadcrumb-title">
257
- {{
258
- breadCrumbItems[breadCrumbItems.length - 1] &&
259
- breadCrumbItems[breadCrumbItems.length - 1].label
260
- ? breadCrumbItems[breadCrumbItems.length - 1].label
261
- : ""
262
- }}
263
- </p>
264
- <p-breadcrumb
265
- *ngIf="widthCard > 400"
266
- styleClass="border-none p-0 flex align-items-center h-1rem bg-transparent"
267
- [model]="breadCrumbItems"
268
- [style]="{ backgroundColor: '#eaeaea' }"
269
- (onItemClick)="callRoute($event.item.routerLink, true)"
270
- ></p-breadcrumb>
271
- </div>
251
+ <!-- Breadcrumbs -->
252
+ <div>
253
+ <p class="text-xl font-semibold text-blue-900 breadcrumb-title">
254
+ {{
255
+ breadCrumbItems[breadCrumbItems.length - 1] &&
256
+ breadCrumbItems[breadCrumbItems.length - 1].label
257
+ ? breadCrumbItems[breadCrumbItems.length - 1].label
258
+ : ""
259
+ }}
260
+ </p>
261
+ <p-breadcrumb
262
+ *ngIf="widthCard > 400"
263
+ styleClass="border-none p-0 flex align-items-center h-2rem !important;"
264
+ [model]="breadCrumbItems"
265
+ [style]="{ backgroundColor: '#eaeaea' }"
266
+ (onItemClick)="callRoute($event.item.routerLink, true)"
267
+ ></p-breadcrumb>
268
+ </div>
269
+ } @if (exibirNomes) { @if(widthCard >= 517) {
270
+ <div
271
+ class="w-auto flex flex-column justify-content-center align-items-center gap-2"
272
+ >
273
+ @if (masterName) { <span class="master-name">{{ masterName }}</span> }
274
+ @if (empresaName) {<span class="empresa-name"
275
+ >Organização: {{ empresaName }}</span
276
+ >
272
277
  }
273
- @else {
274
- <!-- GHOST DIV PARA OCPUAR ESPAÇO NO SPACE BETWEEN -->
275
- <div></div>
278
+ </div>
279
+
280
+ <div
281
+ class="w-auto flex flex-row justify-content-center align-items-center gap-2"
282
+ >
283
+ <!-- Navegação de sistemas e usuários -->
284
+ @for (topAction of topMenuActions(); track $index) {
285
+ <ng-container *ngTemplateOutlet="topAction" />
276
286
  }
277
- }
278
- @if (exibirNomes) {
279
- @if(widthCard >= 517) {
280
- <div
281
- class="w-auto flex flex-column justify-content-center align-items-center gap-2"
282
- >
283
- @if (masterName) { <span class="font-semibold system-color">{{ masterName }}</span> }
284
- @if (empresaName) {<span class="empresa-name"
285
- >Organização: {{ empresaName }}</span
286
- >
287
- }
288
- </div>
289
287
 
290
- <div
291
- class="w-auto flex flex-row justify-content-center align-items-center gap-2"
292
- >
293
- <!-- Navegação de sistemas e usuários -->
294
- @for (topAction of topMenuActions(); track $index) {
295
- <ng-container *ngTemplateOutlet="topAction" />
296
- }
297
- <kv-top-icons
298
- [topActions]="topActions()"
299
- />
288
+ <span
289
+ *ngIf="showButtonApps"
290
+ class="material-symbols-outlined top-layout-icons p-1"
291
+ [pTooltip]="'Sistemas'"
292
+ [tooltipPosition]="'left'"
293
+ (click)="sistemasPanel.toggle($event)"
294
+ >
295
+ apps
296
+ </span>
300
297
 
301
- </div>
302
- }
303
- @else {
304
- <div
305
- class="w-auto flex flex-row justify-content-center align-items-center gap-2"
306
- >
307
- <!-- Navegação de sistemas e usuários -->
308
- @for (topAction of topMenuActions(); track $index) {
309
- <ng-container *ngTemplateOutlet="topAction" />
310
- }
311
- <kv-top-icons
312
- [topActions]="topActions()"
313
- />
298
+ <span
299
+ *ngIf="showButtonUser"
300
+ class="material-symbols-outlined top-layout-icons p-1"
301
+ [pTooltip]="'Menu do Usuário'"
302
+ [tooltipPosition]="'left'"
303
+ (click)="meusDadosPanel.toggle($event)"
304
+ >
305
+ person
306
+ </span>
307
+ </div>
308
+ } @else {
309
+ <div
310
+ class="w-auto flex flex-row justify-content-center align-items-center gap-2"
311
+ >
312
+ <!-- Navegação de sistemas e usuários -->
313
+ @for (topAction of topMenuActions(); track $index) {
314
+ <ng-container *ngTemplateOutlet="topAction" />
315
+ }
314
316
 
315
- </div>
317
+ <span
318
+ *ngIf="showButtonApps"
319
+ class="material-symbols-outlined top-layout-icons p-1"
320
+ [pTooltip]="'Sistemas'"
321
+ [tooltipPosition]="'left'"
322
+ (click)="sistemasPanel.toggle($event)"
323
+ >
324
+ apps
325
+ </span>
316
326
 
317
- <div
318
- class="w-auto flex flex-column justify-content-center align-items-center gap-2"
319
- >
320
- @if (masterName) { <span class="master-name">{{ masterName }}</span> }
321
- @if (empresaName) {<span class="empresa-name">{{ empresaName }}</span> }
322
- </div>
323
- }
324
- }
325
- @else {
326
- @if(widthPage() > 992){
327
- <!-- dropdown para seleção de empresa/licenca -->
328
- <dropdown-master
329
- *ngIf="showLicencas()"
330
- class="max-w-25rem"
331
- style="min-width: 20rem;"
332
- formControlName="idmaster"
333
- [formGroup]="formGroup"
334
- [masters]="masters"
335
- (onSelectionChange)="changeLicense($event)"
336
- (onSelectionValue)="changeLicense($event)"
337
- >
338
- </dropdown-master>
327
+ <span
328
+ *ngIf="showButtonUser"
329
+ class="material-symbols-outlined top-layout-icons p-1"
330
+ [pTooltip]="'Menu do Usuário'"
331
+ [tooltipPosition]="'left'"
332
+ (click)="meusDadosPanel.toggle($event)"
333
+ >
334
+ person
335
+ </span>
336
+ </div>
337
+
338
+ <div
339
+ class="w-auto flex flex-column justify-content-center align-items-center gap-2"
340
+ >
341
+ @if (masterName) { <span class="master-name">{{ masterName }}</span> }
342
+ @if (empresaName) {<span class="empresa-name">{{ empresaName }}</span> }
343
+ </div>
344
+ } } @else { @if(widthPage() > 992){
345
+ <!-- dropdown para seleção de empresa/licenca -->
346
+ <dropdown-master
347
+ *ngIf="showLicencas()"
348
+ class="max-w-25rem"
349
+ style="min-width: 20rem;"
350
+ formControlName="idmaster"
351
+ [formGroup]="formGroup"
352
+ [masters]="masters"
353
+ (onSelectionChange)="changeLicense($event)"
354
+ (onSelectionValue)="changeLicense($event)"
355
+ >
356
+ </dropdown-master>
357
+ }
358
+
359
+ <!-- Navegação de sistemas e usuários -->
360
+ <div class="w-auto flex flex-row align-items-center gap-2">
361
+ @for (topAction of topMenuActions(); track $index) {
362
+ <ng-container *ngTemplateOutlet="topAction" />
339
363
  }
340
364
 
341
- <!-- Navegação de sistemas e usuários -->
342
- <div class="w-auto flex flex-row align-items-center gap-2">
343
- @for (topAction of topMenuActions(); track $index) {
344
- <ng-container *ngTemplateOutlet="topAction" />
345
- }
346
- <kv-top-icons
347
- [topActions]="topActions()"
348
- />
365
+ <span
366
+ *ngIf="showButtonApps"
367
+ class="material-symbols-outlined top-layout-icons p-1"
368
+ [pTooltip]="'Sistemas'"
369
+ [tooltipPosition]="'left'"
370
+ (click)="sistemasPanel.toggle($event)"
371
+ >
372
+ apps
373
+ </span>
349
374
 
350
- </div>
375
+ <span
376
+ *ngIf="showButtonUser"
377
+ class="material-symbols-outlined top-layout-icons p-1"
378
+ [pTooltip]="'Menu do Usuário'"
379
+ [tooltipPosition]="'left'"
380
+ (click)="meusDadosPanel.toggle($event)"
381
+ >
382
+ person
383
+ </span>
384
+ </div>
351
385
 
352
- @if(widthPage() <= 992){
353
- <!-- dropdown para seleção de empresa/licenca -->
354
- <dropdown-master
355
- *ngIf="showLicencas()"
356
- class="w-full"
357
- formControlName="idmaster"
358
- [formGroup]="formGroup"
359
- [masters]="masters"
360
- (onSelectionChange)="changeLicense($event)"
361
- (onSelectionValue)="changeLicense($event)"
362
- >
363
- </dropdown-master>
364
- }
365
- }
386
+ @if(widthPage() < 992){
387
+ <!-- dropdown para seleção de empresa/licenca -->
388
+ <dropdown-master
389
+ *ngIf="showLicencas()"
390
+ class="w-full"
391
+ formControlName="idmaster"
392
+ [formGroup]="formGroup"
393
+ [masters]="masters"
394
+ (onSelectionChange)="changeLicense($event)"
395
+ (onSelectionValue)="changeLicense($event)"
396
+ >
397
+ </dropdown-master>
398
+ } }
366
399
  </div>
367
400
 
368
401
  <!-- Container -->
@@ -432,35 +465,40 @@
432
465
  [hideTransitionOptions]="'250ms ease-in'"
433
466
  >
434
467
  <ng-template pTemplate="container">
435
- <p class="system-color font-medium text-lg px-2 py-3 m-0">
468
+ <p class="title-style mt-3">
436
469
  Olá, {{ userName ? userName.split(" ")[0] : "Usuário" }}!
437
470
  </p>
438
- <!-- <div class="mt-5 mb-3"></div> -->
471
+ <div class="mt-5 mb-3"></div>
439
472
 
440
473
  <!-- Contêiner com direção em coluna para empilhar os botões -->
441
474
  <div class="flex flex-column">
442
475
  <!-- Botões adicionais dinâmicos -->
443
- @for (action of actions; track $index) {
444
- <ng-container>
445
- <div class="flex flex-row align-items-center gap-2 side-menu-item py-2 px-2"
446
- (click)="action.action()"
447
- >
448
- <kv-icon
449
- [icon]="action.icon"
450
- />
451
- <span>{{action.label}}</span>
452
- </div>
453
- </ng-container>
454
- }
455
-
456
- <div class="flex flex-row align-items-center gap-2 side-menu-item py-2 px-2"
457
- (click)="accessKeePass($event)"
458
- >
459
- <kv-icon
460
- icon="lock"
461
- />
462
- <span>Acessar KeePass</span>
463
- </div>
476
+ <ng-container *ngFor="let action of actions">
477
+ <p-button
478
+ [icon]="action.icon"
479
+ [label]="action.label"
480
+ (onClick)="action.action()"
481
+ styleClass="border-noround w-full text-blue-900 text-sm"
482
+ [text]="true"
483
+ ></p-button>
484
+ </ng-container>
485
+
486
+ <!-- Botões padrão -->
487
+ <p-button
488
+ icon="pi pi-lock"
489
+ label="Acessar KeePass"
490
+ (onClick)="accessKeePass($event)"
491
+ styleClass="border-noround w-full text-blue-900 text-sm"
492
+ [text]="true"
493
+ ></p-button>
494
+
495
+ <p-button
496
+ icon="pi pi-sign-out"
497
+ label="Sair"
498
+ (onClick)="logout($event)"
499
+ styleClass="border-noround w-full text-blue-900 text-sm"
500
+ [text]="true"
501
+ ></p-button>
464
502
 
465
503
  </div>
466
504
  </ng-template>