@import "./tokens";

@mixin baseButton {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 16px 24px;
  border-radius: $radii-sm;
  border: none;
  outline: none;
  font-size: $font-md;
  transition: background-color .1s, box-shadow .1s;
  cursor: pointer;
  font-weight: $font-weight-medium;
  color: var(--color-text-contrast);

  &.-x-large {
    padding: 24px 32px;
  }

  &.-large {
    padding: 20px 28px;
  }

  &.-medium {
    padding: 12px 20px;
  }

  &.-small {
    padding: 8px 16px;
  }

  &.-mini {
    padding: 4px 8px;
  }

  &.-x-mini{
    padding: 2px 4px;
    font-size: 11px;
    border-radius: $radii-xs;
    font-size: $font-xxs;
  }
}

.ask-button {
  @include baseButton;
  background: var(--white);

  &:not(.-primary, .-secondary, .-danger) {
    box-shadow: 0 1px 2px 0 rgba(42, 48, 66, 0.16);
  }

  &:not(.-primary):hover:not(:disabled) {
    box-shadow: 0 0 6px var(--shadow);
  }
  &:hover:not(:disabled) {
    box-shadow: 0 0 6px rgba(255, 87, 36, 0.4);
  }

  &.-primary:active:not(:disabled) {
    background-color: #f34915;
  }

  &.-secondary:active:not(:disabled) {
    background-color: rgba(var(--white),.8);
  }

  &.-danger:active:not(:disabled) {
    background-color: rgba(var(--error-red),.8);
  }

  &.-secondary {
    &:not(:disabled):hover{
      background-color: var(--color-background-accent-grey-subtlest-hovered);
    }
  }

  &.-danger {
    background: var(--error-red);
    color: var(--white);
  }

  &.-primary {
    background: var(--asksuite-orange);
    color: var(--white);
  }

  &:disabled {
    cursor: not-allowed;
    background-color: var(--grey-300);
  }
}

.ask-text-button {
  @include baseButton;
  background: none;
  color: var(--asksuite-orange);

  &:hover {
    text-decoration: none;
    background: var(--grey-50);
  }

  &.-primary {
    color: var(--asksuite-orange);
  }

  &.-secondary {
    color: var(--grey-500);
  }

  &.-danger {
    color: var(--error-red);
  }

  &.-danger:active:not(:disabled) {
    background-color: rgba(var(--error-red), .1);
  }

  &:disabled {
    cursor: not-allowed;
    color: var(--grey-300);
  }
}

.ask-stroked-button {
  @include baseButton;
  background: none;
  border: 2px solid var(--asksuite-orange);
  color: var(--asksuite-orange);

  &:hover:not(:disabled) {
    box-shadow: 0 0 6px rgba(255, 87, 36, 0.4);
  }

  &.-secondary {
    border-color: var(--grey-500);
    color: var(--grey-500);
  }

  &.-danger {
    color: var(--error-red);
    border-color: var(--error-red);
  }

  &.-primary:active:not(:disabled) {
    background-color: rgba(var(--asksuite-orange), .1);
  }

  &.-danger:active:not(:disabled) {
    background-color: rgba(var(--error-red), .1);
  }

  &.-secondary:active:not(:disabled) {
    background-color: rgba(var(--grey-300), .8);
  }

  &:disabled {
    cursor: not-allowed;
    border-color: var(--grey-300);
    color: var(--grey-300);
  }
}
