/**
 * @license
 * Copyright 2021 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */

// stylelint-disable selector-class-pattern --
// Selector '.mdc-*' should only be used in this project.

@use 'sass:map';
@use '@material/fab/fab-small-theme';
@use '@material/ripple/ripple-theme' as mdc-ripple-theme;
@use '@material/theme/keys';
@use '@material/tokens/resolvers';

@mixin theme-styles($theme, $resolvers: resolvers.$material) {
  .mdc-fab {
    @include fab-small-theme.theme-styles($theme, $resolvers);
  }

  $theme: keys.create-theme-properties($theme, $prefix: 'fab-small');

  @include mdc-ripple-theme.theme(
    (
      hover-state-layer-color: map.get($theme, hover-state-layer-color),
      focus-state-layer-color: map.get($theme, focus-state-layer-color),
      pressed-state-layer-color: map.get($theme, pressed-state-layer-color),
      hover-state-layer-opacity: map.get($theme, hover-state-layer-opacity),
      focus-state-layer-opacity: map.get($theme, focus-state-layer-opacity),
      pressed-state-layer-opacity: map.get($theme, pressed-state-layer-opacity),
    )
  );
}

///
/// Applies the given theme as custom properties without any selectors.
///
@mixin theme($theme, $resolvers: resolvers.$material) {
  @include fab-small-theme.theme($theme, $resolvers: $resolvers);
}
