@flusys/ng-layout 5.4.1 → 6.0.0-beta.1

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,16 @@
1
1
  {
2
2
  "name": "@flusys/ng-layout",
3
- "version": "5.4.1",
3
+ "version": "6.0.0-beta.1",
4
4
  "description": "Layout components for FLUSYS Angular applications",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
7
- "@angular/common": ">=21.0.0",
8
- "@angular/core": ">=21.0.0",
9
- "@angular/router": ">=21.0.0",
10
- "@flusys/ng-core": ">=5.4.1",
11
- "@flusys/ng-shared": ">=5.4.1",
12
- "@primeuix/themes": ">=1.0.0",
13
- "primeicons": ">=7.0.0",
14
- "primeng": ">=21.0.0",
7
+ "@angular/common": ">=22.0.0",
8
+ "@angular/core": ">=22.0.0",
9
+ "@angular/router": ">=22.0.0",
10
+ "@flusys/ng-core": ">=6.0.0-beta.1",
11
+ "@flusys/ng-shared": ">=6.0.0-beta.1",
12
+ "@flusys/ng-ui": ">=6.0.0-beta.1",
15
13
  "tailwindcss": ">=4.0.0",
16
- "tailwindcss-primeui": ">=0.6.0",
17
14
  "rxjs": "^7.8.0"
18
15
  },
19
16
  "sideEffects": false,
@@ -28,6 +25,7 @@
28
25
  "default": "./fesm2022/flusys-ng-layout.mjs"
29
26
  }
30
27
  },
28
+ "type": "module",
31
29
  "dependencies": {
32
30
  "tslib": "^2.3.0"
33
31
  }
@@ -1,11 +1,12 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, InjectionToken, Type } from '@angular/core';
3
+ import { PresetName, ApplyThemeOptions } from '@flusys/ng-ui';
4
+ export { ApplyThemeOptions, applyTheme, buildBootstrapPreset } from '@flusys/ng-ui';
3
5
  import * as rxjs from 'rxjs';
4
6
  import { Observable } from 'rxjs';
5
7
  import { LayoutConfig } from '@flusys/ng-core';
6
8
  import { ILogicNode, IconTypeEnum } from '@flusys/ng-shared';
7
9
  import * as _flusys_ng_layout from '@flusys/ng-layout';
8
- import * as _primeuix_themes_types from '@primeuix/themes/types';
9
10
 
10
11
  declare class AppFooter {
11
12
  private readonly layoutService;
@@ -24,7 +25,7 @@ interface ILauncherApp {
24
25
  name?: string;
25
26
  /** Translation key for the name - preferred over name for localization */
26
27
  nameKey?: string;
27
- iconType: IconTypeEnum;
28
+ iconType?: IconTypeEnum;
28
29
  icon: string;
29
30
  url: string;
30
31
  /** Optional permission logic - if set, app only visible when logic passes */
@@ -73,9 +74,9 @@ interface ILayoutAuthState {
73
74
  loginUserData: Signal<IUserInfo | null>;
74
75
  }
75
76
  interface ILayoutAuthApi {
76
- logOut(): Observable<any>;
77
+ logOut(): Observable<unknown>;
77
78
  navigateLogin(withUrl?: boolean): void;
78
- switchCompany(companyId: string, branchId: string): Observable<any>;
79
+ switchCompany(companyId: string, branchId: string): Observable<unknown>;
79
80
  getUserCompanies(): Observable<ICompanyInfo[]>;
80
81
  getCompanyBranches(companyId: string): Observable<IBranchInfo[]>;
81
82
  }
@@ -142,6 +143,8 @@ declare class LayoutService {
142
143
  private readonly _rawMenu;
143
144
  private readonly _rawApps;
144
145
  private readonly permissionValidator;
146
+ private readonly destroyRef;
147
+ private readonly _windowWidth;
145
148
  readonly userProfile: _angular_core.Signal<UserProfile | null>;
146
149
  readonly companyProfile: _angular_core.Signal<CompanyProfile | null>;
147
150
  readonly appName: string;
@@ -153,6 +156,8 @@ declare class LayoutService {
153
156
  readonly apps: _angular_core.Signal<ILauncherApp[]>;
154
157
  readonly hasApps: _angular_core.Signal<boolean>;
155
158
  readonly isSidebarActive: _angular_core.Signal<boolean | undefined>;
159
+ readonly isDesktop: _angular_core.Signal<boolean>;
160
+ readonly isMobile: _angular_core.Signal<boolean>;
156
161
  readonly isDarkTheme: _angular_core.Signal<boolean | undefined>;
157
162
  readonly isOverlay: _angular_core.Signal<boolean>;
158
163
  readonly isTopbar: _angular_core.Signal<boolean>;
@@ -176,8 +181,6 @@ declare class LayoutService {
176
181
  private handleDarkModeTransition;
177
182
  private onTransitionEnd;
178
183
  onMenuToggle(): void;
179
- isDesktop(): boolean;
180
- isMobile(): boolean;
181
184
  onMenuStateChange(event: MenuChangeEvent): void;
182
185
  reset(): void;
183
186
  updateLayoutConfig(config: Partial<LayoutConfig>): void;
@@ -227,7 +230,7 @@ declare class AppConfigurator {
227
230
  private readonly translateAdapter;
228
231
  private readonly platformId;
229
232
  readonly layoutService: LayoutService;
230
- readonly presets: string[];
233
+ readonly presets: PresetName[];
231
234
  readonly showMenuModeButton: _angular_core.WritableSignal<boolean>;
232
235
  readonly menuModeOptions: _angular_core.Signal<{
233
236
  label: string;
@@ -241,43 +244,8 @@ declare class AppConfigurator {
241
244
  readonly selectedPreset: _angular_core.Signal<string | undefined>;
242
245
  readonly menuMode: _angular_core.Signal<"static" | "overlay" | "topbar" | undefined>;
243
246
  readonly primaryColors: _angular_core.Signal<SurfacesType[]>;
244
- getPresetExt(): {
245
- semantic: {
246
- primary: object;
247
- colorScheme: {
248
- light: {
249
- primary: {
250
- color: string;
251
- contrastColor: string;
252
- hoverColor: string;
253
- activeColor: string;
254
- };
255
- highlight: {
256
- background: string;
257
- focusBackground: string;
258
- color: string;
259
- focusColor: string;
260
- };
261
- };
262
- dark: {
263
- primary: {
264
- color: string;
265
- contrastColor: string;
266
- hoverColor: string;
267
- activeColor: string;
268
- };
269
- highlight: {
270
- background: string;
271
- focusBackground: string;
272
- color: string;
273
- focusColor: string;
274
- };
275
- };
276
- };
277
- };
278
- };
279
247
  updateColors(event: MouseEvent, type: string, color: SurfacesType): void;
280
- private applyTheme;
248
+ private _applyColorChange;
281
249
  onPresetChange(event: string): void;
282
250
  onMenuModeChange(event: 'static' | 'overlay' | 'topbar'): void;
283
251
  private translate;
@@ -306,15 +274,13 @@ declare class AppLayout {
306
274
  hideMenu(): void;
307
275
  blockBodyScroll(): void;
308
276
  unblockBodyScroll(): void;
309
- readonly containerClass: _angular_core.Signal<{
310
- 'layout-overlay': boolean;
311
- 'layout-static': boolean;
312
- 'layout-topbar-mode': boolean;
313
- 'layout-static-inactive': boolean | undefined;
314
- 'layout-overlay-active': boolean | undefined;
315
- 'layout-mobile-active': boolean | undefined;
316
- 'layout-topbar-nav-hidden': boolean;
317
- }>;
277
+ readonly isOverlay: _angular_core.Signal<boolean>;
278
+ readonly isStatic: _angular_core.Signal<boolean>;
279
+ readonly isTopbarMode: _angular_core.Signal<boolean>;
280
+ readonly isStaticInactive: _angular_core.Signal<boolean | undefined>;
281
+ readonly isOverlayActive: _angular_core.Signal<boolean | undefined>;
282
+ readonly isMobileActive: _angular_core.Signal<boolean | undefined>;
283
+ readonly isTopbarNavHidden: _angular_core.Signal<boolean>;
318
284
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppLayout, never>;
319
285
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppLayout, "app-layout", never, {}, {}, never, never, true, never>;
320
286
  }
@@ -456,14 +422,14 @@ declare class AppCompanyBranchSelector {
456
422
  }
457
423
 
458
424
  declare class AppLauncher {
425
+ readonly layoutService: LayoutService;
459
426
  private readonly destroyRef;
460
427
  private readonly document;
461
428
  private readonly elementRef;
462
- readonly layoutService: LayoutService;
463
429
  private readonly _isActive;
464
430
  readonly isActive: _angular_core.Signal<boolean>;
465
431
  constructor();
466
- togglePanel(): void;
432
+ toggleActive(): void;
467
433
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppLauncher, never>;
468
434
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppLauncher, "app-launcher", never, {}, {}, never, never, true, never>;
469
435
  }
@@ -542,53 +508,13 @@ declare function filterAppsByPermissions(apps: ILauncherApp[], permissionCodes:
542
508
  */
543
509
  declare function filterMenuByPermissions(items: IMenuItem[], permissionCode: string[]): IMenuItem[];
544
510
 
545
- declare function buildSemanticExt(palette: object | null, presetName: string): {
546
- semantic: {
547
- primary: object;
548
- colorScheme: {
549
- light: {
550
- primary: {
551
- color: string;
552
- contrastColor: string;
553
- hoverColor: string;
554
- activeColor: string;
555
- };
556
- highlight: {
557
- background: string;
558
- focusBackground: string;
559
- color: string;
560
- focusColor: string;
561
- };
562
- };
563
- dark: {
564
- primary: {
565
- color: string;
566
- contrastColor: string;
567
- hoverColor: string;
568
- activeColor: string;
569
- };
570
- highlight: {
571
- background: string;
572
- focusBackground: string;
573
- color: string;
574
- focusColor: string;
575
- };
576
- };
577
- };
578
- };
579
- };
580
- declare function buildPreset(presetName: string, primary: string): _primeuix_themes_types.Preset;
581
- declare function buildBootstrapPreset(envConfig?: {
582
- preset?: string;
583
- primary?: string;
584
- isMemorable?: boolean;
585
- }): _primeuix_themes_types.Preset;
511
+ declare function buildPreset(presetName: string, primary: string): ApplyThemeOptions;
586
512
 
587
- declare const NavyBlueTheme: _primeuix_themes_types.Preset;
513
+ declare const NavyBlueTheme: ApplyThemeOptions;
588
514
 
589
- declare const GreenTheme: _primeuix_themes_types.Preset;
515
+ declare const GreenTheme: ApplyThemeOptions;
590
516
 
591
517
  declare const LAYOUT_MESSAGES: Record<string, string>;
592
518
 
593
- export { AppCompanyBranchSelector, AppConfigurator, AppFloatingConfigurator, AppFooter, AppLauncher, AppLayout, AppMenu, AppMenuitem, AppProfile, AppSearchbar, AppSidebar, AppTopbar, GreenTheme, LAYOUT_AUTH_API, LAYOUT_AUTH_STATE, LAYOUT_IS_RTL, LAYOUT_LANGUAGE_SELECTOR, LAYOUT_LANGUAGE_SELECTOR_PANEL, LAYOUT_MESSAGES, LAYOUT_NOTIFICATION_BELL, LAYOUT_SEARCHBAR, LAYOUT_SEARCH_ADAPTER, LayoutPersistenceService, LayoutService, NavyBlueTheme, buildBootstrapPreset, buildPreset, buildSemanticExt, filterAppsByPermissions, filterMenuByPermissions };
519
+ export { AppCompanyBranchSelector, AppConfigurator, AppFloatingConfigurator, AppFooter, AppLauncher, AppLayout, AppMenu, AppMenuitem, AppProfile, AppSearchbar, AppSidebar, AppTopbar, GreenTheme, LAYOUT_AUTH_API, LAYOUT_AUTH_STATE, LAYOUT_IS_RTL, LAYOUT_LANGUAGE_SELECTOR, LAYOUT_LANGUAGE_SELECTOR_PANEL, LAYOUT_MESSAGES, LAYOUT_NOTIFICATION_BELL, LAYOUT_SEARCHBAR, LAYOUT_SEARCH_ADAPTER, LayoutPersistenceService, LayoutService, NavyBlueTheme, buildPreset, filterAppsByPermissions, filterMenuByPermissions };
594
520
  export type { CompanyProfile, DocumentWithViewTransition, IBranchInfo, ICompanyInfo, ILauncherApp, ILayoutAuthApi, ILayoutAuthState, IMenuItem, ISearchAdapter, ISearchSuggestion, IUserInfo, LayoutState, MenuChangeEvent, UserProfile, ViewTransition };