sapenlinea-components 0.12.97 → 0.13.99
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/fesm2022/sapenlinea-components.mjs +937 -165
- package/fesm2022/sapenlinea-components.mjs.map +1 -1
- package/index.d.ts +306 -13
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { AfterViewInit, OnDestroy, QueryList, ElementRef, NgZone, OnInit, Type, OnChanges, EventEmitter, SimpleChanges } from '@angular/core';
|
|
3
|
+
import * as lucide_angular from 'lucide-angular';
|
|
3
4
|
import { LucideIconData } from 'lucide-angular';
|
|
4
5
|
import { ControlValueAccessor, FormGroup, AbstractControl, FormControl } from '@angular/forms';
|
|
5
6
|
import * as sapenlinea_components from 'sapenlinea-components';
|
|
@@ -1550,7 +1551,7 @@ declare class Button {
|
|
|
1550
1551
|
/** Ocupa todo el ancho del contenedor */
|
|
1551
1552
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
1552
1553
|
/** Tamaño del botón: por defecto (grande) o compacto */
|
|
1553
|
-
size: _angular_core.InputSignal<"
|
|
1554
|
+
size: _angular_core.InputSignal<"compact" | "default">;
|
|
1554
1555
|
/** Evento click del botón */
|
|
1555
1556
|
clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
1556
1557
|
handleClick(event: MouseEvent): void;
|
|
@@ -1639,16 +1640,23 @@ declare class OptionCard {
|
|
|
1639
1640
|
description: _angular_core.InputSignal<string>;
|
|
1640
1641
|
buttonBg: _angular_core.InputSignal<string | undefined>;
|
|
1641
1642
|
iconBg: _angular_core.InputSignal<string | undefined>;
|
|
1643
|
+
/** Clase CSS (`icon-*`) o valor Lucide (`lucide:nombre`). */
|
|
1644
|
+
icon: _angular_core.InputSignal<string>;
|
|
1642
1645
|
clickAction: _angular_core.OutputEmitterRef<void>;
|
|
1646
|
+
readonly hasIconInput: _angular_core.Signal<boolean>;
|
|
1647
|
+
readonly isLucideIcon: _angular_core.Signal<boolean>;
|
|
1648
|
+
readonly cssIconClass: _angular_core.Signal<string>;
|
|
1649
|
+
readonly lucideIcon: _angular_core.Signal<LucideIconData | null>;
|
|
1643
1650
|
onClick(): void;
|
|
1644
1651
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OptionCard, never>;
|
|
1645
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OptionCard, "lib-option-card", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "buttonBg": { "alias": "buttonBg"; "required": false; "isSignal": true; }; "iconBg": { "alias": "iconBg"; "required": false; "isSignal": true; }; }, { "clickAction": "clickAction"; }, never, ["[icon]"], true, never>;
|
|
1652
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OptionCard, "lib-option-card", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "buttonBg": { "alias": "buttonBg"; "required": false; "isSignal": true; }; "iconBg": { "alias": "iconBg"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "clickAction": "clickAction"; }, never, ["[icon]"], true, never>;
|
|
1646
1653
|
}
|
|
1647
1654
|
|
|
1648
1655
|
interface QuickAccessItem {
|
|
1649
1656
|
id: string;
|
|
1650
1657
|
label: string;
|
|
1651
1658
|
description: string;
|
|
1659
|
+
/** Clase CSS (`icon-*`) o valor Lucide (`lucide:nombre`) */
|
|
1652
1660
|
icon: string;
|
|
1653
1661
|
iconBg?: string;
|
|
1654
1662
|
}
|
|
@@ -2301,13 +2309,13 @@ declare class PdfViewer {
|
|
|
2301
2309
|
get isShowModal(): boolean;
|
|
2302
2310
|
doc: _angular_core.Signal<sapenlinea_components.FileViewerDoc | null>;
|
|
2303
2311
|
currentUrl: _angular_core.Signal<string>;
|
|
2312
|
+
safePdfUrl: _angular_core.Signal<SafeResourceUrl | null>;
|
|
2313
|
+
safeImageUrl: _angular_core.Signal<SafeUrl | null>;
|
|
2304
2314
|
hasMultiple: _angular_core.Signal<boolean>;
|
|
2305
2315
|
isImage: _angular_core.Signal<boolean>;
|
|
2306
2316
|
constructor();
|
|
2307
2317
|
prev(): void;
|
|
2308
2318
|
next(): void;
|
|
2309
|
-
getSafePdfUrl(url: string): SafeResourceUrl;
|
|
2310
|
-
getSafeImageUrl(url: string): SafeUrl;
|
|
2311
2319
|
closeModal(): void;
|
|
2312
2320
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfViewer, never>;
|
|
2313
2321
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdfViewer, "lib-pdf-viewer", never, {}, {}, never, never, true, never>;
|
|
@@ -2382,7 +2390,7 @@ declare class CardHistory {
|
|
|
2382
2390
|
historialEntry: _angular_core.InputSignal<HistorialEntry | undefined>;
|
|
2383
2391
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
2384
2392
|
withResponsible: _angular_core.InputSignal<boolean>;
|
|
2385
|
-
variant: _angular_core.InputSignal<"
|
|
2393
|
+
variant: _angular_core.InputSignal<"default" | "history">;
|
|
2386
2394
|
private months;
|
|
2387
2395
|
toggleExpanded(): void;
|
|
2388
2396
|
formatDate(isoDate: string): string;
|
|
@@ -2585,18 +2593,18 @@ interface ModuleData {
|
|
|
2585
2593
|
childOrder?: ModuleChildRef[];
|
|
2586
2594
|
}
|
|
2587
2595
|
interface ModuleEvent {
|
|
2588
|
-
type: 'moveUp' | 'moveDown' | 'edit' | 'delete' | 'visibleChange' | 'addApplicativo' | 'addSubmodule';
|
|
2596
|
+
type: 'moveUp' | 'moveDown' | 'reorder' | 'edit' | 'delete' | 'visibleChange' | 'addApplicativo' | 'addSubmodule';
|
|
2589
2597
|
moduleId: string | number;
|
|
2590
2598
|
data?: any;
|
|
2591
2599
|
}
|
|
2592
2600
|
interface SubmoduleEvent {
|
|
2593
|
-
type: 'moveUp' | 'moveDown' | 'edit' | 'delete' | 'visibleChange';
|
|
2601
|
+
type: 'moveUp' | 'moveDown' | 'reorder' | 'edit' | 'delete' | 'visibleChange';
|
|
2594
2602
|
submoduleId: string | number;
|
|
2595
2603
|
moduleId: string | number;
|
|
2596
2604
|
data?: any;
|
|
2597
2605
|
}
|
|
2598
2606
|
interface ApplicativoEvent {
|
|
2599
|
-
type: 'moveUp' | 'moveDown' | 'edit' | 'delete' | 'visibleChange' | 'addAction' | 'removeAction';
|
|
2607
|
+
type: 'moveUp' | 'moveDown' | 'reorder' | 'edit' | 'delete' | 'visibleChange' | 'addAction' | 'removeAction';
|
|
2600
2608
|
moduleId: string | number;
|
|
2601
2609
|
applicativoId: string | number;
|
|
2602
2610
|
submoduleId?: string | number | null;
|
|
@@ -2616,14 +2624,28 @@ declare class ModuleCard {
|
|
|
2616
2624
|
isFirst: _angular_core.InputSignal<boolean>;
|
|
2617
2625
|
/** true cuando este módulo es el último de la lista (deshabilita mover abajo) */
|
|
2618
2626
|
isLast: _angular_core.InputSignal<boolean>;
|
|
2627
|
+
/** Muestra el asa de arrastre en el encabezado del módulo (lo usa module-card-list). */
|
|
2628
|
+
showDragHandle: _angular_core.InputSignal<boolean>;
|
|
2619
2629
|
moduleEvent: _angular_core.OutputEmitterRef<ModuleEvent>;
|
|
2620
2630
|
submoduleEvent: _angular_core.OutputEmitterRef<SubmoduleEvent>;
|
|
2621
2631
|
applicativoEvent: _angular_core.OutputEmitterRef<ApplicativoEvent>;
|
|
2622
2632
|
childOrderChange: _angular_core.OutputEmitterRef<ModuleChildRef[]>;
|
|
2633
|
+
dragHandleDragStart: _angular_core.OutputEmitterRef<DragEvent>;
|
|
2634
|
+
dragHandleDragEnd: _angular_core.OutputEmitterRef<DragEvent>;
|
|
2623
2635
|
expanded: _angular_core.WritableSignal<boolean>;
|
|
2624
2636
|
expandedSubmodules: _angular_core.WritableSignal<Set<string | number>>;
|
|
2625
2637
|
expandedApplicativos: _angular_core.WritableSignal<Set<string | number>>;
|
|
2626
2638
|
private optimisticChildOrder;
|
|
2639
|
+
readonly draggingChildIndex: _angular_core.WritableSignal<number | null>;
|
|
2640
|
+
readonly dropChildIndex: _angular_core.WritableSignal<number | null>;
|
|
2641
|
+
readonly draggingSubApp: _angular_core.WritableSignal<{
|
|
2642
|
+
subId: string | number;
|
|
2643
|
+
index: number;
|
|
2644
|
+
} | null>;
|
|
2645
|
+
readonly dropSubApp: _angular_core.WritableSignal<{
|
|
2646
|
+
subId: string | number;
|
|
2647
|
+
index: number;
|
|
2648
|
+
} | null>;
|
|
2627
2649
|
moduleChildren: _angular_core.Signal<sapenlinea_components.ResolvedModuleChild[]>;
|
|
2628
2650
|
constructor();
|
|
2629
2651
|
toggleExpand(): void;
|
|
@@ -2632,10 +2654,27 @@ declare class ModuleCard {
|
|
|
2632
2654
|
toggleApplicativo(id: string | number): void;
|
|
2633
2655
|
isApplicativoExpanded(id: string | number): boolean;
|
|
2634
2656
|
moveChild(index: number, direction: 'up' | 'down'): void;
|
|
2657
|
+
moveChildTo(from: number, to: number): void;
|
|
2658
|
+
private applyChildReorder;
|
|
2659
|
+
onChildDragStart(event: DragEvent, index: number): void;
|
|
2660
|
+
onChildDragEnd(): void;
|
|
2661
|
+
onChildDragOver(event: DragEvent, index: number): void;
|
|
2662
|
+
onChildDrop(event: DragEvent, toIndex: number): void;
|
|
2663
|
+
onSubAppDragStart(event: DragEvent, subId: string | number, index: number): void;
|
|
2664
|
+
onSubAppDragEnd(): void;
|
|
2665
|
+
onSubAppDragOver(event: DragEvent, subId: string | number, index: number): void;
|
|
2666
|
+
onSubAppDrop(event: DragEvent, subId: string | number, toIndex: number): void;
|
|
2667
|
+
private getCurrentChildOrder;
|
|
2668
|
+
private reorderSubApp;
|
|
2635
2669
|
onDirectApplicativoEvent(event: ApplicativoEvent, index: number): void;
|
|
2636
|
-
|
|
2670
|
+
onDirectApplicativoDragStart(event: DragEvent, index: number): void;
|
|
2671
|
+
onDirectApplicativoDragEnd(): void;
|
|
2672
|
+
onDirectApplicativoDragOver(event: DragEvent, index: number): void;
|
|
2673
|
+
onDirectApplicativoDrop(event: DragEvent, index: number): void;
|
|
2674
|
+
onModuleDragHandleStart(event: DragEvent): void;
|
|
2675
|
+
onModuleDragHandleEnd(event: DragEvent): void;
|
|
2637
2676
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModuleCard, never>;
|
|
2638
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModuleCard, "lib-module-card", never, { "moduleId": { "alias": "moduleId"; "required": true; "isSignal": true; }; "moduleName": { "alias": "moduleName"; "required": true; "isSignal": true; }; "moduleIcon": { "alias": "moduleIcon"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "submodules": { "alias": "submodules"; "required": false; "isSignal": true; }; "aplicativos": { "alias": "aplicativos"; "required": false; "isSignal": true; }; "childOrder": { "alias": "childOrder"; "required": false; "isSignal": true; }; "isFirst": { "alias": "isFirst"; "required": false; "isSignal": true; }; "isLast": { "alias": "isLast"; "required": false; "isSignal": true; }; }, { "moduleEvent": "moduleEvent"; "submoduleEvent": "submoduleEvent"; "applicativoEvent": "applicativoEvent"; "childOrderChange": "childOrderChange"; }, never, never, true, never>;
|
|
2677
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModuleCard, "lib-module-card", never, { "moduleId": { "alias": "moduleId"; "required": true; "isSignal": true; }; "moduleName": { "alias": "moduleName"; "required": true; "isSignal": true; }; "moduleIcon": { "alias": "moduleIcon"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "submodules": { "alias": "submodules"; "required": false; "isSignal": true; }; "aplicativos": { "alias": "aplicativos"; "required": false; "isSignal": true; }; "childOrder": { "alias": "childOrder"; "required": false; "isSignal": true; }; "isFirst": { "alias": "isFirst"; "required": false; "isSignal": true; }; "isLast": { "alias": "isLast"; "required": false; "isSignal": true; }; "showDragHandle": { "alias": "showDragHandle"; "required": false; "isSignal": true; }; }, { "moduleEvent": "moduleEvent"; "submoduleEvent": "submoduleEvent"; "applicativoEvent": "applicativoEvent"; "childOrderChange": "childOrderChange"; "dragHandleDragStart": "dragHandleDragStart"; "dragHandleDragEnd": "dragHandleDragEnd"; }, never, never, true, never>;
|
|
2639
2678
|
}
|
|
2640
2679
|
|
|
2641
2680
|
declare class ModuleCardList {
|
|
@@ -2645,14 +2684,268 @@ declare class ModuleCardList {
|
|
|
2645
2684
|
moduleEvent: _angular_core.OutputEmitterRef<ModuleEvent>;
|
|
2646
2685
|
submoduleEvent: _angular_core.OutputEmitterRef<SubmoduleEvent>;
|
|
2647
2686
|
applicativoEvent: _angular_core.OutputEmitterRef<ApplicativoEvent>;
|
|
2687
|
+
readonly draggingModuleIndex: _angular_core.WritableSignal<number | null>;
|
|
2688
|
+
readonly dropModuleIndex: _angular_core.WritableSignal<number | null>;
|
|
2689
|
+
onModuleDragStart(event: DragEvent, index: number): void;
|
|
2690
|
+
onModuleDragEnd(): void;
|
|
2691
|
+
onModuleDragOver(event: DragEvent, index: number): void;
|
|
2692
|
+
onModuleDrop(event: DragEvent, toIndex: number): void;
|
|
2648
2693
|
onModuleEvent(event: ModuleEvent, index: number): void;
|
|
2649
2694
|
onChildOrderChange(moduleId: string | number, order: ModuleChildRef[]): void;
|
|
2650
2695
|
onSubmoduleEvent(event: SubmoduleEvent): void;
|
|
2651
2696
|
onApplicativoEvent(event: ApplicativoEvent): void;
|
|
2652
|
-
private
|
|
2697
|
+
private reorderModule;
|
|
2653
2698
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModuleCardList, never>;
|
|
2654
2699
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModuleCardList, "lib-module-card-list", never, { "modules": { "alias": "modules"; "required": false; "isSignal": true; }; }, { "modules": "modulesChange"; "moduleEvent": "moduleEvent"; "submoduleEvent": "submoduleEvent"; "applicativoEvent": "applicativoEvent"; }, never, never, true, never>;
|
|
2655
2700
|
}
|
|
2656
2701
|
|
|
2657
|
-
|
|
2658
|
-
|
|
2702
|
+
/**
|
|
2703
|
+
* Modelo de ítem del sidebar en runtime.
|
|
2704
|
+
* Alineado con la jerarquía de `ModuleData` (module-card) pero con datos de navegación.
|
|
2705
|
+
*/
|
|
2706
|
+
interface SidebarMenuItem {
|
|
2707
|
+
id: string | number;
|
|
2708
|
+
label: string;
|
|
2709
|
+
/** Mismo formato que module-card: `lucide:nombre` o clase CSS `icon-*` */
|
|
2710
|
+
icon?: string;
|
|
2711
|
+
route?: string;
|
|
2712
|
+
/** Si es `false`, el ítem no se muestra. Por defecto `true`. */
|
|
2713
|
+
visible?: boolean;
|
|
2714
|
+
isActive?: boolean;
|
|
2715
|
+
children?: SidebarMenuItem[];
|
|
2716
|
+
/**
|
|
2717
|
+
* Identificador de acción para ítems del menú de usuario
|
|
2718
|
+
* (ej. `settings`, `logout`). El contenedor decide qué hacer.
|
|
2719
|
+
*/
|
|
2720
|
+
action?: string;
|
|
2721
|
+
}
|
|
2722
|
+
type SidebarItemLevel = 'main' | 'child' | 'user';
|
|
2723
|
+
interface SidebarItemClickEvent {
|
|
2724
|
+
item: SidebarMenuItem;
|
|
2725
|
+
level: SidebarItemLevel;
|
|
2726
|
+
parent?: SidebarMenuItem;
|
|
2727
|
+
index: number;
|
|
2728
|
+
}
|
|
2729
|
+
interface SidebarNavigateEvent {
|
|
2730
|
+
route: string;
|
|
2731
|
+
item: SidebarMenuItem;
|
|
2732
|
+
level: SidebarItemLevel;
|
|
2733
|
+
parent?: SidebarMenuItem;
|
|
2734
|
+
}
|
|
2735
|
+
interface SidebarUserActionEvent {
|
|
2736
|
+
action: string;
|
|
2737
|
+
item: SidebarMenuItem;
|
|
2738
|
+
index: number;
|
|
2739
|
+
}
|
|
2740
|
+
/** Resuelve la ruta de un nodo del menú a partir de sus ids estables. */
|
|
2741
|
+
type SidebarRouteResolver = (ref: {
|
|
2742
|
+
moduleId?: string | number;
|
|
2743
|
+
submoduleId?: string | number;
|
|
2744
|
+
applicativoId?: string | number;
|
|
2745
|
+
}) => string | undefined;
|
|
2746
|
+
|
|
2747
|
+
/**
|
|
2748
|
+
* Convierte `ModuleData[]` (module-card / permisos) al modelo del sidebar.
|
|
2749
|
+
* Respeta `visible`, `childOrder` y la jerarquía módulo → submódulo → aplicativo.
|
|
2750
|
+
*/
|
|
2751
|
+
declare function mapModuleDataToSidebarItems(modules: ModuleData[], resolveRoute?: SidebarRouteResolver): SidebarMenuItem[];
|
|
2752
|
+
/** Filtra ítems no visibles en todos los niveles. */
|
|
2753
|
+
declare function filterVisibleSidebarItems(items: SidebarMenuItem[]): SidebarMenuItem[];
|
|
2754
|
+
/** Marca `isActive` según la URL actual (coincidencia por prefijo de ruta). */
|
|
2755
|
+
declare function markActiveSidebarItems(items: SidebarMenuItem[], url: string): SidebarMenuItem[];
|
|
2756
|
+
/** Abre el módulo y submódulo que contienen el ítem activo (solo uno de cada uno). */
|
|
2757
|
+
declare function getInitialOpenState(items: SidebarMenuItem[]): {
|
|
2758
|
+
modules: Record<string | number, boolean>;
|
|
2759
|
+
submodules: Record<string, boolean>;
|
|
2760
|
+
};
|
|
2761
|
+
declare function submoduleOpenKey(moduleId: string | number, submoduleId: string | number): string;
|
|
2762
|
+
|
|
2763
|
+
/**
|
|
2764
|
+
* Barra lateral reutilizable. Recibe ítems vía `@Input` y delega navegación/acciones
|
|
2765
|
+
* al contenedor mediante `@Output`. Compatible con la jerarquía de `ModuleData`
|
|
2766
|
+
* (module-card) usando `mapModuleDataToSidebarItems`.
|
|
2767
|
+
*/
|
|
2768
|
+
declare class Sidebar implements OnDestroy {
|
|
2769
|
+
private el;
|
|
2770
|
+
private router;
|
|
2771
|
+
private cdr;
|
|
2772
|
+
private menuScroll?;
|
|
2773
|
+
private hoverExpandTimer;
|
|
2774
|
+
private readonly isPinned;
|
|
2775
|
+
/** Ítems del menú principal (módulos del sidebar). */
|
|
2776
|
+
menuItems: _angular_core.InputSignal<SidebarMenuItem[]>;
|
|
2777
|
+
/** Ítems del pie (configuración, cerrar sesión, etc.). */
|
|
2778
|
+
userMenuItems: _angular_core.InputSignal<SidebarMenuItem[]>;
|
|
2779
|
+
/** Estado expandido/colapsado (two-way). */
|
|
2780
|
+
expanded: _angular_core.ModelSignal<boolean>;
|
|
2781
|
+
/** Si es `true`, navega con `Router` al hacer clic en ítems con `route`. */
|
|
2782
|
+
autoNavigate: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2783
|
+
closeOnNavigate: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2784
|
+
closeOnOutsideClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2785
|
+
closeOnEscape: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2786
|
+
/** Expande temporalmente al mantener el hover (solo si no está fijado). */
|
|
2787
|
+
hoverExpand: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2788
|
+
/** Retardo en ms antes de expandir por hover. */
|
|
2789
|
+
hoverExpandDelay: _angular_core.InputSignal<number>;
|
|
2790
|
+
/** Ancho del sidebar expandido. */
|
|
2791
|
+
expandedWidth: _angular_core.InputSignal<string>;
|
|
2792
|
+
/** Ancho del sidebar colapsado. */
|
|
2793
|
+
collapsedWidth: _angular_core.InputSignal<string>;
|
|
2794
|
+
/** Offset superior del sidebar (ej. altura del header). */
|
|
2795
|
+
topOffset: _angular_core.InputSignal<string>;
|
|
2796
|
+
/** `action` del menú de usuario que se muestra con color de peligro. */
|
|
2797
|
+
dangerAction: _angular_core.InputSignal<string>;
|
|
2798
|
+
dangerItemColor: _angular_core.InputSignal<string>;
|
|
2799
|
+
iconColor: _angular_core.InputSignal<string>;
|
|
2800
|
+
itemClick: _angular_core.OutputEmitterRef<SidebarItemClickEvent>;
|
|
2801
|
+
navigate: _angular_core.OutputEmitterRef<SidebarNavigateEvent>;
|
|
2802
|
+
userAction: _angular_core.OutputEmitterRef<SidebarUserActionEvent>;
|
|
2803
|
+
readonly icons: {
|
|
2804
|
+
menu: lucide_angular.LucideIconData;
|
|
2805
|
+
close: lucide_angular.LucideIconData;
|
|
2806
|
+
chevronDown: lucide_angular.LucideIconData;
|
|
2807
|
+
};
|
|
2808
|
+
openItems: _angular_core.WritableSignal<Record<string | number, boolean>>;
|
|
2809
|
+
openChildItems: _angular_core.WritableSignal<Record<string | number, boolean>>;
|
|
2810
|
+
constructor();
|
|
2811
|
+
isExpandable(item: SidebarMenuItem): boolean;
|
|
2812
|
+
ngOnDestroy(): void;
|
|
2813
|
+
onSidebarMouseEnter(): void;
|
|
2814
|
+
onSidebarMouseLeave(): void;
|
|
2815
|
+
private scheduleHoverExpand;
|
|
2816
|
+
private clearHoverExpandTimer;
|
|
2817
|
+
private expandTemporary;
|
|
2818
|
+
private pinExpand;
|
|
2819
|
+
private collapse;
|
|
2820
|
+
private scrollActiveItemIntoView;
|
|
2821
|
+
onDocumentClick(event: Event): void;
|
|
2822
|
+
onEscapePress(): void;
|
|
2823
|
+
toggleSidebar(): void;
|
|
2824
|
+
private closeIfNeeded;
|
|
2825
|
+
private emitNavigate;
|
|
2826
|
+
onMainItemClick(item: SidebarMenuItem, index: number): void;
|
|
2827
|
+
onChildItemClick(child: SidebarMenuItem, parent: SidebarMenuItem, index: number): void;
|
|
2828
|
+
onGrandchildItemClick(grandchild: SidebarMenuItem, child: SidebarMenuItem, parent: SidebarMenuItem, index: number): void;
|
|
2829
|
+
isChildOpen(child: SidebarMenuItem, parent: SidebarMenuItem): boolean;
|
|
2830
|
+
onUserItemClick(item: SidebarMenuItem, index: number): void;
|
|
2831
|
+
isDangerUserItem(item: SidebarMenuItem): boolean;
|
|
2832
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Sidebar, never>;
|
|
2833
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Sidebar, "lib-sidebar", never, { "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "userMenuItems": { "alias": "userMenuItems"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "autoNavigate": { "alias": "autoNavigate"; "required": false; "isSignal": true; }; "closeOnNavigate": { "alias": "closeOnNavigate"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "hoverExpand": { "alias": "hoverExpand"; "required": false; "isSignal": true; }; "hoverExpandDelay": { "alias": "hoverExpandDelay"; "required": false; "isSignal": true; }; "expandedWidth": { "alias": "expandedWidth"; "required": false; "isSignal": true; }; "collapsedWidth": { "alias": "collapsedWidth"; "required": false; "isSignal": true; }; "topOffset": { "alias": "topOffset"; "required": false; "isSignal": true; }; "dangerAction": { "alias": "dangerAction"; "required": false; "isSignal": true; }; "dangerItemColor": { "alias": "dangerItemColor"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "itemClick": "itemClick"; "navigate": "navigate"; "userAction": "userAction"; }, never, never, true, never>;
|
|
2834
|
+
}
|
|
2835
|
+
|
|
2836
|
+
/**
|
|
2837
|
+
* Estado compartido opcional del sidebar (expandido/colapsado).
|
|
2838
|
+
* El menú y la navegación los gestiona el contenedor vía inputs/outputs de `lib-sidebar`.
|
|
2839
|
+
*/
|
|
2840
|
+
declare class SidebarService {
|
|
2841
|
+
readonly sidebarExpanded: _angular_core.WritableSignal<boolean>;
|
|
2842
|
+
toggleSidebar(): void;
|
|
2843
|
+
openSidebar(): void;
|
|
2844
|
+
closeSidebar(): void;
|
|
2845
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarService, never>;
|
|
2846
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SidebarService>;
|
|
2847
|
+
}
|
|
2848
|
+
|
|
2849
|
+
interface LibNotification {
|
|
2850
|
+
id: string;
|
|
2851
|
+
title: string;
|
|
2852
|
+
description: string;
|
|
2853
|
+
category: string;
|
|
2854
|
+
timeAgo: string;
|
|
2855
|
+
isRead: boolean;
|
|
2856
|
+
}
|
|
2857
|
+
type CategoryKey = 'acuerdos' | 'financiero' | 'infracciones' | 'sistema' | 'default';
|
|
2858
|
+
declare class NotificationCenter {
|
|
2859
|
+
notifications: _angular_core.InputSignal<LibNotification[]>;
|
|
2860
|
+
isOpen: _angular_core.InputSignal<boolean>;
|
|
2861
|
+
/** Indica si hay una página de notificaciones cargándose en este momento. */
|
|
2862
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
2863
|
+
/** Indica si quedan más notificaciones por cargar desde el origen. */
|
|
2864
|
+
hasMore: _angular_core.InputSignal<boolean>;
|
|
2865
|
+
markAllRead: _angular_core.OutputEmitterRef<void>;
|
|
2866
|
+
notificationClick: _angular_core.OutputEmitterRef<LibNotification>;
|
|
2867
|
+
close: _angular_core.OutputEmitterRef<void>;
|
|
2868
|
+
/** Se emite cuando el usuario se acerca al final de la lista y debe cargarse la siguiente página. */
|
|
2869
|
+
loadMore: _angular_core.OutputEmitterRef<void>;
|
|
2870
|
+
scrollContainer: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
2871
|
+
sentinel: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
2872
|
+
selectedCategory: _angular_core.WritableSignal<string>;
|
|
2873
|
+
categories: _angular_core.Signal<string[]>;
|
|
2874
|
+
filteredNotifications: _angular_core.Signal<LibNotification[]>;
|
|
2875
|
+
unreadCount: _angular_core.Signal<number>;
|
|
2876
|
+
private readonly lightColors;
|
|
2877
|
+
private readonly darkColors;
|
|
2878
|
+
constructor();
|
|
2879
|
+
selectCategory(cat: string): void;
|
|
2880
|
+
onMarkAllRead(): void;
|
|
2881
|
+
onNotificationClick(n: LibNotification): void;
|
|
2882
|
+
/** Etiqueta legible para una pestaña de categoría (ej. "ACUERDOS DE PAGO" -> "Acuerdos de pago"). */
|
|
2883
|
+
tabLabel(category: string): string;
|
|
2884
|
+
/** Normaliza una categoría a una de las claves conocidas para color e icono. */
|
|
2885
|
+
categoryKey(category: string): CategoryKey;
|
|
2886
|
+
getCategoryLight(category: string): string;
|
|
2887
|
+
getCategoryDark(category: string): string;
|
|
2888
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationCenter, never>;
|
|
2889
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationCenter, "lib-notification-center", never, { "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; }, { "markAllRead": "markAllRead"; "notificationClick": "notificationClick"; "close": "close"; "loadMore": "loadMore"; }, never, never, true, never>;
|
|
2890
|
+
}
|
|
2891
|
+
|
|
2892
|
+
declare class Header {
|
|
2893
|
+
/**
|
|
2894
|
+
* Todas las entradas son opcionales para que el header funcione igual
|
|
2895
|
+
* como custom element, microfrontend con module-federation o dentro del
|
|
2896
|
+
* monolito, sin que el consumidor esté obligado a enlazar cada propiedad.
|
|
2897
|
+
*/
|
|
2898
|
+
isExpanded: _angular_core.InputSignal<boolean>;
|
|
2899
|
+
activeTitle: _angular_core.InputSignal<string>;
|
|
2900
|
+
mfId: _angular_core.InputSignal<string>;
|
|
2901
|
+
isMfFailed: _angular_core.InputSignal<boolean>;
|
|
2902
|
+
userRole: _angular_core.InputSignal<string>;
|
|
2903
|
+
/** Lista de notificaciones a mostrar en el centro de notificaciones. */
|
|
2904
|
+
notifications: _angular_core.InputSignal<LibNotification[]>;
|
|
2905
|
+
/** Indica si se está cargando una página de notificaciones. */
|
|
2906
|
+
notificationsLoading: _angular_core.InputSignal<boolean>;
|
|
2907
|
+
/** Indica si quedan más notificaciones por cargar desde el origen. */
|
|
2908
|
+
notificationsHasMore: _angular_core.InputSignal<boolean>;
|
|
2909
|
+
navigateTo: _angular_core.OutputEmitterRef<string>;
|
|
2910
|
+
menuClick: _angular_core.OutputEmitterRef<void>;
|
|
2911
|
+
profileClick: _angular_core.OutputEmitterRef<void>;
|
|
2912
|
+
logoutClick: _angular_core.OutputEmitterRef<void>;
|
|
2913
|
+
actionClick: _angular_core.OutputEmitterRef<string>;
|
|
2914
|
+
/** Eventos reenviados desde el centro de notificaciones. */
|
|
2915
|
+
markAllRead: _angular_core.OutputEmitterRef<void>;
|
|
2916
|
+
notificationClick: _angular_core.OutputEmitterRef<LibNotification>;
|
|
2917
|
+
/** Se emite cuando debe cargarse la siguiente página de notificaciones. */
|
|
2918
|
+
loadMoreNotifications: _angular_core.OutputEmitterRef<void>;
|
|
2919
|
+
isDropdownOpen: _angular_core.WritableSignal<boolean>;
|
|
2920
|
+
isNotifOpen: _angular_core.WritableSignal<boolean>;
|
|
2921
|
+
/** Cantidad de notificaciones no leídas, derivada de la lista. */
|
|
2922
|
+
unreadCount: _angular_core.Signal<number>;
|
|
2923
|
+
onMenuClick(): void;
|
|
2924
|
+
toggleDropdown(): void;
|
|
2925
|
+
toggleNotifications(): void;
|
|
2926
|
+
closeNotifications(): void;
|
|
2927
|
+
userProfile(): void;
|
|
2928
|
+
logout(): void;
|
|
2929
|
+
getMenuIcon(): "✕" | "☰";
|
|
2930
|
+
goToHome(): void;
|
|
2931
|
+
onActionClick(): void;
|
|
2932
|
+
getActionLabel(): string;
|
|
2933
|
+
hasAction(): boolean;
|
|
2934
|
+
onMarkAllRead(): void;
|
|
2935
|
+
onNotificationItemClick(notification: LibNotification): void;
|
|
2936
|
+
onLoadMoreNotifications(): void;
|
|
2937
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Header, never>;
|
|
2938
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Header, "lib-header", never, { "isExpanded": { "alias": "isExpanded"; "required": false; "isSignal": true; }; "activeTitle": { "alias": "activeTitle"; "required": false; "isSignal": true; }; "mfId": { "alias": "mfId"; "required": false; "isSignal": true; }; "isMfFailed": { "alias": "isMfFailed"; "required": false; "isSignal": true; }; "userRole": { "alias": "userRole"; "required": false; "isSignal": true; }; "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "notificationsLoading": { "alias": "notificationsLoading"; "required": false; "isSignal": true; }; "notificationsHasMore": { "alias": "notificationsHasMore"; "required": false; "isSignal": true; }; }, { "navigateTo": "navigateTo"; "menuClick": "menuClick"; "profileClick": "profileClick"; "logoutClick": "logoutClick"; "actionClick": "actionClick"; "markAllRead": "markAllRead"; "notificationClick": "notificationClick"; "loadMoreNotifications": "loadMoreNotifications"; }, never, never, true, never>;
|
|
2939
|
+
}
|
|
2940
|
+
|
|
2941
|
+
declare class BellWithBadge {
|
|
2942
|
+
count: _angular_core.InputSignal<number>;
|
|
2943
|
+
active: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2944
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
2945
|
+
bellClick: _angular_core.OutputEmitterRef<void>;
|
|
2946
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BellWithBadge, never>;
|
|
2947
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BellWithBadge, "lib-bell-with-badge", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "bellClick": "bellClick"; }, never, never, true, never>;
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
export { BarChart, BaseChart, BellWithBadge, Button, ButtonCards, CARD_BG, CSS_ICON_CATALOG, CardContent, CardHistory, ColorPicker, Colors, DEFAULT_ICON_PICKER_ICONS, DEFAULT_MODULE_ICONS, DEFAULT_ROLE_COLORS, DateTimeFilter, DateTimePicker, DevicesCarousel, DialogAlertComponent, DialogConfirmation, DocumentItem, DocumentUpload, DonutChart, DynamicFormFields, FeatureCard, Footer, GeoAPIMaps, Header, Heatmap, IconPicker, InfoGroup, Input, InputNumberFilter, InputSelectFilter, InputTextFilter, InputTimeFilter, KpiCard, LUCIDE_ICON_CATALOG, LineChart, LoadImage, Loader, MapGeo, ModalForm, ModuleCard, ModuleCardList, NotFoundModal, NotFoundSection, NotificationCenter, NotificationModal, OptionCard, PaginationComponent, PdfViewer, PdfViewerService, ProcessingOverlay, ProgressBar, ProgressFormService, QuickAccessCards, RolCard, SelectCustomSearch, SideCard, SideCardDetail, Sidebar, SidebarService, Signature, TOAST_EVENTS, Table, TableChart, Tabs, TitleFilters, Toast, ToastHelper, ToastService, ToggleCustom, UI_CHART_TOKENS, WizardForm, buildChildGridTemplateColumns, filterVisibleSidebarItems, getCssIconClass, getIconPickerOptionLabel, getInitialOpenState, getLucideIconName, getModuleChildOrder, getTableMinWidth, isLucideIconValue, isMultilineHeaderLabel, mapModuleDataToSidebarItems, markActiveSidebarItems, parseIconPickerValue, resolveIconKind, resolveModuleChildren, resolveTableColumnLayout, submoduleOpenKey, toIconPickerStoredValue, toLucidePascalCase };
|
|
2951
|
+
export type { ApplicativoEvent, BarSeries, CardBgPreset, ChartItem, ColumnGroup, ColumnGroupItem, ColumnWidthProfile, DataCard, DateFilterSelection, DateTimeMode, DeviceCard, DeviceStatus, DialogItem, DocumentInfo, Feature, FeatureType, FieldConfig, FileViewerDoc, FileViewerType, FilterItem, FilterOption, FilterType, GeoMapResponse, GeoPoint, GeoPointCameras, HeatmapConfig, HeatmapDataItem, HistorialEntry, Hour12, IconPickerOption, InfoItem, KpiColorType, LibNotification, LineSeries, MeasurementUnit, ModalFormStep, ModuleApplicativo, ModuleCardAction, ModuleChildRef, ModuleChildType, ModuleData, ModuleEvent, ModuleSubmodule, OpcionButtonVariant, Option, QuickAccessItem, ResolvedModuleChild, ResolvedTableColumnLayout, SectionConfig, SelectedDatesMap, SideCardItem, SideCardSection, SidebarItemClickEvent, SidebarItemLevel, SidebarMenuItem, SidebarNavigateEvent, SidebarRouteResolver, SidebarUserActionEvent, StatusTone, StatusToneMap, SubColumn, SubmoduleEvent, TabCardConfig, TabId, TabItem, TabSearchConfig, TabTogglesConfig, TableAction, TableColumn, TableIconButtonConfig, TableRow, TitleFilterConfig, ToastData, ToggleCustomChange, ToggleCustomKey };
|