You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Opacity modifiers on theme colours compile to color-mix(unset) on web and native #705
Expected: the colour mixes the current theme's --primary, as bg-primary does
(background-color: var(--primary)).
Actual:
Web (expo export -p web): .bg-primary\/12{background-color:color-mix(in srgb, unset 12%, transparent)}.
Browsers drop the declaration, so the class has no effect.
The same happens with an arbitrary value, bg-[color-mix(in_srgb,var(--primary)_12%,transparent)].
Likely cause: the themes artifact declares every theme variable as unset in an @theme
block (src/bundler/artifacts/css/themes.ts, `${variable}: unset;`). Tailwind then
resolves var(--primary) against that value when it builds the colour-mix fallback for opacity
modifiers, and Uniwind uses that fallback.
Workaround on web: declaring the mapping with plain @theme instead of @theme inline makes
Tailwind also emit @supports (color: color-mix(in lab, red, red)) { … var(--color-primary) … },
which browsers apply. Native still receives colorMix("unset", …).
Activity
github-actions commentedon Oct 2, 2026
This issue must be reported using the official issue templates: Bug report or Bug report (Uniwind Pro).