From adec3b21b0c5b7ea418c85f0524c2172c04360ba Mon Sep 17 00:00:00 2001 From: rnentjes Date: Thu, 8 Jul 2021 16:15:42 +0200 Subject: [PATCH] Add Color conversion options (add hsla -> hex) --- build.gradle.kts | 2 +- .../kotlin/nl/astraeus/css/properties/Color.kt | 6 +++++- src/commonTest/kotlin/nl/astraeus/css/TestCssBuilder.kt | 1 + src/jsMain/kotlin/nl/astraeus/css/Test.kt | 9 +++------ 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index fe41628..b3b3f41 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "nl.astraeus" -version = "0.4.25" +version = "0.4.27" repositories { maven { setUrl("https://dl.bintray.com/kotlin/kotlin-eap") } diff --git a/src/commonMain/kotlin/nl/astraeus/css/properties/Color.kt b/src/commonMain/kotlin/nl/astraeus/css/properties/Color.kt index 8c5e6b8..625a991 100644 --- a/src/commonMain/kotlin/nl/astraeus/css/properties/Color.kt +++ b/src/commonMain/kotlin/nl/astraeus/css/properties/Color.kt @@ -63,7 +63,11 @@ class Color(value: String) : CssProperty(value) { } } - fun toHex(): String = toRGBA().asHex() + fun toHex(): String = if (isHsla() || isHsl()) { + fromHSLANotation().asRGBA().asHex() + } else { + toRGBA().asHex() + } fun isHsla(): Boolean { val v = rgb ?: value diff --git a/src/commonTest/kotlin/nl/astraeus/css/TestCssBuilder.kt b/src/commonTest/kotlin/nl/astraeus/css/TestCssBuilder.kt index f7c4e11..6196caa 100644 --- a/src/commonTest/kotlin/nl/astraeus/css/TestCssBuilder.kt +++ b/src/commonTest/kotlin/nl/astraeus/css/TestCssBuilder.kt @@ -237,6 +237,7 @@ class TestCssBuilder { assertEquals(0.5, hsla.getAlpha()) assertEquals(0.4, hexa.getAlpha()) assertEquals("646e78", rgba.toHex()) + assertEquals("bf4240", hsla.toHex()) } } diff --git a/src/jsMain/kotlin/nl/astraeus/css/Test.kt b/src/jsMain/kotlin/nl/astraeus/css/Test.kt index 26314c3..3ed46ac 100644 --- a/src/jsMain/kotlin/nl/astraeus/css/Test.kt +++ b/src/jsMain/kotlin/nl/astraeus/css/Test.kt @@ -1,11 +1,6 @@ package nl.astraeus.css -import nl.astraeus.css.properties.AlignContent -import nl.astraeus.css.properties.DelayDuration -import nl.astraeus.css.properties.TimingFunction -import nl.astraeus.css.properties.hex -import nl.astraeus.css.properties.hsla - +/* fun main() { val sd = style { select("#pipo") { @@ -31,3 +26,5 @@ fun main() { //println(sd.generateCss()) } + +*/ \ No newline at end of file