Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is really how I originally intended to implement luma but couldn't quite figure it out at the time!
This makes luma a function of the color object rather than a less function. It retains that interface, but it now means that the luma calculation only happens in one place (previously it was in two). The color object's luma function does not look at alpha, but the luma and contrast less functions do take alpha into account.
Also integrates a tweak to the contrast function that means that light and dark parameters are set according to their luma value, not their order, so the result of these will be the same:
I don't think this has any BC issues. All test cases still pass, and I've added a case for the contrast tweak.