import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
import { Utils } from '../../utils/utils.util';
import { IconBaseComponent } from '../icon-base/icon-base.component';
import { EngieIconsName, EngieIconVariant } from './icon-engie.model';

@Component({
  selector: 'nj-icon-engie',
  templateUrl: './icon-engie.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush,
  encapsulation: ViewEncapsulation.None,
  standalone: true,
  imports: [IconBaseComponent]
})
export class IconEngieComponent extends IconBaseComponent {
  /**
   * Icon name
   */
  @Input() name: EngieIconsName;

  /**
   * Icon variant
   */
  @Input() variant: EngieIconVariant = 'default';

  protected getClassName(): string {
    const variantClass = this.variant && this.variant !== 'default' ? `${this.ICON_CLASS}--${this.variant}` : null;
    return [variantClass, this.className].filter((cls) => !Utils.isUndefinedOrNull(cls)).join(' ');
  }
}
