@unopsitg/ux 21.0.20 → 21.0.22

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@unopsitg/ux",
3
- "version": "21.0.20",
3
+ "version": "21.0.22",
4
4
  "description": "UNOPS Angular 21 layout shell, brand theme (PrimeNG / PrimeUIX), and shared types",
5
5
  "keywords": [
6
6
  "angular",
@@ -1,6 +1,6 @@
1
1
  import * as _primeuix_themes_types from '@primeuix/themes/types';
2
2
  import * as _angular_core from '@angular/core';
3
- import { InjectionToken, TemplateRef, OnInit, OnDestroy, ElementRef, AfterViewChecked, AfterViewInit, QueryList, OnChanges, SimpleChanges } from '@angular/core';
3
+ import { InjectionToken, Signal, TemplateRef, OnInit, OnDestroy, ElementRef, AfterViewChecked, AfterViewInit, QueryList, OnChanges, SimpleChanges } from '@angular/core';
4
4
  import { QueryParamsHandling, IsActiveMatchOptions, Router } from '@angular/router';
5
5
  import * as _unopsitg_ux from '@unopsitg/ux';
6
6
  import * as rxjs from 'rxjs';
@@ -294,6 +294,55 @@ interface TopbarMobileLogoConfig {
294
294
  alt: string;
295
295
  }
296
296
  declare const TOPBAR_MOBILE_LOGO: InjectionToken<TopbarMobileLogoConfig>;
297
+ interface TopbarLanguageItem {
298
+ code: string;
299
+ label: string;
300
+ flag: string;
301
+ }
302
+ interface TopbarLanguageConfig {
303
+ languages: TopbarLanguageItem[];
304
+ defaultLanguage?: string;
305
+ onLanguageChange?: (code: string) => void;
306
+ }
307
+ declare const TOPBAR_LANGUAGE_CONFIG: InjectionToken<TopbarLanguageConfig>;
308
+ interface TopbarProfileMenuItem {
309
+ id: string;
310
+ label: string;
311
+ icon: string;
312
+ separator?: boolean;
313
+ command: () => void;
314
+ }
315
+ interface TopbarProfileMenuConfig {
316
+ items: TopbarProfileMenuItem[];
317
+ }
318
+ declare const TOPBAR_PROFILE_MENU_CONFIG: InjectionToken<TopbarProfileMenuConfig>;
319
+ interface TopbarNotificationItem {
320
+ id: number;
321
+ message: string;
322
+ category: string;
323
+ time: string;
324
+ isRead: boolean;
325
+ entity?: string;
326
+ entityId?: number;
327
+ icon?: string;
328
+ }
329
+ interface TopbarNotificationTab {
330
+ id: string;
331
+ label: string;
332
+ badge?: string;
333
+ }
334
+ interface TopbarNotificationConfig {
335
+ tabs: Signal<TopbarNotificationTab[]>;
336
+ items: Signal<TopbarNotificationItem[]>;
337
+ selectedTab: Signal<string>;
338
+ unreadCount: Signal<number>;
339
+ onTabChange: (tabId: string) => void;
340
+ onItemClick: (item: TopbarNotificationItem) => void;
341
+ onMarkAsRead: (item: TopbarNotificationItem) => void;
342
+ onMarkAllAsRead: () => void;
343
+ onPanelOpen?: () => void;
344
+ }
345
+ declare const TOPBAR_NOTIFICATION_CONFIG: InjectionToken<TopbarNotificationConfig>;
297
346
 
298
347
  interface LayoutConfig {
299
348
  preset: string;
@@ -436,11 +485,10 @@ declare class AppTopbar implements AfterViewChecked {
436
485
  profileItem: ElementRef;
437
486
  notificationsBars: _angular_core.WritableSignal<NotificationsBars[]>;
438
487
  notifications: _angular_core.WritableSignal<any[]>;
439
- languages: _angular_core.WritableSignal<{
440
- code: string;
441
- label: string;
442
- flag: string;
443
- }[]>;
488
+ private readonly langConfig;
489
+ readonly profileMenuConfig: _unopsitg_ux.TopbarProfileMenuConfig | null;
490
+ readonly notifConfig: _unopsitg_ux.TopbarNotificationConfig | null;
491
+ languages: _angular_core.WritableSignal<_unopsitg_ux.TopbarLanguageItem[]>;
444
492
  selectedLanguage: _angular_core.WritableSignal<string>;
445
493
  selectedNotificationBar: _angular_core.ModelSignal<string>;
446
494
  selectedNotificationsBarData: _angular_core.Signal<any>;
@@ -450,6 +498,7 @@ declare class AppTopbar implements AfterViewChecked {
450
498
  showRightMenu(): void;
451
499
  onConfigButtonClick(): void;
452
500
  selectLanguage(code: string): void;
501
+ onNotificationBellClick(): void;
453
502
  toggleDropdown(id: DropdownId, event: Event): void;
454
503
  closeDropdown(): void;
455
504
  onDocumentClick(event: MouseEvent): void;
@@ -969,5 +1018,5 @@ interface Partner {
969
1018
  lastModifiedDate?: Date | null;
970
1019
  }
971
1020
 
972
- export { AiCardBgComponent, AiInsightsCardComponent, AppBreadcrumb, AppConfigurator, AppFooter, AppLayout, AppMenu, AppMenuitem, AppRightMenu, AppSearch, AppSidebar, AppTopbar, AuthLayout, BrandContrast, BrandCrisp, BrandSoft, CompletionStepsComponent, DetailLayoutComponent, DetailTabDirective, DocumentsCardComponent, FooterMainComponent, FooterService, LayoutService, MENU_MODEL, PillTabsComponent, SIDEBAR_LOGO, TOPBAR_MOBILE_LOGO, TaskDrawerComponent, UxSelectComponent, brandPresets, brandPrimitives };
973
- export type { AiInsight, CompletionCategory, CompletionStep, DetailTab, DocumentItem, LayoutConfig, Member, MenuItem, Partner, PillTabItem, SidebarLogoConfig, TaskDrawerMember, TaskDrawerTask, TopbarMobileLogoConfig };
1021
+ export { AiCardBgComponent, AiInsightsCardComponent, AppBreadcrumb, AppConfigurator, AppFooter, AppLayout, AppMenu, AppMenuitem, AppRightMenu, AppSearch, AppSidebar, AppTopbar, AuthLayout, BrandContrast, BrandCrisp, BrandSoft, CompletionStepsComponent, DetailLayoutComponent, DetailTabDirective, DocumentsCardComponent, FooterMainComponent, FooterService, LayoutService, MENU_MODEL, PillTabsComponent, SIDEBAR_LOGO, TOPBAR_LANGUAGE_CONFIG, TOPBAR_MOBILE_LOGO, TOPBAR_NOTIFICATION_CONFIG, TOPBAR_PROFILE_MENU_CONFIG, TaskDrawerComponent, UxSelectComponent, brandPresets, brandPrimitives };
1022
+ export type { AiInsight, CompletionCategory, CompletionStep, DetailTab, DocumentItem, LayoutConfig, Member, MenuItem, Partner, PillTabItem, SidebarLogoConfig, TaskDrawerMember, TaskDrawerTask, TopbarLanguageConfig, TopbarLanguageItem, TopbarMobileLogoConfig, TopbarNotificationConfig, TopbarNotificationItem, TopbarNotificationTab, TopbarProfileMenuConfig, TopbarProfileMenuItem };