@flusys/ng-layout 3.0.0 → 4.0.0-lts

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/package.json CHANGED
@@ -1,19 +1,20 @@
1
1
  {
2
2
  "name": "@flusys/ng-layout",
3
- "version": "3.0.0",
3
+ "version": "4.0.0-lts",
4
4
  "description": "Layout components for FLUSYS Angular applications",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
7
7
  "@angular/common": ">=21.0.0",
8
8
  "@angular/core": ">=21.0.0",
9
9
  "@angular/router": ">=21.0.0",
10
- "@flusys/ng-core": ">=3.0.0",
11
- "@flusys/ng-shared": ">=3.0.0",
10
+ "@flusys/ng-core": ">=4.0.0-lts",
11
+ "@flusys/ng-shared": ">=4.0.0-lts",
12
12
  "@primeuix/themes": ">=1.0.0",
13
13
  "primeicons": ">=7.0.0",
14
14
  "primeng": ">=21.0.0",
15
15
  "tailwindcss": ">=4.0.0",
16
- "tailwindcss-primeui": ">=0.6.0"
16
+ "tailwindcss-primeui": ">=0.6.0",
17
+ "rxjs": "^7.8.0"
17
18
  },
18
19
  "sideEffects": false,
19
20
  "module": "fesm2022/flusys-ng-layout.mjs",
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, InjectionToken } from '@angular/core';
2
+ import { Signal, InjectionToken, Type } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ILogicNode, IconTypeEnum } from '@flusys/ng-shared';
@@ -17,7 +17,10 @@ declare class AppFooter {
17
17
 
18
18
  interface ILauncherApp {
19
19
  id: string;
20
- name: string;
20
+ /** Display name (use nameKey for localization instead) */
21
+ name?: string;
22
+ /** Translation key for the name - preferred over name for localization */
23
+ nameKey?: string;
21
24
  iconType: IconTypeEnum;
22
25
  icon: string;
23
26
  url: string;
@@ -46,7 +49,10 @@ interface IUserInfo {
46
49
  }
47
50
  interface IMenuItem {
48
51
  id?: string;
52
+ /** Display label (use labelKey for localization instead) */
49
53
  label?: string;
54
+ /** Translation key for the label - preferred over label for localization */
55
+ labelKey?: string;
50
56
  icon?: string;
51
57
  iconType?: number;
52
58
  routerLink?: string[];
@@ -72,6 +78,10 @@ interface ILayoutAuthApi {
72
78
  }
73
79
  declare const LAYOUT_AUTH_STATE: InjectionToken<ILayoutAuthState>;
74
80
  declare const LAYOUT_AUTH_API: InjectionToken<ILayoutAuthApi>;
81
+ declare const LAYOUT_NOTIFICATION_BELL: InjectionToken<Type<unknown>>;
82
+ declare const LAYOUT_LANGUAGE_SELECTOR: InjectionToken<Type<unknown>>;
83
+ declare const LAYOUT_LANGUAGE_SELECTOR_PANEL: InjectionToken<Type<unknown>>;
84
+ declare const LAYOUT_IS_RTL: InjectionToken<Signal<boolean>>;
75
85
 
76
86
  interface LayoutConfig {
77
87
  preset?: string;
@@ -110,6 +120,7 @@ declare class LayoutService {
110
120
  private readonly isBrowser;
111
121
  private readonly persistence;
112
122
  private readonly appConfig;
123
+ private readonly translateAdapter;
113
124
  private readonly DEFAULT_CONFIG;
114
125
  private readonly DEFAULT_STATE;
115
126
  private readonly _layoutConfig;
@@ -246,17 +257,19 @@ declare type SurfacesType = {
246
257
  };
247
258
  declare class AppConfigurator {
248
259
  private readonly router;
260
+ private readonly translateAdapter;
249
261
  readonly layoutService: LayoutService;
250
262
  readonly presets: string[];
251
263
  readonly showMenuModeButton: _angular_core.WritableSignal<boolean>;
252
- readonly menuModeOptions: {
264
+ readonly menuModeOptions: _angular_core.Signal<{
253
265
  label: string;
254
266
  value: string;
255
- }[];
267
+ }[]>;
256
268
  constructor();
257
269
  readonly surfaces: SurfacesType[];
258
270
  readonly selectedPrimaryColor: _angular_core.Signal<string | undefined>;
259
271
  readonly selectedSurfaceColor: _angular_core.Signal<string | null | undefined>;
272
+ isSurfaceSelected(surfaceName: string | undefined): boolean;
260
273
  readonly selectedPreset: _angular_core.Signal<string | undefined>;
261
274
  readonly menuMode: _angular_core.Signal<"static" | "overlay" | undefined>;
262
275
  readonly primaryColors: _angular_core.Signal<SurfacesType[]>;
@@ -312,12 +325,14 @@ declare class AppConfigurator {
312
325
  applyTheme(type: string, color: SurfacesType): void;
313
326
  onPresetChange(event: string): void;
314
327
  onMenuModeChange(event: 'static' | 'overlay'): void;
328
+ private translate;
315
329
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppConfigurator, never>;
316
330
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppConfigurator, "app-configurator", never, {}, {}, never, never, true, never>;
317
331
  }
318
332
 
319
333
  declare class AppFloatingConfigurator {
320
334
  private readonly layoutService;
335
+ readonly languageSelectorPanel: _angular_core.Type<unknown> | null;
321
336
  readonly isDarkTheme: _angular_core.Signal<boolean | undefined>;
322
337
  toggleDarkMode(): void;
323
338
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppFloatingConfigurator, never>;
@@ -421,11 +436,13 @@ declare class AppTopbar {
421
436
  private readonly document;
422
437
  private readonly destroyRef;
423
438
  readonly layoutService: LayoutService;
439
+ readonly notificationBellComponent: _angular_core.Type<unknown> | null;
440
+ readonly languageSelectorComponent: _angular_core.Type<unknown> | null;
424
441
  private readonly configContainer;
425
442
  readonly activePanel: _angular_core.WritableSignal<ActivePanel>;
426
443
  constructor();
427
444
  readonly companyName: _angular_core.Signal<string>;
428
- readonly enableCompanyFeature: _angular_core.Signal<boolean>;
445
+ readonly enableCompanyFeature: boolean;
429
446
  toggleDarkMode(): void;
430
447
  togglePanel(panel: ActivePanel): void;
431
448
  private handleOutsideClick;
@@ -439,6 +456,7 @@ declare class AppCompanyBranchSelector {
439
456
  private readonly authState;
440
457
  private readonly authApi;
441
458
  private readonly messageService;
459
+ private readonly translateAdapter;
442
460
  private readonly document;
443
461
  private readonly elementRef;
444
462
  private readonly _isActive;
@@ -467,6 +485,7 @@ declare class AppCompanyBranchSelector {
467
485
  onBranchChange(branchId: string | null): void;
468
486
  private loadBranches;
469
487
  onSwitch(): void;
488
+ private translate;
470
489
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppCompanyBranchSelector, never>;
471
490
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppCompanyBranchSelector, "app-company-branch-selector", never, {}, {}, never, never, true, never>;
472
491
  }
@@ -490,6 +509,7 @@ declare class AppProfile {
490
509
  private readonly authApi;
491
510
  private readonly layoutService;
492
511
  private readonly messageService;
512
+ private readonly translateAdapter;
493
513
  private readonly document;
494
514
  private readonly elementRef;
495
515
  private readonly _isActive;
@@ -501,6 +521,7 @@ declare class AppProfile {
501
521
  readonly profilePicture: _angular_core.Signal<string>;
502
522
  logout(): void;
503
523
  copySignUpLink(): void;
524
+ private translate;
504
525
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppProfile, never>;
505
526
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppProfile, "app-profile", never, {}, {}, never, never, true, never>;
506
527
  }
@@ -530,5 +551,7 @@ declare const NavyBlueTheme: _primeuix_themes_types.Preset;
530
551
 
531
552
  declare const GreenTheme: _primeuix_themes_types.Preset;
532
553
 
533
- export { AppCompanyBranchSelector, AppConfigurator, AppFloatingConfigurator, AppFooter, AppLauncher, AppLayout, AppMenu, AppMenuitem, AppProfile, AppSidebar, AppTopbar, GreenTheme, LAYOUT_AUTH_API, LAYOUT_AUTH_STATE, LayoutPersistenceService, LayoutService, NavyBlueTheme, filterAppsByPermissions, filterMenuByPermissions };
554
+ declare const LAYOUT_MESSAGES: Record<string, string>;
555
+
556
+ export { AppCompanyBranchSelector, AppConfigurator, AppFloatingConfigurator, AppFooter, AppLauncher, AppLayout, AppMenu, AppMenuitem, AppProfile, AppSidebar, AppTopbar, GreenTheme, LAYOUT_AUTH_API, LAYOUT_AUTH_STATE, LAYOUT_IS_RTL, LAYOUT_LANGUAGE_SELECTOR, LAYOUT_LANGUAGE_SELECTOR_PANEL, LAYOUT_MESSAGES, LAYOUT_NOTIFICATION_BELL, LayoutPersistenceService, LayoutService, NavyBlueTheme, filterAppsByPermissions, filterMenuByPermissions };
534
557
  export type { CompanyProfile, DocumentWithViewTransition, IBranchInfo, ICompanyInfo, ILauncherApp, ILayoutAuthApi, ILayoutAuthState, IMenuItem, IUserInfo, LayoutConfig, LayoutState, MenuChangeEvent, UserProfile, ViewTransition };