// Adds a `before` pseudo element that acts as an overlay indicator for interaction states
// such as focus, hover, and active.
@mixin _mat-button-interactive() {
  &::before {
    content: '';
    pointer-events: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    @content;
  }
}

// MDC's disabled buttons define a default cursor with pointer-events none. However, they select
// :disabled for this, which does not affect anchor tags.
// TODO(andrewseguin): Discuss with the MDC team about a mixin we can call for applying this style,
// and note that having pointer-events may have unintended side-effects, e.g. allowing the user
// to click the target underneath the button.
@mixin _mat-button-disabled() {
  &[disabled] {
    cursor: default;
    pointer-events: none;
  }
}
