{"version":3,"file":"ngx-md-icon.mjs","sources":["../../../projects/ngx-md-icon/src/lib/core/boolean-directive.type.ts","../../../projects/ngx-md-icon/src/lib/components/ngx-md-icon/ngx-md-icon.component.ts","../../../projects/ngx-md-icon/src/lib/components/ngx-md-icon/ngx-md-icon.component.html","../../../projects/ngx-md-icon/src/lib/ngx-md-icon.module.ts","../../../projects/ngx-md-icon/src/public-api.ts","../../../projects/ngx-md-icon/src/ngx-md-icon.ts"],"sourcesContent":["/**\n * Type for Angular boolean directives, e.g.\n * <ui-badge compact></ui-badge>\n *\n * Alternative forms:\n * <ui-badge compact=\"true\"></ui-badge>\n * <ui-badge compact=\"false\"></ui-badge>\n * <ui-badge [compact]=\"true\"></ui-badge>\n * <ui-badge [compact]=\"false\"></ui-badge>\n */\nexport type BooleanDirectiveType = undefined | boolean | 'true' | 'false' | '';\n\n/**\n * Convert value of BooleanDirectiveType into strict boolean\n */\nexport function BooleanDirectiveValue(value: BooleanDirectiveType): boolean {\n   switch (value) {\n      case 'true':\n         return true;\n      case 'false':\n         return false;\n      case '':\n         return true;\n      case true:\n         return true;\n      case false:\n         return false;\n      case undefined:\n         return false;\n      case null:\n         return false;\n      default:\n         return false;\n   }\n}\n","import {\n   ChangeDetectionStrategy,\n   Component,\n   ElementRef,\n   HostBinding,\n   Input,\n   OnChanges,\n   OnInit,\n   SimpleChanges,\n   ViewEncapsulation,\n} from '@angular/core';\nimport { BooleanDirectiveType, BooleanDirectiveValue } from '../../core/boolean-directive.type';\n\n@Component({\n   selector: 'md-icon',\n   templateUrl: './ngx-md-icon.component.html',\n   styleUrls: ['./ngx-md-icon.component.scss', './mat-mdc.component.scss'],\n   changeDetection: ChangeDetectionStrategy.OnPush,\n   encapsulation: ViewEncapsulation.None,\n})\nexport class NgxMdIconComponent implements OnInit, OnChanges {\n   @HostBinding('class')\n   public classes = 'md-icon';\n\n   @HostBinding('attr.role')\n   public attrRole = 'img';\n\n   @HostBinding('style.width')\n   public styleWidth: string | undefined;\n\n   @Input()\n   public icon?: string;\n\n   @Input()\n   public icons?: string[];\n\n   @Input()\n   public texts?: string[];\n\n   @Input()\n   public middle: BooleanDirectiveType;\n\n   @Input()\n   public xViewBox: number = 24;\n\n   @Input()\n   public yViewBox: number = 24;\n\n   @Input()\n   public xTextPos: number = 0;\n\n   @Input()\n   public yTextPos: number = 19;\n\n   public renderIcons: string[] = [];\n\n   constructor(private elementRef: ElementRef) {}\n\n   ngOnInit(): void {\n      if (!this.icon && !this.icons && !this.texts) {\n         console.error('NgxMdIconComponent: Input() [icon] or [icons] or [texts] is required');\n      }\n      this.init();\n      this.alignIconMiddle();\n   }\n\n   ngOnChanges(changes: SimpleChanges): void {\n      if ((changes['icon'] && !changes['icon'].isFirstChange()) || (changes['icons'] && !changes['icons'].isFirstChange())) {\n         this.init();\n      }\n\n      if (changes['vAlignMiddle'] && !changes['vAlignMiddle'].isFirstChange()) {\n         this.alignIconMiddle();\n      }\n   }\n\n   /**\n    * Init\n    */\n   private init(): void {\n      const icons = [];\n\n      if (this.icon) {\n         icons.push(this.icon);\n      }\n      if (this.icons?.length) {\n         icons.push(...this.icons);\n      }\n\n      if (this.xViewBox && this.texts?.length) {\n         this.styleWidth = this.xViewBox + 'px';\n      }\n\n      this.renderIcons = icons;\n   }\n\n   /**\n    * Align Icon Middle\n    */\n   private alignIconMiddle(): void {\n      this.middle = BooleanDirectiveValue(this.middle);\n      if (this.middle) {\n         this.elementRef.nativeElement.style.verticalAlign = 'middle';\n      } else {\n         this.elementRef.nativeElement.style.verticalAlign = void 0;\n      }\n   }\n}\n","<svg xmlns=\"http://www.w3.org/2000/svg\" [attr.viewBox]=\"'0 0 ' + xViewBox + ' ' + yViewBox\">\n   <text *ngFor=\"let text of texts; let k=index\" [class]=\"'text-' + k\" [attr.x]=\"xTextPos\" [attr.y]=\"yTextPos\" font-size=\"18\">{{ text }}</text>\n   <path *ngFor=\"let icon of renderIcons; let i=index\" [attr.d]=\"icon\" [class]=\"'icon-' + i\"/>\n</svg>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgxMdIconComponent } from \"./components/ngx-md-icon/ngx-md-icon.component\";\n\n@NgModule({\n   imports: [CommonModule],\n   declarations: [NgxMdIconComponent],\n   exports: [NgxMdIconComponent],\n})\nexport class NgxMdIconModule {}\n","/*\n * Public API Surface of ngx-md-icon\n */\n\nexport * from './lib/components/ngx-md-icon/ngx-md-icon.component';\nexport * from './lib/ngx-md-icon.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}