{"version":3,"file":"tag.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tag.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tag.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tag-link.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tag-link.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tags.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tags.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/angular/tag/tag.module.ts"],"sourcesContent":["// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265\n/// <reference types=\"@angular/localize/init\" />\n\nimport {\n  afterNextRender,\n  ChangeDetectionStrategy,\n  Component,\n  forwardRef,\n  inject,\n  Injector,\n  Input,\n  NgZone,\n  numberAttribute,\n  OnDestroy,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SbbBadge } from '@sbb-esta/angular/badge';\nimport { SbbCheckbox } from '@sbb-esta/angular/checkbox';\nimport { SbbIcon } from '@sbb-esta/angular/icon';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'sbb-tag',\n  exportAs: 'sbbTag',\n  templateUrl: './tag.html',\n  styleUrls: ['./tag.css'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SbbTag),\n      multi: true,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  inputs: ['tabIndex'],\n  host: {\n    class: 'sbb-tag',\n    '[class.sbb-tag-disabled]': 'disabled',\n    '[class.sbb-tag-active]': 'active',\n  },\n  imports: [SbbBadge, SbbIcon],\n})\nexport class SbbTag extends SbbCheckbox implements OnDestroy {\n  private _zone = inject(NgZone);\n  /** Amount displayed in badge */\n  @Input({ transform: numberAttribute })\n  get amount(): number {\n    return this._amount;\n  }\n  set amount(value: number) {\n    this._amount = value;\n    this._badgeDescriptionFallback = $localize`:Aria label for amount of results displayed in badge pill@@sbbTagBadgePillAmountOfResults:${this.amount} results available`;\n\n    this._amountChange.next(this._amount);\n  }\n  private _amount: number;\n\n  /** Description of the badge (amount) */\n  @Input('sbbBadgeDescription')\n  badgeDescription: string;\n  _badgeDescriptionFallback: string;\n\n  /**\n   * The indicator icon, which will be shown before the text.\n   * Must be a valid svgIcon input for sbb-icon.\n   *\n   * e.g. svgIcon=\"circle-information-small\"\n   */\n  @Input() svgIcon: string;\n\n  /** Emits the current amount when the amount changes */\n  readonly _amountChange = new Subject<number>();\n\n  /** Emits when values are set from outside */\n  readonly _valueChange = new Subject<any>();\n\n  /** Refers if a tag is active. */\n  get active() {\n    return this._active || (this.checked && !this.disabled);\n  }\n  set active(value: boolean) {\n    this._active = value;\n    this._changeDetectorRef.markForCheck();\n  }\n  private _active = false;\n\n  private _injector = inject(Injector);\n\n  constructor(...args: unknown[]);\n  constructor() {\n    super();\n\n    afterNextRender(() => this._zone.run(() => this._valueChange.next(this.checked)), {\n      injector: this._injector,\n    });\n  }\n\n  override writeValue(value: any) {\n    super.writeValue(value);\n    this._valueChange.next(value);\n  }\n\n  /** @docs-private internal use only */\n  _setCheckedAndEmit(checked: boolean) {\n    const previousChecked = this.checked;\n    this.checked = checked;\n    if (previousChecked !== this.checked) {\n      this._emitChangeEvent();\n    }\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n    this._amountChange.complete();\n    this._valueChange.complete();\n  }\n}\n","<label class=\"sbb-tag-base sbb-tag-label\" [attr.for]=\"inputId\">\n  <input\n    #input\n    type=\"checkbox\"\n    class=\"cdk-visually-hidden sbb-transparent-parent-overlay\"\n    [id]=\"inputId\"\n    [attr.name]=\"name\"\n    [attr.value]=\"value\"\n    [required]=\"required\"\n    [checked]=\"checked\"\n    [tabIndex]=\"tabIndex\"\n    [attr.aria-checked]=\"checked\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-labelledby]=\"ariaLabelledby\"\n    [attr.aria-describedby]=\"ariaDescribedby\"\n    [disabled]=\"disabled\"\n    (change)=\"_onInteractionEvent($event)\"\n    (click)=\"_onInputClick($event)\"\n  />\n\n  @if (svgIcon) {\n    <sbb-icon [svgIcon]=\"svgIcon\" class=\"sbb-tag-icon\"></sbb-icon>\n  }\n  <!-- Add an invisible span so JAWS can read the label -->\n  <span hidden>&nbsp;</span>\n  <span class=\"sbb-tag-content\"><ng-content></ng-content></span>\n  <span\n    [sbbBadge]=\"amount\"\n    [sbbBadgeDisabled]=\"this.disabled || !this.checked\"\n    sbbBadgePosition=\"after\"\n    [sbbBadgeDescription]=\"badgeDescription || _badgeDescriptionFallback\"\n  ></span>\n</label>\n","// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265\n/// <reference types=\"@angular/localize/init\" />\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  numberAttribute,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { SbbBadge } from '@sbb-esta/angular/badge';\nimport { SbbIcon } from '@sbb-esta/angular/icon';\n\n@Component({\n  selector: 'a[sbb-tag-link]',\n  exportAs: 'sbbTagLink',\n  templateUrl: './tag-link.html',\n  styleUrls: ['./tag.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'sbb-tag-base sbb-link-reset sbb-tag-link',\n  },\n  imports: [SbbBadge, SbbIcon],\n})\nexport class SbbTagLink {\n  /** Amount displayed in badge */\n  @Input({ transform: numberAttribute })\n  get amount(): number {\n    return this._amount;\n  }\n  set amount(value: number) {\n    this._amount = value;\n    this._badgeDescriptionFallback = $localize`:Aria label for amount of results displayed in badge pill@@sbbTagBadgePillAmountOfResults:${this.amount} results available`;\n  }\n  private _amount: number;\n\n  /**\n   * The indicator icon, which will be shown before the text.\n   * Must be a valid svgIcon input for sbb-icon.\n   *\n   * e.g. svgIcon=\"circle-information-small\"\n   */\n  @Input() svgIcon: string;\n\n  /** Description of the badge (amount) */\n  @Input('sbbBadgeDescription')\n  badgeDescription: string;\n  _badgeDescriptionFallback: string;\n}\n","@if (svgIcon) {\n  <sbb-icon [svgIcon]=\"svgIcon\" class=\"sbb-tag-icon\"></sbb-icon>\n}\n<span class=\"sbb-tag-content\"><ng-content></ng-content></span>\n<span\n  [sbbBadge]=\"amount\"\n  sbbBadgePosition=\"after\"\n  [sbbBadgeDescription]=\"badgeDescription || _badgeDescriptionFallback\"\n></span>\n","// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265\n/// <reference types=\"@angular/localize/init\" />\n\nimport { AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  forwardRef,\n  Input,\n  numberAttribute,\n  OnDestroy,\n  QueryList,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { filter, mergeAll, mergeMap, startWith, takeUntil } from 'rxjs/operators';\n\nimport { SbbTag } from './tag';\n\n@Component({\n  selector: 'sbb-tags',\n  exportAs: 'sbbTags',\n  templateUrl: './tags.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'sbb-tags',\n  },\n  imports: [SbbTag, AsyncPipe],\n})\nexport class SbbTags implements AfterContentInit, OnDestroy {\n  _labelAllTag: string = $localize`:Label for the 'All' tag@@sbbTagsAll:All`;\n\n  get _labelBadgeDescription(): string {\n    return $localize`:Badge description (total amount) for the 'All' tag@@sbbTagsAllBadgeDescription:A total of ${this.totalAmount} results available`;\n  }\n\n  /**\n   * Total amount visible on the \"All\" tag badge.\n   * If not provided, the total amount is calculated by the sum of all amounts of all tags.\n   */\n  @Input({ transform: numberAttribute })\n  get totalAmount(): number {\n    return this._totalAmount.value;\n  }\n  set totalAmount(totalAmount: number) {\n    this._totalAmountSetAsInput = true;\n    this._totalAmount.next(totalAmount);\n  }\n  _totalAmount: BehaviorSubject<number> = new BehaviorSubject<number>(0);\n\n  private _totalAmountSetAsInput = false;\n\n  /** Refers to the tags contained. */\n  @ContentChildren(forwardRef(() => SbbTag))\n  tags: QueryList<SbbTag>;\n\n  /** Refers to the tag always displayed in the filter. */\n  @ViewChild('allTag')\n  allTag: SbbTag;\n\n  private _destroyed = new Subject<void>();\n\n  ngAfterContentInit() {\n    // Listen to tag changes in order to update state of \"All\" tag\n    this.tags.changes\n      .pipe(\n        startWith(this.tags.toArray()),\n        mergeMap((tags) => [\n          ...tags.map((tag: SbbTag) => tag.change),\n          ...tags.map((tag: SbbTag) => tag._valueChange),\n        ]),\n        mergeAll(),\n        takeUntil(this._destroyed),\n      )\n      .subscribe(() => this._setCheckedStateOfAllTag());\n\n    // Listen to tag changes and amount changes of every tag component\n    this.tags.changes\n      .pipe(\n        startWith(this.tags.toArray()),\n        mergeMap((tags: SbbTag[]) =>\n          tags.length === 0\n            ? [of(null)]\n            : tags.map((tag) => tag._amountChange.pipe(startWith(null))),\n        ),\n        mergeAll(),\n        filter(() => !this._totalAmountSetAsInput),\n        takeUntil(this._destroyed),\n      )\n      .subscribe(() => this._calculateTotalAmountOfTags());\n  }\n\n  private _setCheckedStateOfAllTag() {\n    const noTagChecked = this.tags.map((t) => !t.disabled && t.checked).every((v) => !v);\n    if (noTagChecked !== this.allTag.checked) {\n      this.allTag.checked = noTagChecked;\n    }\n  }\n\n  private _calculateTotalAmountOfTags() {\n    const calculatedTotalAmount = this.tags.reduce((current, next) => current + next.amount, 0);\n    this._totalAmount.next(calculatedTotalAmount);\n  }\n\n  _setAllTagChecked() {\n    this.allTag._setCheckedAndEmit(true);\n    this.tags.forEach((t) => t._setCheckedAndEmit(false));\n  }\n\n  ngOnDestroy() {\n    this._destroyed.next();\n    this._destroyed.complete();\n    this._totalAmount.complete();\n  }\n}\n","<sbb-tag\n  #allTag\n  (change)=\"_setAllTagChecked()\"\n  [amount]=\"_totalAmount | async\"\n  [sbbBadgeDescription]=\"_labelBadgeDescription\"\n  >{{ _labelAllTag }}</sbb-tag\n>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { SbbBadgeModule } from '@sbb-esta/angular/badge';\nimport { SbbCommonModule } from '@sbb-esta/angular/core';\n\nimport { SbbTag } from './tag';\nimport { SbbTagLink } from './tag-link';\nimport { SbbTags } from './tags';\n\n@NgModule({\n  imports: [SbbCommonModule, SbbBadgeModule, SbbTag, SbbTags, SbbTagLink],\n  exports: [SbbTag, SbbTags, SbbTagLink],\n})\nexport class SbbTagModule {}\n"],"names":["SbbTag","SbbCheckbox","_zone","inject","NgZone","amount","_amount","value","_badgeDescriptionFallback","$localize","_amountChange","next","badgeDescription","svgIcon","Subject","_valueChange","active","_active","checked","disabled","_changeDetectorRef","markForCheck","_injector","Injector","constructor","afterNextRender","run","injector","writeValue","_setCheckedAndEmit","previousChecked","_emitChangeEvent","ngOnDestroy","complete","deps","target","i0","ɵɵFactoryTarget","Component","isStandalone","selector","inputs","tabIndex","numberAttribute","host","properties","classAttribute","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","exportAs","usesInheritance","ngImport","template","styles","dependencies","kind","type","SbbBadge","SbbIcon","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","class","imports","Input","transform","SbbTagLink","ɵcmp","ɵɵngDeclareComponent","minVersion","version","SbbTags","_labelAllTag","_labelBadgeDescription","totalAmount","_totalAmount","_totalAmountSetAsInput","BehaviorSubject","tags","allTag","_destroyed","ngAfterContentInit","changes","pipe","startWith","toArray","mergeMap","map","tag","change","mergeAll","takeUntil","subscribe","_setCheckedStateOfAllTag","length","of","filter","_calculateTotalAmountOfTags","noTagChecked","t","every","v","calculatedTotalAmount","reduce","current","_setAllTagChecked","forEach","queries","propertyName","predicate","AsyncPipe","name","ContentChildren","args","ViewChild","SbbTagModule","NgModule","ɵmod","ɵɵngDeclareNgModule","SbbCommonModule","SbbBadgeModule","exports"],"mappings":"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"}