//
// Copyright IBM Corp. 2016, 2018
//
// This source code is licensed under the Apache-2.0 license found in the
// LICENSE file in the root directory of this source tree.
//

@use "../../config" as *;
@use "../../motion" as *;
@use "../../theme" as *;
@use "../../type" as *;
@use "../../utilities/focus-outline" as *;
@use "../../utilities/convert" as *;
@use "../../utilities/placeholder-colors" as *;

/// Link styles
/// @access public
/// @group link
@mixin link {
  .#{$prefix}--link {
    //@include reset;
    @include font-family("sans");
    //@include font-smoothing;
    cursor: pointer;
    color: $action-default-link-default;
    text-decoration: none;
    transition: $transition--base;

    &:hover,
    &.#{$prefix}--link--hover {
      text-decoration: underline;
      color: $action-default-link-hover;
    }
    &:visited {
      color: $action-default-link-default;
    }
    &:active {
      color: $action-default-link-active;
    }

    &:active,
    &:hover,
    &:focus,
    &.#{$prefix}--link--active {
      color: $action-default-link-hover;
    }

    &:focus,
    &.#{$prefix}--link--focus {
      @include focus-outline("border-small");
    }

    &:disabled,
    &[aria-disabled="true"] {
      //opacity: 0.5;
      color: $action-default-link-disable;
      pointer-events: none;
    }
  }
  .#{$prefix}--link--inline {
    text-decoration: underline;
  }
  .#{$prefix}--link--icon {
    display: inline-flex;
  }
  .#{$prefix}--link__icon {
    margin-left: var(--spacing-50);
    display: inline-flex;
    align-items: center;
  }

  .#{$prefix}--link--solid {
    //@include reset;
    @include font-family("sans");
    //@include font-smoothing;
    cursor: pointer;
    color: $action-solid-link-default;
    text-decoration: none;
    transition: $transition--base;

    &:hover,
    &.#{$prefix}--link--solid--hover {
      text-decoration: underline;
      color: $action-solid-link-hover;
    }
    &:visited {
      color: $action-solid-link-active;
    }

    &:active,
    &:hover,
    &:focus,
    &.#{$prefix}--link--solid--active {
      color: $action-solid-link-active;
    }

    &:focus,
    &.#{$prefix}--link--solid--focus {
      @include focus-outline("border-small");
    }

    &[aria-disabled="true"] {
      //opacity: 0.5;
      color: $action-solid-link-disable;
      pointer-events: none;
      cursor: not-allowed;
    }
  }
}
