npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@johv/sass-labmix

v1.0.1

Published

Pure-Sass color mixing in Lab, LCh and related color spaces

Downloads

2

Readme

@johv/sass-labmix

This pure-Sass library provides an alternative to some of the features that will be added in CSS Color Module Level 5, namely mix as an alternative to color-mix() and support for Lab and LCh color spaces through the lab and lch functions.

When these functions become commonly available through CSS, this library will be deprecated. See the Alternatives section below for more information.

The library is a fork of Tobias Bengfort's sass-planifolia. The aim of this fork is to strip it down to just the color-manipulation functions and bring it up to date with the current version of Sass. Read this pull request to understand why this fork exists.

See the full documentation for more details.

Quick start

Install the library:

npm install --save-dev @johv/sass-labmix

Import it in your Sass files (most bundlers support the tilde-syntax; otherwise use node_modules/@johv/sass-labmix explicitly):

@use "~@johv/sass-labmix" as labmix;

.test {
    background-color: red;

    // pick between two colors (default: black and white) to get good contrast
    color: labmix.contrast-color(red);

    // mix orange with black or white to get good contrast to red
    border-color: labmix.contrast-stretch(red, orange);

    // mix red with black in a perceptually uniform color space
    box-shadow: 0 0 1em labmix.shade(red, 0.5, 'lab');
}

Alternatives

  • CSS Color Module Level 5 will provide native support for Lab and related color spaces and will support color mixing with colox-mix(). However, as of May 2022, it is not yet widely available.
  • Parcel's CSS transformer implements some of the functionality of CSS Color Module Level 5, including color-mix() and lch(). If you're already using Parcel, just use that instead!
  • PostCSS supports Lab and related color spaces through postcss-preset-env, but as of May 2022, it does not support color-mix().
  • This library is a fork of sass-planifolia. This fork has less functionality, but aims to be compatible with Dart Sass (without triggering any deprecation warnings). Changes made here may or may not be upstreamed into Planifolia in the future.
  • oddbird/blend also provides early access to some of the functionality of the CSS Color Module Level 5 features, but unless I'm missing something, there is no equivalent of mix.