Skip to content

Commit 94579be

Browse files
authored
Merge pull request #153 from dev-five-git/optimize-color-hex-alpha
Optimize hex color with alpha
2 parents d5d10a5 + 60ded6f commit 94579be

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

.changeset/forty-memes-occur.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@devup-ui/wasm": patch
3+
---
4+
5+
Optimize hex color with alpha

libs/css/src/lib.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,11 @@ fn optimize_color(value: &str) -> String {
362362
if ch[0] == ch[1] && ch[2] == ch[3] && ch[4] == ch[5] {
363363
ret = format!("{}{}{}", ch[0], ch[2], ch[4]);
364364
}
365+
} else if ret.len() == 8 {
366+
let ch = ret.chars().collect::<Vec<char>>();
367+
if ch[0] == ch[1] && ch[2] == ch[3] && ch[4] == ch[5] && ch[6] == ch[7] {
368+
ret = format!("{}{}{}{}", ch[0], ch[2], ch[4], ch[6]);
369+
}
365370
}
366371

367372
format!("#{}", ret)
@@ -568,11 +573,25 @@ mod tests {
568573
sheet_to_classname("background", 0, Some("#FFF"), None, None),
569574
);
570575

576+
{
577+
let map = GLOBAL_CLASS_MAP.lock().unwrap();
578+
assert_eq!(map.get("background-0-#FFF--255"), Some(&3));
579+
}
580+
571581
assert_eq!(
572582
sheet_to_classname("background", 0, Some("#ffffff"), None, None),
573583
sheet_to_classname("background", 0, Some("#FFFFFF"), None, None),
574584
);
575585

586+
assert_eq!(
587+
sheet_to_classname("background", 0, Some("#ffffffAA"), None, None),
588+
sheet_to_classname("background", 0, Some("#FFFFFFaa"), None, None),
589+
);
590+
591+
{
592+
let map = GLOBAL_CLASS_MAP.lock().unwrap();
593+
assert_eq!(map.get("background-0-#FFFA--255"), Some(&4));
594+
}
576595
assert_eq!(
577596
sheet_to_classname(
578597
"background",

0 commit comments

Comments
 (0)