{"version":3,"file":"hugeicons-angular.mjs","sources":["../../src/components/hugeicons-icon.component.ts","../../src/hugeicons-angular.ts"],"sourcesContent":["import { Component, Input, ChangeDetectionStrategy, OnInit, OnChanges, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconSvgObject } from '../lib/types';\n\n@Component({\n  selector: 'hugeicons-icon',\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <svg\n      [attr.width]=\"size\"\n      [attr.height]=\"size\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      [attr.color]=\"color\"\n      [class]=\"class\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        *ngFor=\"let path of paths; trackBy: trackByFn\"\n        [attr.d]=\"path.d\"\n        [attr.fill]=\"path.fill\"\n        [attr.opacity]=\"path.opacity\"\n        [attr.fill-rule]=\"path.fillRule\"\n        [attr.stroke]=\"path.stroke\"\n        [attr.stroke-width]=\"path.strokeWidth\"\n      />\n    </svg>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class HugeiconsIconComponent implements OnInit, OnChanges {\n  @Input() size: string | number = 24;\n  @Input() strokeWidth?: number;\n  @Input() absoluteStrokeWidth = false;\n  @Input() icon!: IconSvgObject;\n  @Input() altIcon?: IconSvgObject;\n  @Input() color = 'currentColor';\n  @Input() class = '';\n  @Input() showAlt = false;\n\n  paths: Array<{\n    d: string;\n    fill: string;\n    opacity?: string;\n    fillRule?: string;\n    stroke?: string;\n    strokeWidth?: number;\n  }> = [];\n\n  ngOnInit() {\n    this.updatePaths();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    this.updatePaths();\n  }\n\n  private updatePaths() {\n    const currentIcon = this.showAlt && this.altIcon ? this.altIcon : this.icon;\n\n    if (!currentIcon || !Array.isArray(currentIcon)) {\n      this.paths = [];\n      return;\n    }\n\n    const calculatedStrokeWidth = this.strokeWidth !== undefined\n      ? (this.absoluteStrokeWidth ? (Number(this.strokeWidth) * 24) / Number(this.size) : this.strokeWidth)\n      : undefined;\n\n    const strokeProps = calculatedStrokeWidth !== undefined ? {\n      strokeWidth: calculatedStrokeWidth,\n      stroke: 'currentColor'\n    } : {};\n\n    this.paths = currentIcon.map(([_, attrs]) => ({\n      d: attrs['d'],\n      fill: attrs['fill'] || 'none',\n      opacity: attrs['opacity'],\n      fillRule: attrs['fillRule'],\n      ...strokeProps\n    }));\n  }\n\n  trackByFn(index: number) {\n    return index;\n  }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}