structra-ui 0.2.49 → 0.2.51
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/structra-ui.mjs +345 -17
- package/fesm2022/structra-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/structra-ui.d.ts +21 -1
package/package.json
CHANGED
package/types/structra-ui.d.ts
CHANGED
|
@@ -3104,11 +3104,17 @@ declare class MenuListComponent<T = string> implements OnChanges {
|
|
|
3104
3104
|
groupCollapsible: boolean;
|
|
3105
3105
|
/** Repasse para {@link MenuListBodyComponent.groupDefaultExpansion}. */
|
|
3106
3106
|
groupDefaultExpansion: 'all' | 'first';
|
|
3107
|
+
/**
|
|
3108
|
+
* Quando `true` (omissão), abrir/fechar grupos colapsáveis persiste em `sessionStorage`
|
|
3109
|
+
* até ao refresh da página — útil na navegação SPA da sidebar.
|
|
3110
|
+
*/
|
|
3111
|
+
persistGroupExpansion: boolean;
|
|
3107
3112
|
searchable: boolean;
|
|
3108
3113
|
searchPlaceholder: string;
|
|
3109
3114
|
readonly itemSelect: EventEmitter<T>;
|
|
3110
3115
|
readonly closeRequest: EventEmitter<void>;
|
|
3111
3116
|
readonly submenuBack: EventEmitter<void>;
|
|
3117
|
+
readonly groupToggled: i0.OutputEmitterRef<number>;
|
|
3112
3118
|
private body?;
|
|
3113
3119
|
searchQuery: string;
|
|
3114
3120
|
displayItems: MenuNodeItem<T>[];
|
|
@@ -3121,11 +3127,12 @@ declare class MenuListComponent<T = string> implements OnChanges {
|
|
|
3121
3127
|
focusFirstOption(): void;
|
|
3122
3128
|
private syncDisplayItems;
|
|
3123
3129
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuListComponent<any>, never>;
|
|
3124
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MenuListComponent<any>, "app-menu-list", never, { "appTheme": { "alias": "appTheme"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; }; "menuId": { "alias": "menuId"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; "nested": { "alias": "nested"; "required": false; }; "selectedItemId": { "alias": "selectedItemId"; "required": false; }; "compressText": { "alias": "compressText"; "required": false; }; "clickToOpen": { "alias": "clickToOpen"; "required": false; }; "groupCollapsible": { "alias": "groupCollapsible"; "required": false; }; "groupDefaultExpansion": { "alias": "groupDefaultExpansion"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; }, { "itemSelect": "itemSelect"; "closeRequest": "closeRequest"; "submenuBack": "submenuBack"; }, never, never, true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
|
|
3130
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuListComponent<any>, "app-menu-list", never, { "appTheme": { "alias": "appTheme"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; }; "menuId": { "alias": "menuId"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; "nested": { "alias": "nested"; "required": false; }; "selectedItemId": { "alias": "selectedItemId"; "required": false; }; "compressText": { "alias": "compressText"; "required": false; }; "clickToOpen": { "alias": "clickToOpen"; "required": false; }; "groupCollapsible": { "alias": "groupCollapsible"; "required": false; }; "groupDefaultExpansion": { "alias": "groupDefaultExpansion"; "required": false; }; "persistGroupExpansion": { "alias": "persistGroupExpansion"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; }, { "itemSelect": "itemSelect"; "closeRequest": "closeRequest"; "submenuBack": "submenuBack"; "groupToggled": "groupToggled"; }, never, never, true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
|
|
3125
3131
|
static ngAcceptInputType_dense: unknown;
|
|
3126
3132
|
static ngAcceptInputType_nested: unknown;
|
|
3127
3133
|
static ngAcceptInputType_compressText: unknown;
|
|
3128
3134
|
static ngAcceptInputType_groupCollapsible: unknown;
|
|
3135
|
+
static ngAcceptInputType_persistGroupExpansion: unknown;
|
|
3129
3136
|
static ngAcceptInputType_searchable: unknown;
|
|
3130
3137
|
}
|
|
3131
3138
|
|
|
@@ -3457,9 +3464,22 @@ declare class AppSidebarComponent<T extends string = string> implements OnChange
|
|
|
3457
3464
|
*/
|
|
3458
3465
|
readonly listCompressText: i0.WritableSignal<boolean>;
|
|
3459
3466
|
private listRevealTimeoutId;
|
|
3467
|
+
private scrollRestoreTimeoutId;
|
|
3460
3468
|
constructor();
|
|
3461
3469
|
ngAfterViewInit(): void;
|
|
3462
3470
|
ngOnChanges(changes: SimpleChanges): void;
|
|
3471
|
+
/**
|
|
3472
|
+
* Garante que o item `--selected` fica inteiro na área útil (margem + cabeçalho sticky),
|
|
3473
|
+
* com ~½ da opção vizinha visível quando há scroll, e movimento suave.
|
|
3474
|
+
*/
|
|
3475
|
+
private scrollSidebarToSelectedItem;
|
|
3476
|
+
/** Após clicar num grupo colapsável: leva o cabeçalho do grupo para a zona visível (como o item seleccionado). */
|
|
3477
|
+
onMenuGroupToggled(groupId: number): void;
|
|
3478
|
+
private scrollSidebarScrollAreaToElement;
|
|
3479
|
+
/**
|
|
3480
|
+
* Metade da altura da linha vizinha (opção ou cabeçalho de grupo) na mesma lista (fallback em px).
|
|
3481
|
+
*/
|
|
3482
|
+
private getMenuNeighborPeekHalfHeights;
|
|
3463
3483
|
private clearListRevealTimeout;
|
|
3464
3484
|
private scheduleSidebarHeadLayoutGuards;
|
|
3465
3485
|
private applySidebarHeadLayoutGuards;
|