Esse aqui é o macete dos macetes!
Vira e mexe surge alguem pedindo pra eu fazer um projeto especifico pra sua empresa. Entao, pra que o sistema fique bonitinho, eu costumo usar o material design ou o bootstrap com as variacoes do SASS.
Mas o material design, ele ja adianta mto, porem, quando vc importa ou injeta o material, ele vem com a cor padrao.
É isso que eu vou explicar nesse post, como funciona o material design color!
Primeira coisa é a paleta de cores:
https://material.io/archive/guidelines/style/color.html#color-color-palette
É a partir daqui que as coisas sao criadas!
Tem varias paletas: red, gray, indigo, pink...etc
No angular tem 4 variacoes de estilos...que sao:
Seria mais ou menos assim no bootstrap: success, info, warning, secondary, deu pra sacar? E ali ele usa: no primary (paleta indigo) no accent (palleta pink)...e asism por diante e se formos ver a cor que representa seria:
primary - (indigo) => 500 (#3F51B5)
accent (pink) => 500 (#E91E63)
warn (red) => 500 (#F44336)
background (gray) => (#9E9E9E)
Entao é isso, quando vc for usar e fiz por exemplo:
<md-button>Oi</md-button> (fundo transparente e cor preta) -> normal, mas se fizer
<md-button md-no-ink class="md-primary">Primary (md-noink)</md-button> (fundo transparent e cor do texto do botao #3F51B5)
se voce colocar a classe md-raised <md-button class="md-raised md-primary">Primary</md-button> (fundo #3F51B5 e cor do texto do botao #FFF)
É assim que funciona:
Mas se você quiser alterar esse padrao default, existe uma possibilidade, atraves desde codigo
.config(function($mdThemingProvider) {
$mdThemingProvider.theme('default')
.primaryPalette('red', {
'default': '400', // by default use shade 400 from the pink palette for primary intentions
'hue-1': '100', // use shade 100 for the <code>md-hue-1</code> class
'hue-2': '800', // use shade 600 for the <code>md-hue-2</code> class
'hue-3': 'A100' // use shade A100 for the <code>md-hue-3</code> class
})
// If you specify less than all of the keys, it will inherit from the
// default shades
.accentPalette('deep-purple', {
'default': '200' // use shade 200 for default, and keep all other shades the same
}).dark();
})
A propriedades sao: theme.primaryPalette
, theme.accentPalette
, theme.warnPalette
, theme.backgroundPalette
Aqui eu digo que minha default vai usar a paleta primaria (red) e accent (dee-purple), podendo ainda customizar minha cor DEFAULT e as variacoes hue-*
As variacoes hue-1, hue-2, hue-3 usam as paletas (300
800
e A100) e serve pra primary e warn
A200, A100, A400 e A700 (warn)
Espero que sirva de estudo pra alguem!