ufk
ufk

Reputation: 32094

setting text input color by angular material theme

I'm really really new to angular material theming. actually started around 30 minutes ago! :)

so I am able to set the primary, accent and warn colors.

now I'm trying to set the text input color in my theme.

no actual idea how to do that properly...

I inspected the mat-input element and noticed that the placeholder label's color is set by the following classes: mat-form-field-appearance-legacy and mat-form-field-label.

I created the following theme file:

@import '~@angular/material/theming';
// Plus imports for other components in your app.

// 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-core();

// 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/
$candy-app-primary: mat-palette($mat-indigo);
$candy-app-accent:  mat-palette($mat-pink, A200, A100, A400);

// The warn palette is optional (defaults to red).
$candy-app-warn:    mat-palette($mat-amber);

// Create the theme object (a Sass map containing all of the palettes).
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);

// 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.

.mat-form-field-appearance-legacy .mat-form-field-label {
  color: white;
}
@include angular-material-theme($candy-app-theme);

this did not affect the mat-input placeholder color at all.

so I'm trying to understand how to properly set inputs colors with themeing.

any ideas regarding this issue would be greatly appreciated.

Upvotes: 2

Views: 2479

Answers (1)

Edric
Edric

Reputation: 26710

Consider checking out the Customizing Component Styles guide before beginning.

Anyways, you've got to use the !important styles as your styles will be overridden by Angular Material's styles:

// ...
.mat-form-field-appearance-legacy .mat-form-field-label {
  color: white !important;
}

Upvotes: 1

Related Questions