{"version":3,"file":"ng-zorro-antd-icon.mjs","sources":["../../components/icon/icons.ts","../../components/icon/icon.service.ts","../../components/icon/icon.directive.ts","../../components/icon/icon.module.ts","../../components/icon/public-api.ts","../../components/icon/ng-zorro-antd-icon.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 { IconDefinition } from '@ant-design/icons-angular';\nimport {\n  BarsOutline,\n  CalendarOutline,\n  CaretDownFill,\n  CaretDownOutline,\n  CaretUpFill,\n  CaretUpOutline,\n  CheckCircleFill,\n  CheckCircleOutline,\n  CheckOutline,\n  ClockCircleOutline,\n  CloseCircleFill,\n  CloseCircleOutline,\n  CloseOutline,\n  CopyOutline,\n  DeleteOutline,\n  DoubleLeftOutline,\n  DoubleRightOutline,\n  DownOutline,\n  EditOutline,\n  EllipsisOutline,\n  ExclamationCircleFill,\n  ExclamationCircleOutline,\n  EyeOutline,\n  FileFill,\n  FileOutline,\n  FilterFill,\n  InfoCircleFill,\n  InfoCircleOutline,\n  LeftOutline,\n  LoadingOutline,\n  PaperClipOutline,\n  QuestionCircleOutline,\n  RightOutline,\n  RotateLeftOutline,\n  RotateRightOutline,\n  SearchOutline,\n  StarFill,\n  SwapRightOutline,\n  UploadOutline,\n  UpOutline,\n  VerticalAlignTopOutline,\n  ZoomInOutline,\n  ZoomOutOutline\n} from '@ant-design/icons-angular/icons';\n\nexport const NZ_ICONS_USED_BY_ZORRO: IconDefinition[] = [\n  BarsOutline,\n  CalendarOutline,\n  CaretUpFill,\n  CaretUpOutline,\n  CaretDownFill,\n  CaretDownOutline,\n  CheckCircleFill,\n  CheckCircleOutline,\n  CheckOutline,\n  ClockCircleOutline,\n  CloseCircleOutline,\n  CloseCircleFill,\n  CloseOutline,\n  CopyOutline,\n  DeleteOutline,\n  DoubleLeftOutline,\n  DoubleRightOutline,\n  DownOutline,\n  EditOutline,\n  EllipsisOutline,\n  ExclamationCircleFill,\n  ExclamationCircleOutline,\n  EyeOutline,\n  FileFill,\n  FileOutline,\n  FilterFill,\n  InfoCircleFill,\n  InfoCircleOutline,\n  LeftOutline,\n  LoadingOutline,\n  PaperClipOutline,\n  QuestionCircleOutline,\n  RightOutline,\n  RotateRightOutline,\n  RotateLeftOutline,\n  StarFill,\n  SearchOutline,\n  StarFill,\n  UploadOutline,\n  VerticalAlignTopOutline,\n  UpOutline,\n  SwapRightOutline,\n  ZoomInOutline,\n  ZoomOutOutline\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 { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { HttpBackend } from '@angular/common/http';\nimport { Inject, Injectable, InjectionToken, OnDestroy, Optional, RendererFactory2, Self } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Subject, Subscription } from 'rxjs';\n\nimport { IconDefinition, IconService } from '@ant-design/icons-angular';\n\nimport { IconConfig, NzConfigService } from 'ng-zorro-antd/core/config';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NZ_ICONS_USED_BY_ZORRO } from './icons';\n\nexport interface NzIconfontOption {\n  scriptUrl: string;\n}\n\nexport const NZ_ICONS = new InjectionToken('nz_icons');\nexport const NZ_ICON_DEFAULT_TWOTONE_COLOR = new InjectionToken('nz_icon_default_twotone_color');\nexport const DEFAULT_TWOTONE_COLOR = '#1890ff';\n\n/**\n * It should be a global singleton, otherwise registered icons could not be found.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class NzIconService extends IconService implements OnDestroy {\n  configUpdated$ = new Subject<void>();\n\n  protected override get _disableDynamicLoading(): boolean {\n    return !this.platform.isBrowser;\n  }\n\n  private iconfontCache = new Set<string>();\n  private subscription: Subscription | null = null;\n\n  ngOnDestroy(): void {\n    if (this.subscription) {\n      this.subscription.unsubscribe();\n      this.subscription = null;\n    }\n  }\n\n  normalizeSvgElement(svg: SVGElement): void {\n    if (!svg.getAttribute('viewBox')) {\n      this._renderer.setAttribute(svg, 'viewBox', '0 0 1024 1024');\n    }\n    if (!svg.getAttribute('width') || !svg.getAttribute('height')) {\n      this._renderer.setAttribute(svg, 'width', '1em');\n      this._renderer.setAttribute(svg, 'height', '1em');\n    }\n    if (!svg.getAttribute('fill')) {\n      this._renderer.setAttribute(svg, 'fill', 'currentColor');\n    }\n  }\n\n  fetchFromIconfont(opt: NzIconfontOption): void {\n    const { scriptUrl } = opt;\n    if (this._document && !this.iconfontCache.has(scriptUrl)) {\n      const script = this._renderer.createElement('script');\n      this._renderer.setAttribute(script, 'src', scriptUrl);\n      this._renderer.setAttribute(script, 'data-namespace', scriptUrl.replace(/^(https?|http):/g, ''));\n      this._renderer.appendChild(this._document.body, script);\n      this.iconfontCache.add(scriptUrl);\n    }\n  }\n\n  createIconfontIcon(type: string): SVGElement {\n    return this._createSVGElementFromString(`<svg><use xlink:href=\"${type}\"></svg>`);\n  }\n\n  constructor(\n    rendererFactory: RendererFactory2,\n    sanitizer: DomSanitizer,\n    protected nzConfigService: NzConfigService,\n    private platform: Platform,\n    @Optional() handler: HttpBackend,\n    @Optional() @Inject(DOCUMENT) _document: NzSafeAny,\n    @Optional() @Inject(NZ_ICONS) icons?: IconDefinition[]\n  ) {\n    super(rendererFactory, handler, _document, sanitizer, [...NZ_ICONS_USED_BY_ZORRO, ...(icons || [])]);\n\n    this.onConfigChange();\n    this.configDefaultTwotoneColor();\n    this.configDefaultTheme();\n  }\n\n  private onConfigChange(): void {\n    this.subscription = this.nzConfigService.getConfigChangeEventForComponent('icon').subscribe(() => {\n      this.configDefaultTwotoneColor();\n      this.configDefaultTheme();\n      this.configUpdated$.next();\n    });\n  }\n\n  private configDefaultTheme(): void {\n    const iconConfig = this.getConfig();\n    this.defaultTheme = iconConfig.nzTheme || 'outline';\n  }\n\n  private configDefaultTwotoneColor(): void {\n    const iconConfig = this.getConfig();\n    const defaultTwotoneColor = iconConfig.nzTwotoneColor || DEFAULT_TWOTONE_COLOR;\n\n    let primaryColor = DEFAULT_TWOTONE_COLOR;\n\n    if (defaultTwotoneColor) {\n      if (defaultTwotoneColor.startsWith('#')) {\n        primaryColor = defaultTwotoneColor;\n      } else {\n        warn('Twotone color must be a hex color!');\n      }\n    }\n\n    this.twoToneColor = { primaryColor };\n  }\n\n  private getConfig(): IconConfig {\n    return this.nzConfigService.getConfigForComponent('icon') || {};\n  }\n}\n\nexport const NZ_ICONS_PATCH = new InjectionToken('nz_icons_patch');\n\n@Injectable()\nexport class NzIconPatchService {\n  patched = false;\n\n  constructor(\n    @Self() @Inject(NZ_ICONS_PATCH) private extraIcons: IconDefinition[],\n    private rootIconService: NzIconService\n  ) {}\n\n  doPatch(): void {\n    if (this.patched) {\n      return;\n    }\n\n    this.extraIcons.forEach(iconDefinition => this.rootIconService.addIcon(iconDefinition));\n    this.patched = true;\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 {\n  AfterContentChecked,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  SimpleChanges\n} from '@angular/core';\nimport { from, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { IconDirective, ThemeType } from '@ant-design/icons-angular';\n\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzIconPatchService, NzIconService } from './icon.service';\n\n@Directive({\n  selector: '[nz-icon]',\n  exportAs: 'nzIcon',\n  host: {\n    '[class.anticon]': 'true'\n  }\n})\nexport class NzIconDirective extends IconDirective implements OnInit, OnChanges, AfterContentChecked, OnDestroy {\n  static ngAcceptInputType_nzSpin: BooleanInput;\n\n  cacheClassName: string | null = null;\n  @Input()\n  @InputBoolean()\n  set nzSpin(value: boolean) {\n    this.spin = value;\n  }\n\n  @Input() nzRotate: number = 0;\n\n  @Input()\n  set nzType(value: string) {\n    this.type = value;\n  }\n\n  @Input()\n  set nzTheme(value: ThemeType) {\n    this.theme = value;\n  }\n\n  @Input()\n  set nzTwotoneColor(value: string) {\n    this.twoToneColor = value;\n  }\n\n  @Input()\n  set nzIconfont(value: string) {\n    this.iconfont = value;\n  }\n\n  hostClass?: string;\n\n  private readonly el: HTMLElement;\n  private iconfont?: string;\n  private spin: boolean = false;\n\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private readonly ngZone: NgZone,\n    private readonly changeDetectorRef: ChangeDetectorRef,\n    elementRef: ElementRef,\n    public readonly iconService: NzIconService,\n    public readonly renderer: Renderer2,\n    @Optional() iconPatch: NzIconPatchService\n  ) {\n    super(iconService, elementRef, renderer);\n\n    if (iconPatch) {\n      iconPatch.doPatch();\n    }\n\n    this.el = elementRef.nativeElement;\n  }\n\n  override ngOnChanges(changes: SimpleChanges): void {\n    const { nzType, nzTwotoneColor, nzSpin, nzTheme, nzRotate } = changes;\n\n    if (nzType || nzTwotoneColor || nzSpin || nzTheme) {\n      this.changeIcon2();\n    } else if (nzRotate) {\n      this.handleRotate(this.el.firstChild as SVGElement);\n    } else {\n      this._setSVGElement(this.iconService.createIconfontIcon(`#${this.iconfont}`));\n    }\n  }\n\n  ngOnInit(): void {\n    this.renderer.setAttribute(this.el, 'class', `anticon ${this.el.className}`.trim());\n  }\n\n  /**\n   * If custom content is provided, try to normalize SVG elements.\n   */\n  ngAfterContentChecked(): void {\n    if (!this.type) {\n      const children = this.el.children;\n      let length = children.length;\n      if (!this.type && children.length) {\n        while (length--) {\n          const child = children[length];\n          if (child.tagName.toLowerCase() === 'svg') {\n            this.iconService.normalizeSvgElement(child as SVGElement);\n          }\n        }\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n  }\n\n  /**\n   * Replacement of `changeIcon` for more modifications.\n   */\n  private changeIcon2(): void {\n    this.setClassName();\n\n    // We don't need to re-enter the Angular zone for adding classes or attributes through the renderer.\n    this.ngZone.runOutsideAngular(() => {\n      from(this._changeIcon())\n        .pipe(takeUntil(this.destroy$))\n        .subscribe({\n          next: svgOrRemove => {\n            // The _changeIcon method would call Renderer to remove the element of the old icon,\n            // which would call `markElementAsRemoved` eventually,\n            // so we should call `detectChanges` to tell Angular remove the DOM node.\n            // #7186\n            this.changeDetectorRef.detectChanges();\n\n            if (svgOrRemove) {\n              this.setSVGData(svgOrRemove);\n              this.handleSpin(svgOrRemove);\n              this.handleRotate(svgOrRemove);\n            }\n          },\n          error: warn\n        });\n    });\n  }\n\n  private handleSpin(svg: SVGElement): void {\n    if (this.spin || this.type === 'loading') {\n      this.renderer.addClass(svg, 'anticon-spin');\n    } else {\n      this.renderer.removeClass(svg, 'anticon-spin');\n    }\n  }\n\n  private handleRotate(svg: SVGElement): void {\n    if (this.nzRotate) {\n      this.renderer.setAttribute(svg, 'style', `transform: rotate(${this.nzRotate}deg)`);\n    } else {\n      this.renderer.removeAttribute(svg, 'style');\n    }\n  }\n\n  private setClassName(): void {\n    if (this.cacheClassName) {\n      this.renderer.removeClass(this.el, this.cacheClassName);\n    }\n    this.cacheClassName = `anticon-${this.type}`;\n    this.renderer.addClass(this.el, this.cacheClassName);\n  }\n\n  private setSVGData(svg: SVGElement): void {\n    this.renderer.setAttribute(svg, 'data-icon', this.type as string);\n    this.renderer.setAttribute(svg, 'aria-hidden', 'true');\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 { PlatformModule } from '@angular/cdk/platform';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IconDefinition } from '@ant-design/icons-angular';\n\nimport { NzIconDirective } from './icon.directive';\nimport { NzIconPatchService, NZ_ICONS, NZ_ICONS_PATCH } from './icon.service';\n\n@NgModule({\n  exports: [NzIconDirective],\n  declarations: [NzIconDirective],\n  imports: [PlatformModule]\n})\nexport class NzIconModule {\n  static forRoot(icons: IconDefinition[]): ModuleWithProviders<NzIconModule> {\n    return {\n      ngModule: NzIconModule,\n      providers: [\n        {\n          provide: NZ_ICONS,\n          useValue: icons\n        }\n      ]\n    };\n  }\n\n  static forChild(icons: IconDefinition[]): ModuleWithProviders<NzIconModule> {\n    return {\n      ngModule: NzIconModule,\n      providers: [\n        NzIconPatchService,\n        {\n          provide: NZ_ICONS_PATCH,\n          useValue: icons\n        }\n      ]\n    };\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\nexport * from './icon.module';\nexport * from './icon.directive';\nexport * from './icon.service';\nexport * from './icons';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NzIconService","i1.NzIconPatchService"],"mappings":"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"}