{"version":3,"file":"clr-angular-layout-nav.mjs","sources":["../../../projects/angular/layout/nav/chocolate/main-container-willy-wonka.ts","../../../projects/angular/layout/nav/responsive-nav-codes.ts","../../../projects/angular/layout/nav/responsive-nav-control-message.ts","../../../projects/angular/layout/nav/providers/responsive-navigation.service.ts","../../../projects/angular/layout/nav/chocolate/nav-detection-oompa-loompa.ts","../../../projects/angular/layout/nav/chocolate/index.ts","../../../projects/angular/layout/nav/header.ts","../../../projects/angular/layout/nav/nav-level.ts","../../../projects/angular/layout/nav/aria-current-link.ts","../../../projects/angular/layout/nav/navigation.module.ts","../../../projects/angular/layout/nav/index.ts","../../../projects/angular/layout/nav/clr-angular-layout-nav.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive } from '@angular/core';\nimport { WillyWonka } from '@clr/angular/utils';\n\n@Directive({\n  selector: 'clr-main-container',\n  standalone: false,\n})\nexport class MainContainerWillyWonka extends WillyWonka {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport class ResponsiveNavCodes {\n  static NAV_LEVEL_1 = 1;\n  static NAV_LEVEL_2 = 2;\n  static NAV_CLOSE_ALL = 'NAV_CLOSE_ALL';\n  static NAV_OPEN = 'NAV_OPEN';\n  static NAV_CLOSE = 'NAV_CLOSE';\n  static NAV_TOGGLE = 'NAV_TOGGLE';\n  static NAV_CLASS_HAMBURGER_MENU = 'open-hamburger-menu';\n  static NAV_CLASS_OVERFLOW_MENU = 'open-overflow-menu';\n  static NAV_CLASS_TRIGGER_1 = 'header-hamburger-trigger';\n  static NAV_CLASS_TRIGGER_2 = 'header-overflow-trigger';\n  static NAV_CLASS_LEVEL_1 = 'clr-nav-level-1';\n  static NAV_CLASS_LEVEL_2 = 'clr-nav-level-2';\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport class ResponsiveNavControlMessage {\n  constructor(\n    private _controlCode: string,\n    private _navLevel: number\n  ) {}\n\n  get controlCode(): string {\n    return this._controlCode;\n  }\n\n  get navLevel(): number {\n    return this._navLevel;\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\n\nimport { ResponsiveNavCodes } from '../responsive-nav-codes';\nimport { ResponsiveNavControlMessage } from '../responsive-nav-control-message';\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveNavigationService {\n  responsiveNavList: number[] = [];\n\n  private registerNavSubject = new ReplaySubject<number[]>();\n  private controlNavSubject = new Subject<ResponsiveNavControlMessage>();\n\n  constructor() {\n    this.closeAllNavs(); // We start with all navs closed\n  }\n\n  get registeredNavs(): Observable<number[]> {\n    return this.registerNavSubject.asObservable();\n  }\n\n  get navControl(): Observable<ResponsiveNavControlMessage> {\n    return this.controlNavSubject.asObservable();\n  }\n\n  registerNav(navLevel: number): void {\n    if (!navLevel || this.isNavRegistered(navLevel)) {\n      return;\n    }\n    this.responsiveNavList.push(navLevel);\n    this.registerNavSubject.next(this.responsiveNavList);\n  }\n\n  isNavRegistered(navLevel: number): boolean {\n    if (this.responsiveNavList.indexOf(navLevel) > -1) {\n      console.error('Multiple clr-nav-level ' + navLevel + ' attributes found. Please make sure that only one exists');\n      return true;\n    }\n    return false;\n  }\n\n  unregisterNav(navLevel: number) {\n    const index = this.responsiveNavList.indexOf(navLevel);\n    if (index > -1) {\n      this.responsiveNavList.splice(index, 1);\n      this.registerNavSubject.next(this.responsiveNavList);\n    }\n  }\n\n  sendControlMessage(controlCode: string, navLevel: number) {\n    const message: ResponsiveNavControlMessage = new ResponsiveNavControlMessage(controlCode, navLevel);\n    this.controlNavSubject.next(message);\n  }\n\n  closeAllNavs() {\n    const message: ResponsiveNavControlMessage = new ResponsiveNavControlMessage(\n      ResponsiveNavCodes.NAV_CLOSE_ALL,\n      -999\n    );\n    this.controlNavSubject.next(message);\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Directive, Optional } from '@angular/core';\nimport { OompaLoompa } from '@clr/angular/utils';\n\nimport { MainContainerWillyWonka } from './main-container-willy-wonka';\nimport { ResponsiveNavigationService } from '../providers/responsive-navigation.service';\n\n@Directive({\n  selector: 'clr-header',\n  standalone: false,\n})\nexport class NavDetectionOompaLoompa extends OompaLoompa {\n  private responsiveNavService: ResponsiveNavigationService;\n\n  constructor(\n    cdr: ChangeDetectorRef,\n    @Optional() willyWonka: MainContainerWillyWonka,\n    responsiveNavService: ResponsiveNavigationService\n  ) {\n    if (!willyWonka) {\n      throw new Error('clr-header should only be used inside of a clr-main-container');\n    }\n    super(cdr, willyWonka);\n    this.responsiveNavService = responsiveNavService;\n  }\n\n  // NavDetectionOompaLoompa is the addition of the nav levels\n  // Since we support 2 levels, the possibilities are 0, 1 or 3 (1 + 2)\n  get flavor() {\n    return this.responsiveNavService.responsiveNavList.reduce((sum, navLevel) => sum + navLevel, 0);\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './main-container-willy-wonka';\nexport * from './nav-detection-oompa-loompa';\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ResponsiveNavigationService } from './providers/responsive-navigation.service';\nimport { ResponsiveNavCodes } from './responsive-nav-codes';\n\n@Component({\n  selector: 'clr-header',\n  template: `\n    @if (isNavLevel1OnPage) {\n      <button\n        type=\"button\"\n        class=\"header-hamburger-trigger\"\n        [attr.aria-label]=\"responsiveNavCommonString\"\n        (click)=\"openNav(responsiveNavCodes.NAV_LEVEL_1)\"\n      >\n        <span></span>\n      </button>\n    }\n    <ng-content></ng-content>\n    @if (isNavLevel2OnPage) {\n      <button\n        type=\"button\"\n        class=\"header-overflow-trigger\"\n        [attr.aria-label]=\"responsiveOverflowCommonString\"\n        (click)=\"openNav(responsiveNavCodes.NAV_LEVEL_2)\"\n      >\n        <span></span>\n      </button>\n    }\n    <div class=\"header-backdrop\" (click)=\"closeOpenNav()\"></div>\n  `,\n  host: { '[class.header]': 'true' },\n  standalone: false,\n})\nexport class ClrHeader implements OnDestroy {\n  @Input() @HostBinding('attr.role') role = 'banner';\n\n  isNavLevel1OnPage = false;\n  isNavLevel2OnPage = false;\n  openNavLevel: number = null;\n  responsiveNavCodes = ResponsiveNavCodes;\n  private _subscription: Subscription;\n\n  constructor(\n    private responsiveNavService: ResponsiveNavigationService,\n    public commonStrings: ClrCommonStringsService\n  ) {\n    this._subscription = responsiveNavService.registeredNavs.subscribe({\n      next: (navLevelList: number[]) => {\n        this.initializeNavTriggers(navLevelList);\n      },\n    });\n\n    this._subscription.add(\n      responsiveNavService.navControl\n        .pipe(\n          filter(\n            ({ controlCode }) =>\n              controlCode === ResponsiveNavCodes.NAV_CLOSE || controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL\n          )\n        )\n        .subscribe(() => {\n          this.openNavLevel = null;\n        })\n    );\n  }\n\n  get responsiveNavCommonString() {\n    const myCommonStrings = this.commonStrings.keys;\n    if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_1) {\n      return myCommonStrings.responsiveNavToggleOpen;\n    } else {\n      return myCommonStrings.responsiveNavToggleClose;\n    }\n  }\n\n  get responsiveOverflowCommonString() {\n    const myCommonStrings = this.commonStrings.keys;\n    if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_2) {\n      return myCommonStrings.responsiveNavOverflowOpen;\n    } else {\n      return myCommonStrings.responsiveNavOverflowClose;\n    }\n  }\n\n  // reset triggers. handles cases when an application has different nav levels on different pages.\n  resetNavTriggers() {\n    this.isNavLevel1OnPage = false;\n    this.isNavLevel2OnPage = false;\n  }\n\n  // decides which triggers to show on the header\n  initializeNavTriggers(navList: number[]): void {\n    this.resetNavTriggers();\n    if (navList.length > 2) {\n      console.error('More than 2 Nav Levels detected.');\n      return;\n    }\n    navList.forEach(navLevel => {\n      if (navLevel === ResponsiveNavCodes.NAV_LEVEL_1) {\n        this.isNavLevel1OnPage = true;\n      } else if (navLevel === ResponsiveNavCodes.NAV_LEVEL_2) {\n        this.isNavLevel2OnPage = true;\n      }\n    });\n  }\n\n  // closes the nav that is open\n  closeOpenNav() {\n    this.responsiveNavService.closeAllNavs();\n  }\n\n  /**\n   * @deprecated Will be removed in with @clr/angular v15.0.0\n   *\n   * Use `openNav(navLevel)` instead to open the navigation and ResponsiveNavService to close it.\n   */\n  toggleNav(navLevel: number) {\n    if (this.openNavLevel === navLevel) {\n      this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, navLevel);\n      return;\n    }\n\n    this.openNav(navLevel);\n  }\n\n  openNav(navLevel: number) {\n    this.openNavLevel = navLevel;\n    this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, navLevel);\n  }\n\n  ngOnDestroy() {\n    this._subscription.unsubscribe();\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n  ApplicationRef,\n  createComponent,\n  Directive,\n  DOCUMENT,\n  ElementRef,\n  EnvironmentInjector,\n  HostListener,\n  Inject,\n  Injector,\n  Input,\n  OnInit,\n  PLATFORM_ID,\n  Renderer2,\n} from '@angular/core';\nimport { ClarityIcons, ClrIcon, timesIcon } from '@clr/angular/icon';\nimport { ClrStandaloneCdkTrapFocus, commonStringsDefault, LARGE_BREAKPOINT } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ResponsiveNavigationService } from './providers/responsive-navigation.service';\nimport { ResponsiveNavCodes } from './responsive-nav-codes';\n\n@Directive({\n  selector: '[clr-nav-level]',\n  hostDirectives: [ClrStandaloneCdkTrapFocus],\n  standalone: false,\n})\nexport class ClrNavLevel implements OnInit {\n  @Input('clr-nav-level') _level: number;\n  @Input('closeAriaLabel') closeButtonAriaLabel: string;\n\n  private _isOpen = false;\n  private _document: Document;\n  private _subscription: Subscription;\n\n  constructor(\n    @Inject(PLATFORM_ID) platformId: any,\n    private cdkTrapFocus: ClrStandaloneCdkTrapFocus,\n    private responsiveNavService: ResponsiveNavigationService,\n    private elementRef: ElementRef<HTMLElement>,\n    private renderer: Renderer2,\n    private injector: Injector,\n    private environmentInjector: EnvironmentInjector,\n    private appRef: ApplicationRef\n  ) {\n    if (isPlatformBrowser(platformId)) {\n      this._document = injector.get(DOCUMENT);\n    }\n\n    this._subscription = responsiveNavService.navControl\n      .pipe(\n        filter(x => x.navLevel === this.level),\n        filter(\n          ({ controlCode }) =>\n            (controlCode === ResponsiveNavCodes.NAV_OPEN && !this.isOpen) ||\n            (controlCode === ResponsiveNavCodes.NAV_CLOSE && this.isOpen)\n        )\n      )\n      .subscribe(({ controlCode }) => {\n        if (controlCode === ResponsiveNavCodes.NAV_OPEN) {\n          this.open();\n          return;\n        }\n\n        this.close();\n      });\n\n    this._subscription.add(\n      responsiveNavService.navControl\n        .pipe(filter(({ controlCode }) => controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL))\n        .subscribe(() => this.close())\n    );\n  }\n\n  get level(): number {\n    return this._level;\n  }\n\n  // getter to access the responsive navigation codes from the template\n  get responsiveNavCodes(): ResponsiveNavCodes {\n    return ResponsiveNavCodes;\n  }\n\n  get isOpen(): boolean {\n    return this._isOpen;\n  }\n\n  ngOnInit() {\n    this.cdkTrapFocus.enabled = false;\n\n    if (!this.closeButtonAriaLabel) {\n      this.closeButtonAriaLabel =\n        this._level === ResponsiveNavCodes.NAV_LEVEL_1\n          ? commonStringsDefault.responsiveNavToggleClose\n          : commonStringsDefault.responsiveNavOverflowClose;\n    }\n\n    if (this.level !== ResponsiveNavCodes.NAV_LEVEL_1 && this.level !== ResponsiveNavCodes.NAV_LEVEL_2) {\n      console.error('Nav Level can only be 1 or 2');\n      return;\n    }\n    this.responsiveNavService.registerNav(this.level);\n    this.addNavClass(this.level);\n  }\n\n  ngAfterViewInit() {\n    const closeButton = this.createCloseButton();\n    this.renderer.listen(closeButton, 'click', this.close.bind(this));\n    this.renderer.insertBefore(this.elementRef.nativeElement, closeButton, this.elementRef.nativeElement.firstChild);\n\n    if (this._document.body.clientWidth < LARGE_BREAKPOINT) {\n      /**\n       * Close if the document body is smaller than the large breakpoint for example:\n       * - Refreshing the page\n       * - Browser window size is changed when opening the applicaiton\n       * - Browser zoom is turned on and zoomed to a size that makes the document smaller than the large breakpoint\n       */\n      this.close();\n    }\n  }\n\n  ngOnDestroy() {\n    this.responsiveNavService.unregisterNav(this.level);\n    this._subscription.unsubscribe();\n  }\n\n  @HostListener('window:resize', ['$event'])\n  onResize(event: Event) {\n    const target = event.target as Window;\n\n    if (target.innerWidth < LARGE_BREAKPOINT && this.isOpen) {\n      this.close();\n      return;\n    }\n\n    this.showNavigation();\n  }\n\n  // TODO: Figure out whats the best way to do this. Possible methods\n  // 1. HostListener (current solution)\n  // 2. Directives on the .nav-link class. We discussed on moving away from class selectors but I forget the reason\n  // why\n  @HostListener('click', ['$event.target'])\n  onMouseClick(target: any) {\n    let current: any = target; // Get the element in the DOM on which the mouse was clicked\n    const navHost: any = this.elementRef.nativeElement; // Get the current nav native HTML element\n\n    // Start checking if current and navHost are equal.\n    // If not traverse to the parentNode and check again.\n    while (current) {\n      if (current === navHost) {\n        return;\n      } else if (current.classList.contains('nav-link') && this._document.body.clientWidth < LARGE_BREAKPOINT) {\n        this.close();\n        return;\n      }\n      current = current.parentNode;\n    }\n  }\n\n  addNavClass(level: number) {\n    const navHostClassList = this.elementRef.nativeElement.classList;\n    if (level === ResponsiveNavCodes.NAV_LEVEL_1) {\n      navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_1);\n    } else if (level === ResponsiveNavCodes.NAV_LEVEL_2) {\n      navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_2);\n    }\n  }\n\n  open(): void {\n    this._isOpen = true;\n    this.showNavigation();\n    this.cdkTrapFocus.enabled = true;\n    this.showCloseButton();\n    this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, this.level);\n  }\n\n  close(): void {\n    this._isOpen = false;\n    this.hideNavigation();\n    this.cdkTrapFocus.enabled = false;\n    this.hideCloseButton();\n    this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, this.level);\n  }\n\n  protected hideNavigation() {\n    this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');\n    this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', 'true');\n  }\n\n  protected showNavigation() {\n    this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'false');\n    this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n  }\n\n  protected hideCloseButton() {\n    this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');\n    this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden', 'true');\n  }\n\n  protected showCloseButton() {\n    this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'aria-hidden', 'false');\n    this.renderer.removeAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden');\n  }\n\n  private createCloseButton(): HTMLButtonElement {\n    ClarityIcons.addIcons(timesIcon);\n\n    const closeButton = this._document.createElement('button');\n    closeButton.setAttribute('aria-label', this.closeButtonAriaLabel);\n    closeButton.setAttribute('aria-hidden', 'true');\n    closeButton.setAttribute('hidden', 'true');\n    closeButton.className = 'clr-nav-close';\n\n    const iconRef = createComponent(ClrIcon, {\n      hostElement: this._document.createElement('cds-icon'),\n      environmentInjector: this.environmentInjector,\n      elementInjector: this.injector,\n    });\n    iconRef.instance.shape = 'times';\n    iconRef.instance.size = '32';\n    this.appRef.attachView(iconRef.hostView);\n    closeButton.appendChild(iconRef.location.nativeElement);\n\n    return closeButton;\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, OnDestroy, OnInit } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n  selector: '[clrAriaCurrentLink]',\n  host: { '[attr.aria-current]': 'ariaCurrent' },\n  standalone: false,\n})\nexport class ClrAriaCurrentLink implements OnInit, OnDestroy {\n  ariaCurrent: string | undefined;\n  private subscription: Subscription;\n\n  constructor(private rla: RouterLinkActive) {}\n\n  ngOnInit() {\n    this.subscription = this.rla.isActiveChange.subscribe(isActive => {\n      this.ariaCurrent = isActive ? 'page' : undefined;\n    });\n  }\n\n  ngOnDestroy() {\n    this.subscription.unsubscribe();\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrDropdownModule } from '@clr/angular/popover/dropdown';\n\nimport { ClrAriaCurrentLink } from './aria-current-link';\nimport { MainContainerWillyWonka } from './chocolate/main-container-willy-wonka';\nimport { NavDetectionOompaLoompa } from './chocolate/nav-detection-oompa-loompa';\nimport { ClrHeader } from './header';\nimport { ClrNavLevel } from './nav-level';\n\nexport const CLR_NAVIGATION_DIRECTIVES: Type<any>[] = [\n  ClrHeader,\n  ClrNavLevel,\n  ClrAriaCurrentLink,\n  NavDetectionOompaLoompa,\n  MainContainerWillyWonka,\n];\n\n@NgModule({\n  imports: [CommonModule, ClrIcon, ClrDropdownModule],\n  declarations: [CLR_NAVIGATION_DIRECTIVES],\n  exports: [CLR_NAVIGATION_DIRECTIVES],\n})\nexport class ClrNavigationModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './chocolate/index';\nexport * from './header';\nexport * from './nav-level';\nexport * from './aria-current-link';\nexport * from './navigation.module';\nexport * from './providers/responsive-navigation.service';\nexport * from './responsive-nav-codes';\nexport * from './responsive-nav-control-message';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MainContainerWillyWonka","i2.ResponsiveNavigationService","i1.ResponsiveNavigationService","i2","i1"],"mappings":"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"}