¿Cómo hacer referencia a variables en un mapa, antes de definir todo el mapa?
Comenzaré con mi código, ya que debería ser más fácil entender lo que quiero hacer:
@function get-color($color, $lightness) {
@return map-get(map-get($colors, $color), $lightness);
}
$colors: (
green: (
light: #A4EDE1,
mid: darken(get-color(green, light), 20%),
dark: darken(get-color(green, mid), 20%)
),
red: (
light: complement(get-color(green, light)),
mid: complement(get-color(green, mid)),
dark: complement(get-color(green, dark))
)
);
Como puede ver, he creado un mapa multidimensional, con mis valores de color.
Por el momento, quiero crear los otros colores, a través dedarken()
y elcomplement()
funciones El problema con eso es que necesito hacer referencia a variables dentro del$colors
variable, antes de que esté completamente lleno. Esto da como resultado un error para miget-color()
función, que me dice, no hay$colors
variable.
Sé que sería posible alterar los colores fuera de mi$colors
mapa, pero el beneficio de hacerlo de esta manera es que siempre puedo volver y definir valores de color que no se generan. Esto sería un gran beneficio para mantener el proyecto.
Así que aquí está mi pregunta: ¿Hay alguna forma de hacer referencia a otra variable en el mapa, antes de definir todo el mapa?