color.is-powerless() returns a boolean: true when a named channel is powerless in a space — changing it would not change how the color looks. Classic case: hue on a grey (HSL saturation 0%). Load it with @use "sass:color" on Dart Sass 1.79+. There is no separate global alias.
Pass a quoted channel name ("hue") and an optional unquoted$space (hsl, oklch, …). Defaults to $color’s own space.
Official samples.
color.is-powerless(hsl(180deg 0% 40%), "hue") → true. Same color "saturation" → false. color.is-powerless(#999, "hue", $space: hsl) → true.
Powerless vs missing.
Powerless means the dial may still have a value, but turning it does nothing. Missing means the channel is absent (none). Use color.is-missing() for absence.
Examples target Dart Sass 1.79+. Booleans are interpolated into custom properties so you can open View Compiled CSS. @debug lines print to the compiler terminal / log.
Example 1 — HSL Grey: Hue Powerless, Saturation Not
Zero saturation makes hue powerless (official docs sample).
Powerless = turning the dial does nothing (e.g. hue on a grey).
HSL sat 0% / LCH chroma 0% / HWB W+B > 100% make hue powerless.
Quote the channel; optional unquoted $space.
Different from is-missing — Dart Sass 1.79+, module only.
One line:color.is-powerless tells you when a channel cannot change the look — guard hue accents on greys.
Compile
Compile Notes
Conceptual flow:
flow.txt
1. @use "sass:color" (Dart Sass 1.79+)
2. Resolve $color in $space (or its own space)
3. Inspect the quoted $channel
4. Return true if that channel is powerless
5. CSS sees only the boolean or the branched result
Frequently Asked Questions
color.is-powerless($color, $channel, $space: null) returns true if that channel is powerless in the chosen space—changing it would not change how the color looks. Example: color.is-powerless(hsl(180deg 0% 40%), "hue") is true.
Official docs: in hsl when saturation is 0%; in hwb when whiteness + blackness is greater than 100%; in lch/oklch when chroma is 0%.
Missing means the channel is absent (for example CSS none). Powerless means the channel may still have a value, but it does not affect appearance—like hue on a grey.
color.is-powerless() and its $space argument need Dart Sass 1.79+. Older compilers report Undefined function.
Pass a quoted channel string such as "hue". Pass an unquoted space name such as hsl or oklch for $space.
No. Use the module form color.is-powerless() after @use "sass:color".