//
// Copyright 2019 Stijn de Witt. Some rights reserved.
// Licensed under the MIT Open Source license. 
// https://opensource.org/licenses/MIT
// See LICENSE for details.
//
// Based on code copyright 2018 Google Inc. All Rights Reserved.
// Licensed under the Apache License, Version 2.0.
// http://www.apache.org/licenses/LICENSE-2.0
// See LICENSE-MDC for details.
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under these licenses is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the licenses for the specific language governing permissions and
// limitations under these licenses.
// 

@import "../theme/mixins";
@import "./variables";

//
// Public
//

@mixin mdc-switch-track-color($color) {
  .mdc-switch__native-control:enabled:checked ~ .mdc-switch__background::before {
    @include mdc-theme-prop(background-color, $color);
  }
}

@mixin mdc-switch-knob-color($color) {
  // stylelint-disable-next-line selector-max-specificity
  .mdc-switch__native-control:enabled:checked ~ .mdc-switch__background .mdc-switch__knob {
    @include mdc-theme-prop(background-color, $color);
  }
}

@mixin mdc-switch-focus-indicator-color($color) {
  // stylelint-disable-next-line selector-max-specificity
  .mdc-switch__native-control:enabled:checked ~ .mdc-switch__background .mdc-switch__knob::before {
    @include mdc-theme-prop(background-color, $color);
  }
}

//
// Private
//

@mixin mdc-switch-unchecked-track-color_($color) {
  .mdc-switch__native-control:enabled:not(:checked) ~ .mdc-switch__background::before {
    @include mdc-theme-prop(background-color, $color);
  }
}

@mixin mdc-switch-unchecked-knob-color_($color) {
  // stylelint-disable-next-line selector-max-specificity
  .mdc-switch__native-control:enabled:not(:checked) ~ .mdc-switch__background .mdc-switch__knob {
    @include mdc-theme-prop(background-color, $color);
  }
}

@mixin mdc-switch-unchecked-focus-indicator-color_($color) {
  // stylelint-disable-next-line selector-max-specificity
  .mdc-switch__native-control:enabled:not(:checked) ~ .mdc-switch__background .mdc-switch__knob::before {
    @include mdc-theme-prop(background-color, $color);
  }
}

@mixin mdc-switch-tap-target_ {
  position: absolute;
  top: -14px;
  left: -14px;
  width: $mdc-switch-focus-ring-diameter;
  height: $mdc-switch-focus-ring-diameter;
}
