5.4 KiB
5.4 KiB
@suaveplan/colours - Universal colour manipulation: parsing, conversion, analysis, mixing, blending, and palette generation
Universal colour manipulation library: parsing, conversion, analysis, mixing, blending, and palette generation. Parses hex (3/4/6/8 digit), CSS rgb(), hsl(), lab(), lch(), oklab(), oklch(), named colours, and plain objects. Converts between RGB, HSL, HSV, LAB, LCH, OKLAB, OKLCH, XYZ, and CMYK. Supports manipulation (lighten, darken, saturate, desaturate, rotate, alpha, fade, opaquer, negate, grayscale, mix), analysis (luminance, perceived brightness, contrast ratio, distance), and factories (random colours, temperature-based black-body curves, blend modes, gradient steps, harmonious palettes).
Documentation tree
- colour —
colour.tsimplements theColourclass — an immutable, chainable colour value object. It wraps an internalRGBAst…- colour-formatters —
colour-formatters.tsprovides deterministic string-formatting functions for every colour representation supported by… - colour —
colour.tsimplements theColourclass — an immutable, chainable colour value object. It wraps an internalRGBAst…
- colour-formatters —
- colour-factories —
colour-factories.tsprovides pure, deterministic helpers for generating colours and colour collections. It is complet…- colour-factories —
colour-factories.tsprovides pure, deterministic helpers for generating colours and colour collections. It is complet…
- colour-factories —
- conversions —
conversions.tsprovides deterministic, side-effect-free mathematical transforms between colour spaces. Every function…- conversions —
conversions.tsprovides deterministic, side-effect-free mathematical transforms between colour spaces. Every function…
- conversions —
- error-codes —
error-codes.tsdeclares the canonical error-code registry for@suaveplan/colours. Every failure mode that the colou…- error-codes —
error-codes.tsdeclares the canonical error-code registry for@suaveplan/colours. Every failure mode that the colou…
- error-codes —
- errors —
errors.tsprovides the typed error hierarchy for@suaveplan/colours.ColourErrorextendsSuaveplanErrorso that…- errors —
errors.tsprovides the typed error hierarchy for@suaveplan/colours.ColourErrorextendsSuaveplanErrorso that…
- errors —
- parser —
parser.tsconverts arbitrary colour input into a canonicalRGBAobject. It supports hex strings (3/4/6/8 digit), mo…- parser —
parser.tsconverts arbitrary colour input into a canonicalRGBAobject. It supports hex strings (3/4/6/8 digit), mo…
- parser —
- colour-types —
colour-types.tsis the universal type system and Zod schema registry for@suaveplan/colours. It defines TypeSc…- colour-types —
colour-types.tsis the universal type system and Zod schema registry for@suaveplan/colours. It defines TypeSc…
- colour-types —
- utils —
utils.tsprovides small, pure mathematical utilities used throughout@suaveplan/colours. Every function is determin…- utils —
utils.tsprovides small, pure mathematical utilities used throughout@suaveplan/colours. Every function is determin…
- utils —
Installation
bun add @suaveplan/colours
Quick Start
import { Colour } from "@suaveplan/colours";
const c = new Colour("#ff9900");
console.log(c.lighten(0.2).toHex()); // "#ffb34d"
console.log(c.isDark()); // false
console.log(c.contrast("#ffffff")); // WCAG contrast ratio
Modules
src/colour/colour.md—Colourclass and instance methodssrc/colour/colour-formatters.md— Output formatters (hex, rgb, hsl, etc.)src/colour-factories/colour-factories.md— Random colours, temperature, blend modes, palettessrc/conversions/conversions.md— Colour-space conversion functionssrc/parser/parser.md—parseColourinput parsersrc/types/colour-types/colour-types.md— TypeScript interfaces and Zod schemassrc/utils/utils.md— Clamping and rounding utilitiessrc/errors/errors.md—ColourErrorhierarchy and typed factoriessrc/error-codes/error-codes.md—COLOUR_CODESregistry
Subpath Exports
@suaveplan/colours/colour—Colourclass@suaveplan/colours/parser—parseColour@suaveplan/colours/conversions— colour-space conversion functions@suaveplan/colours/types— TypeScript interfaces and Zod schemas@suaveplan/colours/utils— clamping and rounding utilities@suaveplan/colours/errors—ColourErrorand factory functions@suaveplan/colours/error-codes—COLOUR_CODESregistry