Maintained modernization fork: @antonlimar/react-color

Author: antonlimarCreated May 21, 2026Updated May 22, 2026

Hi everyone,

For anyone still depending on react-color: I maintain a modernization fork published as @antonlimar/react-color.

The goal is to keep the familiar react-color API and picker set usable in modern React projects, while updating the package internals, build pipeline, documentation, and type support.

Why this fork exists

The original react-color package has been hugely useful for years, but many projects now need a maintained version that works better with current React, ESM-first tooling, TypeScript-aware development, modern test runners, and actively maintained documentation.

@antonlimar/react-color is intended as a practical continuation of that work rather than a completely new picker library.

What is improved

  • Maintained fork with current releases.
  • TypeScript-compatible source and public typings.
  • Modern ESM package output.
  • Root named imports for the familiar picker components.
  • Preserves the familiar top-level picker names where practical: AlphaPicker, BlockPicker, CirclePicker, ChromePicker, CompactPicker, GithubPicker, GooglePicker, HuePicker, MaterialPicker, PhotoshopPicker, SketchPicker, SliderPicker, SwatchesPicker, and TwitterPicker.
  • Shared building blocks are still available, including CustomPicker, Alpha, Hue, Saturation, EditableInput, Checkboard, Raised, and Swatch.
  • Modern docs site with live examples: https://antonlimar.github.io/react-color/
  • Storybook-based component development.
  • Vitest + Testing Library test stack.
  • Vite-based documentation site.
  • Component CSS is shipped with the relevant picker entrypoints.
  • Additional styling hooks such as className, classNames, theme, CSS variables, and public rc-* class hooks.

Migration

Install:

bash
npm install @antonlimar/react-color

Then update imports:

diff
- import { SketchPicker } from 'react-color';
+ import { SketchPicker } from '@antonlimar/react-color';

For most picker usage, the component-level API should feel familiar.

Important differences

This fork modernizes the package contract, so there are a few intentional differences:

  • Published package artifacts are ESM-focused.
  • CommonJS require('@antonlimar/react-color') is not supported.
  • Legacy deep imports from react-color/lib/... should be replaced with root named imports where possible.
  • Runtime propTypes are no longer emitted; TypeScript typings and docs are the preferred source of API feedback.

Links

Thanks to the original react-color maintainers and contributors. This fork exists because the original project became a widely adopted and very useful foundation.

Source: casesandberg/react-color