Change-Id: Ida9552b02cb515fab6fb078a93f9f5c2f6d55014tags/7.5.0.beta1
@@ -0,0 +1,3 @@ | |||
$v-font-color-contrast: 0.1; | |||
@import "../valo/valo"; |
@@ -0,0 +1,6 @@ | |||
@import "variables"; | |||
@import "../tests-valo/valotest"; | |||
.tests-valo-contrast { | |||
@include valotest; | |||
} |
@@ -31,6 +31,14 @@ | |||
$v-luminance-threshold: 150 !default; | |||
/** | |||
* Contrast default value for valo-font-color function. | |||
* | |||
* @group color | |||
* @type number | |||
*/ | |||
$v-font-color-contrast: 0.72 !default; | |||
/** | |||
* Checks whether the color is considered dark or light, according to it's luminance and saturation. | |||
* | |||
@@ -80,7 +88,7 @@ $v-luminance-threshold: 150 !default; | |||
* | |||
* @return {color} a suitable font color for the given background color | |||
*/ | |||
@function valo-font-color ($bg-color, $contrast: 0.72) { | |||
@function valo-font-color ($bg-color, $contrast: $v-font-color-contrast) { | |||
@if type-of($bg-color) == color { | |||
@if is-dark-color($bg-color) { | |||
@return scale-color($bg-color, $lightness: min(100%, 100% * $contrast), $saturation: max(-100%, -50% * $contrast)); |
@@ -0,0 +1,47 @@ | |||
/* | |||
* Copyright 2000-2014 Vaadin Ltd. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||
* use this file except in compliance with the License. You may obtain a copy of | |||
* the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.tests.themes.valo; | |||
import com.vaadin.annotations.Theme; | |||
import com.vaadin.server.VaadinRequest; | |||
import com.vaadin.tests.components.AbstractTestUI; | |||
import com.vaadin.ui.TextField; | |||
/** | |||
* Test UI for default contrast color value. | |||
* | |||
* @author Vaadin Ltd | |||
*/ | |||
@Theme("tests-valo-contrast") | |||
public class ContrastFontColor extends AbstractTestUI { | |||
@Override | |||
protected void setup(VaadinRequest request) { | |||
TextField field = new TextField(); | |||
addComponent(field); | |||
} | |||
@Override | |||
protected Integer getTicketNumber() { | |||
return 14793; | |||
} | |||
@Override | |||
protected String getTestDescription() { | |||
return "Provide a variable for default contrast value in valo-font-color function."; | |||
} | |||
} |
@@ -0,0 +1,40 @@ | |||
/* | |||
* Copyright 2000-2014 Vaadin Ltd. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||
* use this file except in compliance with the License. You may obtain a copy of | |||
* the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.tests.themes.valo; | |||
import org.junit.Assert; | |||
import org.junit.Test; | |||
import com.vaadin.testbench.elements.TextFieldElement; | |||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||
/** | |||
* Test for default contrast color variable in valo-font-color function. | |||
* | |||
* @author Vaadin Ltd | |||
*/ | |||
public class ContrastFontColorTest extends MultiBrowserTest { | |||
@Test | |||
public void testTextColor() { | |||
openTestURL(); | |||
String color = $(TextFieldElement.class).first().getCssValue("color"); | |||
Assert.assertEquals( | |||
"Unexpected text color value using 0.1 as defualt contrast value :" | |||
+ color, "rgba(230, 230, 230, 1)", color); | |||
} | |||
} |