Color Value Tools
Универсальная библиотека для разбора, конвертации, изменения и анализа цветов во всех основных цветовых моделях — hex, RGB, HSL, HSV, HWB, Lab, LCH, Oklab, Oklch, CMYK, Display P3 — плюс CSS-переменные и именованные цвета. Без зависимостей.
Возможности
- Универсальный парсер —
normalizeColor()принимает hex (3/4/6/8 цифр),rgb()/rgba(),hsl()/hsla(),hwb(),oklch()/oklcha(),color(display-p3 ...), именованные CSS-цвета (все 148) и обычные объекты{r,g,b}/{h,s,l} - Конвертации — любой путь между hex, RGB, HSL, HSV, HWB, Lab, LCH, Oklab, Oklch, CMYK, Display P3; все точны при обратном преобразовании
- Манипуляции —
lighten,darken,saturate,desaturate,invertColor,grayscale,setAlpha,rotateHue,adjustHexBrightness - Смешивание и интерполяция —
mixColorsиinterpolateColorsв 6 цветовых пространствах с 4 режимами интерполяции оттенка;createColorScaleпо нескольким опорным цветам с произвольными позициями;midpointColorдля перцептивной середины - Цветовые гармонии —
complement,triadic,analogous,splitComplementary,tetradic - Генерация палитр —
colorShades,monochromatic,tints,shades,tones,randomColor— все точны в Oklab там, где это применимо - WCAG-доступность —
relativeLuminance,contrastRatio,wcagLevel,bestTextColor,bestContrastColor,bestContrastPalette,isReadableOnBackground(сплошной, полупрозрачный и градиентный фон) - Симуляция дальтонизма — протанопия, дейтеранопия, тританопия по матрицам Vienot 1999
- Перцептивное расстояние между цветами —
colorDeltaE, реализующая полную формулу CIEDE2000 - CSS-форматирование —
toHslString,toHwbString,toOklchString,toColorP3String - Кэш мемоизации —
normalizeColorCachedкэширует разобранные результаты в памяти;getCacheStats,clearColorCache,enableCache/disableCache - Ленивые функции-генераторы —
generateGradientColors,generateTints,generateShadesдля итерации без предварительного выделения массивов - CLI (
cvt) — исследуйте любой цвет из терминала: полная информация, все конвертации, WCAG-контраст, оттенки, гармонии, ближайший именованный цвет - Без зависимостей — никаких runtime-зависимостей; поставляется как tree-shakeable ESM + CommonJS