// Custom Theming for Angular Material
// For more information: https://material.angular.io/guide/theming
@use '@angular/material' as mat;
// Plus imports for other components in your app.

// custom theme imports
@use './styles-reset.scss-theme' as styles-reset;
@use './app/app.component.scss-theme' as demo-root-component;
@use './app/core/layout/navigation/navigation.component.scss-theme' as
  demo-navigation-component;
@use './app/core/layout/footer/footer.component.scss-theme' as
  demo-footer-component;
@use './app/features/docs/faq/faq.component.scss-theme' as demo-faq-component;
@use './app/features/docs/api/api.component.scss-theme' as demo-api-component;

// Include the common styles for Angular Material. We include this here so that you only
// have to load a single css file for Angular Material in your app.
// Be sure that you only ever include this mixin once!
@include mat.all-component-typographies();
@include mat.elevation-classes();
@include mat.app-background();

// Define the palettes for your theme using the Material Design palettes available in palette.scss
// (imported above). For each palette, you can optionally specify a default, lighter, and darker
// hue. Available color palettes: https://material.io/design/color/
$elements-demo-primary: mat.m2-define-palette(
  mat.$m2-red-palette,
  700,
  600,
  900
);
$elements-demo-accent: mat.m2-define-palette(mat.$m2-pink-palette, 900);

// The warn palette is optional (defaults to red).
$elements-demo-warn: mat.m2-define-palette(mat.$m2-deep-orange-palette);

// Create the theme object (a Sass map containing all of the palettes).
$elements-demo-theme: mat.m2-define-light-theme(
  (
    color: (
      primary: $elements-demo-primary,
      accent: $elements-demo-accent,
      warn: $elements-demo-warn,
    ),
    typography: mat.m2-define-typography-config(),
    density: 0,
  )
);

@mixin custom-components-theme($theme) {
  // include custom components themes
  @include styles-reset.styles-reset-theme($theme);
  @include demo-root-component.demo-root-component-theme($theme);
  @include demo-navigation-component.demo-navigation-component-theme($theme);
  @include demo-footer-component.demo-footer-component-theme($theme);
  @include demo-faq-component.demo-faq-component-theme($theme);
  @include demo-api-component.demo-api-component-theme($theme);
}

// Include theme styles for core and each component used in your app.
// Alternatively, you can import and @include the theme mixins for each component
// that you are using.
@include mat.all-component-themes($elements-demo-theme);
@include custom-components-theme($elements-demo-theme);
