@taon-dev/ui 21.0.12 → 21.0.13

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.
Files changed (85) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/ui-browser.mjs +140 -27
  3. package/browser/fesm2022/ui-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/ui-browser.d.ts +40 -11
  6. package/browser-prod/fesm2022/ui-browser-prod.mjs +140 -27
  7. package/browser-prod/fesm2022/ui-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/ui-browser-prod.d.ts +40 -11
  10. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  11. package/full-dts/index._auto-generated_.d.ts +1 -0
  12. package/full-dts/taon-admin-layout/taon-admin-layout.component.d.ts +2 -0
  13. package/full-dts/taon-admin-layout/taon-admin-layout.models.d.ts +15 -5
  14. package/full-dts/taon-admin-layout/taon-admin-menu-context.d.ts +9 -0
  15. package/full-dts/taon-admin-layout/taon-admin-page-tabs.component.d.ts +2 -0
  16. package/full-dts/taon-draggable-button-panel/taon-draggable-button-panel.component.d.ts +8 -2
  17. package/html/assets/generated/pwa/html-pwa.html +53 -53
  18. package/html/lib/taon-admin-layout/taon-admin-layout.component.html +106 -67
  19. package/html/lib/taon-admin-layout/taon-admin-page-tabs.component.html +12 -7
  20. package/html/lib/taon-draggable-button-panel/taon-draggable-button-panel.component.html +100 -88
  21. package/lib/build-info._auto-generated_.d.ts +1 -1
  22. package/lib/build-info._auto-generated_.js +1 -1
  23. package/lib/index._auto-generated_.d.ts +1 -0
  24. package/lib/index._auto-generated_.js +1 -0
  25. package/lib/index._auto-generated_.js.map +1 -1
  26. package/lib/package.json +1 -1
  27. package/lib/taon-admin-layout/index.d.ts +1 -1
  28. package/lib/taon-admin-layout/index.js +2 -2
  29. package/lib/taon-admin-layout/taon-admin-layout.models.d.ts +12 -5
  30. package/lib/taon-admin-layout/taon-admin-layout.models.js +35 -16
  31. package/lib/taon-admin-layout/taon-admin-layout.models.js.map +1 -1
  32. package/lib/taon-admin-layout/taon-admin-menu-context.d.ts +8 -0
  33. package/lib/taon-admin-layout/taon-admin-menu-context.js +36 -0
  34. package/lib/taon-admin-layout/taon-admin-menu-context.js.map +1 -0
  35. package/lib/taon-datatable/index.d.ts +1 -1
  36. package/lib/taon-datatable/index.js +2 -2
  37. package/lib/taon-draggable-button-panel/index.d.ts +1 -1
  38. package/lib/taon-draggable-button-panel/index.js +2 -2
  39. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  40. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  41. package/lib-esm/lib/index._auto-generated_.d.ts +1 -0
  42. package/lib-esm/lib/index._auto-generated_.js +1 -0
  43. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  44. package/lib-esm/lib/taon-admin-layout/index.d.ts +1 -1
  45. package/lib-esm/lib/taon-admin-layout/index.js +1 -1
  46. package/lib-esm/lib/taon-admin-layout/taon-admin-layout.models.d.ts +12 -5
  47. package/lib-esm/lib/taon-admin-layout/taon-admin-layout.models.js +35 -15
  48. package/lib-esm/lib/taon-admin-layout/taon-admin-layout.models.js.map +1 -1
  49. package/lib-esm/lib/taon-admin-layout/taon-admin-menu-context.d.ts +8 -0
  50. package/lib-esm/lib/taon-admin-layout/taon-admin-menu-context.js +27 -0
  51. package/lib-esm/lib/taon-admin-layout/taon-admin-menu-context.js.map +1 -0
  52. package/lib-esm/lib/taon-datatable/index.d.ts +1 -1
  53. package/lib-esm/lib/taon-datatable/index.js +1 -1
  54. package/lib-esm/lib/taon-draggable-button-panel/index.d.ts +1 -1
  55. package/lib-esm/lib/taon-draggable-button-panel/index.js +1 -1
  56. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  57. package/lib-prod/build-info._auto-generated_.js +1 -1
  58. package/lib-prod/index._auto-generated_.d.ts +1 -0
  59. package/lib-prod/index._auto-generated_.js +1 -0
  60. package/lib-prod/index._auto-generated_.js.map +1 -1
  61. package/lib-prod/package.json +1 -1
  62. package/lib-prod/taon-admin-layout/index.d.ts +1 -1
  63. package/lib-prod/taon-admin-layout/index.js +1 -1
  64. package/lib-prod/taon-admin-layout/taon-admin-layout.models.d.ts +12 -5
  65. package/lib-prod/taon-admin-layout/taon-admin-layout.models.js +35 -15
  66. package/lib-prod/taon-admin-layout/taon-admin-layout.models.js.map +1 -1
  67. package/lib-prod/taon-admin-layout/taon-admin-menu-context.d.ts +8 -0
  68. package/lib-prod/taon-admin-layout/taon-admin-menu-context.js +27 -0
  69. package/lib-prod/taon-admin-layout/taon-admin-menu-context.js.map +1 -0
  70. package/lib-prod/taon-datatable/index.d.ts +1 -1
  71. package/lib-prod/taon-datatable/index.js +1 -1
  72. package/lib-prod/taon-draggable-button-panel/index.d.ts +1 -1
  73. package/lib-prod/taon-draggable-button-panel/index.js +1 -1
  74. package/package.json +1 -1
  75. package/scss/lib/taon-admin-layout/taon-admin-layout.component.scss +5 -0
  76. package/scss/lib/taon-admin-layout/taon-admin-page-tabs.component.scss +8 -1
  77. package/scss/lib/taon-draggable-button-panel/taon-draggable-button-panel.component.scss +6 -3
  78. package/websql/fesm2022/ui-websql.mjs +140 -27
  79. package/websql/fesm2022/ui-websql.mjs.map +1 -1
  80. package/websql/package.json +1 -1
  81. package/websql/types/ui-websql.d.ts +40 -11
  82. package/websql-prod/fesm2022/ui-websql-prod.mjs +140 -27
  83. package/websql-prod/fesm2022/ui-websql-prod.mjs.map +1 -1
  84. package/websql-prod/package.json +1 -1
  85. package/websql-prod/types/ui-websql-prod.d.ts +40 -11
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taon-dev/ui/browser-prod",
3
- "version": "21.0.12",
3
+ "version": "21.0.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -2,7 +2,8 @@
2
2
  import * as i0 from '@angular/core';
3
3
  import { AfterViewInit, OnDestroy, OnInit, ElementRef, TemplateRef, EventEmitter } from '@angular/core';
4
4
  import { CoreModels__NS__DeepPartial } from 'tnp-core/browser-prod';
5
- import { Routes, Route, Router, RouterOutlet } from '@angular/router';
5
+ import { Route, Routes, Router, RouterOutlet } from '@angular/router';
6
+ import { MatIcon } from '@angular/material/icon';
6
7
  import { Translation } from '@taon-dev/i18n/browser-prod';
7
8
  import { HttpResponseError, RestErrorResponseWrapper } from 'ng2-rest/browser-prod';
8
9
  import * as _ngneat_hot_toast from '@ngneat/hot-toast';
@@ -34,7 +35,7 @@ declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
34
35
  /**
35
36
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
36
37
  */
37
- declare const CURRENT_PACKAGE_VERSION = "21.0.12";
38
+ declare const CURRENT_PACKAGE_VERSION = "21.0.13";
38
39
 
39
40
  declare function myOrgProj(): void;
40
41
 
@@ -78,9 +79,20 @@ interface PlPlTraslationOverrideSrcLibMyOrganizationProjTs {
78
79
 
79
80
  type LibOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs | PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;
80
81
 
82
+ declare class TaonAdminMenuContext {
83
+ readonly context: i0.WritableSignal<unknown>;
84
+ isVisible(route: Route): boolean;
85
+ isDisabled(route: Route): boolean;
86
+ disabledTooltip(route: Route): string;
87
+ private callbacks;
88
+ static ɵfac: i0.ɵɵFactoryDeclaration<TaonAdminMenuContext, never>;
89
+ static ɵprov: i0.ɵɵInjectableDeclaration<TaonAdminMenuContext>;
90
+ }
91
+
81
92
  declare class TaonAdminLayoutComponent implements OnInit, AfterViewInit, OnDestroy {
82
93
  private readonly router;
83
94
  private readonly hostElement;
95
+ protected readonly menuContext: TaonAdminMenuContext;
84
96
  routes: Routes;
85
97
  basePath: string;
86
98
  outlet: string;
@@ -155,18 +167,28 @@ interface TaonAdminRoute extends Route {
155
167
  loadAdminChildren?: () => Promise<TaonAdminRoutes>;
156
168
  }
157
169
  type TaonAdminRoutes = TaonAdminRoute[];
158
- type MaterialIcon = 'manage_accounts' | 'dashboard' | 'home' | 'settings' | 'admin_panel_settings' | 'person' | 'people' | 'group' | 'groups' | 'account_circle' | 'login' | 'logout' | 'lock' | 'lock_open' | 'security' | 'key' | 'verified_user' | 'shield' | 'email' | 'mail' | 'inbox' | 'send' | 'campaign' | 'notifications' | 'article' | 'description' | 'edit' | 'add' | 'delete' | 'delete_forever' | 'restore_from_trash' | 'content_copy' | 'save' | 'search' | 'filter_list' | 'refresh' | 'sync' | 'more_vert' | 'more_horiz' | 'menu' | 'close' | 'check' | 'done' | 'warning' | 'error' | 'info' | 'help' | 'visibility' | 'visibility_off' | 'folder' | 'folder_open' | 'upload' | 'download' | 'cloud' | 'cloud_upload' | 'storage' | 'database' | 'dns' | 'code' | 'terminal' | 'api' | 'extension' | 'web' | 'language' | 'public' | 'link' | 'shopping_cart' | 'shopping_bag' | 'store' | 'inventory' | 'inventory_2' | 'payments' | 'payment' | 'credit_card' | 'receipt' | 'receipt_long' | 'sell' | 'local_shipping' | 'analytics' | 'bar_chart' | 'pie_chart' | 'query_stats' | 'monitoring' | 'trending_up' | 'history' | 'schedule' | 'calendar_month' | 'build' | 'tune' | 'apps' | 'widgets' | 'category' | 'supervisor_account' | 'approval' | 'family_group' | 'recent_actors' | 'perm_media';
159
- interface TaonAdminRouteOptions {
170
+ interface TaonAdminMenuCallbacks<TContext = unknown> {
171
+ isDisabled?: (params: {
172
+ context: TContext;
173
+ }) => boolean;
174
+ isDisabledTooltip?: (params: {
175
+ context: TContext;
176
+ }) => string;
177
+ isVisible?: (params: {
178
+ context: TContext;
179
+ }) => boolean;
180
+ }
181
+ interface TaonAdminRouteOptions<TContext = unknown> extends TaonAdminMenuCallbacks<TContext> {
160
182
  path: string;
161
183
  color?: string;
162
184
  loader: () => Promise<TaonAdminRoutes>;
163
185
  menuItem?: string;
164
- icon?: MaterialIcon;
186
+ icon?: MatIcon['fontIcon'];
165
187
  expandable?: boolean;
166
188
  hideInNavigation?: boolean;
167
189
  }
168
190
  declare const TaonBaselineBackofficeOutletName = "admin";
169
- declare function adminLazyRoute(options: TaonAdminRouteOptions): TaonAdminRoute;
191
+ declare function adminLazyRoute<TContext = unknown>(options: TaonAdminRouteOptions<TContext>): TaonAdminRoute;
170
192
 
171
193
  interface TaonAdminTabLevel {
172
194
  level: number;
@@ -182,6 +204,7 @@ interface TaonAdminTabLevel {
182
204
  }
183
205
  declare class TaonAdminPageTabsComponent implements OnInit {
184
206
  private readonly router;
207
+ protected readonly menuContext: TaonAdminMenuContext;
185
208
  routes: Routes;
186
209
  basePath: string;
187
210
  /**
@@ -399,9 +422,11 @@ declare enum TaonDraggableButtonPanelState {
399
422
  FULL_SCREEN_LOCKED = "FULL_SCREEN_LOCKED"
400
423
  }
401
424
 
402
- declare class TaonDraggableButtonPanelComponent implements OnInit, OnDestroy {
425
+ declare class TaonDraggableButtonPanelComponent<TContext = unknown> implements OnInit, OnDestroy {
403
426
  private readonly router;
404
427
  readonly State: typeof TaonDraggableButtonPanelState;
428
+ private readonly menuContext;
429
+ set context(context: TContext);
405
430
  private drag?;
406
431
  basePath: string;
407
432
  buttonIcon: string;
@@ -426,6 +451,9 @@ declare class TaonDraggableButtonPanelComponent implements OnInit, OnDestroy {
426
451
  private readonly resizeListener;
427
452
  protected readonly currentState: i0.WritableSignal<TaonDraggableButtonPanelState>;
428
453
  private routerSubscription?;
454
+ autoHideIcon: boolean;
455
+ iconTemplate?: TemplateRef<unknown>;
456
+ headerCenterTemplate?: TemplateRef<unknown>;
429
457
  constructor(router: Router);
430
458
  ngOnInit(): Promise<void>;
431
459
  ngOnDestroy(): void;
@@ -435,6 +463,7 @@ declare class TaonDraggableButtonPanelComponent implements OnInit, OnDestroy {
435
463
  private ensureOutletBasePath;
436
464
  protected setState(next: TaonDraggableButtonPanelState): Promise<void>;
437
465
  protected open(): void;
466
+ protected toggle(): void;
438
467
  protected returnToButton(): void;
439
468
  protected windowMode(): void;
440
469
  protected fullScreenDraggable(): void;
@@ -445,8 +474,8 @@ declare class TaonDraggableButtonPanelComponent implements OnInit, OnDestroy {
445
474
  private isValidState;
446
475
  private resetDragPosition;
447
476
  private isTransitionAllowed;
448
- static ɵfac: i0.ɵɵFactoryDeclaration<TaonDraggableButtonPanelComponent, never>;
449
- static ɵcmp: i0.ɵɵComponentDeclaration<TaonDraggableButtonPanelComponent, "taon-draggable-button-panel", never, { "basePath": { "alias": "basePath"; "required": false; }; "buttonIcon": { "alias": "buttonIcon"; "required": false; }; "title": { "alias": "title"; "required": false; }; "outlet": { "alias": "outlet"; "required": false; }; "stateParamName": { "alias": "stateParamName"; "required": false; }; "state": { "alias": "state"; "required": false; }; }, { "stateChange": "stateChange"; }, never, ["*"], true, never>;
477
+ static ɵfac: i0.ɵɵFactoryDeclaration<TaonDraggableButtonPanelComponent<any>, never>;
478
+ static ɵcmp: i0.ɵɵComponentDeclaration<TaonDraggableButtonPanelComponent<any>, "taon-draggable-button-panel", never, { "context": { "alias": "context"; "required": false; }; "basePath": { "alias": "basePath"; "required": false; }; "buttonIcon": { "alias": "buttonIcon"; "required": false; }; "title": { "alias": "title"; "required": false; }; "outlet": { "alias": "outlet"; "required": false; }; "stateParamName": { "alias": "stateParamName"; "required": false; }; "state": { "alias": "state"; "required": false; }; "autoHideIcon": { "alias": "autoHideIcon"; "required": false; }; "iconTemplate": { "alias": "iconTemplate"; "required": false; }; "headerCenterTemplate": { "alias": "headerCenterTemplate"; "required": false; }; }, { "stateChange": "stateChange"; }, never, ["*"], true, never>;
450
479
  }
451
480
 
452
481
  declare const TaonDraggableButtonPanelRoutes: Routes;
@@ -469,5 +498,5 @@ interface PlPlTraslationOverrideSrcLibTaonBackofficeNotificationsTaonBackofficeN
469
498
 
470
499
  type TaonBackofficeNotificationsOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibTaonBackofficeNotificationsTaonBackofficeNotificationsComponentTs | PlPlTraslationOverrideSrcLibTaonBackofficeNotificationsTaonBackofficeNotificationsComponentTs>;
471
500
 
472
- export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, PROJECT_NPM_NAME, TaonAdminLayoutComponent, TaonAdminPageTabsComponent, TaonBackofficeNotificationsComponent, TaonBackofficeNotificationsService, TaonBaseAdminLayoutPage, TaonBaselineBackofficeOutletName, TaonConfirmDialogComponent, TaonDatatableComponent, TaonDatatableRoutes, TaonDraggableButtonPanelComponent, TaonDraggableButtonPanelRoutes, TaonDraggableButtonPanelState, TaonErrorDetailsDialogComponent, TaonErrorToastComponent, TaonHorizontalWheelScrollDirective, adminLazyRoute, myOrgProj, startCli };
473
- export type { LibOverride, TaonAdminRoute, TaonAdminRouteOptions, TaonAdminRoutes, TaonAdminTabLevel, TaonBackofficeNotificationsOverride, TaonConfirmDialogData, TaonErrorDetailsDialogData, TaonErrorToastData, TaonNotificationInput, TaonNotificationOptions, TaonNotificationType };
501
+ export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, PROJECT_NPM_NAME, TaonAdminLayoutComponent, TaonAdminMenuContext, TaonAdminPageTabsComponent, TaonBackofficeNotificationsComponent, TaonBackofficeNotificationsService, TaonBaseAdminLayoutPage, TaonBaselineBackofficeOutletName, TaonConfirmDialogComponent, TaonDatatableComponent, TaonDatatableRoutes, TaonDraggableButtonPanelComponent, TaonDraggableButtonPanelRoutes, TaonDraggableButtonPanelState, TaonErrorDetailsDialogComponent, TaonErrorToastComponent, TaonHorizontalWheelScrollDirective, adminLazyRoute, myOrgProj, startCli };
502
+ export type { LibOverride, TaonAdminMenuCallbacks, TaonAdminRoute, TaonAdminRouteOptions, TaonAdminRoutes, TaonAdminTabLevel, TaonBackofficeNotificationsOverride, TaonConfirmDialogData, TaonErrorDetailsDialogData, TaonErrorToastData, TaonNotificationInput, TaonNotificationOptions, TaonNotificationType };
@@ -22,4 +22,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
22
22
  /**
23
23
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
24
24
  */
25
- export declare const CURRENT_PACKAGE_VERSION = "21.0.12";
25
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.13";
@@ -6,6 +6,7 @@ export * from './directives/taon-horizontal-wheel-scrolling.directive';
6
6
  export * from './i18n/lib.translation';
7
7
  export * from './taon-admin-layout/taon-admin-layout.component';
8
8
  export * from './taon-admin-layout/taon-admin-layout.models';
9
+ export * from './taon-admin-layout/taon-admin-menu-context';
9
10
  export * from './taon-admin-layout/taon-admin-page-tabs.component';
10
11
  export * from './taon-admin-layout/taon-base-admin-page.component';
11
12
  export * from './taon-backoffice-notifications/taon-backoffice-notifications.component';
@@ -1,9 +1,11 @@
1
1
  // @ts-nocheck
2
2
  import { AfterViewInit, ElementRef, OnDestroy, OnInit } from '@angular/core';
3
3
  import { Route, Router, Routes } from '@angular/router';
4
+ import { TaonAdminMenuContext } from './taon-admin-menu-context';
4
5
  export declare class TaonAdminLayoutComponent implements OnInit, AfterViewInit, OnDestroy {
5
6
  private readonly router;
6
7
  private readonly hostElement;
8
+ protected readonly menuContext: TaonAdminMenuContext;
7
9
  routes: Routes;
8
10
  basePath: string;
9
11
  outlet: string;
@@ -1,4 +1,5 @@
1
1
  // @ts-nocheck
2
+ import type { MatIcon } from '@angular/material/icon';
2
3
  import { Route } from '@angular/router';
3
4
  export interface TaonAdminRoute extends Route {
4
5
  /**
@@ -9,16 +10,25 @@ export interface TaonAdminRoute extends Route {
9
10
  loadAdminChildren?: () => Promise<TaonAdminRoutes>;
10
11
  }
11
12
  export type TaonAdminRoutes = TaonAdminRoute[];
12
- type MaterialIcon = 'manage_accounts' | 'dashboard' | 'home' | 'settings' | 'admin_panel_settings' | 'person' | 'people' | 'group' | 'groups' | 'account_circle' | 'login' | 'logout' | 'lock' | 'lock_open' | 'security' | 'key' | 'verified_user' | 'shield' | 'email' | 'mail' | 'inbox' | 'send' | 'campaign' | 'notifications' | 'article' | 'description' | 'edit' | 'add' | 'delete' | 'delete_forever' | 'restore_from_trash' | 'content_copy' | 'save' | 'search' | 'filter_list' | 'refresh' | 'sync' | 'more_vert' | 'more_horiz' | 'menu' | 'close' | 'check' | 'done' | 'warning' | 'error' | 'info' | 'help' | 'visibility' | 'visibility_off' | 'folder' | 'folder_open' | 'upload' | 'download' | 'cloud' | 'cloud_upload' | 'storage' | 'database' | 'dns' | 'code' | 'terminal' | 'api' | 'extension' | 'web' | 'language' | 'public' | 'link' | 'shopping_cart' | 'shopping_bag' | 'store' | 'inventory' | 'inventory_2' | 'payments' | 'payment' | 'credit_card' | 'receipt' | 'receipt_long' | 'sell' | 'local_shipping' | 'analytics' | 'bar_chart' | 'pie_chart' | 'query_stats' | 'monitoring' | 'trending_up' | 'history' | 'schedule' | 'calendar_month' | 'build' | 'tune' | 'apps' | 'widgets' | 'category' | 'supervisor_account' | 'approval' | 'family_group' | 'recent_actors' | 'perm_media';
13
- export interface TaonAdminRouteOptions {
13
+ export interface TaonAdminMenuCallbacks<TContext = unknown> {
14
+ isDisabled?: (params: {
15
+ context: TContext;
16
+ }) => boolean;
17
+ isDisabledTooltip?: (params: {
18
+ context: TContext;
19
+ }) => string;
20
+ isVisible?: (params: {
21
+ context: TContext;
22
+ }) => boolean;
23
+ }
24
+ export interface TaonAdminRouteOptions<TContext = unknown> extends TaonAdminMenuCallbacks<TContext> {
14
25
  path: string;
15
26
  color?: string;
16
27
  loader: () => Promise<TaonAdminRoutes>;
17
28
  menuItem?: string;
18
- icon?: MaterialIcon;
29
+ icon?: MatIcon['fontIcon'];
19
30
  expandable?: boolean;
20
31
  hideInNavigation?: boolean;
21
32
  }
22
33
  export declare const TaonBaselineBackofficeOutletName = "admin";
23
- export declare function adminLazyRoute(options: TaonAdminRouteOptions): TaonAdminRoute;
24
- export {};
34
+ export declare function adminLazyRoute<TContext = unknown>(options: TaonAdminRouteOptions<TContext>): TaonAdminRoute;
@@ -0,0 +1,9 @@
1
+ // @ts-nocheck
2
+ import { Route } from '@angular/router';
3
+ export declare class TaonAdminMenuContext {
4
+ readonly context: import("@angular/core", { with: { "resolution-mode": "import" } }).WritableSignal<unknown>;
5
+ isVisible(route: Route): boolean;
6
+ isDisabled(route: Route): boolean;
7
+ disabledTooltip(route: Route): string;
8
+ private callbacks;
9
+ }
@@ -1,6 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import { OnInit } from '@angular/core';
3
3
  import { Route, Router, Routes } from '@angular/router';
4
+ import { TaonAdminMenuContext } from './taon-admin-menu-context';
4
5
  export interface TaonAdminTabLevel {
5
6
  level: number;
6
7
  routes: Routes;
@@ -15,6 +16,7 @@ export interface TaonAdminTabLevel {
15
16
  }
16
17
  export declare class TaonAdminPageTabsComponent implements OnInit {
17
18
  private readonly router;
19
+ protected readonly menuContext: TaonAdminMenuContext;
18
20
  routes: Routes;
19
21
  basePath: string;
20
22
  /**
@@ -1,10 +1,12 @@
1
1
  // @ts-nocheck
2
- import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
3
3
  import { Router } from '@angular/router';
4
4
  import { TaonDraggableButtonPanelState } from './taon-draggable-button-panel.models';
5
- export declare class TaonDraggableButtonPanelComponent implements OnInit, OnDestroy {
5
+ export declare class TaonDraggableButtonPanelComponent<TContext = unknown> implements OnInit, OnDestroy {
6
6
  private readonly router;
7
7
  readonly State: typeof TaonDraggableButtonPanelState;
8
+ private readonly menuContext;
9
+ set context(context: TContext);
8
10
  private drag?;
9
11
  basePath: string;
10
12
  buttonIcon: string;
@@ -29,6 +31,9 @@ export declare class TaonDraggableButtonPanelComponent implements OnInit, OnDest
29
31
  private readonly resizeListener;
30
32
  protected readonly currentState: import("@angular/core", { with: { "resolution-mode": "import" } }).WritableSignal<TaonDraggableButtonPanelState>;
31
33
  private routerSubscription?;
34
+ autoHideIcon: boolean;
35
+ iconTemplate?: TemplateRef<unknown>;
36
+ headerCenterTemplate?: TemplateRef<unknown>;
32
37
  constructor(router: Router);
33
38
  ngOnInit(): Promise<void>;
34
39
  ngOnDestroy(): void;
@@ -38,6 +43,7 @@ export declare class TaonDraggableButtonPanelComponent implements OnInit, OnDest
38
43
  private ensureOutletBasePath;
39
44
  protected setState(next: TaonDraggableButtonPanelState): Promise<void>;
40
45
  protected open(): void;
46
+ protected toggle(): void;
41
47
  protected returnToButton(): void;
42
48
  protected windowMode(): void;
43
49
  protected fullScreenDraggable(): void;
@@ -1,60 +1,60 @@
1
- <link rel="icon" type="image/x-icon" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon.ico">
2
- <link rel="icon" type="image/png" sizes="16x16" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon-16x16.png">
3
- <link rel="icon" type="image/png" sizes="32x32" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon-32x32.png">
4
- <link rel="icon" type="image/png" sizes="48x48" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon-48x48.png">
5
- <link rel="manifest" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/manifest.webmanifest">
1
+ <link rel="icon" type="image/x-icon" href="/assets/assets-for/ui/assets/generated/pwa/favicon.ico">
2
+ <link rel="icon" type="image/png" sizes="16x16" href="/assets/assets-for/ui/assets/generated/pwa/favicon-16x16.png">
3
+ <link rel="icon" type="image/png" sizes="32x32" href="/assets/assets-for/ui/assets/generated/pwa/favicon-32x32.png">
4
+ <link rel="icon" type="image/png" sizes="48x48" href="/assets/assets-for/ui/assets/generated/pwa/favicon-48x48.png">
5
+ <link rel="manifest" href="/assets/assets-for/ui/assets/generated/pwa/manifest.webmanifest">
6
6
  <meta name="mobile-web-app-capable" content="yes">
7
7
  <meta name="theme-color" content="#fff">
8
8
  <meta name="application-name">
9
- <link rel="apple-touch-icon" sizes="57x57" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-57x57.png">
10
- <link rel="apple-touch-icon" sizes="60x60" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-60x60.png">
11
- <link rel="apple-touch-icon" sizes="72x72" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-72x72.png">
12
- <link rel="apple-touch-icon" sizes="76x76" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-76x76.png">
13
- <link rel="apple-touch-icon" sizes="114x114" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-114x114.png">
14
- <link rel="apple-touch-icon" sizes="120x120" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-120x120.png">
15
- <link rel="apple-touch-icon" sizes="144x144" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-144x144.png">
16
- <link rel="apple-touch-icon" sizes="152x152" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-152x152.png">
17
- <link rel="apple-touch-icon" sizes="167x167" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-167x167.png">
18
- <link rel="apple-touch-icon" sizes="180x180" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-180x180.png">
19
- <link rel="apple-touch-icon" sizes="1024x1024" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-1024x1024.png">
9
+ <link rel="apple-touch-icon" sizes="57x57" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-57x57.png">
10
+ <link rel="apple-touch-icon" sizes="60x60" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-60x60.png">
11
+ <link rel="apple-touch-icon" sizes="72x72" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-72x72.png">
12
+ <link rel="apple-touch-icon" sizes="76x76" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-76x76.png">
13
+ <link rel="apple-touch-icon" sizes="114x114" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-114x114.png">
14
+ <link rel="apple-touch-icon" sizes="120x120" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-120x120.png">
15
+ <link rel="apple-touch-icon" sizes="144x144" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-144x144.png">
16
+ <link rel="apple-touch-icon" sizes="152x152" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-152x152.png">
17
+ <link rel="apple-touch-icon" sizes="167x167" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-167x167.png">
18
+ <link rel="apple-touch-icon" sizes="180x180" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-180x180.png">
19
+ <link rel="apple-touch-icon" sizes="1024x1024" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-1024x1024.png">
20
20
  <meta name="apple-mobile-web-app-capable" content="yes">
21
21
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
22
22
  <meta name="apple-mobile-web-app-title">
23
- <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-640x1136.png">
24
- <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1136x640.png">
25
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-750x1334.png">
26
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1334x750.png">
27
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1125x2436.png">
28
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2436x1125.png">
29
- <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1170x2532.png">
30
- <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2532x1170.png">
31
- <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1179x2556.png">
32
- <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2556x1179.png">
33
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-828x1792.png">
34
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1792x828.png">
35
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1242x2688.png">
36
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2688x1242.png">
37
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1242x2208.png">
38
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2208x1242.png">
39
- <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1284x2778.png">
40
- <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2778x1284.png">
41
- <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1290x2796.png">
42
- <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2796x1290.png">
43
- <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1488x2266.png">
44
- <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2266x1488.png">
45
- <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1536x2048.png">
46
- <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2048x1536.png">
47
- <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1620x2160.png">
48
- <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2160x1620.png">
49
- <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1640x2160.png">
50
- <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2160x1640.png">
51
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1668x2388.png">
52
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2388x1668.png">
53
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1668x2224.png">
54
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2224x1668.png">
55
- <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2048x2732.png">
56
- <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2732x2048.png">
23
+ <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-640x1136.png">
24
+ <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1136x640.png">
25
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-750x1334.png">
26
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1334x750.png">
27
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1125x2436.png">
28
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2436x1125.png">
29
+ <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1170x2532.png">
30
+ <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2532x1170.png">
31
+ <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1179x2556.png">
32
+ <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2556x1179.png">
33
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-828x1792.png">
34
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1792x828.png">
35
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1242x2688.png">
36
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2688x1242.png">
37
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1242x2208.png">
38
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2208x1242.png">
39
+ <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1284x2778.png">
40
+ <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2778x1284.png">
41
+ <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1290x2796.png">
42
+ <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2796x1290.png">
43
+ <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1488x2266.png">
44
+ <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2266x1488.png">
45
+ <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1536x2048.png">
46
+ <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2048x1536.png">
47
+ <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1620x2160.png">
48
+ <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2160x1620.png">
49
+ <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1640x2160.png">
50
+ <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2160x1640.png">
51
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1668x2388.png">
52
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2388x1668.png">
53
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1668x2224.png">
54
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2224x1668.png">
55
+ <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2048x2732.png">
56
+ <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2732x2048.png">
57
57
  <meta name="msapplication-TileColor" content="#fff">
58
- <meta name="msapplication-TileImage" content="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/mstile-144x144.png">
59
- <meta name="msapplication-config" content="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/browserconfig.xml">
60
- <link rel="yandex-tableau-widget" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/yandex-browser-manifest.json">
58
+ <meta name="msapplication-TileImage" content="/assets/assets-for/ui/assets/generated/pwa/mstile-144x144.png">
59
+ <meta name="msapplication-config" content="/assets/assets-for/ui/assets/generated/pwa/browserconfig.xml">
60
+ <link rel="yandex-tableau-widget" href="/assets/assets-for/ui/assets/generated/pwa/yandex-browser-manifest.json">
@@ -52,88 +52,127 @@
52
52
  <div class="admin-aside-content">
53
53
  <mat-accordion class="admin-menu">
54
54
  @for (level1 of routes; track level1.path) {
55
- @if (isExpandable(level1)) {
56
- <mat-expansion-panel
57
- [expanded]="isLevel1Active(level1)"
58
- (expandedChange)="panelExpanded(level1, $event)">
59
- <mat-expansion-panel-header (click)="level1Clicked(level1)">
60
- <mat-panel-title>
61
- <div class="admin-menu-item">
62
- @if (icon(level1)) {
63
- <mat-icon
64
- [ngStyle]="{
65
- color: color(level1),
66
- }">
67
- {{ icon(level1) }}
68
- </mat-icon>
69
- }
70
-
71
- <span
72
- [class.font-semibold]="isLevel1Active(level1)"
73
- [ngStyle]="{
74
- color: color(level1),
75
- }">
76
- {{ label(level1) }}
77
- </span>
78
- </div>
79
- </mat-panel-title>
80
- </mat-expansion-panel-header>
81
-
82
- <div class="admin-level2">
83
- @if (isLoading(level1)) {
84
- <div class="admin-loading">Loading...</div>
85
- } @else {
86
- @for (
87
- level2 of getLevel2Routes(level1);
88
- track level2.path
89
- ) {
90
- <a
91
- class="admin-level2-item"
92
- [class.admin-level2-item-active]="
93
- isLevel2Active(level1, level2)
94
- "
95
- (click)="level2Clicked(level1, level2)">
96
- @if (icon(level2)) {
55
+ @if (menuContext.isVisible(level1)) {
56
+ @if (isExpandable(level1)) {
57
+ <mat-expansion-panel
58
+ [disabled]="menuContext.isDisabled(level1)"
59
+ [expanded]="
60
+ isLevel1Active(level1) && !menuContext.isDisabled(level1)
61
+ "
62
+ (expandedChange)="panelExpanded(level1, $event)">
63
+ <mat-expansion-panel-header
64
+ [class.admin-menu-item-disabled]="
65
+ menuContext.isDisabled(level1)
66
+ "
67
+ [matTooltip]="menuContext.disabledTooltip(level1)"
68
+ (click)="level1Clicked(level1)">
69
+ <mat-panel-title>
70
+ <div class="admin-menu-item">
71
+ @if (icon(level1)) {
97
72
  <mat-icon
98
73
  [ngStyle]="{
99
- color: color(level2),
74
+ color: color(level1),
100
75
  }">
101
- {{ icon(level2) }}
76
+ {{ icon(level1) }}
102
77
  </mat-icon>
103
78
  }
104
79
 
105
80
  <span
81
+ [class.font-semibold]="isLevel1Active(level1)"
106
82
  [ngStyle]="{
107
- color: color(level2),
83
+ color: color(level1),
108
84
  }">
109
- {{ label(level2) }}
85
+ {{ label(level1) }}
110
86
  </span>
111
- </a>
87
+ </div>
88
+ </mat-panel-title>
89
+ </mat-expansion-panel-header>
90
+
91
+ <div class="admin-level2">
92
+ @if (isLoading(level1)) {
93
+ <div class="admin-loading">Loading...</div>
94
+ } @else {
95
+ @for (
96
+ level2 of getLevel2Routes(level1);
97
+ track level2.path
98
+ ) {
99
+ @if (menuContext.isVisible(level2)) {
100
+ <a
101
+ class="admin-level2-item"
102
+ role="button"
103
+ [attr.tabindex]="
104
+ menuContext.isDisabled(level2) ? -1 : 0
105
+ "
106
+ [attr.aria-disabled]="
107
+ menuContext.isDisabled(level2)
108
+ "
109
+ [class.admin-menu-item-disabled]="
110
+ menuContext.isDisabled(level2)
111
+ "
112
+ [matTooltip]="menuContext.disabledTooltip(level2)"
113
+ [class.admin-level2-item-active]="
114
+ isLevel2Active(level1, level2)
115
+ "
116
+ (click)="level2Clicked(level1, level2)"
117
+ (keydown.enter)="level2Clicked(level1, level2)"
118
+ (keydown.space)="
119
+ $event.preventDefault();
120
+ level2Clicked(level1, level2)
121
+ ">
122
+ @if (icon(level2)) {
123
+ <mat-icon
124
+ [ngStyle]="{
125
+ color: color(level2),
126
+ }">
127
+ {{ icon(level2) }}
128
+ </mat-icon>
129
+ }
130
+
131
+ <span
132
+ [ngStyle]="{
133
+ color: color(level2),
134
+ }">
135
+ {{ label(level2) }}
136
+ </span>
137
+ </a>
138
+ }
139
+ }
112
140
  }
141
+ </div>
142
+ </mat-expansion-panel>
143
+ } @else {
144
+ <a
145
+ class="admin-level1-item"
146
+ role="button"
147
+ [attr.tabindex]="menuContext.isDisabled(level1) ? -1 : 0"
148
+ [attr.aria-disabled]="menuContext.isDisabled(level1)"
149
+ [class.admin-menu-item-disabled]="
150
+ menuContext.isDisabled(level1)
151
+ "
152
+ [matTooltip]="menuContext.disabledTooltip(level1)"
153
+ [class.admin-level1-item-active]="isLevel1Active(level1)"
154
+ (click)="level1Clicked(level1)"
155
+ (keydown.enter)="level1Clicked(level1)"
156
+ (keydown.space)="
157
+ $event.preventDefault(); level1Clicked(level1)
158
+ ">
159
+ @if (icon(level1)) {
160
+ <mat-icon
161
+ [ngStyle]="{
162
+ color: color(level1),
163
+ }">
164
+ {{ icon(level1) }}
165
+ </mat-icon>
113
166
  }
114
- </div>
115
- </mat-expansion-panel>
116
- } @else {
117
- <a
118
- class="admin-level1-item"
119
- [class.admin-level1-item-active]="isLevel1Active(level1)"
120
- (click)="level1Clicked(level1)">
121
- @if (icon(level1)) {
122
- <mat-icon
167
+
168
+ <span
123
169
  [ngStyle]="{
124
170
  color: color(level1),
125
171
  }">
126
- {{ icon(level1) }}
127
- </mat-icon>
128
- }
129
-
130
- <span
131
- [ngStyle]="{
132
- color: color(level1),
133
- }">
134
- {{ label(level1) }}
135
- </span>
136
- </a>
172
+ {{ label(level1) }}
173
+ </span>
174
+ </a>
175
+ }
137
176
  }
138
177
  }
139
178
  </mat-accordion>