{"version":3,"file":"twentyfive-nav.mjs","sources":["../../../projects/twentyfive-navbar/src/lib/twentyfive-navbar.service.ts","../../../projects/twentyfive-navbar/src/lib/title/title.component.ts","../../../projects/twentyfive-navbar/src/lib/title/title.component.html","../../../projects/twentyfive-navbar/src/lib/animated-menu-icon/animated-menu-icon.component.ts","../../../projects/twentyfive-navbar/src/lib/animated-menu-icon/animated-menu-icon.component.html","../../../projects/twentyfive-navbar/src/lib/icon-with-counter/icon-with-counter.component.ts","../../../projects/twentyfive-navbar/src/lib/icon-with-counter/icon-with-counter.component.html","../../../projects/twentyfive-navbar/src/lib/nav/nav.component.ts","../../../projects/twentyfive-navbar/src/lib/nav/nav.component.html","../../../projects/twentyfive-navbar/src/lib/twentyfive-navbar.module.ts","../../../projects/twentyfive-navbar/src/public-api.ts","../../../projects/twentyfive-navbar/src/twentyfive-nav.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TwentyfiveNavbarService {\n\n  constructor() { }\n}\n","import {Component, Input} from '@angular/core';\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\n\n@Component({\n  selector: 'app-title',\n  templateUrl: './title.component.html',\n  styleUrls: ['./title.component.css'],\n  animations: [\n    trigger('displayState', [\n      state('false', style({opacity: 0, height: 0})),\n      state('true', style({opacity: 1, height: 'fit-content'})),\n      transition('false => true', animate('300ms ease-in')),\n      transition('true => false', animate('300ms ease-out'))\n    ])\n  ]\n})\nexport class TitleComponent {\n  @Input() title = \"Navbar\";\n  @Input() show = true;\n}\n","<span [@displayState]=\"show\" class=\"navbar-brand mb-0 text-capitalize\">{{title}}</span>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\n\n@Component({\n  selector: 'app-animated-menu-icon',\n  templateUrl: './animated-menu-icon.component.html',\n  styleUrls: ['./animated-menu-icon.component.css'],\n  animations: [\n    trigger('hamburguerX', [\n      /*\n        state hamburguer => is the regular 3 lines style.\n        states topX, hide, and bottomX => used to style the X element\n      */\n      state('hamburguer', style({})),\n      // style top bar to create the X\n      state(\n        'topX',\n        style({\n          transform: 'rotate(45deg)',\n          transformOrigin: 'left',\n          margin: '0 0 3px 3px'\n        })\n      ),\n      // hides element when create the X (used in the middle bar)\n      state(\n        'hide',\n        style({\n          opacity: 0,\n        })\n      ),\n      // style bottom bar to create the X\n      state(\n        'bottomX',\n        style({\n          transform: 'rotate(-45deg)',\n          transformOrigin: 'left',\n        })\n      ),\n      transition('* => *', [\n        animate('0.2s'), // controls animation speed\n      ]),\n    ]),\n  ],\n})\nexport class AnimatedMenuIconComponent {\n  @Input() isHamburger = true;\n  @Output() evtEmitted: EventEmitter<any> = new EventEmitter<any>();\n\n  evtEmit(){\n    this.evtEmitted.emit({});\n  }\n}\n","<div (click)=\"evtEmit()\" class=\"btn-container d-flex flex-column justify-content-center\">\n  <div class=\"icon-bar\" [@hamburguerX]=\"isHamburger ? 'hamburguer' : 'topX'\"></div>\n  <div class=\"icon-bar\" [@hamburguerX]=\"isHamburger ? 'hamburguer' : 'hide'\"></div>\n  <div class=\"icon-bar\" [@hamburguerX]=\"isHamburger ? 'hamburguer' : 'bottomX'\"></div>\n</div>\n","import {Component, Input, OnChanges} from '@angular/core';\n\n@Component({\n  selector: 'lib-icon-with-counter',\n  templateUrl: './icon-with-counter.component.html',\n  styleUrls: ['./icon-with-counter.component.css']\n})\nexport class IconWithCounterComponent implements OnChanges {\n\n  /**\n   * The CSS class used to display the icon.\n   * For example, you can pass a Bootstrap class like 'bi bi-person'.\n   */\n  @Input() iconClass!: string;\n\n  /**\n   * The URL where the user will be navigated when the icon is clicked.\n   */\n  @Input() navigationUrl!: string;\n\n  /**\n   * Determines whether the counter should be displayed. Default is `false`.\n   */\n  @Input() showCounter?: boolean = false;\n\n  /**\n   * If true, the counter will be hidden when its value is zero. Default is `false`.\n   */\n  @Input() dynamicCounter?: boolean = false;\n\n  /**\n   * Current value of the counter. Default is `0`.\n   */\n  @Input() counterValue?: number = 0;\n\n  /**\n   * Optional background color for the counter. You can pass any valid CSS color value.\n   */\n  @Input() counterColor?: string;\n\n  /**\n   * Optional font color for the counter value. You can pass any valid CSS color value.\n   */\n  @Input() counterFontColor?: string;\n\n  ngOnChanges(): void {\n    this.manageCounterBehavior();\n  }\n\n  manageCounterBehavior(): void {\n    this.counterValue = Math.max(0, this.counterValue ?? 0);\n    if (this.dynamicCounter) {\n      this.showCounter = this.counterValue > 0;\n    }\n  }\n}\n","<div class=\"icon-container d-flex justify-content-center align-items-center\">\n  <a class=\"text-white text-decoration-none d-flex align-items-center justify-content-center\" [routerLink]=\"navigationUrl\">\n    <i [class]=\"iconClass\"></i>\n    <span *ngIf=\"showCounter\" class=\"position-absolute badge-counter\"\n          [style.background-color]=\"counterColor || 'red'\"\n          [style.color]=\"counterFontColor || 'white'\">\n      {{ counterValue }}\n    </span>\n  </a>\n</div>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {ButtonSizeTheme, ButtonTheme, NavbarTheme} from \"twentyfive-style\";\n\n@Component({\n  selector: 'lib-nav',\n  templateUrl: './nav.component.html',\n  styleUrls: ['./nav.component.css'],\n  animations: [\n    trigger('navHeight', [\n      state('false', style({height: '100vh'})),\n      state('true', style({height: '*'})),\n      transition('false => true', animate('500ms ease-out')),\n      transition('true => false', animate('500ms ease-in'))\n    ])\n  ]\n})\nexport class NavComponent implements OnInit {\n\n  @Input() showAll = true;\n  @Input() navbarLogo = \"assets/white-logo-only.png\";\n  @Input() navbarNavigationUrl = \"\";\n  @Input() title = \"\";\n  @Input() sidebarItems: any[] = [];\n  @Output() onClick: EventEmitter<any> = new EventEmitter<any>();\n\n  @Input() logoWidth = 32;\n  @Input() logoHeigth = 32;\n  @Input() navbarStyle: any;\n  @Input() customCssClass: string = '';\n  @Input() customStyles: {[p: string]: any} = {}\n\n  @Input() showNavbar: boolean = true;\n  @Input() showSideMenu: boolean = true;\n  @Input() showLogo: boolean = true;\n  @Input() logoCentered: boolean = false;\n  @Input() showLeftTitle: boolean = true;\n  @Input() showInlineElements: boolean = false;\n  @Input() onlyIcon: boolean = false;\n\n  itemLeft: any[] = [];\n  itemRight: any[] = [];\n\n  isCollapsed: boolean = true;\n\n\n  constructor() {\n  }\n\n  ngOnInit() {\n    if (this.logoCentered) {\n      this.splitSidebarItems();\n    }\n  }\n\n  splitSidebarItems(): void {\n    if (this.sidebarItems.length === 0) return;\n\n    this.sidebarItems.forEach((item, index) => {\n      if (index % 2 === 0) {\n        this.itemLeft.push(item);\n      } else {\n        this.itemRight.push(item);\n      }\n    });\n  }\n\n  expandNav() {\n    this.isCollapsed = !this.isCollapsed;\n  }\n\n  emitEvent($event: any) {\n    this.onClick.emit($event);\n  }\n\n  protected readonly ButtonTheme = ButtonTheme;\n  protected readonly ButtonSizeTheme = ButtonSizeTheme;\n  protected readonly NavbarTheme = NavbarTheme;\n}\n","<nav\n  *ngIf=\"showNavbar\"\n  [style.height]=\"!isCollapsed ? '100vh' : 'auto'\"\n  class=\"p-0 align-items-start navbar navbar-dark\"\n  [ngClass]=\"[navbarStyle == NavbarTheme.Primary ? 'nav-primary' :\n             navbarStyle == NavbarTheme.Secondary ? 'nav-secondary' :\n             navbarStyle == NavbarTheme.Gradient ? 'nav-gradient' :\n             customCssClass]\"\n  [ngStyle]=\"customStyles\">\n\n  <div class=\"col-12\">\n    <div class=\"row px-4 py-4 g-0\">\n\n      <div *ngIf=\"logoCentered && showInlineElements\" [ngClass]=\"showSideMenu ? 'd-none' : 'd-flex'\"\n           class=\"col-5 align-items-center justify-content-start\">\n        <div id=\"navbarItemLeft\" class=\"d-flex flex-row\">\n          <ul *ngIf=\"onlyIcon\" class=\"navbar-nav\">\n            <li class=\"nav-item\" *ngFor=\"let elem of itemLeft\"\n                [ngClass]=\"{'disabled': elem.disableClick}\" (click)=\"!elem.disableClick && emitEvent(elem)\">\n              <lib-icon-with-counter\n                [iconClass]=\"elem.icon\"\n                [navigationUrl]=\"elem.navigationUrl\"\n                [showCounter]=\"elem.showCounter\"\n                [dynamicCounter]=\"elem.dynamicCounter\"\n                [counterValue]=\"elem.counterValue\"\n                [counterColor]=\"elem.counterColor\"\n                [counterFontColor]=\"elem.counterFontColor\">\n              </lib-icon-with-counter>\n            </li>\n          </ul>\n        </div>\n      </div>\n\n      <div *ngIf=\"!logoCentered\" class=\"col-6\">\n      <a class=\"navbar-brand\" [href]=\"navbarNavigationUrl\">\n          <img class=\"me-4\" *ngIf=\"showLogo\" [src]=\"navbarLogo\" [width]=\"logoWidth\" [height]=\"logoHeigth\" alt=\"\">\n          <app-title *ngIf=\"showLeftTitle\" [title]=\"title\" [show]=\"isCollapsed\"></app-title>\n        </a>\n      </div>\n\n      <div *ngIf=\"logoCentered\" class=\"col-2 m-auto d-flex justify-content-center\">\n        <a class=\"m-0 navbar-brand\" [href]=\"navbarNavigationUrl\">\n          <img *ngIf=\"showLogo\" [src]=\"navbarLogo\" [width]=\"logoWidth\" [height]=\"logoHeigth\" alt=\"\">\n        </a>\n      </div>\n\n      <div *ngIf=\"!logoCentered && showInlineElements\" class=\"col-6 d-md-flex flex-row d-none align-items-center justify-content-end\">\n        <div id=\"navbarNav\" class=\"d-flex flex-row\">\n          <ul *ngIf=\"!onlyIcon\" class=\"navbar-nav\">\n            <li class=\"nav-item\" *ngFor=\"let elem of sidebarItems\" (click)=\"emitEvent(elem)\">\n              <a class=\"text-white\" style=\"text-decoration: none\">{{elem.title}}</a>\n            </li>\n          </ul>\n\n          <ul *ngIf=\"onlyIcon\" class=\"navbar-nav\">\n            <li class=\"nav-item\" *ngFor=\"let elem of sidebarItems\"\n                [ngClass]=\"{'disabled': elem.disableClick}\" (click)=\"!elem.disableClick && emitEvent(elem)\">\n              <lib-icon-with-counter\n                [iconClass]=\"elem.icon\"\n                [navigationUrl]=\"elem.navigationUrl\"\n                [showCounter]=\"elem.showCounter\"\n                [dynamicCounter]=\"elem.dynamicCounter\"\n                [counterValue]=\"elem.counterValue\"\n                [counterColor]=\"elem.counterColor\"\n                [counterFontColor]=\"elem.counterFontColor\">\n              </lib-icon-with-counter>\n            </li>\n          </ul>\n\n        </div>\n\n        <app-title class=\"ms-3\" *ngIf=\"!showLeftTitle\" [title]=\"title\" [show]=\"isCollapsed\"></app-title>\n      </div>\n\n      <div *ngIf=\"logoCentered && showInlineElements\" [ngClass]=\"showSideMenu ? 'd-none' : 'd-flex'\"\n           class=\"col-5 align-items-center justify-content-end\">\n        <div id=\"navbarItemRight\" class=\"d-flex flex-row\">\n          <ul *ngIf=\"onlyIcon\" class=\"navbar-nav\">\n            <li class=\"nav-item\" *ngFor=\"let elem of itemRight\"\n                [ngClass]=\"{'disabled': elem.disableClick}\" (click)=\"!elem.disableClick && emitEvent(elem)\">\n              <lib-icon-with-counter\n                [iconClass]=\"elem.icon\"\n                [navigationUrl]=\"elem.navigationUrl\"\n                [showCounter]=\"elem.showCounter\"\n                [dynamicCounter]=\"elem.dynamicCounter\"\n                [counterValue]=\"elem.counterValue\"\n                [counterColor]=\"elem.counterColor\"\n                [counterFontColor]=\"elem.counterFontColor\">\n              </lib-icon-with-counter>\n            </li>\n          </ul>\n        </div>\n      </div>\n\n      <div [ngClass]=\"showSideMenu ? 'd-md-none d-flex' : 'd-none'\" role=\"button\" class=\"col-6 justify-content-end\">\n        <app-animated-menu-icon [isHamburger]=\"isCollapsed\" (evtEmitted)=\"expandNav()\"></app-animated-menu-icon>\n      </div>\n\n    </div>\n\n    <div id=\"menu-items\" *ngIf=\"!isCollapsed\">\n      <div *ngFor=\"let elem of sidebarItems\">\n        <lib-twentyfive-menu-item\n          (click)=\"$event.preventDefault(); $event.stopPropagation(); expandNav()\"\n          [menuItem]=\"elem\"\n          (onClick)=\"emitEvent(elem)\"\n        ></lib-twentyfive-menu-item>\n      </div>\n    </div>\n  </div>\n</nav>\n","import {CUSTOM_ELEMENTS_SCHEMA, NgModule} from '@angular/core';\nimport {TitleComponent} from './title/title.component';\nimport {NavComponent} from './nav/nav.component';\nimport {AnimatedMenuIconComponent} from './animated-menu-icon/animated-menu-icon.component';\nimport {NgClass, NgForOf, NgIf, NgStyle} from \"@angular/common\";\nimport {RouterLink} from \"@angular/router\";\nimport {TwentyfiveMenuItemModule} from \"twentyfive-menu-item\";\nimport { IconWithCounterComponent } from './icon-with-counter/icon-with-counter.component';\n\n\n@NgModule({\n  declarations: [\n    TitleComponent,\n    NavComponent,\n    AnimatedMenuIconComponent,\n    IconWithCounterComponent\n  ],\n  imports: [\n    TwentyfiveMenuItemModule,\n    NgIf,\n    NgForOf,\n    NgClass,\n    RouterLink,\n    NgStyle\n  ],\n  exports: [\n    NavComponent\n  ],\n  schemas: [\n    CUSTOM_ELEMENTS_SCHEMA\n  ]\n})\nexport class TwentyfiveNavbarModule {\n}\n","/*\n * Public API Surface of twentyfive-navbar\n */\n\nexport * from './lib/twentyfive-navbar.service';\nexport * from './lib/twentyfive-navbar.module';\nexport * from './lib/title/title.component';\nexport * from './lib/nav/nav.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.TitleComponent","i4.AnimatedMenuIconComponent","i5.IconWithCounterComponent"],"mappings":"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"}