Theme

Angular Bootstrap 5 Theme

Theming system enables you to customize the appearance of all MDB components.

Appearance customization options enable you to create skins for your Angular Bootstrap 5 project. Use predefined dark theme, light theme or create custom themes.

See an example of a dark-theme created using our theme system.


Create a new theme

Creating a new theme requires that you define primary and secondary colors for your application. We prepared functions and mixins that will help you to create a ready to use theme using these colors.

Open styles.scss file and add the following code after MDB styles imports:

$my-theme-primary: #9c27b0; // theme primary color, change this value to customize theme
$my-theme-secondary: #69f0ae; // theme secondary color, change this value to customize theme

$my-theme: mdb-light-theme($my-theme-primary, $my-theme-secondary); // create the new theme using primary and secondary colors

// include theme styles
@include mdb-theme($my-theme);

Light theme

It's possible to create a light theme using mdb-light-theme function. You just need to define primary and secondary colors, all other parameters will be adjusted automatically.

$my-theme-primary: #9c27b0; // theme primary color, change this value to customize theme
$my-theme-secondary: #69f0ae; // theme secondary color, change this value to customize theme

$my-light-theme: mdb-light-theme($my-theme-primary, $my-theme-secondary); // create the new light theme using primary and secondary colors

// include theme styles
@include mdb-theme($my-light-theme);

Dark theme

It's possible to create a dark theme using mdb-dark-theme function. You just need to define primary and secondary colors, all other parameters will be adjusted automatically.

$my-theme-primary: #9c27b0; // theme primary color, change this value to customize theme
$my-theme-secondary: #69f0ae; // theme secondary color, change this value to customize theme

$my-dark-theme: mdb-dark-theme($my-theme-primary, $my-theme-secondary); // create the new dark theme using primary and secondary colors

// include theme styles
@include mdb-theme($my-dark-theme);

Skin toggler

It's possible to create a skin toggler. Create a dark theme inside your main scss file, but this time wrap @include rule with any custom class. Then add the button switch to toggle this class for the body element.

// DARK SKIN
$my-theme-primary: #1266f1;
$my-theme-secondary: #b23cfd;
$my-dark-theme: mdb-dark-theme($my-theme-primary, $my-theme-secondary);

.dark {
  @include mdb-theme($my-dark-theme);
}
<button class="btn btn-primary" (click)="toggleSkin()">Toggle skin</button>
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  toggleSkin() {
    document.body.classList.toggle('dark');
  }
}