import { Component, h, Prop, Host } from "@stencil/core";
import { ButtonVariants } from "../../utils/utils";
import colors from "../../global/colors";

const fillcolors = {
  default: "white",
  secondary: colors.brandMain,
  outline: colors.brandMain
};

@Component({
  tag: "hy-button",
  styleUrl: "button.scss",
  shadow: false
})
export class Button {
  @Prop() variant: ButtonVariants = "default";
  @Prop() icon?: string;
  @Prop() iconRight?: string;

  render() {
    const classAttributes = ["hy-button", this.variant];
    const iconFillColor = fillcolors[this.variant];
    return (
      <Host>
        <button class={classAttributes.join(" ")}>
          {!!this.icon && (
            <span class="button-icon button-icon-left">
              <hy-icon icon={this.icon} fill={iconFillColor} size={13} />
            </span>
          )}
          <span class="button-text">
            <slot />
          </span>
          {!!this.iconRight && (
            <span class="button-icon button-icon-right">
              <hy-icon icon={this.iconRight} fill={iconFillColor} size={13} />
            </span>
          )}
        </button>
      </Host>
    );
  }
}