07/08/2019 Development / macetes

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:

  • primary - indigo
  • accent - pink
  • warn - red
  • background - grey

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.primaryPalettetheme.accentPalettetheme.warnPalettetheme.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!