- Shadow DOM support: the picker now injects its styles into the closest
ShadowRootwhen rendered inside one (via #232)
- Add
onChangeEndcallback that fires when the user finishes changing a color (on mouse up, touch end, or arrow key up). Useful for undo/redo, saving to a database, or other expensive operations (via #230)
- Fix React 19 TypeScript compatibility (via #229)
- Update export settings to fix Jet 28 issues (via #191)
- Add new
HexAlphaColorPickercomponent (via #186) - Fix types export for TYpeScript 4.7. Thanks to @AnotherHermit (via #189)
- Improve ARIA attribute values for sliders. Thanks to @aitchiss (via #177)
- Fix embedding into
<iframe>. The component is rendered correctly by libraries likereact-frame-component. Thanks to @leoc4e (via #166)
- Multitouch! 鉁岋笍 Thanks to @xnimorz (via #158)
- Add new
alphaproperty forHexColorInputto allow "#rgba" and "#rrggbbaa" formats (via #155)
- Fix potential memory leaks and improve the performance. Thanks to @xnimorz (via #151)
- Add new
prefixedproperty forHexColorInputto display "#" prefix (via #146)
- Fix: Make the picker take focus on click (via #143)
- Fix "Unable to preventDefault inside passive event listener" (via #141)
- Fix rounded corner rendering bug (via #140)
- Improve input color parsers to support more CSS color notations and units (via #133)
- Fix
.mjsfile publishing (via #129)
- Export
.mjsfile to improve different environments and bundlers support. Thanks to @rschristian (via #127)
- Add
"default"fallback to the exports map (via #124)
- Fix
setNoncetype declaration file publishing (via #123)
- The picker complies with the strict CSP (Content Security Policy). The
styletag added by the component uses a nonce hash provided by Webpack or the one defined manually by the newsetNoncefunction (via #121)
- The picker supports all HTML attributes and DOM events that a regular tag does (e.g.
idoronMouseEnter(via #119)
- The library is 100% CSS-in-JS now. No need to import the CSS file to render the picker properly (via #101)
- Fix bug when a user releases the mouse button outside of the document bounds (via #99)
- Get rid of
useLayoutEffectwarning when using on the server (via #95)
- Fix CSS loading in Webpack v5 (via #91)
- Disable static class names minification (via #86)
- Migrate from CSS modules to static class names (via #84)
- Better Skypack support. Thanks to @rschristian (via #83)
- Better React 17 support (via #80)
- Round output values (via #77)
- Fix pointer rendering bug on Safari 14 (via #74)
- Do not display the default focus styles
- 100% code coverage
- Better Internet Explorer 11 support (via #65)
- The picker follows the WAI-ARIA guidelines to support users of assistive technologies. The component is completely accessible with keyboard navigation: you can focus on any picker's part using the Tab button and change the color with the arrow keys. Made by @omgovich (via #63)
- Simplify gradient CSS styles
- Improve pasting from clipboard to
HexColorInput
- Fix: Fast Tap and Release in iOS Safari (via #56)
- Adding
HsvStringColorPickerandHsvaStringColorPickercomponents. Thanks to @rschristian (via #48)
- Resolving
TouchEventerror on Firefox. Thanks to @rschristian (via #53)
- Improve
Interactiveinternal typing (via #50)
- Allow to pass custom
onBlurcallback toHexInput(via #49) - Improve
HexColorInputtypes (via #49)
- Add alpha picker demos
- Alpha channel support (via #47)
- Additional components to work with RGBA, HSLA, HSVA color models (via #47)
- Improve TypeScript tooling. Thanks to @rschristian (via #45)
- Fix
sideEffectsto keep CSS-files
- Migrate to named exports. Thanks to @rschristian (via #42)
- Mark the library as side-effect-free and add tree-shaking support. Thanks to @rschristian (via #42)
- More consistent public component and type names. Thanks to @rschristian (via #42)
- Fix type definitions: make all
HexInputprops optional - Enhance internal event type definitions. Thanks to @byr-gdp (via #41)
- Escape from "useCallback hell" and improve performance by adding
useEventCallbackhook. Thanks to @jeetiss (via #40)
- Extend allowed
HexInputprops withHTMLInputElement
- The entire codebase was rewritten in TypeScript by @rschristian (via #23)
- Fix type definitions: make all of the picker props optional
- TypeScript types are now bundled with the library. Thanks to @rschristian (via #22)
- Make the pointer grabbable even if it is outside of the picket bounds (via #21)
- Fix bug if user taps on the picker and does not move the pointer afterward
- Add
HexInputcomponent that allows to paste and type a HEX color
- Reduce the number of folders published to NPM
- Rewrite
Interactiveto make the bundle lighter
- Fix HSV to RGB conversion algorithm
- Rewrite utils to make the bundler lighter
- Update docs and tooling
- Support new input/output formats: RGB object, RGB string, HSL object, HSL string, HSV object
- Test components with Jest and React Testing Library
- Fix
box-sizingof the pointers
- Refactor
Interactivea bit in order to make the package lighter
- Get rid of unused
classNameprops inHueandSaturationcomponents
- Add
equalHexandequalColorObjectsutils and write tests for them
- Make the package dependency-free
- Do not trigger
onChangeafter the mounting
- Migrate from color-fns to @swiftcarrot/color-fns which is 40% lighter
- Use proper JSX pragma for React. Thanks to @jeetiss
- HEX color picker component