//
// Copyright 2017 Google Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//

@use 'sass:color';
@use '@material/animation/variables' as animation-variables;
@use '@material/density/variables' as density-variables;
@use '@material/theme/theme-color';

$fill-color-default: color.mix(
  theme-color.prop-value(on-surface),
  theme-color.prop-value(surface),
  12%
) !default;
$ink-color-default: rgba(theme-color.prop-value(on-surface), 0.87) !default;
$horizontal-padding: 12px !default;
$height: 32px !default;
$shape-radius: 50% !default;

$minimum-height: 24px !default;
$maximum-height: $height !default;
$density-scale: density-variables.$default-scale !default;
$density-config: (
  height: (
    default: $height,
    maximum: $maximum-height,
    minimum: $minimum-height,
  ),
) !default;

$icon-color: theme-color.prop-value(on-surface) !default;
$icon-opacity: 0.54 !default;
$trailing-icon-hover-opacity: 0.62 !default;
$trailing-icon-focus-opacity: 0.87 !default;
$leading-icon-size: 20px !default;
$trailing-icon-size: 18px !default;
// Speed up delay to bridge gap between leading icon and checkmark transition.
$leading-icon-delay: -50ms !default;
$checkmark-with-leading-icon-delay: 80ms !default;

$checkmark-animation-delay: 50ms !default;
$checkmark-animation-duration: 150ms !default;
$width-animation-duration: 150ms !default;
$opacity-animation-duration: 75ms !default;

$leading-icon-margin-right: 4px !default;
$leading-icon-margin-left: -4px !default;

$trailing-icon-margin-right: -4px !default;
$trailing-icon-margin-left: 4px !default;

$exit-transition: opacity 75ms
    animation-variables.$standard-curve-timing-function,
  width 150ms animation-variables.$deceleration-curve-timing-function,
  padding 100ms linear, margin 100ms linear !default;
