
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@ch-ui/colors
Advanced tools
Procedural color algorithms based upon drawing helical bézier curves in LAB space.
@ch-ui/colors
The colors package exports functions that help generate color systems by drawing an arc as helically transformed bézier curves through OK Lab color space. It uses the colorsjs.io
package to convert between color spaces and output tokens for supported gamuts.
You might prefer to use this package via @ch-ui/tokens
, which surfaces a more use-case oriented API.
pnpm add @ch-ui/colors
Then, use the exported functions as you like. Examples are provided below.
Most projects either inherit colors from a default set like Tailwind’s, or they have designers who manually select colors to use. Those approaches work fine for some, but there are others who both want customized color palettes and don’t have time to manually manage each and every shade in every gamut they want to support.
The main part of the solution this package implements is predicated on a few assumptions:
In order to preserve chromaticity (“saturation”/“colorfulness”), so that all the other shades don’t look markedly more muted than the key color, the path between the key color and either of the extremes should curve, therefore the arc is two continuous bézier curves that meet at the key color.
Procedural color palettes often run into the “mustard problem”: in western cultures, if you reduce only the lightness of the prototypical shade of yellow and use that shade in a UI, users and designers find these shades unappealing. Essentially, there are zones of any gamut which folks prefer to avoid.
So that the arc has no sudden discontinuities and can be reasoned about as a smooth & differentiable shape in 3D space, this package supports applying torsion along the hue axis to the bézier curves. By applying torsion, a yellow color palette’s arc can gently twist toward the red part of the gamut as it gets darker, yielding procedural results that don’t exhibit any mustard shades.
FAQs
Procedural color algorithms based upon drawing helical bézier curves in LAB space.
The npm package @ch-ui/colors receives a total of 117 weekly downloads. As such, @ch-ui/colors popularity was classified as not popular.
We found that @ch-ui/colors demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.