@mixin sam-sidenav-theme($theme) {
  $background: map-get($theme, background);
  $foreground: map-get($theme, foreground);

  // We use invert() here to have the darken the background color expected to be used. If the
  // background is light, we use a dark backdrop. If the background is dark,
  // we use a light backdrop.
  $sidenav-backdrop-color: invert(sam-color($background, sidenav, 0.6)) !default;
  $sidenav-background-color: sam-color($background, sidenav) !default;
  $sidenav-container-background-color:  sam-color($background, sidenav) !default;
  $sidenav-push-background-color: sam-color($background, sidenav) !default;

  .mat-sidenav-container {
    background-color: $sidenav-container-background-color;
    color: sam-color($foreground, text);
  }

  .mat-sidenav {
    background-color: $sidenav-background-color;
    color: sam-color($foreground, text);

    &.mat-sidenav-push {
      background-color: $sidenav-push-background-color;
    }
  }

  .mat-sidenav-backdrop.mat-sidenav-shown {
    background-color: $sidenav-backdrop-color;
  }
}

@mixin sam-sidenav-typography($config) { }
