001/* 002 * #%L 003 * GwtMaterial 004 * %% 005 * Copyright (C) 2015 - 2017 GwtMaterialDesign 006 * %% 007 * Licensed under the Apache License, Version 2.0 (the "License"); 008 * you may not use this file except in compliance with the License. 009 * You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, software 014 * distributed under the License is distributed on an "AS IS" BASIS, 015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 016 * See the License for the specific language governing permissions and 017 * limitations under the License. 018 * #L% 019 */ 020package gwt.material.design.client.constants; 021 022import com.google.gwt.user.client.ui.UIObject; 023import gwt.material.design.client.base.helper.EnumHelper; 024 025/** 026 * Color constants. 027 * 028 * @see <a href="http://gwtmaterialdesign.github.io/gwt-material-demo/#colors">Colors</a> 029 * @see <a href="https://material.io/guidelines/style/color.html#">Material Design Specification</a> 030 * @see <a href="https://material.io/color/">Color Tool</a> 031 * @author kevzlou7979 032 */ 033public enum Color implements CssType { 034 DEFAULT(""), 035 BLACK("black"), 036 WHITE("white"), 037 TRANSPARENT("transparent"), 038 // Blue Grey 039 BLUE_GREY_LIGHTEN_5("blue-grey lighten-5"), 040 BLUE_GREY_LIGHTEN_4("blue-grey lighten-4"), 041 BLUE_GREY_LIGHTEN_3("blue-grey lighten-3"), 042 BLUE_GREY_LIGHTEN_2("blue-grey lighten-2"), 043 BLUE_GREY_LIGHTEN_1("blue-grey lighten-1"), 044 BLUE_GREY("blue-grey"), 045 BLUE_GREY_DARKEN_1("blue-grey darken-1"), 046 BLUE_GREY_DARKEN_2("blue-grey darken-2"), 047 BLUE_GREY_DARKEN_3("blue-grey darken-3"), 048 BLUE_GREY_DARKEN_4("blue-grey darken-4"), 049 // Grey 050 GREY_LIGHTEN_5("grey lighten-5"), 051 GREY_LIGHTEN_4("grey lighten-4"), 052 GREY_LIGHTEN_3("grey lighten-3"), 053 GREY_LIGHTEN_2("grey lighten-2"), 054 GREY_LIGHTEN_1("grey lighten-1"), 055 GREY("grey"), 056 GREY_DARKEN_1("grey darken-1"), 057 GREY_DARKEN_2("grey darken-2"), 058 GREY_DARKEN_3("grey darken-3"), 059 GREY_DARKEN_4("grey darken-4"), 060 // Brown 061 BROWN_LIGHTEN_5("brown lighten-5"), 062 BROWN_LIGHTEN_4("brown lighten-4"), 063 BROWN_LIGHTEN_3("brown lighten-3"), 064 BROWN_LIGHTEN_2("brown lighten-2"), 065 BROWN_LIGHTEN_1("brown lighten-1"), 066 BROWN("brown"), 067 BROWN_DARKEN_1("brown darken-1"), 068 BROWN_DARKEN_2("brown darken-2"), 069 BROWN_DARKEN_3("brown darken-3"), 070 BROWN_DARKEN_4("brown darken-4"), 071 // Deep Orange 072 DEEP_ORANGE_LIGHTEN_5("deep-orange lighten-5"), 073 DEEP_ORANGE_LIGHTEN_4("deep-orange lighten-4"), 074 DEEP_ORANGE_LIGHTEN_3("deep-orange lighten-3"), 075 DEEP_ORANGE_LIGHTEN_2("deep-orange lighten-2"), 076 DEEP_ORANGE_LIGHTEN_1("deep-orange lighten-1"), 077 DEEP_ORANGE("deep-orange"), 078 DEEP_ORANGE_DARKEN_1("deep-orange darken-1"), 079 DEEP_ORANGE_DARKEN_2("deep-orange darken-2"), 080 DEEP_ORANGE_DARKEN_3("deep-orange darken-3"), 081 DEEP_ORANGE_DARKEN_4("deep-orange darken-4"), 082 DEEP_ORANGE_ACCENT_1("deep-orange accent-1"), 083 DEEP_ORANGE_ACCENT_2("deep-orange accent-2"), 084 DEEP_ORANGE_ACCENT_3("deep-orange accent-3"), 085 DEEP_ORANGE_ACCENT_4("deep-orange accent-4"), 086 // Orange 087 ORANGE_LIGHTEN_5("orange lighten-5"), 088 ORANGE_LIGHTEN_4("orange lighten-4"), 089 ORANGE_LIGHTEN_3("orange lighten-3"), 090 ORANGE_LIGHTEN_2("orange lighten-2"), 091 ORANGE_LIGHTEN_1("orange lighten-1"), 092 ORANGE("orange"), 093 ORANGE_DARKEN_1("orange darken-1"), 094 ORANGE_DARKEN_2("orange darken-2"), 095 ORANGE_DARKEN_3("orange darken-3"), 096 ORANGE_DARKEN_4("orange darken-4"), 097 ORANGE_ACCENT_1("orange accent-1"), 098 ORANGE_ACCENT_2("orange accent-2"), 099 ORANGE_ACCENT_3("orange accent-3"), 100 ORANGE_ACCENT_4("orange accent-4"), 101 // amber 102 AMBER_LIGHTEN_5("amber lighten-5"), 103 AMBER_LIGHTEN_4("amber lighten-4"), 104 AMBER_LIGHTEN_3("amber lighten-3"), 105 AMBER_LIGHTEN_2("amber lighten-2"), 106 AMBER_LIGHTEN_1("amber lighten-1"), 107 AMBER("amber"), 108 AMBER_DARKEN_1("amber darken-1"), 109 AMBER_DARKEN_2("amber darken-2"), 110 AMBER_DARKEN_3("amber darken-3"), 111 AMBER_DARKEN_4("amber darken-4"), 112 AMBER_ACCENT_1("amber accent-1"), 113 AMBER_ACCENT_2("amber accent-2"), 114 AMBER_ACCENT_3("amber accent-3"), 115 AMBER_ACCENT_4("amber accent-4"), 116 // Yellow 117 YELLOW_LIGHTEN_5("yellow lighten-5"), 118 YELLOW_LIGHTEN_4("yellow lighten-4"), 119 YELLOW_LIGHTEN_3("yellow lighten-3"), 120 YELLOW_LIGHTEN_2("yellow lighten-2"), 121 YELLOW_LIGHTEN_1("yellow lighten-1"), 122 YELLOW("yellow"), 123 YELLOW_DARKEN_1("yellow darken-1"), 124 YELLOW_DARKEN_2("yellow darken-2"), 125 YELLOW_DARKEN_3("yellow darken-3"), 126 YELLOW_DARKEN_4("yellow darken-4"), 127 YELLOW_ACCENT_1("yellow accent-1"), 128 YELLOW_ACCENT_2("yellow accent-2"), 129 YELLOW_ACCENT_3("yellow accent-3"), 130 YELLOW_ACCENT_4("yellow accent-4"), 131 // Lime 132 LIME_LIGHTEN_5("lime lighten-5"), 133 LIME_LIGHTEN_4("lime lighten-4"), 134 LIME_LIGHTEN_3("lime lighten-3"), 135 LIME_LIGHTEN_2("lime lighten-2"), 136 LIME_LIGHTEN_1("lime lighten-1"), 137 LIME("lime"), 138 LIME_DARKEN_1("lime darken-1"), 139 LIME_DARKEN_2("lime darken-2"), 140 LIME_DARKEN_3("lime darken-3"), 141 LIME_DARKEN_4("lime darken-4"), 142 LIME_ACCENT_1("lime accent-1"), 143 LIME_ACCENT_2("lime accent-2"), 144 LIME_ACCENT_3("lime accent-3"), 145 LIME_ACCENT_4("lime accent-4"), 146 // Light Green 147 LIGHT_GREEN_LIGHTEN_5("light-green lighten-5"), 148 LIGHT_GREEN_LIGHTEN_4("light-green lighten-4"), 149 LIGHT_GREEN_LIGHTEN_3("light-green lighten-3"), 150 LIGHT_GREEN_LIGHTEN_2("light-green lighten-2"), 151 LIGHT_GREEN_LIGHTEN_1("light-green lighten-1"), 152 LIGHT_GREEN("light-green"), 153 LIGHT_GREEN_DARKEN_1("light-green darken-1"), 154 LIGHT_GREEN_DARKEN_2("light-green darken-2"), 155 LIGHT_GREEN_DARKEN_3("light-green darken-3"), 156 LIGHT_GREEN_DARKEN_4("light-green darken-4"), 157 LIGHT_GREEN_ACCENT_1("light-green accent-1"), 158 LIGHT_GREEN_ACCENT_2("light-green accent-2"), 159 LIGHT_GREEN_ACCENT_3("light-green accent-3"), 160 LIGHT_GREEN_ACCENT_4("light-green accent-4"), 161 // Green 162 GREEN_LIGHTEN_5("green lighten-5"), 163 GREEN_LIGHTEN_4("green lighten-4"), 164 GREEN_LIGHTEN_3("green lighten-3"), 165 GREEN_LIGHTEN_2("green lighten-2"), 166 GREEN_LIGHTEN_1("green lighten-1"), 167 GREEN("green"), 168 GREEN_DARKEN_1("green darken-1"), 169 GREEN_DARKEN_2("green darken-2"), 170 GREEN_DARKEN_3("green darken-3"), 171 GREEN_DARKEN_4("green darken-4"), 172 GREEN_ACCENT_1("green accent-1"), 173 GREEN_ACCENT_2("green accent-2"), 174 GREEN_ACCENT_3("green accent-3"), 175 GREEN_ACCENT_4("green accent-4"), 176 // Teal 177 TEAL_LIGHTEN_5("teal lighten-5"), 178 TEAL_LIGHTEN_4("teal lighten-4"), 179 TEAL_LIGHTEN_3("teal lighten-3"), 180 TEAL_LIGHTEN_2("teal lighten-2"), 181 TEAL_LIGHTEN_1("teal lighten-1"), 182 TEAL("teal"), 183 TEAL_DARKEN_1("teal darken-1"), 184 TEAL_DARKEN_2("teal darken-2"), 185 TEAL_DARKEN_3("teal darken-3"), 186 TEAL_DARKEN_4("teal darken-4"), 187 TEAL_ACCENT_1("teal accent-1"), 188 TEAL_ACCENT_2("teal accent-2"), 189 TEAL_ACCENT_3("teal accent-3"), 190 TEAL_ACCENT_4("teal accent-4"), 191 // Cyan 192 CYAN_LIGHTEN_5("cyan lighten-5"), 193 CYAN_LIGHTEN_4("cyan lighten-4"), 194 CYAN_LIGHTEN_3("cyan lighten-3"), 195 CYAN_LIGHTEN_2("cyan lighten-2"), 196 CYAN_LIGHTEN_1("cyan lighten-1"), 197 CYAN("cyan"), 198 CYAN_DARKEN_1("cyan darken-1"), 199 CYAN_DARKEN_2("cyan darken-2"), 200 CYAN_DARKEN_3("cyan darken-3"), 201 CYAN_DARKEN_4("cyan darken-4"), 202 CYAN_ACCENT_1("cyan accent-1"), 203 CYAN_ACCENT_2("cyan accent-2"), 204 CYAN_ACCENT_3("cyan accent-3"), 205 CYAN_ACCENT_4("cyan accent-4"), 206 // Light Blue 207 LIGHT_BLUE_LIGHTEN_5("light-blue lighten-5"), 208 LIGHT_BLUE_LIGHTEN_4("light-blue lighten-4"), 209 LIGHT_BLUE_LIGHTEN_3("light-blue lighten-3"), 210 LIGHT_BLUE_LIGHTEN_2("light-blue lighten-2"), 211 LIGHT_BLUE_LIGHTEN_1("light-blue lighten-1"), 212 LIGHT_BLUE("light-blue"), 213 LIGHT_BLUE_DARKEN_1("light-blue darken-1"), 214 LIGHT_BLUE_DARKEN_2("light-blue darken-2"), 215 LIGHT_BLUE_DARKEN_3("light-blue darken-3"), 216 LIGHT_BLUE_DARKEN_4("light-blue darken-4"), 217 LIGHT_BLUE_ACCENT_1("light-blue accent-1"), 218 LIGHT_BLUE_ACCENT_2("light-blue accent-2"), 219 LIGHT_BLUE_ACCENT_3("light-blue accent-3"), 220 LIGHT_BLUE_ACCENT_4("light-blue accent-4"), 221 // Blue 222 BLUE_LIGHTEN_5("blue lighten-5"), 223 BLUE_LIGHTEN_4("blue lighten-4"), 224 BLUE_LIGHTEN_3("blue lighten-3"), 225 BLUE_LIGHTEN_2("blue lighten-2"), 226 BLUE_LIGHTEN_1("blue lighten-1"), 227 BLUE("blue"), 228 BLUE_DARKEN_1("blue darken-1"), 229 BLUE_DARKEN_2("blue darken-2"), 230 BLUE_DARKEN_3("blue darken-3"), 231 BLUE_DARKEN_4("blue darken-4"), 232 BLUE_ACCENT_1("blue accent-1"), 233 BLUE_ACCENT_2("blue accent-2"), 234 BLUE_ACCENT_3("blue accent-3"), 235 BLUE_ACCENT_4("blue accent-4"), 236 // Indigo 237 INDIGO_LIGHTEN_5("indigo lighten-5"), 238 INDIGO_LIGHTEN_4("indigo lighten-4"), 239 INDIGO_LIGHTEN_3("indigo lighten-3"), 240 INDIGO_LIGHTEN_2("indigo lighten-2"), 241 INDIGO_LIGHTEN_1("indigo lighten-1"), 242 INDIGO("indigo"), 243 INDIGO_DARKEN_1("indigo darken-1"), 244 INDIGO_DARKEN_2("indigo darken-2"), 245 INDIGO_DARKEN_3("indigo darken-3"), 246 INDIGO_DARKEN_4("indigo darken-4"), 247 INDIGO_ACCENT_1("indigo accent-1"), 248 INDIGO_ACCENT_2("indigo accent-2"), 249 INDIGO_ACCENT_3("indigo accent-3"), 250 INDIGO_ACCENT_4("indigo accent-4"), 251 // Deep Purple 252 DEEP_PURPLE_LIGHTEN_5("deep-purple lighten-5"), 253 DEEP_PURPLE_LIGHTEN_4("deep-purple lighten-4"), 254 DEEP_PURPLE_LIGHTEN_3("deep-purple lighten-3"), 255 DEEP_PURPLE_LIGHTEN_2("deep-purple lighten-2"), 256 DEEP_PURPLE_LIGHTEN_1("deep-purple lighten-1"), 257 DEEP_PURPLE("deep-purple"), 258 DEEP_PURPLE_DARKEN_1("deep-purple darken-1"), 259 DEEP_PURPLE_DARKEN_2("deep-purple darken-2"), 260 DEEP_PURPLE_DARKEN_3("deep-purple darken-3"), 261 DEEP_PURPLE_DARKEN_4("deep-purple darken-4"), 262 DEEP_PURPLE_ACCENT_1("deep-purple accent-1"), 263 DEEP_PURPLE_ACCENT_2("deep-purple accent-2"), 264 DEEP_PURPLE_ACCENT_3("deep-purple accent-3"), 265 DEEP_PURPLE_ACCENT_4("deep-purple accent-4"), 266 // Purple 267 PURPLE_LIGHTEN_5("purple lighten-5"), 268 PURPLE_LIGHTEN_4("purple lighten-4"), 269 PURPLE_LIGHTEN_3("purple lighten-3"), 270 PURPLE_LIGHTEN_2("purple lighten-2"), 271 PURPLE_LIGHTEN_1("purple lighten-1"), 272 PURPLE("purple"), 273 PURPLE_DARKEN_1("purple darken-1"), 274 PURPLE_DARKEN_2("purple darken-2"), 275 PURPLE_DARKEN_3("purple darken-3"), 276 PURPLE_DARKEN_4("purple darken-4"), 277 PURPLE_ACCENT_1("purple accent-1"), 278 PURPLE_ACCENT_2("purple accent-2"), 279 PURPLE_ACCENT_3("purple accent-3"), 280 PURPLE_ACCENT_4("purple accent-4"), 281 // Pink 282 PINK_LIGHTEN_5("pink lighten-5"), 283 PINK_LIGHTEN_4("pink lighten-4"), 284 PINK_LIGHTEN_3("pink lighten-3"), 285 PINK_LIGHTEN_2("pink lighten-2"), 286 PINK_LIGHTEN_1("pink lighten-1"), 287 PINK("pink"), 288 PINK_DARKEN_1("pink darken-1"), 289 PINK_DARKEN_2("pink darken-2"), 290 PINK_DARKEN_3("pink darken-3"), 291 PINK_DARKEN_4("pink darken-4"), 292 PINK_ACCENT_1("pink accent-1"), 293 PINK_ACCENT_2("pink accent-2"), 294 PINK_ACCENT_3("pink accent-3"), 295 PINK_ACCENT_4("pink accent-4"), 296 // Red 297 RED_LIGHTEN_5("red lighten-5"), 298 RED_LIGHTEN_4("red lighten-4"), 299 RED_LIGHTEN_3("red lighten-3"), 300 RED_LIGHTEN_2("red lighten-2"), 301 RED_LIGHTEN_1("red lighten-1"), 302 RED("red"), 303 RED_DARKEN_1("red darken-1"), 304 RED_DARKEN_2("red darken-2"), 305 RED_DARKEN_3("red darken-3"), 306 RED_DARKEN_4("red darken-4"), 307 RED_ACCENT_1("red accent-1"), 308 RED_ACCENT_2("red accent-2"), 309 RED_ACCENT_3("red accent-3"), 310 RED_ACCENT_4("red accent-4"); 311 312 private final String cssClass; 313 314 Color(final String cssClass) { 315 this.cssClass = cssClass; 316 } 317 318 @Override 319 public String getCssName() { 320 return cssClass; 321 } 322 323 public static Color fromStyleName(final String styleName) { 324 return EnumHelper.fromStyleName(styleName, Color.class, Color.DEFAULT); 325 } 326 327 public static void clearStyles(final UIObject uiObject) { 328 for(String style : uiObject.getStyleName().split(" ")) { 329 Color color = fromStyleName(style); 330 if(color != Color.DEFAULT) { 331 uiObject.removeStyleName(style); 332 } else { 333 // check if we are a shade 334 if (Shade.isShade(style)) { 335 uiObject.removeStyleName(style); 336 } 337 } 338 } 339 } 340}