@mixin oui-slide-toggle-theme($theme) {
  $primary: map-get($theme, primary);
  $accent: map-get($theme, accent);
  $warn: map-get($theme, warn);
  $background: map-get($theme, background);
  $foreground: map-get($theme, foreground);
  .oui-primary input:checked + .oui-slider:before {
    background-color: map-get($primary, default);
  }
  .oui-primary input:checked + .oui-slider.round {
    border: 1px solid map-get($primary, default);
  }
  .oui-accent input:checked + .oui-slider:before {
    background-color: map-get($accent, default);
  }
  .oui-accent input:checked + .oui-slider.round {
    border: 1px solid map-get($accent, default);
  }
  .oui-warn input:checked + .oui-slider:before {
    background-color: map-get($warn, default);
  }
  .oui-warn input:checked + .oui-slider.round {
    border: 1px solid map-get($warn, default);
  }

  .oui-slide-toggle.cdk-keyboard-focused {
    &.oui-primary {
      .oui-slider.round {
        border: 1px solid map-get($primary, default);
        box-shadow: 0px 0px 0px 1px map-get($primary, default);
      }
    }
    &.oui-accent {
      .oui-slider.round {
        border: 1px solid map-get($accent, default);
        box-shadow: 0px 0px 0px 1px map-get($accent, default);
      }
    }
    &.oui-warn {
      .oui-slider.round {
        border: 1px solid map-get($warn, default);
        box-shadow: 0px 0px 0px 1px map-get($warn, default);
      }
    }
  }
}
