sgh-navbar 0.0.55 → 0.0.57

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/README.md CHANGED
@@ -550,13 +550,14 @@ npm publish
550
550
 
551
551
  | Angular Version | Library Version | Description |
552
552
  |----------------|-----------------|-------------|
553
- | 15 | 0.0.43 | Initial release |
554
- | 16 | 0.0.50 | Angular 16 support |
555
- | 17 | 0.0.51 | Angular 17 support |
556
- | 18 | 0.0.52 | Angular 18 support |
557
- | 19 | 0.0.54 | Angular 19 support, Major fixes and improvements |
558
-
559
- ### Latest Changes (v0.0.54)
553
+ | 15 | 0.0.43 | Initial release |
554
+ | 16 | 0.0.50 | Angular 16 support |
555
+ | 17 | 0.0.51 | Angular 17 support |
556
+ | 18 | 0.0.52 | Angular 18 support |
557
+ | 19 | 0.0.54 | Angular 19 support, Major fixes and improvements |
558
+ | 19 | 0.0.57 | Enhanced layout behavior, responsive design improvements |
559
+
560
+ ### Latest Changes (v0.0.55)
560
561
  - ✅ Fixed notification component typo
561
562
  - ✅ Added proper TypeScript types throughout
562
563
  - ✅ Updated component selectors to use sgh- prefix
@@ -564,6 +565,11 @@ npm publish
564
565
  - ✅ Added proper error handling and null checks
565
566
  - ✅ Improved performance and memory management
566
567
  - ✅ Added comprehensive documentation
568
+ - ✅ **Enhanced Layout Behavior**: Content area now properly moves right and adjusts width when sidebar is open
569
+ - ✅ **Responsive Design**: Smart layout adjustments for desktop (content shifts), tablet (content shifts), and mobile (overlay mode)
570
+ - ✅ **Smooth Animations**: Added smooth transitions for layout changes and content positioning
571
+ - ✅ **Visual Enhancements**: Added subtle shadows and overlay effects for better depth perception
572
+ - ✅ **Fixed Toggle Logic**: Resolved double-click toggle issue - sidebar now toggles correctly with single click
567
573
 
568
574
  ## Browser Support
569
575
 
@@ -253,7 +253,7 @@ class SidenavComponent {
253
253
  }
254
254
  }
255
255
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SidenavComponent, deps: [{ token: i1.Router }, { token: SghNavbarService }], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SidenavComponent, isStandalone: false, selector: "sgh-sidenav", inputs: { expanded: "expanded", sidenavData: "sidenavData" }, outputs: { onToggleSideNav: "onToggleSideNav" }, ngImport: i0, template: "<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n", styles: [".sidebar_div a>div>i{padding-right:10px}.menu-wrapper{height:100%;display:flex;flex-direction:column;position:relative}.menu-wrapper .auth-info-wrp{margin-top:auto;padding:1.5rem 1rem 1rem;border-top:1px solid var(--sgh-border-color, #e2e8f0);color:var(--sgh-text-secondary, #64748b);background:var(--sgh-surface-color, rgba(248, 250, 252, .5));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-wrapper .auth-info-wrp .client-info-wrp{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;padding:.5rem;background:var(--sgh-primary-color, #3b82f6);color:#fff;border-radius:8px;margin-bottom:.75rem}.menu-wrapper .auth-info-wrp .client-info-wrp i{font-size:.75rem;opacity:.8}.menu-wrapper .auth-info-wrp .role-info-wrp{font-size:.75rem;padding:.25rem .5rem}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text{font-weight:400}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text.role{font-weight:600;color:var(--sgh-primary-color, #3b82f6)}.fa-size{font-size:1.6em;line-height:.75em;vertical-align:-15%}.sgh-sidebar{height:100%;background:var(--sgh-sidebar-bg, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--sgh-border-color, #e2e8f0);overflow-y:auto;padding:1.5rem 0;font-size:.875rem;width:280px;display:flex;flex-direction:column;z-index:999;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:64px;left:0;bottom:0}.sgh-sidebar::-webkit-scrollbar{width:6px}.sgh-sidebar::-webkit-scrollbar-track{background:transparent}.sgh-sidebar::-webkit-scrollbar-thumb{background:var(--sgh-border-color, #e2e8f0);border-radius:3px}.sgh-sidebar::-webkit-scrollbar-thumb:hover{background:var(--sgh-text-muted, #94a3b8)}.sidebar_div{margin:0;padding:0 1rem;overflow:hidden}.sidebar_div a{color:var(--sgh-text-secondary, #64748b);padding:.75rem 1rem;text-decoration:none;margin:.25rem 0;display:flex;align-items:center;justify-content:space-between;border-radius:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.sidebar_div a:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sgh-primary-color, #3b82f6);border-radius:0 2px 2px 0;transform:scaleY(0);transition:transform .2s ease}.sidebar_div a:hover:not(.active):not(.item-active){background:var(--sgh-hover-bg, rgba(59, 130, 246, .05));color:var(--sgh-text-primary, #1e293b);transform:translate(4px)}.sidebar_div a.active,.sidebar_div a.item-active{background:var(--sgh-primary-color, #3b82f6);color:#fff;transform:translate(4px);box-shadow:var(--sgh-shadow, 0 4px 12px rgba(59, 130, 246, .25))}.sidebar_div a.active:before,.sidebar_div a.item-active:before{transform:scaleY(1);background:#fff}.sidebar_div a.active .text-wrap,.sidebar_div a.active .text-wrapper,.sidebar_div a.item-active .text-wrap,.sidebar_div a.item-active .text-wrapper,.sidebar_div a.active i,.sidebar_div a.item-active i{color:#fff}.text-wrap{display:flex;align-items:center;width:100%;gap:.75rem}.text-wrap .icon-wrapper{display:flex;align-items:center;justify-content:center;width:20px}.text-wrap .icon-wrapper i{font-size:1.125rem;transition:color .2s ease}div.content{margin-left:200px;padding:1px 16px;height:1000px}@media screen and (max-width: 700px){.sidebar_div{height:auto;position:relative}div.content{margin-left:0}}@media screen and (max-width: 400px){.sidebar_div a{text-align:center;float:none}}.nav-list li a{text-decoration:none;display:block;padding:10px;cursor:pointer;border-bottom:1px solid #515151;color:#9d9d9d}.nav-list>li>a{color:#c4c4c4;font-size:14px;padding-left:15px;border-bottom:1px solid #585858}.nav-list>li>a:hover{background-color:#444}.sidenav-overlay{position:fixed;width:100%;height:100%;top:0;z-index:998;cursor:pointer;transition:opacity .3s ease}@media screen and (max-width: 1024px){.sgh-sidebar{transform:translate(-100%);box-shadow:var(--sgh-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15))}.sgh-sidebar.expanded{transform:translate(0)}}@media screen and (max-width: 768px){.sgh-sidebar{width:280px}.sgh-sidebar .sidebar_div{padding:0 .75rem}.sgh-sidebar .auth-info-wrp{padding:1rem .75rem}}@media screen and (max-width: 480px){.sgh-sidebar{width:100%;max-width:320px}}:host-context(.sgh-dark-theme) .sgh-sidebar{--sgh-sidebar-bg: rgba(30, 41, 59, .95);--sgh-border-color: #334155}:host-context(.sgh-dark-theme) .auth-info-wrp{--sgh-surface-color: rgba(15, 23, 42, .5)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: MenuListItemComponent, selector: "sgh-menu-list-item", inputs: ["items"] }], animations: [
256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SidenavComponent, isStandalone: false, selector: "sgh-sidenav", inputs: { expanded: "expanded", sidenavData: "sidenavData" }, outputs: { onToggleSideNav: "onToggleSideNav" }, ngImport: i0, template: "<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n", styles: [".sidebar_div a>div>i{padding-right:10px}.menu-wrapper{height:100%;display:flex;flex-direction:column;position:relative}.menu-wrapper .auth-info-wrp{margin-top:auto;padding:1.5rem 1rem 1rem;border-top:1px solid var(--sgh-border-color, #e2e8f0);color:var(--sgh-text-secondary, #64748b);background:var(--sgh-surface-color, rgba(248, 250, 252, .5));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-wrapper .auth-info-wrp .client-info-wrp{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;padding:.5rem;background:var(--sgh-primary-color, #3b82f6);color:#fff;border-radius:8px;margin-bottom:.75rem}.menu-wrapper .auth-info-wrp .client-info-wrp i{font-size:.75rem;opacity:.8}.menu-wrapper .auth-info-wrp .role-info-wrp{font-size:.75rem;padding:.25rem .5rem}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text{font-weight:400}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text.role{font-weight:600;color:var(--sgh-primary-color, #3b82f6)}.fa-size{font-size:1.6em;line-height:.75em;vertical-align:-15%}.sgh-sidebar{height:100%;background:var(--sgh-sidebar-bg, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--sgh-border-color, #e2e8f0);overflow-y:auto;padding:65px 0 1.5rem;font-size:.875rem;width:280px;display:flex;flex-direction:column;z-index:999;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:64px;left:0;bottom:0}.sgh-sidebar::-webkit-scrollbar{width:6px}.sgh-sidebar::-webkit-scrollbar-track{background:transparent}.sgh-sidebar::-webkit-scrollbar-thumb{background:var(--sgh-border-color, #e2e8f0);border-radius:3px}.sgh-sidebar::-webkit-scrollbar-thumb:hover{background:var(--sgh-text-muted, #94a3b8)}.sidebar_div{margin:0;padding:0 1rem;overflow:hidden}.sidebar_div a{color:var(--sgh-text-secondary, #64748b);padding:.75rem 1rem;text-decoration:none;margin:.25rem 0;display:flex;align-items:center;justify-content:space-between;border-radius:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.sidebar_div a:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sgh-primary-color, #3b82f6);border-radius:0 2px 2px 0;transform:scaleY(0);transition:transform .2s ease}.sidebar_div a:hover:not(.active):not(.item-active){background:var(--sgh-hover-bg, rgba(59, 130, 246, .05));color:var(--sgh-text-primary, #1e293b);transform:translate(4px)}.sidebar_div a.active,.sidebar_div a.item-active{background:var(--sgh-primary-color, #3b82f6);color:#fff;transform:translate(4px);box-shadow:var(--sgh-shadow, 0 4px 12px rgba(59, 130, 246, .25))}.sidebar_div a.active:before,.sidebar_div a.item-active:before{transform:scaleY(1);background:#aaa;padding:3px}.sidebar_div a.active .text-wrap,.sidebar_div a.active .text-wrapper,.sidebar_div a.item-active .text-wrap,.sidebar_div a.item-active .text-wrapper,.sidebar_div a.active i,.sidebar_div a.item-active i{color:#fff}.text-wrap{display:flex;align-items:center;width:100%;gap:.75rem}.text-wrap .icon-wrapper{display:flex;align-items:center;justify-content:center;width:20px}.text-wrap .icon-wrapper i{font-size:1.125rem;transition:color .2s ease}div.content{margin-left:200px;padding:1px 16px;height:1000px}@media screen and (max-width: 700px){.sidebar_div{height:auto;position:relative}div.content{margin-left:0}}@media screen and (max-width: 400px){.sidebar_div a{text-align:center;float:none}}.nav-list li a{text-decoration:none;display:block;padding:10px;cursor:pointer;border-bottom:1px solid #515151;color:#9d9d9d}.nav-list>li>a{color:#c4c4c4;font-size:14px;padding-left:15px;border-bottom:1px solid #585858}.nav-list>li>a:hover{background-color:#444}.sidenav-overlay{position:fixed;width:100%;height:100%;top:0;z-index:998;cursor:pointer;transition:opacity .3s ease}@media screen and (max-width: 1024px){.sgh-sidebar{transform:translate(-100%);box-shadow:var(--sgh-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15))}.sgh-sidebar.expanded{transform:translate(0)}}@media screen and (max-width: 768px){.sgh-sidebar{width:280px}.sgh-sidebar .sidebar_div{padding:0 .75rem}.sgh-sidebar .auth-info-wrp{padding:1rem .75rem}}@media screen and (max-width: 480px){.sgh-sidebar{width:100%;max-width:320px}}:host-context(.sgh-dark-theme) .sgh-sidebar{--sgh-sidebar-bg: rgba(30, 41, 59, .95);--sgh-border-color: #334155}:host-context(.sgh-dark-theme) .auth-info-wrp{--sgh-surface-color: rgba(15, 23, 42, .5)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: MenuListItemComponent, selector: "sgh-menu-list-item", inputs: ["items"] }], animations: [
257
257
  trigger('inOutAnimation', [
258
258
  transition(':enter', [
259
259
  style({ height: 0, opacity: 0 }),
@@ -319,7 +319,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
319
319
  animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))
320
320
  ])
321
321
  ])
322
- ], standalone: false, template: "<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n", styles: [".sidebar_div a>div>i{padding-right:10px}.menu-wrapper{height:100%;display:flex;flex-direction:column;position:relative}.menu-wrapper .auth-info-wrp{margin-top:auto;padding:1.5rem 1rem 1rem;border-top:1px solid var(--sgh-border-color, #e2e8f0);color:var(--sgh-text-secondary, #64748b);background:var(--sgh-surface-color, rgba(248, 250, 252, .5));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-wrapper .auth-info-wrp .client-info-wrp{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;padding:.5rem;background:var(--sgh-primary-color, #3b82f6);color:#fff;border-radius:8px;margin-bottom:.75rem}.menu-wrapper .auth-info-wrp .client-info-wrp i{font-size:.75rem;opacity:.8}.menu-wrapper .auth-info-wrp .role-info-wrp{font-size:.75rem;padding:.25rem .5rem}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text{font-weight:400}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text.role{font-weight:600;color:var(--sgh-primary-color, #3b82f6)}.fa-size{font-size:1.6em;line-height:.75em;vertical-align:-15%}.sgh-sidebar{height:100%;background:var(--sgh-sidebar-bg, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--sgh-border-color, #e2e8f0);overflow-y:auto;padding:1.5rem 0;font-size:.875rem;width:280px;display:flex;flex-direction:column;z-index:999;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:64px;left:0;bottom:0}.sgh-sidebar::-webkit-scrollbar{width:6px}.sgh-sidebar::-webkit-scrollbar-track{background:transparent}.sgh-sidebar::-webkit-scrollbar-thumb{background:var(--sgh-border-color, #e2e8f0);border-radius:3px}.sgh-sidebar::-webkit-scrollbar-thumb:hover{background:var(--sgh-text-muted, #94a3b8)}.sidebar_div{margin:0;padding:0 1rem;overflow:hidden}.sidebar_div a{color:var(--sgh-text-secondary, #64748b);padding:.75rem 1rem;text-decoration:none;margin:.25rem 0;display:flex;align-items:center;justify-content:space-between;border-radius:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.sidebar_div a:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sgh-primary-color, #3b82f6);border-radius:0 2px 2px 0;transform:scaleY(0);transition:transform .2s ease}.sidebar_div a:hover:not(.active):not(.item-active){background:var(--sgh-hover-bg, rgba(59, 130, 246, .05));color:var(--sgh-text-primary, #1e293b);transform:translate(4px)}.sidebar_div a.active,.sidebar_div a.item-active{background:var(--sgh-primary-color, #3b82f6);color:#fff;transform:translate(4px);box-shadow:var(--sgh-shadow, 0 4px 12px rgba(59, 130, 246, .25))}.sidebar_div a.active:before,.sidebar_div a.item-active:before{transform:scaleY(1);background:#fff}.sidebar_div a.active .text-wrap,.sidebar_div a.active .text-wrapper,.sidebar_div a.item-active .text-wrap,.sidebar_div a.item-active .text-wrapper,.sidebar_div a.active i,.sidebar_div a.item-active i{color:#fff}.text-wrap{display:flex;align-items:center;width:100%;gap:.75rem}.text-wrap .icon-wrapper{display:flex;align-items:center;justify-content:center;width:20px}.text-wrap .icon-wrapper i{font-size:1.125rem;transition:color .2s ease}div.content{margin-left:200px;padding:1px 16px;height:1000px}@media screen and (max-width: 700px){.sidebar_div{height:auto;position:relative}div.content{margin-left:0}}@media screen and (max-width: 400px){.sidebar_div a{text-align:center;float:none}}.nav-list li a{text-decoration:none;display:block;padding:10px;cursor:pointer;border-bottom:1px solid #515151;color:#9d9d9d}.nav-list>li>a{color:#c4c4c4;font-size:14px;padding-left:15px;border-bottom:1px solid #585858}.nav-list>li>a:hover{background-color:#444}.sidenav-overlay{position:fixed;width:100%;height:100%;top:0;z-index:998;cursor:pointer;transition:opacity .3s ease}@media screen and (max-width: 1024px){.sgh-sidebar{transform:translate(-100%);box-shadow:var(--sgh-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15))}.sgh-sidebar.expanded{transform:translate(0)}}@media screen and (max-width: 768px){.sgh-sidebar{width:280px}.sgh-sidebar .sidebar_div{padding:0 .75rem}.sgh-sidebar .auth-info-wrp{padding:1rem .75rem}}@media screen and (max-width: 480px){.sgh-sidebar{width:100%;max-width:320px}}:host-context(.sgh-dark-theme) .sgh-sidebar{--sgh-sidebar-bg: rgba(30, 41, 59, .95);--sgh-border-color: #334155}:host-context(.sgh-dark-theme) .auth-info-wrp{--sgh-surface-color: rgba(15, 23, 42, .5)}\n"] }]
322
+ ], standalone: false, template: "<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n", styles: [".sidebar_div a>div>i{padding-right:10px}.menu-wrapper{height:100%;display:flex;flex-direction:column;position:relative}.menu-wrapper .auth-info-wrp{margin-top:auto;padding:1.5rem 1rem 1rem;border-top:1px solid var(--sgh-border-color, #e2e8f0);color:var(--sgh-text-secondary, #64748b);background:var(--sgh-surface-color, rgba(248, 250, 252, .5));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-wrapper .auth-info-wrp .client-info-wrp{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;padding:.5rem;background:var(--sgh-primary-color, #3b82f6);color:#fff;border-radius:8px;margin-bottom:.75rem}.menu-wrapper .auth-info-wrp .client-info-wrp i{font-size:.75rem;opacity:.8}.menu-wrapper .auth-info-wrp .role-info-wrp{font-size:.75rem;padding:.25rem .5rem}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text{font-weight:400}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text.role{font-weight:600;color:var(--sgh-primary-color, #3b82f6)}.fa-size{font-size:1.6em;line-height:.75em;vertical-align:-15%}.sgh-sidebar{height:100%;background:var(--sgh-sidebar-bg, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--sgh-border-color, #e2e8f0);overflow-y:auto;padding:65px 0 1.5rem;font-size:.875rem;width:280px;display:flex;flex-direction:column;z-index:999;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:64px;left:0;bottom:0}.sgh-sidebar::-webkit-scrollbar{width:6px}.sgh-sidebar::-webkit-scrollbar-track{background:transparent}.sgh-sidebar::-webkit-scrollbar-thumb{background:var(--sgh-border-color, #e2e8f0);border-radius:3px}.sgh-sidebar::-webkit-scrollbar-thumb:hover{background:var(--sgh-text-muted, #94a3b8)}.sidebar_div{margin:0;padding:0 1rem;overflow:hidden}.sidebar_div a{color:var(--sgh-text-secondary, #64748b);padding:.75rem 1rem;text-decoration:none;margin:.25rem 0;display:flex;align-items:center;justify-content:space-between;border-radius:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.sidebar_div a:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sgh-primary-color, #3b82f6);border-radius:0 2px 2px 0;transform:scaleY(0);transition:transform .2s ease}.sidebar_div a:hover:not(.active):not(.item-active){background:var(--sgh-hover-bg, rgba(59, 130, 246, .05));color:var(--sgh-text-primary, #1e293b);transform:translate(4px)}.sidebar_div a.active,.sidebar_div a.item-active{background:var(--sgh-primary-color, #3b82f6);color:#fff;transform:translate(4px);box-shadow:var(--sgh-shadow, 0 4px 12px rgba(59, 130, 246, .25))}.sidebar_div a.active:before,.sidebar_div a.item-active:before{transform:scaleY(1);background:#aaa;padding:3px}.sidebar_div a.active .text-wrap,.sidebar_div a.active .text-wrapper,.sidebar_div a.item-active .text-wrap,.sidebar_div a.item-active .text-wrapper,.sidebar_div a.active i,.sidebar_div a.item-active i{color:#fff}.text-wrap{display:flex;align-items:center;width:100%;gap:.75rem}.text-wrap .icon-wrapper{display:flex;align-items:center;justify-content:center;width:20px}.text-wrap .icon-wrapper i{font-size:1.125rem;transition:color .2s ease}div.content{margin-left:200px;padding:1px 16px;height:1000px}@media screen and (max-width: 700px){.sidebar_div{height:auto;position:relative}div.content{margin-left:0}}@media screen and (max-width: 400px){.sidebar_div a{text-align:center;float:none}}.nav-list li a{text-decoration:none;display:block;padding:10px;cursor:pointer;border-bottom:1px solid #515151;color:#9d9d9d}.nav-list>li>a{color:#c4c4c4;font-size:14px;padding-left:15px;border-bottom:1px solid #585858}.nav-list>li>a:hover{background-color:#444}.sidenav-overlay{position:fixed;width:100%;height:100%;top:0;z-index:998;cursor:pointer;transition:opacity .3s ease}@media screen and (max-width: 1024px){.sgh-sidebar{transform:translate(-100%);box-shadow:var(--sgh-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15))}.sgh-sidebar.expanded{transform:translate(0)}}@media screen and (max-width: 768px){.sgh-sidebar{width:280px}.sgh-sidebar .sidebar_div{padding:0 .75rem}.sgh-sidebar .auth-info-wrp{padding:1rem .75rem}}@media screen and (max-width: 480px){.sgh-sidebar{width:100%;max-width:320px}}:host-context(.sgh-dark-theme) .sgh-sidebar{--sgh-sidebar-bg: rgba(30, 41, 59, .95);--sgh-border-color: #334155}:host-context(.sgh-dark-theme) .auth-info-wrp{--sgh-surface-color: rgba(15, 23, 42, .5)}\n"] }]
323
323
  }], ctorParameters: () => [{ type: i1.Router }, { type: SghNavbarService }], propDecorators: { onToggleSideNav: [{
324
324
  type: Output
325
325
  }], expanded: [{
@@ -497,8 +497,10 @@ class ToolbarComponent {
497
497
  this.searchText = '';
498
498
  }
499
499
  toggleSidebar() {
500
- this.toggleSidebarEvent.emit(this.expanded);
501
- return this.expanded;
500
+ // Toggle the expanded state and emit the new value
501
+ const newExpandedState = !this.expanded;
502
+ this.toggleSidebarEvent.emit(newExpandedState);
503
+ return newExpandedState;
502
504
  }
503
505
  toggleNotificationList() {
504
506
  this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed;
@@ -654,7 +656,7 @@ class SghNavbarComponent {
654
656
  ngOnInit() {
655
657
  }
656
658
  onToggleSidebar(expanded) {
657
- this.expanded = !expanded;
659
+ this.expanded = expanded;
658
660
  this.toggleSidebarEvent.emit(this.expanded);
659
661
  }
660
662
  onSearchInput(searchText) {
@@ -707,7 +709,7 @@ class SghNavbarComponent {
707
709
  </div>
708
710
  </div>
709
711
  </div>
710
- `, isInline: true, styles: [".sgh-navbar-container{display:flex;flex-direction:column;min-height:100vh;background:var(--sgh-background-color, #f8fafc)}.sgh-navbar-layout{display:flex;flex:1;position:relative;overflow:hidden}.sgh-navbar-content{flex:1;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1);margin-left:0;background:var(--sgh-background-color, #f8fafc)}@media (max-width: 768px){.sgh-navbar-content.expanded{margin-left:0}}.sgh-breadcrumb-container{background:var(--sgh-breadcrumb-bg, #ffffff);border-bottom:1px solid var(--sgh-border-color, #e2e8f0);padding:.75rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sgh-breadcrumb-container .breadcrumb{margin:0;padding:0;background:transparent;display:flex;align-items:center;list-style:none;font-size:.875rem;color:var(--sgh-text-secondary, #64748b)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item{display:flex;align-items:center}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item:not(:last-child):after{content:\"/\";margin:0 .5rem;color:var(--sgh-text-muted, #94a3b8)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a{color:var(--sgh-primary-color, #3b82f6);text-decoration:none;transition:color .2s ease}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a:hover{color:var(--sgh-primary-hover, #2563eb);text-decoration:underline}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item.active{color:var(--sgh-text-primary, #1e293b);font-weight:500}.sgh-navbar-main-content{flex:1;padding:1.5rem;overflow-y:auto}@media (max-width: 768px){.sgh-navbar-main-content{padding:1rem}}:host{--sgh-primary-color: #3b82f6;--sgh-primary-hover: #2563eb;--sgh-background-color: #f8fafc;--sgh-surface-color: #ffffff;--sgh-text-primary: #1e293b;--sgh-text-secondary: #64748b;--sgh-text-muted: #94a3b8;--sgh-border-color: #e2e8f0;--sgh-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--sgh-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}:host-context(.sgh-dark-theme){--sgh-primary-color: #60a5fa;--sgh-primary-hover: #3b82f6;--sgh-background-color: #0f172a;--sgh-surface-color: #1e293b;--sgh-text-primary: #f1f5f9;--sgh-text-secondary: #cbd5e1;--sgh-text-muted: #64748b;--sgh-border-color: #334155}@media (max-width: 1024px){.sgh-navbar-content{margin-left:0}}@media (max-width: 768px){.sgh-breadcrumb-container{padding:.5rem 1rem}.sgh-navbar-main-content{padding:1rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: SidenavComponent, selector: "sgh-sidenav", inputs: ["expanded", "sidenavData"], outputs: ["onToggleSideNav"] }, { kind: "component", type: ToolbarComponent, selector: "sgh-toolbar", inputs: ["expanded", "toolbarData"], outputs: ["toggleSidebarEvent", "searchInputEvent", "client", "subClient"] }] }); }
712
+ `, isInline: true, styles: [".sgh-navbar-container{display:flex;flex-direction:column;min-height:100vh;background:var(--sgh-background-color, #f8fafc)}.sgh-navbar-layout{display:flex;flex:1;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.sgh-navbar-content{flex:1;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);margin-left:0;background:var(--sgh-background-color, #f8fafc)}@media (min-width: 1025px){.sgh-navbar-content.expanded{margin-left:280px;box-shadow:-2px 0 8px #0000000d}}@media (min-width: 769px) and (max-width: 1024px){.sgh-navbar-content.expanded{margin-left:280px;box-shadow:-2px 0 8px #0000000d}}@media (max-width: 768px){.sgh-navbar-content.expanded{margin-left:0}.sgh-navbar-content.expanded:before{content:\"\";position:fixed;inset:64px 0 0;background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900;pointer-events:auto}}.sgh-breadcrumb-container{background:var(--sgh-breadcrumb-bg, #ffffff);border-bottom:1px solid var(--sgh-border-color, #e2e8f0);padding:.75rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sgh-breadcrumb-container .breadcrumb{margin:0;padding:0;background:transparent;display:flex;align-items:center;list-style:none;font-size:.875rem;color:var(--sgh-text-secondary, #64748b)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item{display:flex;align-items:center}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item:not(:last-child):after{content:\"/\";margin:0 .5rem;color:var(--sgh-text-muted, #94a3b8)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a{color:var(--sgh-primary-color, #3b82f6);text-decoration:none;transition:color .2s ease}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a:hover{color:var(--sgh-primary-hover, #2563eb);text-decoration:underline}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item.active{color:var(--sgh-text-primary, #1e293b);font-weight:500}.sgh-navbar-main-content{flex:1;padding:1rem;overflow-y:auto;position:relative;z-index:1;scroll-behavior:smooth}@media (max-width: 768px){.sgh-navbar-main-content{padding:1rem}}@media (min-width: 1440px){.sgh-navbar-main-content{padding:1rem;margin:0}}:host{--sgh-primary-color: #3b82f6;--sgh-primary-hover: #2563eb;--sgh-background-color: #f8fafc;--sgh-surface-color: #ffffff;--sgh-text-primary: #1e293b;--sgh-text-secondary: #64748b;--sgh-text-muted: #94a3b8;--sgh-border-color: #e2e8f0;--sgh-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--sgh-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}:host-context(.sgh-dark-theme){--sgh-primary-color: #60a5fa;--sgh-primary-hover: #3b82f6;--sgh-background-color: #0f172a;--sgh-surface-color: #1e293b;--sgh-text-primary: #f1f5f9;--sgh-text-secondary: #cbd5e1;--sgh-text-muted: #64748b;--sgh-border-color: #334155}@media (max-width: 768px){.sgh-breadcrumb-container{padding:.5rem 1rem}.sgh-navbar-main-content{padding:1rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: SidenavComponent, selector: "sgh-sidenav", inputs: ["expanded", "sidenavData"], outputs: ["onToggleSideNav"] }, { kind: "component", type: ToolbarComponent, selector: "sgh-toolbar", inputs: ["expanded", "toolbarData"], outputs: ["toggleSidebarEvent", "searchInputEvent", "client", "subClient"] }] }); }
711
713
  }
712
714
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SghNavbarComponent, decorators: [{
713
715
  type: Component,
@@ -748,7 +750,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
748
750
  </div>
749
751
  </div>
750
752
  </div>
751
- `, standalone: false, styles: [".sgh-navbar-container{display:flex;flex-direction:column;min-height:100vh;background:var(--sgh-background-color, #f8fafc)}.sgh-navbar-layout{display:flex;flex:1;position:relative;overflow:hidden}.sgh-navbar-content{flex:1;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1);margin-left:0;background:var(--sgh-background-color, #f8fafc)}@media (max-width: 768px){.sgh-navbar-content.expanded{margin-left:0}}.sgh-breadcrumb-container{background:var(--sgh-breadcrumb-bg, #ffffff);border-bottom:1px solid var(--sgh-border-color, #e2e8f0);padding:.75rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sgh-breadcrumb-container .breadcrumb{margin:0;padding:0;background:transparent;display:flex;align-items:center;list-style:none;font-size:.875rem;color:var(--sgh-text-secondary, #64748b)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item{display:flex;align-items:center}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item:not(:last-child):after{content:\"/\";margin:0 .5rem;color:var(--sgh-text-muted, #94a3b8)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a{color:var(--sgh-primary-color, #3b82f6);text-decoration:none;transition:color .2s ease}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a:hover{color:var(--sgh-primary-hover, #2563eb);text-decoration:underline}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item.active{color:var(--sgh-text-primary, #1e293b);font-weight:500}.sgh-navbar-main-content{flex:1;padding:1.5rem;overflow-y:auto}@media (max-width: 768px){.sgh-navbar-main-content{padding:1rem}}:host{--sgh-primary-color: #3b82f6;--sgh-primary-hover: #2563eb;--sgh-background-color: #f8fafc;--sgh-surface-color: #ffffff;--sgh-text-primary: #1e293b;--sgh-text-secondary: #64748b;--sgh-text-muted: #94a3b8;--sgh-border-color: #e2e8f0;--sgh-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--sgh-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}:host-context(.sgh-dark-theme){--sgh-primary-color: #60a5fa;--sgh-primary-hover: #3b82f6;--sgh-background-color: #0f172a;--sgh-surface-color: #1e293b;--sgh-text-primary: #f1f5f9;--sgh-text-secondary: #cbd5e1;--sgh-text-muted: #64748b;--sgh-border-color: #334155}@media (max-width: 1024px){.sgh-navbar-content{margin-left:0}}@media (max-width: 768px){.sgh-breadcrumb-container{padding:.5rem 1rem}.sgh-navbar-main-content{padding:1rem}}\n"] }]
753
+ `, standalone: false, styles: [".sgh-navbar-container{display:flex;flex-direction:column;min-height:100vh;background:var(--sgh-background-color, #f8fafc)}.sgh-navbar-layout{display:flex;flex:1;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.sgh-navbar-content{flex:1;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);margin-left:0;background:var(--sgh-background-color, #f8fafc)}@media (min-width: 1025px){.sgh-navbar-content.expanded{margin-left:280px;box-shadow:-2px 0 8px #0000000d}}@media (min-width: 769px) and (max-width: 1024px){.sgh-navbar-content.expanded{margin-left:280px;box-shadow:-2px 0 8px #0000000d}}@media (max-width: 768px){.sgh-navbar-content.expanded{margin-left:0}.sgh-navbar-content.expanded:before{content:\"\";position:fixed;inset:64px 0 0;background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900;pointer-events:auto}}.sgh-breadcrumb-container{background:var(--sgh-breadcrumb-bg, #ffffff);border-bottom:1px solid var(--sgh-border-color, #e2e8f0);padding:.75rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sgh-breadcrumb-container .breadcrumb{margin:0;padding:0;background:transparent;display:flex;align-items:center;list-style:none;font-size:.875rem;color:var(--sgh-text-secondary, #64748b)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item{display:flex;align-items:center}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item:not(:last-child):after{content:\"/\";margin:0 .5rem;color:var(--sgh-text-muted, #94a3b8)}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a{color:var(--sgh-primary-color, #3b82f6);text-decoration:none;transition:color .2s ease}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item a:hover{color:var(--sgh-primary-hover, #2563eb);text-decoration:underline}.sgh-breadcrumb-container .breadcrumb .breadcrumb-item.active{color:var(--sgh-text-primary, #1e293b);font-weight:500}.sgh-navbar-main-content{flex:1;padding:1rem;overflow-y:auto;position:relative;z-index:1;scroll-behavior:smooth}@media (max-width: 768px){.sgh-navbar-main-content{padding:1rem}}@media (min-width: 1440px){.sgh-navbar-main-content{padding:1rem;margin:0}}:host{--sgh-primary-color: #3b82f6;--sgh-primary-hover: #2563eb;--sgh-background-color: #f8fafc;--sgh-surface-color: #ffffff;--sgh-text-primary: #1e293b;--sgh-text-secondary: #64748b;--sgh-text-muted: #94a3b8;--sgh-border-color: #e2e8f0;--sgh-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--sgh-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}:host-context(.sgh-dark-theme){--sgh-primary-color: #60a5fa;--sgh-primary-hover: #3b82f6;--sgh-background-color: #0f172a;--sgh-surface-color: #1e293b;--sgh-text-primary: #f1f5f9;--sgh-text-secondary: #cbd5e1;--sgh-text-muted: #64748b;--sgh-border-color: #334155}@media (max-width: 768px){.sgh-breadcrumb-container{padding:.5rem 1rem}.sgh-navbar-main-content{padding:1rem}}\n"] }]
752
754
  }], ctorParameters: () => [], propDecorators: { sidenavData: [{
753
755
  type: Input
754
756
  }], toolbarData: [{
@@ -1 +1 @@
1
- {"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/configs/default-sidenav.config.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/configs/default-toolbar.config.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.service.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.component.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ClientListItem, SubClientListItem } from './toolbar/toolbar-data';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded: boolean = false;\r\n client = new BehaviorSubject<ClientListItem | null>(null);\r\n subClient = new BehaviorSubject<SubClientListItem | null>(null);\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded(): boolean {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client: ClientListItem): void {\r\n this.client.next(client);\r\n }\r\n\r\n getClient(): Observable<ClientListItem | null> {\r\n return this.client.asObservable();\r\n }\r\n\r\n setSubclient(subclient: SubClientListItem): void {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient(): Observable<SubClientListItem | null> {\r\n return this.subClient.asObservable();\r\n }\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\",\r\n \"visible\": true,\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\",\r\n \"visible\": true\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\",\r\n \"visible\": true,\r\n },\r\n];\r\n","import { SidenavData } from '../sidenav/sidenav-data';\r\nimport { navbarData } from '../sidenav/nav-data';\r\n\r\nexport const DEFAULT_SIDENAV_CONFIG: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n};","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'sgh-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean = false;\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: INavbarData[] = [];\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link {{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar/toolbar-data\";\r\nimport {INavbarData} from \"./helper\";\r\nimport {DEFAULT_SIDENAV_CONFIG} from \"../configs/default-sidenav.config\";\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'sgh-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('inOutAnimation', [\r\n transition(':enter', [\r\n style({ height: 0, opacity: 0 }),\r\n animate('500ms ease-out', style({ height: '*', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 1 }),\r\n animate('500ms ease-in', style({ height: 0, opacity: 0 }))\r\n ])\r\n ]),\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms', keyframes([\r\n style({ transform: 'rotate(0deg)', offset: '0' }),\r\n style({ transform: 'rotate(2turn)', offset: '1' })\r\n ]))\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({ transform: 'translateX(-100px)' }), animate('.5s ease-out', style({ transform: 'translateX(0%)' }))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded: boolean = false;\r\n @Input() sidenavData: SidenavData = DEFAULT_SIDENAV_CONFIG;\r\n client: ClientListItem | null = null;\r\n subclient: SubClientListItem | null = null;\r\n hasClients: boolean = false;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (client) => {\r\n this.client = client;\r\n },\r\n error: (error) => {\r\n console.error('Error getting client:', error);\r\n }\r\n });\r\n \r\n this.sidebarService.getSubclient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (subclient) => {\r\n this.subclient = subclient;\r\n },\r\n error: (error) => {\r\n console.error('Error getting subclient:', error);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n customLinkCSS?: string;\r\n label: string;\r\n expanded?: boolean;\r\n visible: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss'],\r\n standalone: false\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n","import { ToolbarData } from '../toolbar/toolbar-data';\r\n\r\nexport const DEFAULT_TOOLBAR_CONFIG: ToolbarData = {\r\n themeOptions: [\r\n {\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n },\r\n {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n },\r\n {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }\r\n ],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [\r\n {\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false },\r\n { text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }\r\n ],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n};","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sgh-notification-list',\r\n templateUrl: './notification-list.component.html',\r\n styleUrls: ['./notification-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class NotificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search',\r\n standalone: false\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {DEFAULT_TOOLBAR_CONFIG} from \"../configs/default-toolbar.config\";\r\n\r\n@Component({\r\n selector: 'sgh-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ],\r\n standalone: false\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean = false;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = DEFAULT_TOOLBAR_CONFIG;\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<ClientListItem>();\r\n @Output() subClient = new EventEmitter<SubClientListItem>();\r\n\r\n searchInput: string = \"\";\r\n private prev: string = '';\r\n selected: string = 'sgh-default-theme';\r\n private wasInside: boolean = false;\r\n selectedClient: ClientListItem | null = null;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger!: MatMenuTrigger;\r\n\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n return this.expanded;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n // Use Promise-based timeout for better error handling\r\n Promise.resolve().then(() => {\r\n try {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem, index: number) => {\r\n // select the first client\r\n if (index === 0) {\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n this.selectedClient = client;\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n } catch (error) {\r\n console.error('Error initializing clients:', error);\r\n }\r\n });\r\n }\r\n\r\n setClass(selected: string): void {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n searchText: string = '';\r\n\r\n onRadioClick(themeValue: string): void {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event: Event, clientItem: ClientListItem): void {\r\n this.selectedClient = clientItem;\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n this.sghNavbarSvc.setClient(clientItem);\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe({\r\n next: (result) => {\r\n if (result && result.data && result.data.selectedSubClient) {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setSubclient(result.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n const selectedObj = clientItem.subClientList?.find((scItem) => \r\n scItem.text === result.data.selectedSubClient.text\r\n );\r\n if (selectedObj) {\r\n selectedObj.checked = true;\r\n }\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error in subclient dialog:', error);\r\n }\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem): void {\r\n client.subClientList?.forEach((subclient: SubClientListItem, index: number) => {\r\n if (index === 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems(): void {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient(): void {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n if (client !== this.selectedClient) {\r\n client.subClientList?.forEach((scItem, index: number) => {\r\n scItem.checked = index === 0;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-bars fa-fade\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<sgh-notification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></sgh-notification-list>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { SidenavData } from './sidenav/sidenav-data';\r\nimport { ToolbarData } from './toolbar/toolbar-data';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <div class=\"sgh-navbar-container\">\r\n <sgh-toolbar \r\n [toolbarData]=\"toolbarData\" \r\n [expanded]=\"expanded\" \r\n (toggleSidebarEvent)=\"onToggleSidebar($event)\"\r\n (searchInputEvent)=\"onSearchInput($event)\"\r\n (client)=\"onClientChange($event)\"\r\n (subClient)=\"onSubClientChange($event)\">\r\n </sgh-toolbar>\r\n \r\n <div class=\"sgh-navbar-layout\">\r\n <sgh-sidenav \r\n [sidenavData]=\"sidenavData\" \r\n [expanded]=\"expanded\"\r\n (onToggleSideNav)=\"onSidenavToggle($event)\">\r\n </sgh-sidenav>\r\n \r\n <div class=\"sgh-navbar-content\" [class.expanded]=\"expanded\">\r\n <div class=\"sgh-breadcrumb-container\" *ngIf=\"showBreadcrumbs\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbs; let last = last\"\r\n [class.active]=\"last\">\r\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\">{{ item.label }}</a>\r\n <span *ngIf=\"last\">{{ item.label }}</span>\r\n </li>\r\n </ol>\r\n </nav>\r\n </div>\r\n \r\n <div class=\"sgh-navbar-main-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./sgh-navbar.component.scss'],\r\n standalone: false\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n @Input() sidenavData: SidenavData;\r\n @Input() toolbarData: ToolbarData;\r\n @Input() expanded: boolean = false;\r\n @Input() showBreadcrumbs: boolean = true;\r\n @Input() breadcrumbs: any[] = [];\r\n \r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() clientChange = new EventEmitter<any>();\r\n @Output() subClientChange = new EventEmitter<any>();\r\n @Output() sidenavToggle = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onToggleSidebar(expanded: boolean) {\r\n this.expanded = !expanded;\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n }\r\n\r\n onSearchInput(searchText: string) {\r\n this.searchInputEvent.emit(searchText);\r\n }\r\n\r\n onClientChange(client: any) {\r\n this.clientChange.emit(client);\r\n }\r\n\r\n onSubClientChange(subClient: any) {\r\n this.subClientChange.emit(subClient);\r\n }\r\n\r\n onSidenavToggle(event: any) {\r\n this.sidenavToggle.emit(event);\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'sgh-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0 && item.visible\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"(!item.items || (item.items && item.items.length === 0)) && item.visible\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <sgh-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></sgh-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sublevel-menu.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({ overflow: 'hidden' }),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n visible: true,\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\n\nexport interface BreadcrumbItem {\n label: string;\n routeLink: string;\n icon?: string;\n isActive?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n private breadcrumbsSubject = new BehaviorSubject<BreadcrumbItem[]>([]);\n public breadcrumbs$: Observable<BreadcrumbItem[]> = this.breadcrumbsSubject.asObservable();\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => this.buildBreadcrumbs(this.activatedRoute.root))\n ).subscribe(breadcrumbs => {\n this.breadcrumbsSubject.next(breadcrumbs);\n });\n }\n\n setBreadcrumbs(breadcrumbs: BreadcrumbItem[]): void {\n this.breadcrumbsSubject.next(breadcrumbs);\n }\n\n addBreadcrumb(breadcrumb: BreadcrumbItem): void {\n const current = this.breadcrumbsSubject.value;\n this.breadcrumbsSubject.next([...current, breadcrumb]);\n }\n\n private buildBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: BreadcrumbItem[] = []): BreadcrumbItem[] {\n const children: ActivatedRoute[] = route.children;\n\n if (children.length === 0) {\n return breadcrumbs;\n }\n\n for (const child of children) {\n const routeURL: string = child.snapshot.url.map(segment => segment.path).join('/');\n if (routeURL !== '') {\n url += `/${routeURL}`;\n }\n\n const label = child.snapshot.data['breadcrumb'];\n if (label) {\n breadcrumbs.push({\n label,\n routeLink: url,\n icon: child.snapshot.data['breadcrumbIcon']\n });\n }\n\n return this.buildBreadcrumbs(child, url, breadcrumbs);\n }\n\n return breadcrumbs;\n }\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'sgh-breadcrumb',\n template: `\n <nav class=\"sgh-breadcrumb\" aria-label=\"breadcrumb\" *ngIf=\"breadcrumbs$ | async as breadcrumbs\">\n <ol class=\"breadcrumb-list\">\n <li class=\"breadcrumb-item home-item\">\n <a [routerLink]=\"'/'\" class=\"breadcrumb-link\">\n <i class=\"fa fa-home\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Home</span>\n </a>\n </li>\n <li class=\"breadcrumb-item\" \n *ngFor=\"let item of breadcrumbs; let last = last\"\n [class.active]=\"last\">\n <i class=\"fa fa-angle-right breadcrumb-separator\" aria-hidden=\"true\"></i>\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\" class=\"breadcrumb-link\">\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\n {{ item.label }}\n </a>\n <span *ngIf=\"last\" class=\"breadcrumb-current\">\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\n {{ item.label }}\n </span>\n </li>\n </ol>\n </nav>\n `,\n styleUrls: ['./breadcrumb.component.scss'],\n standalone: false\n})\nexport class BreadcrumbComponent implements OnInit {\n @Input() customBreadcrumbs: BreadcrumbItem[] = [];\n \n breadcrumbs$: Observable<BreadcrumbItem[]>;\n\n constructor(private breadcrumbService: BreadcrumbService) {\n this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\n }\n\n ngOnInit(): void {\n if (this.customBreadcrumbs.length > 0) {\n this.breadcrumbService.setBreadcrumbs(this.customBreadcrumbs);\n }\n }\n}","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NotificationListComponent} from \"./toolbar/notification-list/notification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { BreadcrumbService } from './breadcrumb/breadcrumb.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NotificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent,\r\n BreadcrumbComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent\r\n ],\r\n providers: [SghNavbarService, BreadcrumbService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/sidenav/sidenav-data';\r\nexport * from './lib/sidenav/helper';\r\n\r\nexport * from './lib/toolbar/toolbar.component';\r\nexport * from './lib/toolbar/toolbar-data';\r\n\r\nexport * from './lib/breadcrumb/breadcrumb.component';\r\nexport * from './lib/breadcrumb/breadcrumb.service';\r\n\r\nexport * from './lib/configs/default-toolbar.config';\r\nexport * from './lib/configs/default-sidenav.config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.SghNavbarService","i3","i4.MenuListItemComponent","i1","i4","i7.NotificationListComponent","i8.SearchPipe","i2","i3.SidenavComponent","i4.ToolbarComponent","i1.BreadcrumbService"],"mappings":"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"}
1
+ {"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/configs/default-sidenav.config.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/configs/default-toolbar.config.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.service.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.component.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ClientListItem, SubClientListItem } from './toolbar/toolbar-data';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded: boolean = false;\r\n client = new BehaviorSubject<ClientListItem | null>(null);\r\n subClient = new BehaviorSubject<SubClientListItem | null>(null);\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded(): boolean {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client: ClientListItem): void {\r\n this.client.next(client);\r\n }\r\n\r\n getClient(): Observable<ClientListItem | null> {\r\n return this.client.asObservable();\r\n }\r\n\r\n setSubclient(subclient: SubClientListItem): void {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient(): Observable<SubClientListItem | null> {\r\n return this.subClient.asObservable();\r\n }\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\",\r\n \"visible\": true,\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\",\r\n \"visible\": true\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\",\r\n \"visible\": true,\r\n },\r\n];\r\n","import { SidenavData } from '../sidenav/sidenav-data';\r\nimport { navbarData } from '../sidenav/nav-data';\r\n\r\nexport const DEFAULT_SIDENAV_CONFIG: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n};","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'sgh-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean = false;\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: INavbarData[] = [];\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link {{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar/toolbar-data\";\r\nimport {INavbarData} from \"./helper\";\r\nimport {DEFAULT_SIDENAV_CONFIG} from \"../configs/default-sidenav.config\";\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'sgh-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('inOutAnimation', [\r\n transition(':enter', [\r\n style({ height: 0, opacity: 0 }),\r\n animate('500ms ease-out', style({ height: '*', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 1 }),\r\n animate('500ms ease-in', style({ height: 0, opacity: 0 }))\r\n ])\r\n ]),\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms', keyframes([\r\n style({ transform: 'rotate(0deg)', offset: '0' }),\r\n style({ transform: 'rotate(2turn)', offset: '1' })\r\n ]))\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({ transform: 'translateX(-100px)' }), animate('.5s ease-out', style({ transform: 'translateX(0%)' }))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded: boolean = false;\r\n @Input() sidenavData: SidenavData = DEFAULT_SIDENAV_CONFIG;\r\n client: ClientListItem | null = null;\r\n subclient: SubClientListItem | null = null;\r\n hasClients: boolean = false;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (client) => {\r\n this.client = client;\r\n },\r\n error: (error) => {\r\n console.error('Error getting client:', error);\r\n }\r\n });\r\n \r\n this.sidebarService.getSubclient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (subclient) => {\r\n this.subclient = subclient;\r\n },\r\n error: (error) => {\r\n console.error('Error getting subclient:', error);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n customLinkCSS?: string;\r\n label: string;\r\n expanded?: boolean;\r\n visible: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss'],\r\n standalone: false\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n","import { ToolbarData } from '../toolbar/toolbar-data';\r\n\r\nexport const DEFAULT_TOOLBAR_CONFIG: ToolbarData = {\r\n themeOptions: [\r\n {\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n },\r\n {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n },\r\n {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }\r\n ],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [\r\n {\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false },\r\n { text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }\r\n ],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n};","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sgh-notification-list',\r\n templateUrl: './notification-list.component.html',\r\n styleUrls: ['./notification-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class NotificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search',\r\n standalone: false\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {DEFAULT_TOOLBAR_CONFIG} from \"../configs/default-toolbar.config\";\r\n\r\n@Component({\r\n selector: 'sgh-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ],\r\n standalone: false\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean = false;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = DEFAULT_TOOLBAR_CONFIG;\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<ClientListItem>();\r\n @Output() subClient = new EventEmitter<SubClientListItem>();\r\n\r\n searchInput: string = \"\";\r\n private prev: string = '';\r\n selected: string = 'sgh-default-theme';\r\n private wasInside: boolean = false;\r\n selectedClient: ClientListItem | null = null;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger!: MatMenuTrigger;\r\n\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n // Toggle the expanded state and emit the new value\r\n const newExpandedState = !this.expanded;\r\n this.toggleSidebarEvent.emit(newExpandedState);\r\n return newExpandedState;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n // Use Promise-based timeout for better error handling\r\n Promise.resolve().then(() => {\r\n try {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem, index: number) => {\r\n // select the first client\r\n if (index === 0) {\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n this.selectedClient = client;\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n } catch (error) {\r\n console.error('Error initializing clients:', error);\r\n }\r\n });\r\n }\r\n\r\n setClass(selected: string): void {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n searchText: string = '';\r\n\r\n onRadioClick(themeValue: string): void {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event: Event, clientItem: ClientListItem): void {\r\n this.selectedClient = clientItem;\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n this.sghNavbarSvc.setClient(clientItem);\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe({\r\n next: (result) => {\r\n if (result && result.data && result.data.selectedSubClient) {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setSubclient(result.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n const selectedObj = clientItem.subClientList?.find((scItem) => \r\n scItem.text === result.data.selectedSubClient.text\r\n );\r\n if (selectedObj) {\r\n selectedObj.checked = true;\r\n }\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error in subclient dialog:', error);\r\n }\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem): void {\r\n client.subClientList?.forEach((subclient: SubClientListItem, index: number) => {\r\n if (index === 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems(): void {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient(): void {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n if (client !== this.selectedClient) {\r\n client.subClientList?.forEach((scItem, index: number) => {\r\n scItem.checked = index === 0;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-bars fa-fade\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<sgh-notification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></sgh-notification-list>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { SidenavData } from './sidenav/sidenav-data';\r\nimport { ToolbarData } from './toolbar/toolbar-data';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <div class=\"sgh-navbar-container\">\r\n <sgh-toolbar \r\n [toolbarData]=\"toolbarData\" \r\n [expanded]=\"expanded\" \r\n (toggleSidebarEvent)=\"onToggleSidebar($event)\"\r\n (searchInputEvent)=\"onSearchInput($event)\"\r\n (client)=\"onClientChange($event)\"\r\n (subClient)=\"onSubClientChange($event)\">\r\n </sgh-toolbar>\r\n \r\n <div class=\"sgh-navbar-layout\">\r\n <sgh-sidenav \r\n [sidenavData]=\"sidenavData\" \r\n [expanded]=\"expanded\"\r\n (onToggleSideNav)=\"onSidenavToggle($event)\">\r\n </sgh-sidenav>\r\n \r\n <div class=\"sgh-navbar-content\" [class.expanded]=\"expanded\">\r\n <div class=\"sgh-breadcrumb-container\" *ngIf=\"showBreadcrumbs\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbs; let last = last\"\r\n [class.active]=\"last\">\r\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\">{{ item.label }}</a>\r\n <span *ngIf=\"last\">{{ item.label }}</span>\r\n </li>\r\n </ol>\r\n </nav>\r\n </div>\r\n \r\n <div class=\"sgh-navbar-main-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./sgh-navbar.component.scss'],\r\n standalone: false\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n @Input() sidenavData: SidenavData;\r\n @Input() toolbarData: ToolbarData;\r\n @Input() expanded: boolean = false;\r\n @Input() showBreadcrumbs: boolean = true;\r\n @Input() breadcrumbs: any[] = [];\r\n \r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() clientChange = new EventEmitter<any>();\r\n @Output() subClientChange = new EventEmitter<any>();\r\n @Output() sidenavToggle = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onToggleSidebar(expanded: boolean) {\r\n this.expanded = expanded;\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n }\r\n\r\n onSearchInput(searchText: string) {\r\n this.searchInputEvent.emit(searchText);\r\n }\r\n\r\n onClientChange(client: any) {\r\n this.clientChange.emit(client);\r\n }\r\n\r\n onSubClientChange(subClient: any) {\r\n this.subClientChange.emit(subClient);\r\n }\r\n\r\n onSidenavToggle(event: any) {\r\n this.sidenavToggle.emit(event);\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'sgh-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0 && item.visible\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"(!item.items || (item.items && item.items.length === 0)) && item.visible\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <sgh-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></sgh-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sublevel-menu.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({ overflow: 'hidden' }),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n visible: true,\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\n\nexport interface BreadcrumbItem {\n label: string;\n routeLink: string;\n icon?: string;\n isActive?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n private breadcrumbsSubject = new BehaviorSubject<BreadcrumbItem[]>([]);\n public breadcrumbs$: Observable<BreadcrumbItem[]> = this.breadcrumbsSubject.asObservable();\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => this.buildBreadcrumbs(this.activatedRoute.root))\n ).subscribe(breadcrumbs => {\n this.breadcrumbsSubject.next(breadcrumbs);\n });\n }\n\n setBreadcrumbs(breadcrumbs: BreadcrumbItem[]): void {\n this.breadcrumbsSubject.next(breadcrumbs);\n }\n\n addBreadcrumb(breadcrumb: BreadcrumbItem): void {\n const current = this.breadcrumbsSubject.value;\n this.breadcrumbsSubject.next([...current, breadcrumb]);\n }\n\n private buildBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: BreadcrumbItem[] = []): BreadcrumbItem[] {\n const children: ActivatedRoute[] = route.children;\n\n if (children.length === 0) {\n return breadcrumbs;\n }\n\n for (const child of children) {\n const routeURL: string = child.snapshot.url.map(segment => segment.path).join('/');\n if (routeURL !== '') {\n url += `/${routeURL}`;\n }\n\n const label = child.snapshot.data['breadcrumb'];\n if (label) {\n breadcrumbs.push({\n label,\n routeLink: url,\n icon: child.snapshot.data['breadcrumbIcon']\n });\n }\n\n return this.buildBreadcrumbs(child, url, breadcrumbs);\n }\n\n return breadcrumbs;\n }\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'sgh-breadcrumb',\n template: `\n <nav class=\"sgh-breadcrumb\" aria-label=\"breadcrumb\" *ngIf=\"breadcrumbs$ | async as breadcrumbs\">\n <ol class=\"breadcrumb-list\">\n <li class=\"breadcrumb-item home-item\">\n <a [routerLink]=\"'/'\" class=\"breadcrumb-link\">\n <i class=\"fa fa-home\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Home</span>\n </a>\n </li>\n <li class=\"breadcrumb-item\" \n *ngFor=\"let item of breadcrumbs; let last = last\"\n [class.active]=\"last\">\n <i class=\"fa fa-angle-right breadcrumb-separator\" aria-hidden=\"true\"></i>\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\" class=\"breadcrumb-link\">\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\n {{ item.label }}\n </a>\n <span *ngIf=\"last\" class=\"breadcrumb-current\">\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\n {{ item.label }}\n </span>\n </li>\n </ol>\n </nav>\n `,\n styleUrls: ['./breadcrumb.component.scss'],\n standalone: false\n})\nexport class BreadcrumbComponent implements OnInit {\n @Input() customBreadcrumbs: BreadcrumbItem[] = [];\n \n breadcrumbs$: Observable<BreadcrumbItem[]>;\n\n constructor(private breadcrumbService: BreadcrumbService) {\n this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\n }\n\n ngOnInit(): void {\n if (this.customBreadcrumbs.length > 0) {\n this.breadcrumbService.setBreadcrumbs(this.customBreadcrumbs);\n }\n }\n}","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NotificationListComponent} from \"./toolbar/notification-list/notification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { BreadcrumbService } from './breadcrumb/breadcrumb.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NotificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent,\r\n BreadcrumbComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent\r\n ],\r\n providers: [SghNavbarService, BreadcrumbService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/sidenav/sidenav-data';\r\nexport * from './lib/sidenav/helper';\r\n\r\nexport * from './lib/toolbar/toolbar.component';\r\nexport * from './lib/toolbar/toolbar-data';\r\n\r\nexport * from './lib/breadcrumb/breadcrumb.component';\r\nexport * from './lib/breadcrumb/breadcrumb.service';\r\n\r\nexport * from './lib/configs/default-toolbar.config';\r\nexport * from './lib/configs/default-sidenav.config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.SghNavbarService","i3","i4.MenuListItemComponent","i1","i4","i7.NotificationListComponent","i8.SearchPipe","i2","i3.SidenavComponent","i4.ToolbarComponent","i1.BreadcrumbService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sgh-navbar",
3
- "version": "0.0.55",
3
+ "version": "0.0.57",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.0",
6
6
  "@angular/core": "^19.2.0",