import { Component, ComponentInterface, Prop, h } from '@stencil/core';

@Component({
  tag: 'hy-standalone-link',
  styleUrl: 'standalone-link.scss',
  shadow: true,
})
export class StandaloneLink implements ComponentInterface {
    @Prop() linkContent: string = '';
    @Prop() url?: string;
    @Prop() ariaLabel?: string;
    @Prop() isExternal: boolean = false;
    @Prop() isEnabled: boolean = true;

  render() {
      const containerClassAttributes = ["hy-standalone-link-container"].join(" ");
      const classAttributes = ["hy-standalone-link",
          this.isEnabled ? "enabled" : "disabled"
      ];

      const textClassAttributes = ["hy-standalone-link__text"].join(" ");
      const iconClassAttributes = [
          "hy-standalone-link__link-icon",
          this.isExternal ? "hy-standalone-link__link-icon--external" : null
      ].join(" ");

      const target = this.isExternal ? "_blank" : "_self";
      return (
          <span class={containerClassAttributes}>
            <a
                aria-label={this.ariaLabel}
                class={classAttributes.join(" ")}
                href={this.url}
                target={target}
            >
              <span class={textClassAttributes}>
                {this.linkContent}
              </span>
              <span class={iconClassAttributes}>
                <hy-icon icon={'hy-icon-arrow-right'} size={16} />
              </span>
            </a>
          </span>
      );
  }

}