//
// 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/functions";
@import "../theme/variables"; // for mdc-theme-prop-value
@import "./variables";

//
// Public
//

@function mdc-states-opacity($color, $state) {
  $opacity-map: mdc-states-opacities_($color);

  @if not map-has-key($opacity-map, $state) {
    @error "Invalid state: '#{$state}'. Choose one of: #{map-keys($opacity-map)}";
  }

  @return map-get($opacity-map, $state);
}

//
// Private
//

@function mdc-states-opacities_($color) {
  $color-value: mdc-theme-prop-value($color);
  $opacity-map: if(
    tone($color-value) == "light",
    $mdc-ripple-light-ink-opacities,
    $mdc-ripple-dark-ink-opacities
  );

  @return $opacity-map;
}
