{"version":3,"file":"usitsdasdesign-dds-ng-header.mjs","sources":["../../src/app/dds/header/header.token.ts","../../src/app/dds/header/typings.ts","../../src/app/dds/header/logo/constants.ts","../../src/app/dds/header/logo/logo.component.ts","../../src/app/dds/header/logo/logo.component.html","../../src/app/dds/header/responsive/icons-container.component.ts","../../src/app/dds/header/responsive/icons-container.component.html","../../src/app/dds/header/header/constants.ts","../../src/app/dds/header/header/header.component.ts","../../src/app/dds/header/header/header.component.html","../../src/app/dds/header/header.module.ts","../../src/app/dds/header/usitsdasdesign-dds-ng-header.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const HEADER = new InjectionToken('Header Component');\n","import { WidthState, Themes } from '@usitsdasdesign/dds-ng/shared';\n\nexport interface HeaderOptions {\n  name?: string;\n  customClass?: string;\n  width?: WidthState | string;\n  theme?: Themes | string;\n  isResponsive?: boolean;\n  isInverse?: boolean;\n  responsivePriority?: HeaderElmnts[] | string[];\n}\n\nexport interface LogoOptions {\n  customClass?: string;\n  theme?: LogoThemes | string;\n}\n\nexport interface HeaderElmntsInfo {\n  el: HeaderElmnts | string;\n  width: number;\n  collapsed?: boolean;\n  active?: boolean;\n}\n\nexport enum HeaderElmnts {\n  logo = 'logo',\n  projectName = 'projectName',\n  nav = 'nav',\n  search = 'search',\n  icons = 'icons',\n  profile = 'profile',\n}\n\nexport enum LogoThemes {\n  white = 'white',\n  dark = 'dark',\n}\n","import { ThemeClassesMap, ThemeMapEnum } from '@usitsdasdesign/dds-ng/core/theme';\nimport { LogoThemes } from '../typings';\n\nexport const themeClassesMap: ThemeClassesMap = {\n  [ThemeMapEnum.Themes]: {\n    [LogoThemes.dark]: 'dds-logo_dark',\n    [LogoThemes.white]: 'dds-logo_white',\n  },\n};\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ThemeClassesMap, ThemeModule } from '@usitsdasdesign/dds-ng/core/theme';\nimport { LogoThemes } from '../typings';\nimport { themeClassesMap } from './constants';\n\n@Component({\n  selector: 'dds-logo',\n  templateUrl: './logo.component.html',\n  host: {\n    role: 'img',\n    'aria-label': 'Deloitte',\n  },\n  standalone: true,\n  imports: [ThemeModule],\n})\nexport class LogoComponent {\n  @Input() customClass: string | undefined;\n  @Input() theme: LogoThemes | string | undefined = LogoThemes.dark;\n\n  public themeConfig: ThemeClassesMap = themeClassesMap;\n\n  constructor(public cdr: ChangeDetectorRef) {}\n}\n","<div [theme]=\"theme\"\n     [ddsTheme]=\"themeConfig\"\n     class=\"dds-logo {{customClass}}\">\n  <svg viewBox=\"0 0 78 15\"\n       version=\"1.1\"\n       width=\"100%\"\n       xmlns=\"http://www.w3.org/2000/svg\">\n    <title>Deloitte Logo</title>\n    <desc>Created with Sketch.</desc>\n    <defs></defs>\n    <g id=\"Headers\"\n       stroke=\"none\"\n       strokeWidth=\"1\"\n       fill=\"none\"\n       fillRule=\"evenodd\">\n      <g id=\"headers-960\"\n         transform=\"translate(-24.000000, -17.000000)\">\n        <g id=\"standard-header-960\">\n          <g id=\"Deloitte-Logo\"\n             transform=\"translate(24.000000, 17.000000)\">\n            <g>\n              <path d=\"M73.2061856,12.8109677 C73.2061856,11.7 74.1262887,10.7787097 75.2358247,10.7787097 C76.3453608,10.7787097 77.2654639,11.7 77.2654639,12.8109677 C77.2654639,13.9219355 76.3453608,14.8432258 75.2358247,14.8432258 C74.1262887,14.8432258 73.2061856,13.9219355 73.2061856,12.8109677\"\n                    id=\"Shape\"\n                    fill=\"#86BC25\"></path>\n              <path d=\"M12.2121653,7.28322581 C12.2121653,9.64064516 11.5895606,11.4290323 10.3172815,12.7025806 C9.04500241,13.976129 7.28546747,14.5993548 4.98453717,14.5993548 L0.572164948,14.5993548 L0.572164948,0.509032258 L5.33644416,0.509032258 C7.52909539,0.509032258 9.23449079,1.07806452 10.4526304,2.24322581 C11.6166304,3.43548387 12.2121653,5.0883871 12.2121653,7.28322581 M8.3682582,7.41870968 C8.3682582,6.11806452 8.12463029,5.16967742 7.61030469,4.54645161 C7.12304886,3.92322581 6.36509535,3.62516129 5.33644416,3.62516129 L4.25365343,3.62516129 L4.25365343,11.5103226 L5.09281624,11.5103226 C6.22974651,11.5103226 7.04183956,11.1851613 7.58323492,10.5077419 C8.09756052,9.80322581 8.3682582,8.80064516 8.3682582,7.41870968\"\n                    id=\"Shape\"\n                    class=\"dds-logo__letter\"></path>\n              <rect id=\"Rectangle-path\"\n                    class=\"dds-logo__letter\"\n                    x=\"24.5219072\"\n                    y=\"0.481935484\"\n                    width=\"3.54510309\"\n                    height=\"14.1445161\"></rect>\n              <path d=\"M39.6494845,9.34258065 C39.6494845,11.0496774 39.189433,12.4045161 38.2963918,13.3529032 C37.4033505,14.3012903 36.1314433,14.7890323 34.507732,14.7890323 C32.9652062,14.7890323 31.7203608,14.3012903 30.8002577,13.3258065 C29.8801546,12.3503226 29.4201031,11.0225806 29.4201031,9.34258065 C29.4201031,7.63548387 29.8801546,6.30774194 30.7731959,5.35935484 C31.6662371,4.41096774 32.9381443,3.95032258 34.5618557,3.95032258 C35.5631443,3.95032258 36.4561856,4.16709677 37.2409794,4.60064516 C38.0257732,5.03419355 38.5940722,5.65741935 39.0270619,6.49741935 C39.4329897,7.28322581 39.6494845,8.2316129 39.6494845,9.34258065 M33.0193299,9.34258065 C33.0193299,10.2367742 33.1275773,10.9412903 33.371134,11.4019355 C33.6146907,11.8625806 33.9935567,12.1064516 34.5618557,12.1064516 C35.1030928,12.1064516 35.5090206,11.8625806 35.7255155,11.4019355 C35.9420103,10.9412903 36.0773196,10.2367742 36.0773196,9.34258065 C36.0773196,8.4483871 35.9690722,7.77096774 35.7255155,7.31032258 C35.5090206,6.84967742 35.1030928,6.63290323 34.5618557,6.63290323 C34.0206186,6.63290323 33.6417526,6.84967742 33.3981959,7.31032258 C33.1275773,7.77096774 33.0193299,8.4483871 33.0193299,9.34258065\"\n                    id=\"Shape\"\n                    class=\"dds-logo__letter\"></path>\n              <rect id=\"Rectangle-path\"\n                    class=\"dds-logo__letter\"\n                    x=\"41.056701\"\n                    y=\"4.11290323\"\n                    width=\"3.54510309\"\n                    height=\"10.5135484\"></rect>\n              <rect id=\"Rectangle-path\"\n                    class=\"dds-logo__letter\"\n                    x=\"41.056701\"\n                    y=\"0.481935484\"\n                    width=\"3.54510309\"\n                    height=\"2.35741935\"></rect>\n              <path d=\"M51.746134,11.943871 C52.2332474,11.943871 52.8015464,11.8354839 53.4510309,11.5916129 L53.4510309,14.2470968 C52.9639175,14.463871 52.5309278,14.5993548 52.0979381,14.7077419 C51.6649485,14.7890323 51.1507732,14.8432258 50.5824742,14.8432258 C49.3917526,14.8432258 48.5528351,14.5451613 48.0115979,13.9490323 C47.4974227,13.3529032 47.2268041,12.4316129 47.2268041,11.2122581 L47.2268041,6.82258065 L45.9819588,6.82258065 L45.9819588,4.11290323 L47.2268041,4.11290323 L47.2268041,1.43032258 L50.7989691,0.807096774 L50.7989691,4.11290323 L53.0451031,4.11290323 L53.0451031,6.82258065 L50.7989691,6.82258065 L50.7989691,10.9141935 C50.7989691,11.5916129 51.0966495,11.943871 51.746134,11.943871\"\n                    id=\"Shape\"\n                    class=\"dds-logo__letter\"></path>\n              <path d=\"M59.9188144,11.943871 C60.4059278,11.943871 60.9742268,11.8354839 61.6237113,11.5916129 L61.6237113,14.2470968 C61.1365979,14.463871 60.7036082,14.5993548 60.2706186,14.7077419 C59.8376289,14.7890323 59.3234536,14.8432258 58.7551546,14.8432258 C57.564433,14.8432258 56.7255155,14.5451613 56.1842784,13.9490323 C55.6701031,13.3529032 55.3994845,12.4316129 55.3994845,11.2122581 L55.3994845,6.82258065 L54.1546392,6.82258065 L54.1546392,4.11290323 L55.3994845,4.11290323 L55.3994845,1.40322581 L58.9716495,0.834193548 L58.9716495,4.11290323 L61.2177835,4.11290323 L61.2177835,6.82258065 L58.9716495,6.82258065 L58.9716495,10.9141935 C58.9716495,11.5916129 59.2963918,11.943871 59.9188144,11.943871\"\n                    id=\"Shape\"\n                    class=\"dds-logo__letter\"></path>\n              <path d=\"M71.068299,5.16967742 C70.2293814,4.35677419 69.0386598,3.92322581 67.496134,3.92322581 C65.8724227,3.92322581 64.6275773,4.38387097 63.7615979,5.33225806 C62.8956186,6.28064516 62.4626289,7.63548387 62.4626289,9.42387097 C62.4626289,11.1309677 62.9226804,12.4587097 63.8698454,13.4070968 C64.8170103,14.3283871 66.1430412,14.7890323 67.8479381,14.7890323 C68.6597938,14.7890323 69.3634021,14.7348387 69.9587629,14.6264516 C70.5541237,14.5180645 71.1224227,14.3283871 71.6636598,14.0303226 L71.1224227,11.6729032 C70.7164948,11.8354839 70.3376289,11.9709677 69.9858247,12.0522581 C69.4716495,12.1606452 68.9033505,12.2419355 68.2809278,12.2419355 C67.6043814,12.2419355 67.0631443,12.0793548 66.6572165,11.7541935 C66.2512887,11.4290323 66.0618557,10.9683871 66.0347938,10.3722581 L72.3402062,10.3722581 L72.3402062,8.71935484 C72.3402062,7.17483871 71.9072165,5.98258065 71.068299,5.16967742 L71.068299,5.16967742 Z M66.0889175,8.06903226 C66.1430412,7.5 66.3054124,7.06645161 66.5760309,6.79548387 C66.8466495,6.52451613 67.1984536,6.38903226 67.6314433,6.38903226 C68.0914948,6.38903226 68.443299,6.5516129 68.7139175,6.84967742 C68.9845361,7.14774194 69.1198454,7.55419355 69.1469072,8.06903226 L66.0889175,8.06903226 L66.0889175,8.06903226 Z\"\n                    id=\"Shape\"\n                    class=\"dds-logo__letter\"></path>\n              <path d=\"M21.8969072,5.16967742 C21.0579897,4.35677419 19.867268,3.92322581 18.3247423,3.92322581 C16.7010309,3.92322581 15.4561856,4.38387097 14.5902062,5.33225806 C13.7242268,6.28064516 13.2912371,7.63548387 13.2912371,9.42387097 C13.2912371,11.1309677 13.7512887,12.4587097 14.6984536,13.4070968 C15.6456186,14.3283871 16.9716495,14.7890323 18.6765464,14.7890323 C19.4884021,14.7890323 20.1920103,14.7348387 20.7873711,14.6264516 C21.382732,14.5180645 21.9510309,14.3283871 22.492268,14.0303226 L21.9510309,11.6729032 C21.5451031,11.8354839 21.1662371,11.9709677 20.814433,12.0522581 C20.3002577,12.1606452 19.7319588,12.2419355 19.1095361,12.2419355 C18.4329897,12.2419355 17.8917526,12.0793548 17.4858247,11.7541935 C17.0798969,11.4290323 16.8904639,10.9683871 16.8634021,10.3722581 L23.1688144,10.3722581 L23.1688144,8.71935484 C23.1417526,7.17483871 22.7358247,5.98258065 21.8969072,5.16967742 L21.8969072,5.16967742 Z M16.8904639,8.06903226 C16.9445876,7.5 17.1069588,7.06645161 17.3775773,6.79548387 C17.6481959,6.52451613 18,6.38903226 18.4329897,6.38903226 C18.8930412,6.38903226 19.2448454,6.5516129 19.5154639,6.84967742 C19.7860825,7.14774194 19.9213918,7.55419355 19.9484536,8.06903226 L16.8904639,8.06903226 L16.8904639,8.06903226 Z\"\n                    id=\"Shape\"\n                    class=\"dds-logo__letter\"></path>\n            </g>\n          </g>\n        </g>\n      </g>\n    </g>\n  </svg>\n</div>","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Inject, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { DestroyCtor, DestroyMixin } from '@usitsdasdesign/dds-ng/core/common-behaviors';\nimport { ListManager } from '@usitsdasdesign/dds-ng/core/list-manager';\nimport { AdditionalClass, KeyCodes } from '@usitsdasdesign/dds-ng/shared';\nimport { takeUntil } from 'rxjs/operators';\nimport { HEADER } from '../header.token';\nimport type { HeaderComponent } from '../header/header.component';\n\nconst IconsContainerBase: DestroyCtor = DestroyMixin();\n@Component({\n  selector: 'dds-header-icons-container',\n  templateUrl: './icons-container.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [],\n})\nexport class IconsContainerComponent extends IconsContainerBase implements AfterViewInit, OnDestroy {\n  // Determines whether the icons should be shown in the sticker.\n  @Input() showInSticker: boolean;\n\n  // Reference to the icon buttons container element.\n  @ViewChild('iconBtns') iconBtns: ElementRef<HTMLElement>;\n\n  // Manages the keyboard interactions for the list of buttons.\n  private keyManager: ListManager<HTMLButtonElement>;\n\n  constructor(@Inject(HEADER) private headerComponent: HeaderComponent) {\n    super();\n  }\n\n  // Lifecycle hook that is called after the component's view has been fully initialized.\n  // Initializes the key manager, sets attributes in the popup if needed, and sets the icons count.\n  public ngAfterViewInit(): void {\n    this.initKeyManager();\n    if (this.showInSticker) {\n      this.setAttributesInPopup();\n      this.focus();\n    }\n    this.setIconsCount();\n  }\n\n  // Lifecycle hook that is called when the component is destroyed.\n  // Focuses the mobile icons button if it exists and calls the base class's ngOnDestroy method.\n  public ngOnDestroy(): void {\n    const mobileIconsBtn = this.headerComponent.mobileIconsBtn;\n\n    if (mobileIconsBtn) mobileIconsBtn.btnRef.nativeElement.focus();\n\n    super.ngOnDestroy();\n  }\n\n  // Handles keydown events for the component.\n  public handleKeydown(event: KeyboardEvent): void {\n    if (!this.showInSticker) {\n      return;\n    }\n\n    this.keyManager.onKeydown(event);\n\n    if ((event.keyCode === KeyCodes.ENTER || event.keyCode === KeyCodes.SPACE) && this.keyManager.activeItem) {\n      event.preventDefault();\n      (this.keyManager.activeItem as HTMLElement).focus();\n    }\n  }\n\n  // Focuses the icon buttons container and removes focus from the mobile icons button if it exists.\n  private focus(): void {\n    const mobileIconsBtn = this.headerComponent.mobileIconsBtn;\n\n    this.iconBtns.nativeElement.focus();\n\n    if (mobileIconsBtn) this.removeFocus(mobileIconsBtn.btnRef.nativeElement);\n  }\n\n  // Sets the necessary attributes for the popup.\n  private setAttributesInPopup(): void {\n    this.iconBtns.nativeElement.setAttribute('tabindex', '0');\n    this.iconBtns.nativeElement.setAttribute('role', 'menu');\n  }\n\n  // Initializes the key manager for the list of buttons.\n  private initKeyManager(): void {\n    const items = this.iconBtns.nativeElement.querySelectorAll('button');\n\n    this.keyManager = new ListManager(Array.from(items)).withHomeAndEnd();\n    this.keyManager.change.pipe(takeUntil(this.destroy)).subscribe(() => {\n      if (this.keyManager.previousActiveItem) {\n        this.removeFocus(this.keyManager.previousActiveItem as HTMLElement);\n      }\n      if (this.keyManager.activeItem) (this.keyManager.activeItem as HTMLElement).focus();\n    });\n\n    this.keyManager.tabOut.pipe(takeUntil(this.destroy)).subscribe(() => {\n      this.headerComponent.sticker?.hide();\n      this.headerComponent.mobileIconsBtn?.btnRef.nativeElement.focus();\n    });\n  }\n\n  // Removes the keyboard focus class from the given element.\n  private removeFocus(el: HTMLElement): void {\n    el.classList.remove(AdditionalClass.keyboardFocus);\n  }\n\n  // Sets the count of icons in the header component.\n  private setIconsCount(): void {\n    this.headerComponent.iconsCount = this.iconBtns.nativeElement.children?.length;\n  }\n}\n","<div class=\"dds-header-icons\"\n     (keydown)=\"handleKeydown($event)\"\n     #iconBtns>\n  <ng-content></ng-content>\n</div>\n","import { ThemeClassesMap, ThemeMapEnum } from '@usitsdasdesign/dds-ng/core/theme';\nimport { Themes, WidthState } from '@usitsdasdesign/dds-ng/shared';\nimport { HeaderElmnts } from '../typings';\n\nexport const DEFAULT_RESPONSIVE_PRIORITY = [\n  HeaderElmnts.logo,\n  HeaderElmnts.projectName,\n  HeaderElmnts.profile,\n  HeaderElmnts.nav,\n  HeaderElmnts.icons,\n  HeaderElmnts.search,\n];\n\nexport const themeClassesMap: ThemeClassesMap = {\n  [ThemeMapEnum.Themes]: {\n    [Themes.blue]: 'dds-header_blue',\n  },\n  [ThemeMapEnum.WidthState]: {\n    [WidthState.full]: 'dds-header__container_fluid',\n  },\n};\n\nexport const MOBILE_NAV_ICON = 'dds-icon_list-24';\nexport const MOBILE_NAV_ACTIVE_ICON = 'dds-icon_close';\nexport const INVERSE_MODIFIER = '_inverse';\nexport const STICKER_WITH_SEARCH_INDENT = -44;\nexport const MOBILE_WIDTH = 600;\nexport const MOBILE_STICKER_INDENT = 4;\nexport const RESPONSIVE_SPACE = 40;\nexport const HEADER_MIN_WIDTH = 140;\n","import { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  HostListener,\n  Input,\n  OnChanges,\n  QueryList,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { ButtonComponent, ButtonModule, ButtonOptions } from '@usitsdasdesign/dds-ng/button';\nimport { ContextMenuComponent } from '@usitsdasdesign/dds-ng/context-menu';\nimport { DestroyCtor, DestroyMixin, I18nCtor, I18nMixin } from '@usitsdasdesign/dds-ng/core/common-behaviors';\nimport { ThemeClassesMap, ThemeModule } from '@usitsdasdesign/dds-ng/core/theme';\nimport { DropdownComponent } from '@usitsdasdesign/dds-ng/dropdown';\nimport { ProfileComponent } from '@usitsdasdesign/dds-ng/profile';\nimport { SearchComponent } from '@usitsdasdesign/dds-ng/search';\nimport { PositionState, Size, Themes, WidthState } from '@usitsdasdesign/dds-ng/shared';\nimport { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config';\nimport { I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n';\nimport { StickerDirective, StickerModule, StickerOptions } from '@usitsdasdesign/dds-ng/sticker';\nimport { HEADER } from '../header.token';\nimport { LogoComponent } from '../logo/logo.component';\nimport { IconsContainerComponent } from '../responsive/icons-container.component';\nimport { HeaderElmnts, HeaderElmntsInfo, LogoThemes } from '../typings';\nimport {\n  DEFAULT_RESPONSIVE_PRIORITY,\n  HEADER_MIN_WIDTH,\n  INVERSE_MODIFIER,\n  MOBILE_NAV_ACTIVE_ICON,\n  MOBILE_NAV_ICON,\n  MOBILE_STICKER_INDENT,\n  MOBILE_WIDTH,\n  RESPONSIVE_SPACE,\n  STICKER_WITH_SEARCH_INDENT,\n  themeClassesMap,\n} from './constants';\n\nconst HeaderBase: DestroyCtor & I18nCtor = DestroyMixin(I18nMixin());\n\n@Component({\n  selector: 'dds-header',\n  templateUrl: './header.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: HEADER,\n      useExisting: HeaderComponent,\n    },\n  ],\n  standalone: true,\n  imports: [CommonModule, ThemeModule, ButtonModule, StickerModule, IconsContainerComponent],\n})\nexport class HeaderComponent extends HeaderBase implements OnChanges, AfterContentInit, AfterViewInit {\n  // Input properties for the header component\n  @Input() name: string | undefined;\n  @Input() customClass: string | undefined;\n  @Input() width: WidthState | string | undefined;\n  @Input() theme: Themes | string | undefined = this.ddsConfig.getConfig().theme;\n  @Input() isResponsive: boolean | undefined = this.ddsConfig.getConfig().isResponsive;\n  @Input() isInverse: boolean | undefined;\n  @Input() responsivePriority: HeaderElmnts[] | undefined = DEFAULT_RESPONSIVE_PRIORITY;\n\n  // ViewChild properties to access DOM elements\n  @ViewChild('header') header: ElementRef<HTMLElement>;\n  @ViewChild('logo') logo: ElementRef<HTMLElement>;\n  @ViewChild('projectName') projectName: ElementRef<HTMLElement>;\n  @ViewChild('nav') nav: ElementRef<HTMLElement>;\n  @ViewChild('search') search: ElementRef<HTMLElement>;\n  @ViewChild('icons') icons: ElementRef<HTMLElement>;\n  @ViewChild('profile') profile: ElementRef<HTMLElement>;\n  @ViewChild('sticker') sticker: StickerDirective;\n  @ViewChild('mobileIconsBtn') mobileIconsBtn: ButtonComponent;\n\n  // ContentChild properties to access child components\n  @ContentChild(LogoComponent) logoComponent: LogoComponent;\n  @ContentChild(SearchComponent) searchComponent: SearchComponent;\n  @ContentChild(ProfileComponent) profileComponent: ProfileComponent;\n  @ContentChild(ContextMenuComponent) contextMenuComponent: ContextMenuComponent;\n  @ContentChildren(ButtonComponent) buttons: QueryList<ButtonComponent>;\n  @ContentChildren(DropdownComponent) dropdowns: QueryList<DropdownComponent>;\n\n  // HostListener to handle window resize events\n  @HostListener('window:resize') onResize(): void {\n    this.hideSticker();\n    this.fitCheck();\n  }\n\n  // Public properties for the header component\n  public themeConfig: ThemeClassesMap = themeClassesMap;\n  public headerElmntsInfo: HeaderElmntsInfo[] = [];\n  public isMobile: boolean;\n  public mobileStickerOptions: StickerOptions = {\n    stickerIndent: MOBILE_STICKER_INDENT,\n    stickerIsOutsideClick: true,\n    stickerIsResponsive: false,\n  };\n  public mobileBtnOptions: ButtonOptions = {\n    theme: Themes.dark,\n    size: Size.lg,\n  };\n  public headerElmnts = HeaderElmnts;\n  public positionState = PositionState;\n  public stickerWithSearchIndent: number = STICKER_WITH_SEARCH_INDENT;\n\n  // Aria labels for accessibility\n  public headerAriaLabel: string;\n  public additionalNavAriaLabel: string;\n  public btnSearchAriaLabel: string;\n  public btnAdditionalNavAriaLabel: string;\n  public iconsCount: number;\n\n  // Private properties for internal use\n  private btnNavOpenAriaLabel: string;\n  private btnNavCloseAriaLabel: string;\n  private profileInverseState: boolean;\n\n  // Getter for mobile navigation icon\n  get mobileNavIcon(): string {\n    return this.getActiveStatus(HeaderElmnts.nav) ? MOBILE_NAV_ACTIVE_ICON : MOBILE_NAV_ICON;\n  }\n\n  // Getter for mobile navigation aria label\n  get mobileNavAriaLabel(): string {\n    return this.getActiveStatus(HeaderElmnts.nav) ? this.btnNavCloseAriaLabel : this.btnNavOpenAriaLabel;\n  }\n\n  // Constructor to inject dependencies\n  constructor(public cdr: ChangeDetectorRef, public i18n: I18nService, private ddsConfig: DdsConfigService) {\n    super();\n  }\n\n  // Lifecycle hook for changes detection\n  public ngOnChanges(changes: SimpleChanges): void {\n    if (changes.isInverse) {\n      this.setComponentsOption();\n    }\n    if (changes.isResponsive) {\n      this.setLogoTheme();\n    }\n  }\n\n  // Lifecycle hook after content initialization\n  public ngAfterContentInit(): void {\n    this.setLgSize(this.buttons.toArray());\n    this.setLgSize(this.dropdowns.toArray());\n    this.setLgSize([this.searchComponent]);\n    this.setComponentsOption();\n  }\n\n  // Lifecycle hook after view initialization\n  public ngAfterViewInit(): void {\n    this.setAriaLabel();\n    setTimeout(() => {\n      this.setElmntsWidth();\n      this.fitCheck();\n    });\n  }\n\n  // Method to toggle sticker visibility\n  public stickerToggle(el: HeaderElmnts, status = false): void {\n    this.getHeaderEl(el).active = status;\n    this.setAriaLabel();\n    this.cdr.detectChanges();\n  }\n\n  // Method to get active status of an element\n  public getActiveStatus(el: HeaderElmnts): boolean {\n    const headerEl = this.getHeaderEl(el);\n    return headerEl && headerEl.active;\n  }\n\n  // Method to get collapsed status of an element\n  public getCollapsedStatus(el: HeaderElmnts): boolean {\n    const headerEl = this.getHeaderEl(el);\n    return headerEl && headerEl.collapsed;\n  }\n\n  // Method to get shown status of an element\n  public getShownStatus(el: HeaderElmnts): boolean {\n    return this.getHeaderEl(el)?.width && this.getCollapsedStatus(el);\n  }\n\n  // Method to get mobile sticker class\n  public getMobileStickerClass(className: string): string {\n    return this.isInverse ? className + INVERSE_MODIFIER : className;\n  }\n\n  // Method to handle search shown event\n  public onShownSearch(): void {\n    setTimeout(() => this.searchComponent?.focus());\n  }\n\n  // Method to handle search hidden event\n  public onHiddenSearch(btn: ButtonComponent): void {\n    btn.btnRef.nativeElement.focus();\n  }\n\n  // Method to get mobile active theme\n  public mobileActiveTheme(el: HeaderElmnts): string {\n    return this.getActiveStatus(el) ? this.theme : this.mobileBtnOptions.theme;\n  }\n\n  // Method to get mobile active inverse status\n  public mobileActiveInverse(el: HeaderElmnts): boolean {\n    if (this.getActiveStatus(el) && this.mobileActiveTheme(el) === Themes.dark) {\n      return !this.isInverse;\n    }\n\n    return this.isInverse;\n  }\n\n  // Private method to set elements width\n  private setElmntsWidth(): void {\n    for (const key in HeaderElmnts) {\n      if (HeaderElmnts[key]) {\n        this.headerElmntsInfo.push({\n          el: key,\n          width: this.getElWidth(this[key]),\n        });\n      }\n    }\n  }\n\n  // Private method to check fit of elements\n  private fitCheck(): void {\n    if (!this.isResponsive) return;\n\n    this.collapseAllElmnts();\n\n    const headerWidth = this.getElWidth(this.header);\n    let sumElWidth = HEADER_MIN_WIDTH;\n\n    this.responsivePriority.forEach((elName) => {\n      const headerEl = this.getHeaderEl(elName);\n\n      sumElWidth += headerEl.width;\n\n      if (headerWidth < sumElWidth) {\n        sumElWidth += RESPONSIVE_SPACE;\n      }\n\n      if (headerWidth >= sumElWidth) {\n        headerEl.collapsed = false;\n      }\n    });\n\n    this.isMobile = headerWidth <= MOBILE_WIDTH;\n    this.setProfileMobileView();\n    this.cdr.detectChanges();\n  }\n\n  // Private method to get header element info\n  private getHeaderEl(elName: HeaderElmnts): HeaderElmntsInfo {\n    return this.headerElmntsInfo.find((item) => item.el === elName);\n  }\n\n  // Private method to get element width\n  private getElWidth(el: ElementRef): number {\n    return el?.nativeElement.getBoundingClientRect().width;\n  }\n\n  // Private method to collapse all elements\n  private collapseAllElmnts(): void {\n    this.headerElmntsInfo.forEach((item) => (item.collapsed = true));\n    this.cdr.detectChanges();\n  }\n\n  // Private method to set large size for components\n  private setLgSize(components: ButtonComponent[] | SearchComponent[] | DropdownComponent[]): void {\n    components.forEach((item) => {\n      if (item) {\n        item.size = Size.lg;\n        item.cdr.detectChanges();\n      }\n    });\n  }\n\n  // Private method to set logo theme\n  private setLogoTheme(): void {\n    if (this.logoComponent) {\n      this.logoComponent.theme = this.isInverse ? LogoThemes.dark : LogoThemes.white;\n      this.logoComponent.cdr.detectChanges();\n    }\n  }\n\n  // Private method to set inverse status for a component\n  private setInverse(component): void {\n    if (component) {\n      component.isInverse = !this.isInverse;\n      component.cdr.detectChanges();\n    }\n  }\n\n  // Private method to set options for components\n  private setComponentsOption(): void {\n    this.setLogoTheme();\n    this.setInverse(this.searchComponent);\n    this.setInverse(this.contextMenuComponent);\n\n    if (this.profileComponent) {\n      this.profileInverseState = this.profileComponent.isInverse;\n    }\n  }\n\n  // Private method to set profile mobile view\n  private setProfileMobileView(): void {\n    if (this.profileComponent) {\n      this.profileComponent.isMobileHeader = this.isMobile;\n\n      if (this.isMobile) {\n        this.profileComponent.isInverse = !this.isInverse;\n      } else {\n        this.profileComponent.isInverse = this.profileInverseState === undefined ? !this.isInverse : this.profileInverseState;\n      }\n\n      this.profileComponent.stickerIndent = MOBILE_STICKER_INDENT;\n      this.profileComponent.cdr.detectChanges();\n    }\n  }\n\n  // Private method to hide sticker\n  private hideSticker(): void {\n    if (this.sticker) {\n      this.sticker.hide();\n    }\n  }\n\n  // Protected method to set i18n texts\n  protected setI18nTexts(translation: ITranslation): void {\n    this.headerAriaLabel = translation.HEADER.A11Y.HEADER_ARIA_LABEL;\n    this.additionalNavAriaLabel = translation.HEADER.A11Y.ADDITIONAL_NAV_ARIA_LABEL;\n    this.btnNavOpenAriaLabel = translation.HEADER.A11Y.BTN_NAV_OPEN_ARIA_LABEL;\n    this.btnNavCloseAriaLabel = translation.HEADER.A11Y.BTN_NAV_CLOSE_ARIA_LABEL;\n    this.btnSearchAriaLabel = translation.HEADER.A11Y.BTN_SEARCH_OPEN_ARIA_LABEL;\n    this.btnAdditionalNavAriaLabel = translation.HEADER.A11Y.BTN_ADDITIONAL_NAV_OPEN_ARIA_LABEL;\n    this.cdr.detectChanges();\n  }\n\n  // Private method to set aria label\n  private setAriaLabel(): void {\n    if (this.mobileIconsBtn) {\n      const mobileIconsBtn = this.mobileIconsBtn.btnRef.nativeElement;\n\n      mobileIconsBtn.setAttribute('aria-haspopup', 'true');\n      mobileIconsBtn.setAttribute('aria-expanded', `${!!this.getActiveStatus(HeaderElmnts.icons)}`);\n    }\n  }\n}\n","<div [theme]=\"theme\"\n     [ddsTheme]=\"themeConfig\"\n     [ngClass]=\"{\n      'dds-header_search-active': getActiveStatus(headerElmnts.search),\n      'dds-header_mobile-nav-active': getActiveStatus(headerElmnts.nav),\n      'dds-header_mobile': getCollapsedStatus(headerElmnts.nav) || isMobile,\n      'dds-header_inverse': isInverse\n     }\"\n     [attr.aria-label]=\"headerAriaLabel\"\n     data-qa=\"header\"\n     class=\"dds-header {{customClass}}\"\n     role=\"banner\"\n     tabindex=\"0\"\n     #header>\n  <div [width]=\"width\"\n       [ddsTheme]=\"themeConfig\"\n       class=\"dds-header__container\">\n\n    @if (getCollapsedStatus(headerElmnts.nav) || isMobile) {\n      <dds-button [theme]=\"mobileActiveTheme(headerElmnts.nav)\"\n                  [size]=\"mobileBtnOptions.size\"\n                  [isInverse]=\"mobileActiveInverse(headerElmnts.nav)\"\n                  [ariaLabel]=\"mobileNavAriaLabel\"\n                  [ddsSticker]=\"mobileContent\"\n                  [stickerPosition]=\"positionState.bottomLeft\"\n                  [stickerIndent]=\"mobileStickerOptions.stickerIndent\"\n                  [stickerIsOutsideClick]=\"mobileStickerOptions.stickerIsOutsideClick\"\n                  [stickerIsResponsive]=\"mobileStickerOptions.stickerIsResponsive\"\n                  [stickerShift]=\"-mobileStickerOptions.stickerIndent\"\n                  stickerWidth=\"auto\"\n                  [icon]=\"'dds-icon_sm ' + mobileNavIcon\"\n                  data-qa=\"header-button\"\n                  [stickerCustomClass]=\"getMobileStickerClass('dds-header__mobile-content')\"\n                  class=\"dds-header__btn-mobile-nav dds-header__btn-icon\"\n                  (onShown)=\"stickerToggle(headerElmnts.nav, true)\"\n                  (onHidden)=\"stickerToggle(headerElmnts.nav)\"\n                  #sticker=\"dds-sticker\" />\n    }\n\n    <div class=\"dds-header__main\">\n      <!-- logo -->\n      @if (!getCollapsedStatus(headerElmnts.logo)) {\n        <div data-qa=\"header-logo\"\n             class=\"dds-header__logo\"\n             #logo>\n          <ng-content select=\"[logo]\"></ng-content>\n        </div>\n      }\n\n      <!-- brand -->\n      @if (!getCollapsedStatus(headerElmnts.projectName)) {\n        <div data-qa=\"header-project-name\"\n             class=\"dds-header__project-name\"\n             #projectName>\n          {{ name }}\n          <ng-content select=\"[name]\"></ng-content>\n        </div>\n      }\n    </div>\n\n    @if (!isMobile) {\n      <div class=\"dds-header__left-wrap\">\n        <!-- navigation -->\n        @if (!getCollapsedStatus(headerElmnts.nav)) {\n          <div class=\"dds-header__navigation\"\n               data-qa=\"header-navigation\"\n               role=\"menu\"\n               #nav>\n            <ng-container *ngTemplateOutlet=\"navContent\"></ng-container>\n          </div>\n        }\n      </div>\n    }\n\n\n    <div class=\"dds-header__right-wrap dds-header__btn-icons\">\n      <!-- search -->\n      @if (!isMobile) {\n        <div class=\"dds-header__search\"\n             data-qa=\"header-search\"\n             role=\"search\"\n             #search>\n          @if (getShownStatus(headerElmnts.search)) {\n            <dds-button [theme]=\"mobileBtnOptions.theme\"\n                        [isInverse]=\"isInverse\"\n                        [size]=\"mobileBtnOptions.size\"\n                        [ariaLabel]=\"btnSearchAriaLabel\"\n                        [ddsSticker]=\"searchContent\"\n                        [stickerPosition]=\"positionState.left\"\n                        [stickerIndent]=\"stickerWithSearchIndent\"\n                        [stickerIsOutsideClick]=\"mobileStickerOptions.stickerIsOutsideClick\"\n                        [stickerIsResponsive]=\"mobileStickerOptions.stickerIsResponsive\"\n                        stickerWidth=\"auto\"\n                        data-qa=\"header-search-button\"\n                        [stickerCustomClass]=\"getMobileStickerClass('dds-header__sticker')\"\n                        icon=\"dds-icon_sm dds-icon_search\"\n                        class=\"dds-header__btn-icon\"\n                        (clicked)=\"sticker.show()\"\n                        (onShown)=\"stickerToggle(headerElmnts.search, true); onShownSearch()\"\n                        (onHidden)=\"stickerToggle(headerElmnts.search); onHiddenSearch(mobileSearchBtn)\"\n                        #sticker=\"dds-sticker\"\n                        #mobileSearchBtn />\n          } @else {\n            <ng-container *ngTemplateOutlet=\"searchContent\"></ng-container>\n          }\n        </div>\n      }\n\n      <!-- icons -->\n      <div [attr.aria-label]=\"additionalNavAriaLabel\"\n           class=\"dds-header__icons\"\n           role=\"menu\"\n           data-qa=\"header-icon-buttons\"\n           #icons>\n        @if (!isMobile) {\n          @if (getShownStatus(headerElmnts.icons) && iconsCount > 1) {\n            <dds-button [theme]=\"mobileActiveTheme(headerElmnts.icons)\"\n                        [size]=\"mobileBtnOptions.size\"\n                        [isInverse]=\"mobileActiveInverse(headerElmnts.icons)\"\n                        [ariaLabel]=\"btnAdditionalNavAriaLabel\"\n                        [ddsSticker]=\"iconsContent\"\n                        [stickerPosition]=\"positionState.bottomRight\"\n                        [stickerIndent]=\"mobileStickerOptions.stickerIndent\"\n                        [stickerIsOutsideClick]=\"mobileStickerOptions.stickerIsOutsideClick\"\n                        [stickerIsResponsive]=\"mobileStickerOptions.stickerIsResponsive\"\n                        stickerWidth=\"auto\"\n                        data-qa=\"header-icon-button\"\n                        [stickerCustomClass]=\"getMobileStickerClass('dds-header__sticker')\"\n                        icon=\"dds-icon_sm dds-icon_grid-24\"\n                        class=\"dds-header__btn-icon\"\n                        (clicked)=\"sticker.show()\"\n                        (onShown)=\"stickerToggle(headerElmnts.icons, true)\"\n                        (onHidden)=\"stickerToggle(headerElmnts.icons)\"\n                        #sticker=\"dds-sticker\"\n                        #mobileIconsBtn></dds-button>\n          } @else {\n            <ng-container *ngTemplateOutlet=\"iconsContent\"></ng-container>\n          }\n\n          <ng-template #iconsContent>\n            <dds-header-icons-container [showInSticker]=\"getShownStatus(headerElmnts.icons)\">\n              <ng-content select=\"[icons]\"></ng-content>\n            </dds-header-icons-container>\n          </ng-template>\n        }\n      </div>\n\n      <!-- profile -->\n      <div class=\"dds-header__profile\"\n           data-qa=\"header-profile\"\n           #profile>\n        @if (!isMobile) {\n          <div class=\"dds-header__profile-content\">\n            <ng-container *ngTemplateOutlet=\"profileContent\"></ng-container>\n          </div>\n        }\n      </div>\n    </div>\n\n  </div>\n</div>\n\n<ng-template #mobileContent>\n  <div class=\"dds-header__mobile-top\">\n    <!-- mobile-search -->\n    @if (isMobile) {\n      <div data-qa=\"header-mobile-search\"\n           class=\"dds-header__mobile-search\">\n        <ng-container *ngTemplateOutlet=\"searchContent\"></ng-container>\n      </div>\n    }\n\n    <!-- mobile-navigation -->\n    <div data-qa=\"header-mobile-navigation\"\n         class=\"dds-header__mobile-nav\">\n      <ng-container *ngTemplateOutlet=\"navContent\"></ng-container>\n    </div>\n  </div>\n\n  <div class=\"dds-header__mobile-bottom\">\n    <!-- mobile-icons -->\n    @if (isMobile) {\n      <div data-qa=\"header-mobile-icon-buttons\"\n           class=\"dds-header__mobile-icons dds-header__btn-icons\">\n        <ng-content select=\"[mobileNavList]\"></ng-content>\n      </div>\n    }\n\n    <!-- mobile-profile -->\n    @if (isMobile) {\n      <div data-qa=\"header-mobile-profile\"\n           class=\"dds-header__mobile-profile\">\n        <ng-container *ngTemplateOutlet=\"profileContent\"></ng-container>\n      </div>\n    }\n  </div>\n</ng-template>\n\n\n<!-- nav content -->\n<ng-template #navContent>\n  <ng-content select=\"[navigation]\"></ng-content>\n</ng-template>\n\n<!-- search content -->\n<ng-template #searchContent>\n  <ng-content select=\"[search]\"></ng-content>\n</ng-template>\n\n<!-- profile content -->\n<ng-template #profileContent>\n  <ng-content select=\"[profile]\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport { LogoComponent } from './logo/logo.component';\nimport { IconsContainerComponent } from './responsive/icons-container.component';\n\n@NgModule({\n  declarations: [],\n  imports: [HeaderComponent, LogoComponent, IconsContainerComponent],\n  exports: [HeaderComponent, LogoComponent],\n})\nexport class HeaderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["themeClassesMap","i1"],"mappings":"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"}