<commit_before>// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

@import 'package:angular_components/css/material/material';
@import 'package:angular_components/css/material/shadow';
// TODO(google): Remove once glyph has been replaced with material-icon.
@import 'package:angular_components/glyph/mixins';
@import 'package:angular_components/material_icon/mixins';
@import 'package:angular_components/theme/mixins';

$fab-size: $mat-grid * 7;
$fab-mini-size: $mat-grid * 5;
$fab-icon-size: $mat-grid * 3;

$button-horizontal-padding: .57em;
$button-vertical-padding: .7em;
$button-min-width: 8 * $mat-grid; // Value from mdc-button.

// From spec http://www.google.com/design/spec/components/buttons.html#buttons-flat-raised-buttons
$button-disabled-color: rgba(0, 0, 0, $mat-opacity-lightest);
$button-disabled-background: rgba(0, 0, 0, $mat-divider-opacity);

// Deprecated
// No longer used by material buttons. Hover color is now based on the button
// color.
$button-hovered-background: rgba(158, 158, 158, .20);

$button-disabled-color-dark: rgba(255, 255, 255, $mat-dark-opacity-lightest);
$button-disabled-background-dark: rgba(255, 255, 255, $mat-divider-opacity);

// Private used for external mixin, and button-base only.
@mixin _button-raised {
  @include material-shadow;

  @include acx-theme-dark {
    background-color: $mat-blue;
  }

  &[disabled] {
    background: $button-disabled-background;
    @include shadow-none;

    @include acx-theme-dark {
      background: $button-disabled-background-dark;
    }
  }
}

/// Mixin used for styling dense buttons local to a view. Private to this
/// file.
@mixin _button-dense {
  &:not([icon]) {
    height: $mat-grid * 4;
    font-size: $mat-font-size-body;
  }
}

/// Mixin used for styling compact buttons local to a view. Private to this
/// file.
@mixin _button-compact {
  &:not([icon]) {
    padding: 0 $mat-grid;
  }
}

/// Private mixin for styling the highlight when a button is hovered or focused.
@mixin _button-hover {
  &:not([disabled]):not([icon]):hover::after,
  &.is-focused::after {
    @content
  }
}

/// Mixin to remove the highlight when a button is hovered or focused.
@mixin no-button-hover($selector) {
  ::ng-deep #{$selector} {
    @include _button-hover {
      display: none;
    }
  }
}


@mixin button-base {
  @include acx-theme-dark {
    color: $mat-white;
  }

  // TODO(google): Migrate to extended mixin mat-font-button

  font-size: $mat-font-size-button;

  font-weight: $mat-font-weight-medium;

  text-transform: uppercase;

  user-select: none;
  background: transparent;
  border-radius: inherit;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  letter-spacing: .01em;
  line-height: normal;
  outline: none;
  position: relative;
  text-align: center;

  &:not([icon]) {
    margin: 0 .29em;
  }

  &[dense] {
    @include _button-dense;
  }

  &[compact] {
    @include _button-compact;
  }

  &[disabled] {
    @include acx-theme-dark {
      color: $button-disabled-color-dark;
    }

    color: $button-disabled-color;
    cursor: not-allowed;

    >* {
      pointer-events: none;
    }
  }

  @media (hover: hover) {
    @include _button-hover {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: currentColor;
      opacity: $mat-divider-opacity;
      border-radius: inherit;
      pointer-events: none;
    }<commit_msg>Make save and cancel buttons focus style distinguishable on windows high contrast.<commit_after>// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

@import 'package:angular_components/css/material/material';
@import 'package:angular_components/css/material/shadow';
// TODO(google): Remove once glyph has been replaced with material-icon.
@import 'package:angular_components/glyph/mixins';
@import 'package:angular_components/material_icon/mixins';
@import 'package:angular_components/theme/mixins';

$fab-size: $mat-grid * 7;
$fab-mini-size: $mat-grid * 5;
$fab-icon-size: $mat-grid * 3;

$button-horizontal-padding: .57em;
$button-vertical-padding: .7em;
$button-min-width: 8 * $mat-grid; // Value from mdc-button.

// From spec http://www.google.com/design/spec/components/buttons.html#buttons-flat-raised-buttons
$button-disabled-color: rgba(0, 0, 0, $mat-opacity-lightest);
$button-disabled-background: rgba(0, 0, 0, $mat-divider-opacity);

// Deprecated
// No longer used by material buttons. Hover color is now based on the button
// color.
$button-hovered-background: rgba(158, 158, 158, .20);

$button-disabled-color-dark: rgba(255, 255, 255, $mat-dark-opacity-lightest);
$button-disabled-background-dark: rgba(255, 255, 255, $mat-divider-opacity);

// Private used for external mixin, and button-base only.
@mixin _button-raised {
  @include material-shadow;

  @include acx-theme-dark {
    background-color: $mat-blue;
  }

  &[disabled] {
    background: $button-disabled-background;
    @include shadow-none;

    @include acx-theme-dark {
      background: $button-disabled-background-dark;
    }
  }
}

/// Mixin used for styling dense buttons local to a view. Private to this
/// file.
@mixin _button-dense {
  &:not([icon]) {
    height: $mat-grid * 4;
    font-size: $mat-font-size-body;
  }
}

/// Mixin used for styling compact buttons local to a view. Private to this
/// file.
@mixin _button-compact {
  &:not([icon]) {
    padding: 0 $mat-grid;
  }
}

/// Private mixin for styling the highlight when a button is hovered or focused.
@mixin _button-hover {
  &:not([disabled]):not([icon]):hover::after,
  &.is-focused::after {
    @content
  }
}

/// Mixin to remove the highlight when a button is hovered or focused.
@mixin no-button-hover($selector) {
  ::ng-deep #{$selector} {
    @include _button-hover {
      display: none;
    }
  }
}


@mixin button-base {
  @include acx-theme-dark {
    color: $mat-white;
  }

  // TODO(google): Migrate to extended mixin mat-font-button

  font-size: $mat-font-size-button;

  font-weight: $mat-font-weight-medium;

  text-transform: uppercase;

  user-select: none;
  background: transparent;
  border-radius: inherit;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  letter-spacing: .01em;
  line-height: normal;
  outline: none;
  position: relative;
  text-align: center;

  &:not([icon]) {
    margin: 0 .29em;
  }

  &[dense] {
    @include _button-dense;
  }

  &[compact] {
    @include _button-compact;
  }

  &[disabled] {
    @include acx-theme-dark {
      color: $button-disabled-color-dark;
    }

    color: $button-disabled-color;
    cursor: not-allowed;

    >* {
      pointer-events: none;
    }
  }

  @media (hover: hover) {
    @include _button-hover {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: currentColor;
      // For windows high contrast.
      outline: 2px solid transparent;
      opacity: $mat-divider-opacity;
      border-radius: inherit;
      pointer-events: none;
    }
{'fraction_non_alphanumeric': 0.14179608372721134, 'fraction_numerical': 0.015530047265361242, 'mean_word_length': 3.2103467879476977, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1686265', 'n_tokens_mistral': 2625, 'n_tokens_neox': 2438, 'n_words': 641}