{"version":3,"file":"usermenu.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/usermenu/usermenu-icon.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/usermenu/usermenu.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/usermenu/usermenu.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/usermenu/usermenu.module.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[sbbIcon]',\n})\nexport class SbbUsermenuIcon {}\n","// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265\n/// <reference types=\"@angular/localize/init\" />\n\nimport { _IdGenerator } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  EventEmitter,\n  inject,\n  Input,\n  Output,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { mixinVariant } from '@sbb-esta/angular/core';\nimport { SbbIcon } from '@sbb-esta/angular/icon';\nimport {\n  SbbMenu,\n  SbbMenuInheritedTriggerContext,\n  SbbMenuTrigger,\n  SBB_MENU_INHERITED_TRIGGER_CONTEXT,\n} from '@sbb-esta/angular/menu';\nimport { SbbMenuDynamicTrigger } from '@sbb-esta/angular/menu';\n\nimport { SbbUsermenuIcon } from './usermenu-icon';\n\n// Boilerplate for applying mixins to SbbNotification.\nconst _SbbUsermenuMixinBase = mixinVariant(class {});\n\nexport const _sbbUsermenuMenuInheritedTriggerContext: SbbMenuInheritedTriggerContext = {\n  type: 'usermenu',\n  panelWidth: 288,\n  xPosition: 'before',\n  animationStartStateResolver: (context) => ({\n    value: 'enter-usermenu',\n    params: {\n      width: context.panelWidth! * (context.scalingFactor ?? 1) + 'px',\n    },\n  }),\n};\n\n@Component({\n  selector: 'sbb-usermenu',\n  templateUrl: './usermenu.html',\n  styleUrls: ['./usermenu.css'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'sbb-usermenu sbb-icon-scaled',\n    '[attr.id]': 'id',\n    '[class.sbb-usermenu-user-info-has-display-name]': '!!displayName',\n  },\n  providers: [\n    {\n      provide: SBB_MENU_INHERITED_TRIGGER_CONTEXT,\n      useValue: _sbbUsermenuMenuInheritedTriggerContext,\n    },\n  ],\n  imports: [SbbIcon, SbbMenuTrigger, SbbMenuDynamicTrigger, NgTemplateOutlet, AsyncPipe],\n})\nexport class SbbUsermenu extends _SbbUsermenuMixinBase {\n  _labelLogin: string = $localize`:Button label for login@@sbbUsermenuLogin:Login`;\n\n  get _labelOpenPanel() {\n    return $localize`:Aria label to open user menu@@sbbUsermenuOpenPanel:Logged in as ${\n      this.displayName || this.userName\n    }. Click or press enter to open user menu.`;\n  }\n\n  /** Identifier of the usermenu. */\n  id: string = inject(_IdGenerator).getId('sbb-usermenu-');\n\n  /**\n   * The user name is only displayed if the menu is open.\n   * If userName is set, logged in state is active.\n   */\n  @Input() userName?: string;\n\n  /**\n   * The display name is shown on collapsed trigger and on opened state of the menu (except on mobile devices).\n   * If displayName is set, logged in state is active.\n   */\n  @Input() displayName?: string;\n\n  /** Reference to the menu. */\n  @Input() menu: SbbMenu;\n\n  /** Event emitted on log in of a user. */\n  @Output() loginRequest: EventEmitter<void> = new EventEmitter<void>();\n\n  /** Event emitted when the associated menu is opened. */\n  @Output() readonly menuOpened: EventEmitter<void> = new EventEmitter<void>();\n\n  /** Event emitted when the associated menu is closed. */\n  @Output() readonly menuClosed: EventEmitter<void> = new EventEmitter<void>();\n\n  @ViewChild(SbbMenuTrigger) private _menuTrigger: SbbMenuTrigger;\n\n  /** Reference to user provided icon */\n  @ContentChild(SbbUsermenuIcon, { read: TemplateRef })\n  _icon?: TemplateRef<any>;\n\n  /** Whether or not the overlay panel is open. */\n  get panelOpen(): boolean {\n    return this._menuTrigger?.menuOpen;\n  }\n\n  /** Whether the user is logged in or not. */\n  get _loggedIn(): boolean {\n    return !!this.userName || !!this.displayName;\n  }\n\n  /** Initial letters of user's displayName (or userName if no displayName is provided). */\n  get _initialLetters(): string {\n    const name = this.displayName ? this.displayName : this.userName || '';\n    const names: string[] = name.split(' ');\n    const filteredNames = names.filter((namePart) => namePart[0]?.match(/^\\p{L}/u));\n\n    if (filteredNames.length === 0) {\n      return '';\n    }\n\n    if (filteredNames.length === 1) {\n      return filteredNames[0].substring(0, 2).toLocaleUpperCase();\n    }\n\n    return filteredNames\n      .reduce((current, next) => {\n        return current[0] + next[0];\n      })\n      .toLocaleUpperCase();\n  }\n\n  _emitLogin() {\n    this.loginRequest.emit();\n  }\n\n  /** Open the overlay panel */\n  open(): void {\n    if (this._loggedIn) {\n      this._menuTrigger?.openMenu();\n    }\n  }\n\n  /** Close the overlay panel */\n  close(): void {\n    this._menuTrigger?.closeMenu();\n  }\n\n  /** Toggle the visibility of the overlay panel */\n  toggle(): void {\n    if (this._loggedIn) {\n      this._menuTrigger?.toggleMenu();\n    }\n  }\n\n  _emitMenuOpened() {\n    this.menuOpened.emit();\n  }\n\n  _emitMenuClosed() {\n    this.menuClosed.emit();\n  }\n}\n","@if (!_loggedIn) {\n  <button\n    class=\"sbb-button-reset-frameless sbb-usermenu-trigger sbb-usermenu-trigger-logged-out\"\n    (click)=\"_emitLogin()\"\n    type=\"button\"\n  >\n    <sbb-icon svgIcon=\"user-small\" class=\"sbb-usermenu-logged-out-icon\"></sbb-icon>\n    <span class=\"sbb-usermenu-logged-out-label\">{{ _labelLogin }}</span>\n  </button>\n}\n@if (_loggedIn && menu) {\n  <button\n    [sbbMenuTriggerFor]=\"menu\"\n    (menuOpened)=\"_emitMenuOpened()\"\n    (menuClosed)=\"_emitMenuClosed()\"\n    class=\"sbb-button-reset-frameless sbb-usermenu-trigger sbb-usermenu-trigger-logged-in\"\n    [attr.aria-label]=\"_labelOpenPanel\"\n    type=\"button\"\n  >\n    <ng-template sbbMenuDynamicTrigger>\n      <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n      <sbb-icon\n        [svgIcon]=\"\n          (variant | async) === 'standard' ? 'chevron-small-down-small' : 'chevron-right-small'\n        \"\n        class=\"sbb-usermenu-arrow\"\n      ></sbb-icon>\n    </ng-template>\n  </button>\n}\n@if (_loggedIn && !menu) {\n  <div class=\"sbb-usermenu-trigger sbb-usermenu-trigger-logged-in\">\n    <ng-template sbbMenuDynamicTrigger>\n      <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n    </ng-template>\n  </div>\n}\n\n<ng-template #triggerContent>\n  <span class=\"sbb-usermenu-identification\" aria-hidden=\"true\">\n    @if (_icon) {\n      <ng-container *ngTemplateOutlet=\"_icon\"></ng-container>\n    }\n    @if (!_icon) {\n      <span class=\"sbb-usermenu-initial-letters\"> {{ _initialLetters }} </span>\n    }\n  </span>\n\n  <span class=\"sbb-usermenu-user-info\">\n    <span class=\"sbb-usermenu-user-info-display-name\"> {{ displayName || userName }} </span>\n    @if (displayName && userName) {\n      <span class=\"sbb-usermenu-user-info-name\"> {{ userName }} </span>\n    }\n  </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { SbbCommonModule } from '@sbb-esta/angular/core';\nimport { SbbIconModule } from '@sbb-esta/angular/icon';\nimport { SbbMenuModule } from '@sbb-esta/angular/menu';\n\nimport { SbbUsermenu } from './usermenu';\nimport { SbbUsermenuIcon } from './usermenu-icon';\n\n@NgModule({\n  imports: [SbbCommonModule, SbbIconModule, SbbMenuModule, SbbUsermenu, SbbUsermenuIcon],\n  exports: [SbbUsermenu, SbbUsermenuIcon],\n})\nexport class SbbUsermenuModule {}\n"],"names":["SbbUsermenuIcon","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","ngImport","decorators","args","_SbbUsermenuMixinBase","mixinVariant","_sbbUsermenuMenuInheritedTriggerContext","type","panelWidth","xPosition","animationStartStateResolver","context","value","params","width","scalingFactor","SbbUsermenu","_labelLogin","$localize","_labelOpenPanel","displayName","userName","id","inject","_IdGenerator","getId","menu","loginRequest","EventEmitter","menuOpened","menuClosed","_menuTrigger","_icon","panelOpen","menuOpen","_loggedIn","_initialLetters","name","names","split","filteredNames","filter","namePart","match","length","substring","toLocaleUpperCase","reduce","current","next","_emitLogin","emit","open","openMenu","close","closeMenu","toggle","toggleMenu","_emitMenuOpened","_emitMenuClosed","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","inputs","outputs","host","properties","classAttribute","providers","provide","SBB_MENU_INHERITED_TRIGGER_CONTEXT","useValue","queries","propertyName","first","predicate","descendants","read","TemplateRef","viewQueries","SbbMenuTrigger","styles","dependencies","kind","SbbIcon","exportAs","SbbMenuDynamicTrigger","NgTemplateOutlet","AsyncPipe","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","class","imports","template","Input","Output","ViewChild","ContentChild","SbbUsermenuModule","NgModule","ɵmod","ɵɵngDeclareNgModule","SbbCommonModule","SbbIconModule","SbbMenuModule","exports","ɵinj","ɵɵngDeclareInjector"],"mappings":"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"}