ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 22.1 kB
Source Map (JSON)
{"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 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 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":[],"mappings":"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"}