@import "../../theme/vita/_variables"; // ios-inspired 7 colors // .u-colors(@index) when (@index > 0) { // .u-colors(@index - 1); // @selector: ~".u-ColorBG--@{index}"; // @{selector} { // background-color: extract(@_colors, @index); // }; // @selectorz: ~".u-ColorFG--@{index}"; // @{selectorz} { // color: extract(@_colors, @index); // }; // } // .u-colors(length(@_colors)); .a_GlobalColorRules(45, 10); /* Rules 11-30 ========================================================================== */ .a_GlobalColorRules(@counter, @varNumber) when (@counter > @varNumber) { .a_GlobalColorRules(@counter - 1, @varNumber); // Must keep in sync with UT's LESS! @accentNumber : mod(@counter - 1, @varNumber) + 1; @varName : %("g_Color-Palette-%s", @accentNumber); @varName2 : %("g_Color-Palette-%s-FG", @accentNumber); @darkenPct : (floor((@counter - 1) / @varNumber / 2) + 1) * 10%; // 1 or -1 @darkenFactor : 2 * ( sin( 1rad * floor((@counter - 1) / @varNumber) * pi() / 2 ) - 0.5 ); .u-Color-@{counter}-BG { &--txt { color : darken(@@varName, @darkenPct * @darkenFactor); } &--bg { background-color : darken(@@varName, @darkenPct * @darkenFactor); } &--fill { fill : darken(@@varName, @darkenPct * @darkenFactor); } &--br { stroke : darken(@@varName, @darkenPct * @darkenFactor); border-color : darken(@@varName, @darkenPct * @darkenFactor); } } .u-Color-@{counter}-FG { &--txt { color : lighten(@@varName2, @darkenPct); } &--bg { background-color : lighten(@@varName2, @darkenPct); } &--fill { fill : lighten(@@varName2, @darkenPct); } &--br { stroke : lighten(@@varName2, @darkenPct); border-color : lighten(@@varName2, @darkenPct); } } } /* Rules 1-10 ========================================================================== */ .a_GlobalColorRules(@counter, @varNumber) when (@counter <= @varNumber) and (@counter > 0) { .a_GlobalColorRules(@counter - 1, @varNumber); // Must keep in sync with UT's LESS! @accentNumber : mod(@counter - 1, @varNumber) + 1; @varName : %("g_Color-Palette-%s", @accentNumber); @varName2 : %("g_Color-Palette-%s-FG", @accentNumber); .u-Color-@{counter}-BG { &--txt { color: @@varName; } &--bg { background-color: @@varName; } &--fill { fill: @@varName; } &--br { stroke: @@varName; border-color: @@varName; } } .u-Color-@{counter}-FG { &--txt { color: @@varName2; } &--bg { background-color: @@varName2; } &--fill { fill: @@varName2; } &--br { stroke: @@varName2; border-color: @@varName2; } } } /* ========================================================================== Cycle Colors for Lists ========================================================================== */ .color-cycle(@n, @i: 1) when (@i =< @n) { & > :nth-child(45n+@{i}) { .u-color { background-color: extract(@_colors, @i); color: extract(@_colors_FG, @i); } .u-color-bg, .u-color-background { background-color: extract(@_colors, @i); } .u-color-txt, .u-color-text { color: extract(@_colors, @i); } .u-color-bd, .u-color-border { border-color: extract(@_colors, @i); } } .color-cycle(@n, (@i + 1)); } .u-colors { .color-cycle(45); } /* ========================================================================== Pallete Colors ========================================================================== */ .color-palette(@n, @i: 1) when (@i =< @n) { .u-color-@{i} { background-color: extract(@_colors, @i); color: extract(@_colors_FG, @i); } .u-color-@{i}-bg, .u-color-@{i}-background { background-color: extract(@_colors, @i); } .u-color-@{i}-txt, .u-color-@{i}-text { color: extract(@_colors, @i); } .u-color-@{i}-bd, .u-color-@{i}-border { border-color: extract(@_colors, @i); } .color-palette(@n, (@i + 1)); } .color-palette(45);