layout-tsi 0.0.4 → 20.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -63
- package/fesm2022/layout-tsi.mjs +209 -209
- package/fesm2022/layout-tsi.mjs.map +1 -1
- package/index.d.ts +581 -5
- package/package.json +6 -5
- package/lib/models/general/app-tab.model.d.ts +0 -9
- package/lib/models/general/dashboard.model.d.ts +0 -15
- package/lib/models/general/route-info.model.d.ts +0 -16
- package/lib/models/general/session-data.model.d.ts +0 -8
- package/lib/service/detector.service.d.ts +0 -8
- package/lib/service/header-ui.service.d.ts +0 -9
- package/lib/service/menu.service.d.ts +0 -8
- package/lib/service/tabs.service.d.ts +0 -36
- package/lib/ui/bottom-navigation/bottom-navigation.component.d.ts +0 -31
- package/lib/ui/chatbot/chatbot.component.d.ts +0 -30
- package/lib/ui/chatbot/chatbot.model.d.ts +0 -28
- package/lib/ui/chatbot/chatbot.service.d.ts +0 -19
- package/lib/ui/dashboard/dashboard-chart-bars/dashboard-chart-bars.component.d.ts +0 -45
- package/lib/ui/dashboard/dashboard-chart-donut/dashboard-chart-donut.component.d.ts +0 -21
- package/lib/ui/dashboard/dashboard-view-switcher/dashboard-view-switcher.component.d.ts +0 -14
- package/lib/ui/dashboard/item-dashboard/item-dashboard.component.d.ts +0 -26
- package/lib/ui/dashboard/item-dashboard-group/item-dashboard-group.component.d.ts +0 -28
- package/lib/ui/full/full.component.d.ts +0 -48
- package/lib/ui/menu-item/menu-item.component.d.ts +0 -70
- package/lib/ui/not-found/not-found.component.d.ts +0 -7
- package/lib/ui/tab-bar/tab-bar.component.d.ts +0 -23
- package/lib/ui/vertical-header/vertical-header.component.d.ts +0 -96
- package/lib/utils/validaciones.d.ts +0 -1
- package/public-api.d.ts +0 -21
package/index.d.ts
CHANGED
|
@@ -1,5 +1,581 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken, AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as layout_tsi from 'layout-tsi';
|
|
5
|
+
|
|
6
|
+
interface RouteInfo {
|
|
7
|
+
path: string;
|
|
8
|
+
title: string;
|
|
9
|
+
icon: string;
|
|
10
|
+
class?: string;
|
|
11
|
+
extralink: boolean;
|
|
12
|
+
label?: string;
|
|
13
|
+
labelClass?: string;
|
|
14
|
+
submenu?: RouteInfo[];
|
|
15
|
+
codacc?: number;
|
|
16
|
+
moduloID?: number;
|
|
17
|
+
routeName?: string;
|
|
18
|
+
accesoID?: number;
|
|
19
|
+
modal?: string;
|
|
20
|
+
rol?: number[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface SessionData {
|
|
24
|
+
nombreUser: string;
|
|
25
|
+
codsuc: number | null;
|
|
26
|
+
sucursales: any[];
|
|
27
|
+
idCia: string | number;
|
|
28
|
+
accesos: any[];
|
|
29
|
+
rolId: number | null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface BottomNavItem {
|
|
33
|
+
icon: string;
|
|
34
|
+
label: string;
|
|
35
|
+
action?: () => void;
|
|
36
|
+
active?: boolean;
|
|
37
|
+
type?: 'button' | 'dropdown';
|
|
38
|
+
onOpen?: () => void;
|
|
39
|
+
items?: Array<{
|
|
40
|
+
icon: string;
|
|
41
|
+
label: string;
|
|
42
|
+
action: () => void;
|
|
43
|
+
value?: string;
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
declare class BottomNavigationComponent {
|
|
47
|
+
menuItems: _angular_core.InputSignal<BottomNavItem[]>;
|
|
48
|
+
isVisible: _angular_core.InputSignal<boolean>;
|
|
49
|
+
itemClick: _angular_core.OutputEmitterRef<{
|
|
50
|
+
index: number;
|
|
51
|
+
item: BottomNavItem;
|
|
52
|
+
}>;
|
|
53
|
+
activeDropdown: _angular_core.WritableSignal<number>;
|
|
54
|
+
onDocumentClick(): void;
|
|
55
|
+
toggleDropdown(index: number, event?: MouseEvent): void;
|
|
56
|
+
onItemClick(index: number, item: BottomNavItem, event?: MouseEvent): void;
|
|
57
|
+
onSubItemClick(subItem: any, event?: MouseEvent): void;
|
|
58
|
+
onDropdownClick(event: MouseEvent): void;
|
|
59
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BottomNavigationComponent, never>;
|
|
60
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BottomNavigationComponent, "app-bottom-navigation", never, { "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "isVisible": { "alias": "isVisible"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
interface AppTab {
|
|
64
|
+
id: string;
|
|
65
|
+
path: string;
|
|
66
|
+
title: string;
|
|
67
|
+
icon: string;
|
|
68
|
+
pinned: boolean;
|
|
69
|
+
module?: string;
|
|
70
|
+
moduleKey?: string;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
interface TabsSyncProvider {
|
|
74
|
+
getAccess(): Observable<{
|
|
75
|
+
message: string;
|
|
76
|
+
}>;
|
|
77
|
+
saveAccess(payload: string): Observable<any>;
|
|
78
|
+
}
|
|
79
|
+
declare const TABS_SYNC_PROVIDER: InjectionToken<TabsSyncProvider>;
|
|
80
|
+
declare class TabsService {
|
|
81
|
+
private readonly router;
|
|
82
|
+
private readonly syncProvider;
|
|
83
|
+
private readonly destroyRef;
|
|
84
|
+
private readonly injector;
|
|
85
|
+
tabs: _angular_core.WritableSignal<AppTab[]>;
|
|
86
|
+
activeId: _angular_core.WritableSignal<string>;
|
|
87
|
+
visible: _angular_core.WritableSignal<boolean>;
|
|
88
|
+
private readonly destroy$;
|
|
89
|
+
sortedTabs: _angular_core.Signal<AppTab[]>;
|
|
90
|
+
toggleVisible(): void;
|
|
91
|
+
constructor();
|
|
92
|
+
init(): void;
|
|
93
|
+
private startApiSync;
|
|
94
|
+
private parseData;
|
|
95
|
+
private loadFromStorage;
|
|
96
|
+
clear(): void;
|
|
97
|
+
addBackground(path: string, title: string, icon: string, module?: string, moduleKey?: string): void;
|
|
98
|
+
activate(id: string): void;
|
|
99
|
+
close(id: string, event: Event): void;
|
|
100
|
+
closeAll(): void;
|
|
101
|
+
togglePin(id: string, event: Event): void;
|
|
102
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsService, never>;
|
|
103
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TabsService>;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
interface VerticalHeaderAction {
|
|
107
|
+
icon: string;
|
|
108
|
+
label: string;
|
|
109
|
+
badge?: number | null;
|
|
110
|
+
hidden?: boolean;
|
|
111
|
+
/** Opt-in: además de en el header, refleja esta acción en el bottom-nav (mobile). Por defecto no baja. */
|
|
112
|
+
showInBottomNav?: boolean;
|
|
113
|
+
items?: {
|
|
114
|
+
icon: string;
|
|
115
|
+
label: string;
|
|
116
|
+
accion: () => void;
|
|
117
|
+
title?: string;
|
|
118
|
+
value?: string;
|
|
119
|
+
}[];
|
|
120
|
+
accion?: () => void;
|
|
121
|
+
}
|
|
122
|
+
declare class VerticalHeaderComponent implements AfterViewInit, OnDestroy {
|
|
123
|
+
headerContainerRef: ElementRef<HTMLDivElement>;
|
|
124
|
+
headerSideStartRef: ElementRef<HTMLDivElement>;
|
|
125
|
+
headerSideEndRef: ElementRef<HTMLDivElement>;
|
|
126
|
+
compactSearchWrapperRef: ElementRef<HTMLDivElement>;
|
|
127
|
+
private static readonly SEARCH_WIDTH;
|
|
128
|
+
private static readonly SEARCH_GAP;
|
|
129
|
+
searchCollapsed: _angular_core.WritableSignal<boolean>;
|
|
130
|
+
private resizeObserver?;
|
|
131
|
+
private readonly ngZone;
|
|
132
|
+
private router;
|
|
133
|
+
readonly tabsService: TabsService;
|
|
134
|
+
actions: _angular_core.InputSignal<VerticalHeaderAction[]>;
|
|
135
|
+
showSearch: _angular_core.InputSignal<boolean>;
|
|
136
|
+
themes: _angular_core.InputSignal<{
|
|
137
|
+
id: string;
|
|
138
|
+
icon: string;
|
|
139
|
+
label: string;
|
|
140
|
+
}[]>;
|
|
141
|
+
showThemeSwitcher: _angular_core.InputSignal<boolean>;
|
|
142
|
+
showTabs: _angular_core.InputSignal<boolean>;
|
|
143
|
+
showNotifications: _angular_core.InputSignal<boolean>;
|
|
144
|
+
notificationsCount: _angular_core.InputSignal<number>;
|
|
145
|
+
notificationsClick: _angular_core.OutputEmitterRef<void>;
|
|
146
|
+
/** Opt-in: además de en el header, refleja las notificaciones en el bottom-nav (mobile). Por defecto no baja (igual que en consults). */
|
|
147
|
+
notificationsInBottomNav: _angular_core.InputSignal<boolean>;
|
|
148
|
+
showChatbotToggle: _angular_core.InputSignal<boolean>;
|
|
149
|
+
chatbotVisible: _angular_core.InputSignal<boolean>;
|
|
150
|
+
chatbotVisibleChange: _angular_core.OutputEmitterRef<boolean>;
|
|
151
|
+
/** Opt-in: además de en el header, refleja el toggle de soporte en el bottom-nav (mobile). Por defecto no baja. */
|
|
152
|
+
chatbotInBottomNav: _angular_core.InputSignal<boolean>;
|
|
153
|
+
currentTheme: _angular_core.InputSignal<string>;
|
|
154
|
+
themeChange: _angular_core.OutputEmitterRef<string>;
|
|
155
|
+
bottomNavItems: _angular_core.Signal<BottomNavItem[]>;
|
|
156
|
+
readonly themeIcon: _angular_core.Signal<string>;
|
|
157
|
+
readonly themeLabel: _angular_core.Signal<string>;
|
|
158
|
+
versionApp: _angular_core.InputSignal<string>;
|
|
159
|
+
accentColor: _angular_core.InputSignal<string>;
|
|
160
|
+
envClass: _angular_core.InputSignal<string>;
|
|
161
|
+
produccion: _angular_core.InputSignal<boolean>;
|
|
162
|
+
emitirToogle: _angular_core.OutputEmitterRef<void>;
|
|
163
|
+
isScrolled: _angular_core.InputSignal<boolean>;
|
|
164
|
+
isSidebarOpen: _angular_core.InputSignal<boolean>;
|
|
165
|
+
nameProyecto: _angular_core.InputSignal<string>;
|
|
166
|
+
searchComponents: _angular_core.OutputEmitterRef<void>;
|
|
167
|
+
showPanelControl: _angular_core.InputSignal<boolean>;
|
|
168
|
+
panelControlClick: _angular_core.OutputEmitterRef<void>;
|
|
169
|
+
logout: _angular_core.OutputEmitterRef<void>;
|
|
170
|
+
userName: _angular_core.InputSignal<string>;
|
|
171
|
+
empresaName: _angular_core.InputSignal<string>;
|
|
172
|
+
tooltip: _angular_core.WritableSignal<{
|
|
173
|
+
text: string;
|
|
174
|
+
x: number;
|
|
175
|
+
y: number;
|
|
176
|
+
}>;
|
|
177
|
+
openActionKey: _angular_core.WritableSignal<string>;
|
|
178
|
+
themeMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
179
|
+
userMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
180
|
+
onDocumentClick(): void;
|
|
181
|
+
private closeAllMenus;
|
|
182
|
+
toggleActionMenu(event: MouseEvent, action: VerticalHeaderAction): void;
|
|
183
|
+
runAction(item: {
|
|
184
|
+
accion: () => void;
|
|
185
|
+
}): void;
|
|
186
|
+
toggleThemeMenu(event: MouseEvent): void;
|
|
187
|
+
selectTheme(id: string): void;
|
|
188
|
+
toggleUserMenu(event: MouseEvent): void;
|
|
189
|
+
showTooltip(event: MouseEvent, text: string): void;
|
|
190
|
+
hideTooltip(): void;
|
|
191
|
+
goToHome(): void;
|
|
192
|
+
ngAfterViewInit(): void;
|
|
193
|
+
ngOnDestroy(): void;
|
|
194
|
+
private updateSearchCollapse;
|
|
195
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VerticalHeaderComponent, never>;
|
|
196
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VerticalHeaderComponent, "app-vertical-header", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "themes": { "alias": "themes"; "required": false; "isSignal": true; }; "showThemeSwitcher": { "alias": "showThemeSwitcher"; "required": false; "isSignal": true; }; "showTabs": { "alias": "showTabs"; "required": false; "isSignal": true; }; "showNotifications": { "alias": "showNotifications"; "required": false; "isSignal": true; }; "notificationsCount": { "alias": "notificationsCount"; "required": false; "isSignal": true; }; "notificationsInBottomNav": { "alias": "notificationsInBottomNav"; "required": false; "isSignal": true; }; "showChatbotToggle": { "alias": "showChatbotToggle"; "required": false; "isSignal": true; }; "chatbotVisible": { "alias": "chatbotVisible"; "required": false; "isSignal": true; }; "chatbotInBottomNav": { "alias": "chatbotInBottomNav"; "required": false; "isSignal": true; }; "currentTheme": { "alias": "currentTheme"; "required": false; "isSignal": true; }; "versionApp": { "alias": "versionApp"; "required": false; "isSignal": true; }; "accentColor": { "alias": "accentColor"; "required": false; "isSignal": true; }; "envClass": { "alias": "envClass"; "required": false; "isSignal": true; }; "produccion": { "alias": "produccion"; "required": false; "isSignal": true; }; "isScrolled": { "alias": "isScrolled"; "required": false; "isSignal": true; }; "isSidebarOpen": { "alias": "isSidebarOpen"; "required": false; "isSignal": true; }; "nameProyecto": { "alias": "nameProyecto"; "required": false; "isSignal": true; }; "showPanelControl": { "alias": "showPanelControl"; "required": false; "isSignal": true; }; "userName": { "alias": "userName"; "required": false; "isSignal": true; }; "empresaName": { "alias": "empresaName"; "required": false; "isSignal": true; }; }, { "notificationsClick": "notificationsClick"; "chatbotVisibleChange": "chatbotVisibleChange"; "themeChange": "themeChange"; "emitirToogle": "emitirToogle"; "searchComponents": "searchComponents"; "panelControlClick": "panelControlClick"; "logout": "logout"; }, never, ["[extra-actions]"], true, never>;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
declare class FullComponent {
|
|
200
|
+
private readonly detectorService;
|
|
201
|
+
private readonly contexts;
|
|
202
|
+
private readonly router;
|
|
203
|
+
private readonly tabsService;
|
|
204
|
+
menuItems: _angular_core.InputSignal<RouteInfo[]>;
|
|
205
|
+
nameProyecto: _angular_core.InputSignal<string>;
|
|
206
|
+
accentColor: _angular_core.InputSignal<string>;
|
|
207
|
+
showTabs: _angular_core.InputSignal<boolean>;
|
|
208
|
+
tabModuleColors: _angular_core.InputSignal<Record<string, string>>;
|
|
209
|
+
currentYear: number;
|
|
210
|
+
private verticalHeaderSignal;
|
|
211
|
+
set verticalHeaderRef(vh: VerticalHeaderComponent | undefined);
|
|
212
|
+
bottomMenuItems: _angular_core.Signal<BottomNavItem[]>;
|
|
213
|
+
isSidebarOpen: _angular_core.WritableSignal<boolean>;
|
|
214
|
+
isSidebarHovering: _angular_core.WritableSignal<boolean>;
|
|
215
|
+
isScrolled: _angular_core.WritableSignal<boolean>;
|
|
216
|
+
isDesktop: boolean;
|
|
217
|
+
isMobileView: _angular_core.WritableSignal<boolean>;
|
|
218
|
+
sidebarWidth: _angular_core.WritableSignal<number>;
|
|
219
|
+
sessionData: _angular_core.InputSignal<SessionData>;
|
|
220
|
+
nombreSucursal: _angular_core.Signal<any>;
|
|
221
|
+
cambiarSucursal(): void;
|
|
222
|
+
get userInitials(): string;
|
|
223
|
+
routeAnimating: _angular_core.WritableSignal<boolean>;
|
|
224
|
+
onRouteActivate(): void;
|
|
225
|
+
constructor();
|
|
226
|
+
contentContainer: ElementRef;
|
|
227
|
+
sidebarRef: ElementRef<HTMLDivElement>;
|
|
228
|
+
toggleSidebar(): void;
|
|
229
|
+
closeSidebar(): void;
|
|
230
|
+
onResize(event: any): void;
|
|
231
|
+
ngAfterViewInit(): void;
|
|
232
|
+
get isSidebarActuallyOpen(): boolean;
|
|
233
|
+
updateSidebarWidth(): void;
|
|
234
|
+
onClickOutside(event: Event): void;
|
|
235
|
+
onSidebarHoverEnter(): void;
|
|
236
|
+
onSidebarHoverLeave(): void;
|
|
237
|
+
showBottomNav: _angular_core.Signal<boolean>;
|
|
238
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FullComponent, never>;
|
|
239
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FullComponent, "app-full", never, { "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "nameProyecto": { "alias": "nameProyecto"; "required": false; "isSignal": true; }; "accentColor": { "alias": "accentColor"; "required": false; "isSignal": true; }; "showTabs": { "alias": "showTabs"; "required": false; "isSignal": true; }; "tabModuleColors": { "alias": "tabModuleColors"; "required": false; "isSignal": true; }; "sessionData": { "alias": "sessionData"; "required": true; "isSignal": true; }; }, {}, ["verticalHeaderRef"], ["[header]", "[chatbot]"], true, never>;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
interface TooltipState {
|
|
243
|
+
text: string;
|
|
244
|
+
x: number;
|
|
245
|
+
y: number;
|
|
246
|
+
}
|
|
247
|
+
interface ExtralinkOpener {
|
|
248
|
+
open(moduloID: number, routeName?: string): void;
|
|
249
|
+
}
|
|
250
|
+
declare const EXTRALINK_OPENER: InjectionToken<ExtralinkOpener>;
|
|
251
|
+
declare class MenuItemComponent implements OnDestroy {
|
|
252
|
+
private menuService;
|
|
253
|
+
private headerUiService;
|
|
254
|
+
private readonly tabsService;
|
|
255
|
+
private readonly router;
|
|
256
|
+
private readonly extralinkOpener;
|
|
257
|
+
item: _angular_core.InputSignal<RouteInfo>;
|
|
258
|
+
isSidebarOpen: _angular_core.InputSignal<boolean>;
|
|
259
|
+
isSidebarHovering: _angular_core.InputSignal<boolean>;
|
|
260
|
+
level: _angular_core.InputSignal<number>;
|
|
261
|
+
parentModuleName: _angular_core.InputSignal<string>;
|
|
262
|
+
accentColor: _angular_core.InputSignal<string>;
|
|
263
|
+
accesos: _angular_core.InputSignal<any[]>;
|
|
264
|
+
rolId: _angular_core.InputSignal<number>;
|
|
265
|
+
open: _angular_core.WritableSignal<boolean>;
|
|
266
|
+
flyoutY: _angular_core.WritableSignal<number>;
|
|
267
|
+
expandedFlyoutChild: _angular_core.WritableSignal<string>;
|
|
268
|
+
flyoutTimer: ReturnType<typeof setTimeout> | null;
|
|
269
|
+
tooltip: _angular_core.WritableSignal<TooltipState>;
|
|
270
|
+
showFlyout: _angular_core.Signal<boolean>;
|
|
271
|
+
flyoutRendered: _angular_core.WritableSignal<boolean>;
|
|
272
|
+
private flyoutExitTimer;
|
|
273
|
+
private currentUrl;
|
|
274
|
+
esRutaActiva(path?: string | null): boolean;
|
|
275
|
+
submenuRendered: _angular_core.WritableSignal<boolean>;
|
|
276
|
+
private submenuLeaveTimer;
|
|
277
|
+
constructor();
|
|
278
|
+
ngOnDestroy(): void;
|
|
279
|
+
hasAccess(menuItem?: RouteInfo): boolean;
|
|
280
|
+
get isSidebarActuallyOpen(): boolean;
|
|
281
|
+
get isCollapsedMode(): boolean;
|
|
282
|
+
getFlyoutKey(): string;
|
|
283
|
+
onItemMouseEnter(event: MouseEvent): void;
|
|
284
|
+
onItemMouseOver(): void;
|
|
285
|
+
onItemMouseLeave(): void;
|
|
286
|
+
showChildTooltip(event: MouseEvent, item: RouteInfo): void;
|
|
287
|
+
hideChildTooltip(): void;
|
|
288
|
+
onFlyoutMouseEnter(): void;
|
|
289
|
+
onFlyoutMouseLeave(): void;
|
|
290
|
+
toggleFlyoutChild(child: RouteInfo): void;
|
|
291
|
+
isFlyoutChildExpanded(child: RouteInfo): boolean;
|
|
292
|
+
onFlyoutItemClick(child: RouteInfo, event: MouseEvent): void;
|
|
293
|
+
onFlyoutGrandchildClick(grandchild: RouteInfo): void;
|
|
294
|
+
onFlyoutItemRightClick(event: MouseEvent, child: RouteInfo): void;
|
|
295
|
+
onFlyoutItemMiddleClick(event: MouseEvent, child: RouteInfo): void;
|
|
296
|
+
toggle(): void;
|
|
297
|
+
openLink(item: RouteInfo): void;
|
|
298
|
+
onMiddleClick(event: MouseEvent): void;
|
|
299
|
+
onRightClick(event: MouseEvent): void;
|
|
300
|
+
isOpen(): boolean;
|
|
301
|
+
getItemId(): string;
|
|
302
|
+
codAcceso: () => string;
|
|
303
|
+
codAccesoItem(item: RouteInfo): string;
|
|
304
|
+
manejarRuta(item: RouteInfo): string;
|
|
305
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemComponent, never>;
|
|
306
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "app-menu-item", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "isSidebarOpen": { "alias": "isSidebarOpen"; "required": false; "isSignal": true; }; "isSidebarHovering": { "alias": "isSidebarHovering"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "parentModuleName": { "alias": "parentModuleName"; "required": false; "isSignal": true; }; "accentColor": { "alias": "accentColor"; "required": false; "isSignal": true; }; "accesos": { "alias": "accesos"; "required": false; "isSignal": true; }; "rolId": { "alias": "rolId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
declare class TabBarComponent {
|
|
310
|
+
tabs: TabsService;
|
|
311
|
+
shouldShow: _angular_core.Signal<boolean>;
|
|
312
|
+
rendered: _angular_core.WritableSignal<boolean>;
|
|
313
|
+
private leaveTimer;
|
|
314
|
+
constructor();
|
|
315
|
+
moduleColors: _angular_core.InputSignal<Record<string, string>>;
|
|
316
|
+
hoveredTab: _angular_core.WritableSignal<AppTab>;
|
|
317
|
+
tipPosition: _angular_core.WritableSignal<{
|
|
318
|
+
x: number;
|
|
319
|
+
y: number;
|
|
320
|
+
}>;
|
|
321
|
+
private hoverTimer;
|
|
322
|
+
getModuleColor(tab: AppTab): string;
|
|
323
|
+
onTabMouseEnter(event: MouseEvent, tab: AppTab): void;
|
|
324
|
+
onTabMouseLeave(): void;
|
|
325
|
+
onTabMouseDown(event: MouseEvent, tab: AppTab): void;
|
|
326
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabBarComponent, never>;
|
|
327
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabBarComponent, "app-tab-bar", never, { "moduleColors": { "alias": "moduleColors"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
interface ChatOption {
|
|
331
|
+
label: string;
|
|
332
|
+
nextNodeId?: string;
|
|
333
|
+
response?: string;
|
|
334
|
+
}
|
|
335
|
+
interface ChatNode {
|
|
336
|
+
id: string;
|
|
337
|
+
message: string;
|
|
338
|
+
options?: ChatOption[];
|
|
339
|
+
}
|
|
340
|
+
interface ChatbotConfig {
|
|
341
|
+
botName: string;
|
|
342
|
+
botAvatar?: string;
|
|
343
|
+
primaryColor?: string;
|
|
344
|
+
welcomeMessage: string;
|
|
345
|
+
nodes: ChatNode[];
|
|
346
|
+
rootNodeId: string;
|
|
347
|
+
position?: 'bottom-right' | 'bottom-left';
|
|
348
|
+
contactInfo?: string;
|
|
349
|
+
}
|
|
350
|
+
interface ChatMessage {
|
|
351
|
+
from: 'bot' | 'user';
|
|
352
|
+
text: string;
|
|
353
|
+
options?: ChatOption[];
|
|
354
|
+
optionsDisabled?: boolean;
|
|
355
|
+
}
|
|
356
|
+
declare const CHATBOT_CONFIG: InjectionToken<ChatbotConfig>;
|
|
357
|
+
|
|
358
|
+
declare class ChatbotService {
|
|
359
|
+
private config;
|
|
360
|
+
messages: _angular_core.WritableSignal<ChatMessage[]>;
|
|
361
|
+
isTyping: _angular_core.WritableSignal<boolean>;
|
|
362
|
+
isOpen: _angular_core.WritableSignal<boolean>;
|
|
363
|
+
hasActiveConversation: _angular_core.Signal<boolean>;
|
|
364
|
+
constructor();
|
|
365
|
+
private getNode;
|
|
366
|
+
private init;
|
|
367
|
+
open(): void;
|
|
368
|
+
minimize(): void;
|
|
369
|
+
close(): void;
|
|
370
|
+
selectOption(option: ChatOption, messageIndex: number): void;
|
|
371
|
+
restart(): void;
|
|
372
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatbotService, never>;
|
|
373
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChatbotService>;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
declare class ChatbotComponent {
|
|
377
|
+
protected service: ChatbotService;
|
|
378
|
+
protected config: layout_tsi.ChatbotConfig;
|
|
379
|
+
private zone;
|
|
380
|
+
private messagesEnd;
|
|
381
|
+
private wrapper;
|
|
382
|
+
position: _angular_core.WritableSignal<{
|
|
383
|
+
x: number;
|
|
384
|
+
y: number;
|
|
385
|
+
}>;
|
|
386
|
+
isDragging: _angular_core.WritableSignal<boolean>;
|
|
387
|
+
openDir: _angular_core.WritableSignal<"above" | "below">;
|
|
388
|
+
openHDir: _angular_core.WritableSignal<"left" | "right">;
|
|
389
|
+
private dragOffset;
|
|
390
|
+
private hasDragged;
|
|
391
|
+
constructor();
|
|
392
|
+
get primaryColor(): string;
|
|
393
|
+
selectOption(option: ChatOption, index: number): void;
|
|
394
|
+
onFabClick(): void;
|
|
395
|
+
private calcOpenDirection;
|
|
396
|
+
startDrag(event: MouseEvent): void;
|
|
397
|
+
private onDrag;
|
|
398
|
+
private stopDrag;
|
|
399
|
+
private scrollToBottom;
|
|
400
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatbotComponent, never>;
|
|
401
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatbotComponent, "app-chatbot", never, {}, {}, never, never, true, never>;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
declare class NotFoundComponent {
|
|
405
|
+
private location;
|
|
406
|
+
onBack(): void;
|
|
407
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotFoundComponent, never>;
|
|
408
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotFoundComponent, "app-not-found", never, {}, {}, never, never, true, never>;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
interface DashboardItem {
|
|
412
|
+
[key: string]: any;
|
|
413
|
+
GROUP?: string;
|
|
414
|
+
}
|
|
415
|
+
type ViewMode = 'cards' | 'bars' | 'donut';
|
|
416
|
+
interface DonutSegmentItem {
|
|
417
|
+
color: string;
|
|
418
|
+
strokeDasharray: string;
|
|
419
|
+
transform: string;
|
|
420
|
+
label: string;
|
|
421
|
+
value: number;
|
|
422
|
+
displayValue: string;
|
|
423
|
+
percent: string;
|
|
424
|
+
item: DashboardItem;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
declare class ItemDashboardComponent {
|
|
428
|
+
data: _angular_core.InputSignal<any[]>;
|
|
429
|
+
titulo: _angular_core.InputSignal<string>;
|
|
430
|
+
textClass: _angular_core.InputSignal<string>;
|
|
431
|
+
colorClass: _angular_core.InputSignal<string>;
|
|
432
|
+
keyValue: _angular_core.InputSignal<string>;
|
|
433
|
+
keyDescri: _angular_core.InputSignal<string>;
|
|
434
|
+
complemento: _angular_core.InputSignal<string>;
|
|
435
|
+
isDesplegable: _angular_core.InputSignal<boolean>;
|
|
436
|
+
isLoading: _angular_core.InputSignal<boolean>;
|
|
437
|
+
viewMode: _angular_core.InputSignal<ViewMode>;
|
|
438
|
+
showContent: _angular_core.WritableSignal<boolean>;
|
|
439
|
+
emit: _angular_core.OutputEmitterRef<DashboardItem>;
|
|
440
|
+
emitContent: _angular_core.OutputEmitterRef<string>;
|
|
441
|
+
filteredData: _angular_core.Signal<any[]>;
|
|
442
|
+
totalItems: _angular_core.Signal<any>;
|
|
443
|
+
maxValue: _angular_core.Signal<number>;
|
|
444
|
+
readonly palette: string[];
|
|
445
|
+
getPercent(item: any): number;
|
|
446
|
+
toggleMostrar(): void;
|
|
447
|
+
mover(item: DashboardItem): void;
|
|
448
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ItemDashboardComponent, never>;
|
|
449
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ItemDashboardComponent, "app-item-dashboard", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "titulo": { "alias": "titulo"; "required": false; "isSignal": true; }; "textClass": { "alias": "textClass"; "required": false; "isSignal": true; }; "colorClass": { "alias": "colorClass"; "required": false; "isSignal": true; }; "keyValue": { "alias": "keyValue"; "required": false; "isSignal": true; }; "keyDescri": { "alias": "keyDescri"; "required": false; "isSignal": true; }; "complemento": { "alias": "complemento"; "required": false; "isSignal": true; }; "isDesplegable": { "alias": "isDesplegable"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, { "emit": "emit"; "emitContent": "emitContent"; }, never, never, true, never>;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
declare class ItemDashboardGroupComponent {
|
|
453
|
+
data: _angular_core.InputSignal<DashboardItem[]>;
|
|
454
|
+
titulo: _angular_core.InputSignal<string>;
|
|
455
|
+
textClass: _angular_core.InputSignal<string>;
|
|
456
|
+
colorClass: _angular_core.InputSignal<string>;
|
|
457
|
+
keyValue: _angular_core.InputSignal<string>;
|
|
458
|
+
keyDescri: _angular_core.InputSignal<string>;
|
|
459
|
+
complemento: _angular_core.InputSignal<string>;
|
|
460
|
+
isDesplegable: _angular_core.InputSignal<boolean>;
|
|
461
|
+
isLoading: _angular_core.InputSignal<boolean>;
|
|
462
|
+
viewMode: _angular_core.InputSignal<ViewMode>;
|
|
463
|
+
showContent: _angular_core.WritableSignal<boolean>;
|
|
464
|
+
emit: _angular_core.OutputEmitterRef<DashboardItem>;
|
|
465
|
+
emitContent: _angular_core.OutputEmitterRef<string>;
|
|
466
|
+
dataGroup: _angular_core.Signal<Record<string, any[]>>;
|
|
467
|
+
filteredDataGroup: _angular_core.Signal<Record<string, any[]>>;
|
|
468
|
+
totalItems: _angular_core.Signal<any>;
|
|
469
|
+
maxValue: _angular_core.Signal<number>;
|
|
470
|
+
hasData: _angular_core.Signal<boolean>;
|
|
471
|
+
getPercent(item: any): number;
|
|
472
|
+
toggleMostrar(): void;
|
|
473
|
+
mover(item: DashboardItem): void;
|
|
474
|
+
private groupBy;
|
|
475
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ItemDashboardGroupComponent, never>;
|
|
476
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ItemDashboardGroupComponent, "app-item-dashboard-group", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "titulo": { "alias": "titulo"; "required": false; "isSignal": true; }; "textClass": { "alias": "textClass"; "required": false; "isSignal": true; }; "colorClass": { "alias": "colorClass"; "required": false; "isSignal": true; }; "keyValue": { "alias": "keyValue"; "required": false; "isSignal": true; }; "keyDescri": { "alias": "keyDescri"; "required": false; "isSignal": true; }; "complemento": { "alias": "complemento"; "required": false; "isSignal": true; }; "isDesplegable": { "alias": "isDesplegable"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, { "emit": "emit"; "emitContent": "emitContent"; }, never, never, true, never>;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
declare class DashboardChartDonutComponent {
|
|
480
|
+
textClass: _angular_core.InputSignal<string>;
|
|
481
|
+
complemento: _angular_core.InputSignal<string>;
|
|
482
|
+
data: _angular_core.InputSignal<any[]>;
|
|
483
|
+
keyValue: _angular_core.InputSignal<string>;
|
|
484
|
+
keyDescri: _angular_core.InputSignal<string>;
|
|
485
|
+
palette: _angular_core.InputSignal<string[]>;
|
|
486
|
+
clicked: _angular_core.OutputEmitterRef<DashboardItem>;
|
|
487
|
+
hoveredIndex: _angular_core.WritableSignal<number>;
|
|
488
|
+
private readonly C;
|
|
489
|
+
private readonly GAP;
|
|
490
|
+
donutSegments: _angular_core.Signal<DonutSegmentItem[]>;
|
|
491
|
+
centerDisplay: _angular_core.Signal<{
|
|
492
|
+
value: string;
|
|
493
|
+
sub: string;
|
|
494
|
+
}>;
|
|
495
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardChartDonutComponent, never>;
|
|
496
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardChartDonutComponent, "app-dashboard-chart-donut", never, { "textClass": { "alias": "textClass"; "required": false; "isSignal": true; }; "complemento": { "alias": "complemento"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "keyValue": { "alias": "keyValue"; "required": false; "isSignal": true; }; "keyDescri": { "alias": "keyDescri"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
interface HBarItem {
|
|
500
|
+
x: number;
|
|
501
|
+
y: number;
|
|
502
|
+
w: number;
|
|
503
|
+
barH: number;
|
|
504
|
+
cy: number;
|
|
505
|
+
tooltipX: number;
|
|
506
|
+
tooltipY: number;
|
|
507
|
+
value: number;
|
|
508
|
+
displayValue: string;
|
|
509
|
+
percent: string;
|
|
510
|
+
label: string;
|
|
511
|
+
color: string;
|
|
512
|
+
item: any;
|
|
513
|
+
}
|
|
514
|
+
interface HBarData {
|
|
515
|
+
bars: HBarItem[];
|
|
516
|
+
xTicks: {
|
|
517
|
+
val: number;
|
|
518
|
+
x: number;
|
|
519
|
+
}[];
|
|
520
|
+
svgW: number;
|
|
521
|
+
svgH: number;
|
|
522
|
+
axisY: number;
|
|
523
|
+
axisLft: number;
|
|
524
|
+
svgRgt: number;
|
|
525
|
+
svgTop: number;
|
|
526
|
+
}
|
|
527
|
+
declare class DashboardChartBarsComponent {
|
|
528
|
+
data: _angular_core.InputSignal<any[]>;
|
|
529
|
+
maxValue: _angular_core.InputSignal<number>;
|
|
530
|
+
keyValue: _angular_core.InputSignal<string>;
|
|
531
|
+
keyDescri: _angular_core.InputSignal<string>;
|
|
532
|
+
palette: _angular_core.InputSignal<string[]>;
|
|
533
|
+
textClass: _angular_core.InputSignal<string>;
|
|
534
|
+
complemento: _angular_core.InputSignal<string>;
|
|
535
|
+
clicked: _angular_core.OutputEmitterRef<DashboardItem>;
|
|
536
|
+
hoveredIndex: _angular_core.WritableSignal<number>;
|
|
537
|
+
chartData: _angular_core.Signal<HBarData>;
|
|
538
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardChartBarsComponent, never>;
|
|
539
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardChartBarsComponent, "app-dashboard-chart-bars", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "keyValue": { "alias": "keyValue"; "required": false; "isSignal": true; }; "keyDescri": { "alias": "keyDescri"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "textClass": { "alias": "textClass"; "required": false; "isSignal": true; }; "complemento": { "alias": "complemento"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
declare class DashboardViewSwitcherComponent {
|
|
543
|
+
viewMode: _angular_core.InputSignal<ViewMode>;
|
|
544
|
+
accentColor: _angular_core.InputSignal<string>;
|
|
545
|
+
viewModeChange: _angular_core.OutputEmitterRef<ViewMode>;
|
|
546
|
+
fabOpen: _angular_core.WritableSignal<boolean>;
|
|
547
|
+
fabRendered: _angular_core.WritableSignal<boolean>;
|
|
548
|
+
private closeTimer;
|
|
549
|
+
constructor();
|
|
550
|
+
setView(mode: ViewMode): void;
|
|
551
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardViewSwitcherComponent, never>;
|
|
552
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardViewSwitcherComponent, "app-dashboard-view-switcher", never, { "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "accentColor": { "alias": "accentColor"; "required": false; "isSignal": true; }; }, { "viewModeChange": "viewModeChange"; }, never, never, true, never>;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
declare class DetectorService {
|
|
556
|
+
private componenteActual;
|
|
557
|
+
setComponente(componente: string): void;
|
|
558
|
+
getComponente(): _angular_core.Signal<string>;
|
|
559
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetectorService, never>;
|
|
560
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DetectorService>;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
declare class MenuService {
|
|
564
|
+
private _openMenus;
|
|
565
|
+
openMenus: _angular_core.Signal<Map<number, string>>;
|
|
566
|
+
setOpenMenu(level: number, id: string | null): void;
|
|
567
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuService, never>;
|
|
568
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MenuService>;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
declare class HeaderUiService {
|
|
572
|
+
typeDocumento: _angular_core.WritableSignal<number>;
|
|
573
|
+
numintDocumento: _angular_core.WritableSignal<number>;
|
|
574
|
+
setTypeDocumento(value: number): void;
|
|
575
|
+
setNumintDocumento(value: number): void;
|
|
576
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeaderUiService, never>;
|
|
577
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<HeaderUiService>;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
export { BottomNavigationComponent, CHATBOT_CONFIG, ChatbotComponent, DashboardChartBarsComponent, DashboardChartDonutComponent, DashboardViewSwitcherComponent, DetectorService, EXTRALINK_OPENER, FullComponent, HeaderUiService, ItemDashboardComponent, ItemDashboardGroupComponent, MenuItemComponent, MenuService, NotFoundComponent, TABS_SYNC_PROVIDER, TabBarComponent, TabsService, VerticalHeaderComponent };
|
|
581
|
+
export type { AppTab, BottomNavItem, ChatMessage, ChatNode, ChatOption, ChatbotConfig, DashboardItem, DonutSegmentItem, ExtralinkOpener, RouteInfo, SessionData, TabsSyncProvider, VerticalHeaderAction, ViewMode };
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "layout-tsi",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "20.0.0-rc.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"@angular/router": "^
|
|
5
|
+
"@angular/common": "^20.0.0",
|
|
6
|
+
"@angular/core": "^20.0.0",
|
|
7
|
+
"@angular/router": "^20.0.0",
|
|
8
|
+
"rxjs": "^7.4.0"
|
|
8
9
|
},
|
|
9
10
|
"dependencies": {
|
|
10
11
|
"tslib": "^2.3.0"
|
|
@@ -21,4 +22,4 @@
|
|
|
21
22
|
"default": "./fesm2022/layout-tsi.mjs"
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
}
|
|
25
|
+
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface DashboardItem {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
GROUP?: string;
|
|
4
|
-
}
|
|
5
|
-
export type ViewMode = 'cards' | 'bars' | 'donut';
|
|
6
|
-
export interface DonutSegmentItem {
|
|
7
|
-
color: string;
|
|
8
|
-
strokeDasharray: string;
|
|
9
|
-
transform: string;
|
|
10
|
-
label: string;
|
|
11
|
-
value: number;
|
|
12
|
-
displayValue: string;
|
|
13
|
-
percent: string;
|
|
14
|
-
item: DashboardItem;
|
|
15
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface RouteInfo {
|
|
2
|
-
path: string;
|
|
3
|
-
title: string;
|
|
4
|
-
icon: string;
|
|
5
|
-
class?: string;
|
|
6
|
-
extralink: boolean;
|
|
7
|
-
label?: string;
|
|
8
|
-
labelClass?: string;
|
|
9
|
-
submenu?: RouteInfo[];
|
|
10
|
-
codacc?: number;
|
|
11
|
-
moduloID?: number;
|
|
12
|
-
routeName?: string;
|
|
13
|
-
accesoID?: number;
|
|
14
|
-
modal?: string;
|
|
15
|
-
rol?: number[];
|
|
16
|
-
}
|