{"version":3,"file":"ng-svg-icon-sprite.mjs","sources":["../../../projects/icon-sprite/src/lib/icon-sprite-config.model.ts","../../../projects/icon-sprite/src/lib/icon-sprite.service.ts","../../../projects/icon-sprite/src/lib/icon-sprite.directive.ts","../../../projects/icon-sprite/src/lib/icon-sprite.component.ts","../../../projects/icon-sprite/src/lib/icon-sprite.component.html","../../../projects/icon-sprite/src/lib/icon-sprite.module.ts","../../../projects/icon-sprite/src/public_api.ts","../../../projects/icon-sprite/src/ng-svg-icon-sprite.ts"],"sourcesContent":["export class IconSpriteConfig {\n  public path: string;\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { IconSpriteConfig } from './icon-sprite-config.model';\n\n/**\n * To access a global sprite path\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class IconSpriteService {\n\n  public spritePath: string;\n\n  constructor(@Optional() config: IconSpriteConfig) {\n    if (config) {\n      this.setPath(config.path);\n    }\n  }\n\n  setPath(path: string) {\n    this.spritePath = path;\n  }\n\n  getPath(): string {\n    return this.spritePath;\n  }\n}\n","import { Directive, ElementRef, Renderer2, Input, OnInit } from '@angular/core';\n\n/**\n * Set your own attribute key/value pairs on the generated SVG element, i.e. focusable=\"false\"\n */\n@Directive({\n  selector: '[svgIconSpriteAttr]'\n})\nexport class IconSpriteDirective implements OnInit {\n\n  @Input() attribute: [string, string] | Array<[string, string]>;\n\n  constructor(\n    public renderer: Renderer2,\n    public el: ElementRef\n  ) {}\n\n  ngOnInit() {\n    if (Array.isArray(this.attribute[0])) {\n      const attributeArr = this.attribute as Array<[string, string]>;\n\n      attributeArr.forEach((obj) => {\n        this.renderer.setAttribute(this.el.nativeElement, obj[0], obj[1] ? obj[1] : '');\n      });\n    } else {\n      const attribute = this.attribute as [string, string];\n\n      if (attribute[0]) {\n        this.renderer.setAttribute(this.el.nativeElement, attribute[0], attribute[1] ? attribute[1] : '');\n      }\n    }\n  }\n}\n","import { Component, Input, OnChanges } from '@angular/core';\nimport { IconSpriteService } from './icon-sprite.service';\n\n@Component({\n  selector: 'svg-icon-sprite',\n  styleUrls: ['./icon-sprite.component.scss'],\n  templateUrl: './icon-sprite.component.html'\n})\nexport class IconSpriteComponent implements OnChanges {\n\n  @Input() public src: string;\n  @Input() public classes = 'icon';\n  @Input() public width = '100%';\n  @Input() public height: string;\n  @Input() public viewBox: string;\n  @Input() public preserveAspectRatio = 'xMinYMax meet';\n  @Input() public attribute: [string, string] | Array<[string, string]>;\n  @Input() public title: string;\n\n  constructor(\n    private iconSpriteService: IconSpriteService\n  ) {}\n\n  ngOnChanges(changes) {\n    // If the src does not contain a # and a spritePath is set via the service, concatenate them\n    if (this.src && !this.src.includes('#') && this.iconSpriteService.spritePath) {\n      this.src = `${ this.iconSpriteService.getPath() }#${ this.src }`;\n    }\n  }\n}\n","<ng-container *ngIf=\"!viewBox && !attribute\">\n  <svg [attr.class]=\"classes\"\n       [attr.width]=\"width\"\n       [attr.height]=\"height || width\">\n    <title *ngIf=\"title && src\" [attr.id]=\"src.split('#')[1] + '-title'\">{{title}}</title>\n    <use [attr.xlink:href]=\"src\"></use>\n  </svg>\n</ng-container>\n\n<ng-container *ngIf=\"!viewBox && attribute\">\n  <svg [attr.class]=\"classes\"\n       [attr.width]=\"width\"\n       [attr.height]=\"height || width\"\n       svgIconSpriteAttr [attribute]=\"attribute\">\n    <title *ngIf=\"title && src\" [attr.id]=\"src.split('#')[1] + '-title'\">{{title}}</title>\n    <use [attr.xlink:href]=\"src\"></use>\n  </svg>\n</ng-container>\n\n<ng-container *ngIf=\"viewBox && !attribute\">\n  <svg [attr.class]=\"classes\"\n       [attr.width]=\"width\"\n       [attr.height]=\"height || width\"\n       [attr.viewBox]=\"viewBox\"\n       [attr.preserveAspectRatio]=\"preserveAspectRatio\">\n    <title *ngIf=\"title && src\" [attr.id]=\"src.split('#')[1] + '-title'\">{{title}}</title>\n    <use [attr.xlink:href]=\"src\"></use>\n  </svg>\n</ng-container>\n\n<ng-container *ngIf=\"viewBox && attribute\">\n  <svg [attr.class]=\"classes\"\n       [attr.width]=\"width\"\n       [attr.height]=\"height || width\"\n       [attr.viewBox]=\"viewBox\"\n       [attr.preserveAspectRatio]=\"preserveAspectRatio\"\n       svgIconSpriteAttr [attribute]=\"attribute\">\n    <title *ngIf=\"title && src\" [attr.id]=\"src.split('#')[1] + '-title'\">{{title}}</title>\n    <use [attr.xlink:href]=\"src\"></use>\n  </svg>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IconSpriteComponent } from './icon-sprite.component';\nimport { IconSpriteDirective } from './icon-sprite.directive';\nimport { IconSpriteConfig } from './icon-sprite-config.model';\n\n/**\n * Using forRoot({ path: 'filepath' }), this module can be provided as a\n * singleton for the global application (including lazy loaded submodules).\n */\n@NgModule({\n  imports: [CommonModule],\n  declarations: [\n    IconSpriteComponent,\n    IconSpriteDirective\n  ],\n  exports: [IconSpriteComponent]\n})\nexport class IconSpriteModule {\n  static forRoot(config: IconSpriteConfig): ModuleWithProviders<IconSpriteModule> {\n    return {\n      ngModule: IconSpriteModule,\n      providers: [\n        { provide: IconSpriteConfig, useValue: config }\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of icon-sprite\n */\n\nexport * from './lib/icon-sprite-config.model';\nexport * from './lib/icon-sprite.service';\nexport * from './lib/icon-sprite.component';\nexport * from './lib/icon-sprite.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IconSpriteConfig","i1.IconSpriteService","i3.IconSpriteDirective"],"mappings":"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"}