{"version":3,"file":"ui-vts-kit-ng-vts-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/ui-vts-kit-ng-vts-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 '@ui-vts/icons-angular';\n\nconst PickerSuffix: IconDefinition = {\n  icon: `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15 2H19C19.2652 2 19.5196 2.10536 19.7071 2.29289C19.8946 2.48043 20 2.73478 20 3V19C20 19.2652 19.8946 19.5196 19.7071 19.7071C19.5196 19.8946 19.2652 20 19 20H1C0.734784 20 0.48043 19.8946 0.292893 19.7071C0.105357 19.5196 0 19.2652 0 19V3C0 2.73478 0.105357 2.48043 0.292893 2.29289C0.48043 2.10536 0.734784 2 1 2H5V0H7V2H13V0H15V2ZM2 8V18H18V8H2ZM4 10H6V12H4V10ZM9 10H11V12H9V10ZM14 10H16V12H14V10Z\" fill=\"currentColor\"/></svg>`,\n  name: `suffix`,\n  type: 'vts-picker'\n};\n\nconst Spin: IconDefinition = {\n  icon: `\n    <?xml version=\"1.0\" encoding=\"utf-8\"?>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"margin: auto; background: rgb(241, 242, 243); display: block; shape-rendering: auto;\" width=\"200px\" height=\"200px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n        <circle cx=\"84\" cy=\"50\" r=\"10\" fill=\"#f56685\">\n            <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.3571428571428571s\" calcMode=\"spline\" keyTimes=\"0;1\" values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\n            <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"discrete\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"#f56685;#8f9294;#f56685;#8f9294;#f56685\" begin=\"0s\"></animate>\n        </circle><circle cx=\"16\" cy=\"50\" r=\"10\" fill=\"#f56685\">\n        <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\n        <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\n        </circle><circle cx=\"50\" cy=\"50\" r=\"10\" fill=\"#8f9294\">\n        <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.3571428571428571s\"></animate>\n        <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.3571428571428571s\"></animate>\n        </circle><circle cx=\"84\" cy=\"50\" r=\"10\" fill=\"#f56685\">\n        <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.7142857142857142s\"></animate>\n        <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.7142857142857142s\"></animate>\n        </circle><circle cx=\"16\" cy=\"50\" r=\"10\" fill=\"#8f9294\">\n        <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.0714285714285714s\"></animate>\n        <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.4285714285714284s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.0714285714285714s\"></animate>\n        </circle>\n    </svg>\n    `,\n  name: 'icon',\n  type: 'vts-spin'\n};\n\nconst CodeExpand: IconDefinition = {\n  icon: `<svg width=\"1em\" height=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" > <path d=\"M23.874 12.452c0.202 -0.436 0.108 -0.971 -0.268 -1.309l-4.807 -4.328c-0.462 -0.416 -1.173 -0.378 -1.589 0.083 -0.416 0.462 -0.378 1.173 0.083 1.589l3.897 3.509 -3.921 3.53c-0.462 0.416 -0.499 1.127 -0.083 1.589 0.416 0.462 1.127 0.499 1.589 0.083l4.807 -4.328a1.12 1.12 0 0 0 0.292 -0.417zM2.811 11.986l3.897 -3.509c0.462 -0.416 0.499 -1.127 0.083 -1.589 -0.416 -0.462 -1.127 -0.499 -1.589 -0.083L0.396 11.133C0.02 11.472 -0.075 12.006 0.128 12.442a1.12 1.12 0 0 0 0.292 0.417l4.807 4.328c0.462 0.416 1.173 0.378 1.589 -0.083 0.416 -0.462 0.378 -1.173 -0.083 -1.589l-3.921 -3.53zm12.411 -8.839c0.584 0.212 0.885 0.858 0.672 1.442L10.219 20.181c-0.213 0.584 -0.858 0.885 -1.442 0.672 -0.584 -0.212 -0.885 -0.858 -0.672 -1.442l5.675 -15.593c0.213 -0.584 0.858 -0.885 1.442 -0.672z\" fillRule=\"evenodd\" opacity=\"0.8\" /> </svg>`,\n  name: `expand`,\n  type: 'demobox'\n};\n\nconst CodeUnexpand: IconDefinition = {\n  icon: `<svg width=\"1em\" height=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" > <path d=\"M23.874 12.452c0.202 -0.436 0.108 -0.971 -0.268 -1.309l-4.807 -4.328c-0.462 -0.416 -1.173 -0.378 -1.589 0.083 -0.416 0.462 -0.378 1.173 0.083 1.589l3.897 3.509 -3.921 3.53c-0.462 0.416 -0.499 1.127 -0.083 1.589 0.416 0.462 1.127 0.499 1.589 0.083l4.807 -4.328a1.12 1.12 0 0 0 0.292 -0.417zM2.811 11.986l3.897 -3.509c0.462 -0.416 0.499 -1.127 0.083 -1.589 -0.416 -0.462 -1.127 -0.499 -1.589 -0.083L0.396 11.133C0.02 11.472 -0.075 12.006 0.128 12.442a1.12 1.12 0 0 0 0.292 0.417l4.807 4.328c0.462 0.416 1.173 0.378 1.589 -0.083 0.416 -0.462 0.378 -1.173 -0.083 -1.589l-3.921 -3.53z\" fillRule=\"evenodd\" opacity=\"0.8\" > </path> </svg>`,\n  name: `unexpand`,\n  type: 'demobox'\n};\n\nexport const VTS_ICONS_USE: IconDefinition[] = [PickerSuffix, Spin, CodeExpand, CodeUnexpand];\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 { DOCUMENT } from '@angular/common';\nimport { HttpBackend } from '@angular/common/http';\nimport {\n  Inject,\n  Injectable,\n  InjectionToken,\n  Optional,\n  RendererFactory2,\n  Self\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { IconDefinition, IconService } from '@ui-vts/icons-angular';\nimport { VtsConfigService } from '@ui-vts-kit/ng-vts/core/config';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { Subject } from 'rxjs';\nimport { VTS_ICONS_USE } from './icons';\n\nexport interface VtsIconfontOption {\n  scriptUrl: string;\n}\n\nexport const VTS_ICONS = new InjectionToken('vts_icons');\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 VtsIconService extends IconService {\n  configUpdated$ = new Subject<void>();\n\n  // private iconfontCache = new Set<string>();\n\n  normalizeSvgElement(svg: SVGElement): void {\n    if (!svg.getAttribute('viewBox')) {\n      this._renderer.setAttribute(svg, 'viewBox', '0 0 24 24');\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  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 vtsConfigService: VtsConfigService,\n    @Optional() handler: HttpBackend,\n    @Optional() @Inject(DOCUMENT) _document: VtsSafeAny,\n    @Optional() @Inject(VTS_ICONS) icons?: IconDefinition[]\n  ) {\n    super(rendererFactory, handler, _document, sanitizer);\n    this.addIcon(...VTS_ICONS_USE, ...(icons || []));\n  }\n}\n\nexport const VTS_ICONS_PATCH = new InjectionToken('vts_icons_patch');\n\n@Injectable()\nexport class VtsIconPatchService {\n  patched = false;\n\n  constructor(\n    @Self() @Inject(VTS_ICONS_PATCH) private extraIcons: IconDefinition[],\n    private rootIconService: VtsIconService\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  Directive,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnInit,\n  Optional,\n  Renderer2,\n  SimpleChanges\n} from '@angular/core';\nimport { getNameAndType, hasType, IconDirective } from '@ui-vts/icons-angular';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\nimport { VtsIconPatchService, VtsIconService } from './icon.service';\n\n@Directive({\n  selector: '[vts-icon]',\n  exportAs: 'vtsIcon',\n  host: {\n    '[class.vtsicon]': 'true'\n  }\n})\nexport class VtsIconDirective\n  extends IconDirective\n  implements OnInit, OnChanges, AfterContentChecked\n{\n  static ngAcceptInputType_vtsSpin: BooleanInput;\n\n  cacheClassName: string | null = null;\n  @Input()\n  @InputBoolean()\n  set vtsSpin(value: boolean) {\n    this.spin = value;\n  }\n\n  @Input() vtsRotate: number = 0;\n\n  @Input()\n  set vtsType(value: string) {\n    if (!value) this.iconName = value;\n    if (hasType(value)) this.iconName = value;\n    else this.iconName = `${value}:vts`;\n  }\n\n  hostClass?: string;\n\n  private readonly el: HTMLElement;\n  private iconfont?: string;\n  private spin: boolean = false;\n\n  constructor(\n    elementRef: ElementRef,\n    public iconService: VtsIconService,\n    public renderer: Renderer2,\n    @Optional() iconPatch: VtsIconPatchService\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 { vtsType, vtsTwotoneColor, vtsSpin, vtsTheme, vtsRotate } = changes;\n\n    if (vtsType || vtsTwotoneColor || vtsSpin || vtsTheme) {\n      this.changeIcon2();\n    } else if (vtsRotate) {\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', `vtsicon ${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.iconName) {\n      const children = this.el.children;\n      let length = children.length;\n      if (!this.iconName && 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  /**\n   * Replacement of `changeIcon` for more modifications.\n   */\n  private changeIcon2(): void {\n    this.setClassName();\n    this._changeIcon().then(svgOrRemove => {\n      if (svgOrRemove) {\n        this.setSVGData(svgOrRemove);\n        this.handleSpin(svgOrRemove);\n        this.handleRotate(svgOrRemove);\n        this.setType();\n      }\n    });\n  }\n\n  private handleSpin(svg: SVGElement): void {\n    if (this.spin || this.iconName === 'loading') {\n      this.renderer.addClass(svg, 'vtsicon-spin');\n    } else {\n      this.renderer.removeClass(svg, 'vtsicon-spin');\n    }\n  }\n\n  private handleRotate(svg: SVGElement): void {\n    if (this.vtsRotate) {\n      this.renderer.setAttribute(svg, 'style', `transform: rotate(${this.vtsRotate}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 = `vtsicon-${this.iconName}`;\n    this.renderer.addClass(this.el, this.cacheClassName);\n    const cls = this.el.classList;\n    cls.forEach(cl => {\n      if (cl.startsWith('vts-icon-type-')) this.renderer.removeClass(this.el, cl);\n    });\n  }\n\n  private setSVGData(svg: SVGElement): void {\n    this.renderer.setAttribute(svg, 'data-icon', this.iconName as string);\n    this.renderer.setAttribute(svg, 'aria-hidden', 'true');\n  }\n\n  private setType(): void {\n    const [_, type] = getNameAndType(this.iconName as string);\n    this.renderer.addClass(this.el, `vts-icon-type-${type}`);\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 */\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IconDefinition } from '@ui-vts/icons-angular';\nimport { VtsIconDirective } from './icon.directive';\nimport { VtsIconPatchService, VTS_ICONS, VTS_ICONS_PATCH } from './icon.service';\n\n@NgModule({\n  exports: [VtsIconDirective],\n  declarations: [VtsIconDirective],\n  imports: [PlatformModule]\n})\nexport class VtsIconModule {\n  static forRoot(icons: IconDefinition[]): ModuleWithProviders<VtsIconModule> {\n    return {\n      ngModule: VtsIconModule,\n      providers: [\n        {\n          provide: VTS_ICONS,\n          useValue: icons\n        }\n      ]\n    };\n  }\n\n  static forChild(icons: IconDefinition[]): ModuleWithProviders<VtsIconModule> {\n    return {\n      ngModule: VtsIconModule,\n      providers: [\n        VtsIconPatchService,\n        {\n          provide: VTS_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.VtsIconService","i1.VtsIconPatchService"],"mappings":"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"}