The current Color.Companion.parseColor implementation contains critical bugs:
- Throws "Unknown color" for valid #RRGGBB/#AARRGGBB inputs (requires [0] != '#' instead of [0] == '#')
- Explicitly fails for 9-character inputs (e.g., #FF8800CC) with require(colorHEX.length != 9)
- Does not handle 3-digit (#RGB) or 4-digit (#ARGB) shorthand formats
Steps to Reproduce:
import dev.icerock.moko.graphics.Color
import dev.icerock.moko.graphics.parseColor
// Throws "Unknown color" (valid input)
Color.parseColor("#FF8800")
// Throws "Unknown color" (valid 8-digit)
Color.parseColor("#80FF8800")
Expected Behavior:
Supports standard formats
#RGB → Color(r=0xRR, g=0xGG, b=0xBB)
#RRGGBB → Color(r=0xRR, g=0xGG, b=0xBB)
#AARRGGBB → Color(a=0xAA, r=0xRR, g=0xGG, b=0xBB)