{"version":3,"file":"ng-zorro-antd-tag.mjs","sources":["../../components/tag/tag.component.ts","../../components/tag/tag.module.ts","../../components/tag/public-api.ts","../../components/tag/ng-zorro-antd-tag.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  SimpleChanges,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n  isPresetColor,\n  isStatusColor,\n  NzPresetColor,\n  NzStatusColor,\n  presetColors,\n  statusColors\n} from 'ng-zorro-antd/core/color';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\n@Component({\n  selector: 'nz-tag',\n  exportAs: 'nzTag',\n  preserveWhitespaces: false,\n  template: `\n    <ng-content></ng-content>\n    <i\n      nz-icon\n      nzType=\"close\"\n      class=\"ant-tag-close-icon\"\n      *ngIf=\"nzMode === 'closeable'\"\n      tabindex=\"-1\"\n      (click)=\"closeTag($event)\"\n    ></i>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'ant-tag',\n    '[style.background-color]': `isPresetColor ? '' : nzColor`,\n    '[class.ant-tag-has-color]': `nzColor && !isPresetColor`,\n    '[class.ant-tag-checkable]': `nzMode === 'checkable'`,\n    '[class.ant-tag-checkable-checked]': `nzChecked`,\n    '[class.ant-tag-rtl]': `dir === 'rtl'`,\n    '(click)': 'updateCheckedStatus()'\n  }\n})\nexport class NzTagComponent implements OnChanges, OnDestroy, OnInit {\n  static ngAcceptInputType_nzChecked: BooleanInput;\n  isPresetColor = false;\n  @Input() nzMode: 'default' | 'closeable' | 'checkable' = 'default';\n  @Input() nzColor?: string | NzStatusColor | NzPresetColor;\n  @Input() @InputBoolean() nzChecked = false;\n  @Output() readonly nzOnClose = new EventEmitter<MouseEvent>();\n  @Output() readonly nzCheckedChange = new EventEmitter<boolean>();\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private renderer: Renderer2,\n    private elementRef: ElementRef,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  updateCheckedStatus(): void {\n    if (this.nzMode === 'checkable') {\n      this.nzChecked = !this.nzChecked;\n      this.nzCheckedChange.emit(this.nzChecked);\n    }\n  }\n\n  closeTag(e: MouseEvent): void {\n    this.nzOnClose.emit(e);\n    if (!e.defaultPrevented) {\n      this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement);\n    }\n  }\n\n  private clearPresetColor(): void {\n    const hostElement = this.elementRef.nativeElement as HTMLElement;\n    // /(ant-tag-(?:pink|red|...))/g\n    const regexp = new RegExp(`(ant-tag-(?:${[...presetColors, ...statusColors].join('|')}))`, 'g');\n    const classname = hostElement.classList.toString();\n    const matches: string[] = [];\n    let match: RegExpExecArray | null = regexp.exec(classname);\n    while (match !== null) {\n      matches.push(match[1]);\n      match = regexp.exec(classname);\n    }\n    hostElement.classList.remove(...matches);\n  }\n\n  private setPresetColor(): void {\n    const hostElement = this.elementRef.nativeElement as HTMLElement;\n    this.clearPresetColor();\n    if (!this.nzColor) {\n      this.isPresetColor = false;\n    } else {\n      this.isPresetColor = isPresetColor(this.nzColor) || isStatusColor(this.nzColor);\n    }\n    if (this.isPresetColor) {\n      hostElement.classList.add(`ant-tag-${this.nzColor}`);\n    }\n  }\n\n  ngOnInit(): void {\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n\n    this.dir = this.directionality.value;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { nzColor } = changes;\n    if (nzColor) {\n      this.setPresetColor();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzTagComponent } from './tag.component';\n\n@NgModule({\n  imports: [BidiModule, CommonModule, FormsModule, NzIconModule],\n  declarations: [NzTagComponent],\n  exports: [NzTagComponent]\n})\nexport class NzTagModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './tag.component';\nexport * from './tag.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}