Funções internas que não funcionam com cadeias avaliadas, por quê?
Parece que as seqüências de cores avaliadas não estão funcionando com algumas funções LESS internas. Eu tentei usare()
e~""
e qualquer combinação de ambos.
Talvez eu encontre uma solução alternativa para o meu caso em particular, só estou perguntando se esse é o comportamento esperado ou se há uma falha no meu raciocínio. Qualquer insight apreciado.
Por exemplo, aqui, a cor é criada a partir de uma sequência avaliada; observe o 'ausente'#
no valor hexadecimal adicionado posteriormente:
.broken-mixin(@hexcode: '9719e1') {
@color: e("#@{hexcode}");
// this works as expected
background-color: @color;
// this does work too
.very-simple-mixin(@color);
// Undefined_methodError: error evaluating function `fade`:
// Object #<Object> has no method 'toHSL'
background-color: fade(@color,30%);
// SyntaxError: error evaluating function `red`:
// Cannot read property '0' of undefined
background-color: rgba(red(@color), green(@color), blue(@color), 0.5);
}
Caso contrário, as funções internas funcionam normalmente com variáveis em mixins, por exemplo:
.mixin-works(@myColor: #00ff00) {
// works just fine
background-color: fade(@myColor,30%);
// or this, works too
background-color: rgba(red(@myColor), green(@myColor), blue(@myColor), 0.5);
}
O que estou perdendo ?