npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

color-contrast-table-react

v3.0.4

Published

takes an array of colors and generates an html table showing wcag scores for all possible color combinations

Downloads

499

Readme

color-contrast-table-react

Takes an array of colors and generates a table showing WCAG scores for all possible color combinations

Install

npm install --save color-contrast-table-react

The package generates a chart similar to this one

example chart

Props

| name | type | required | notes | | --------------- | ----------- | -------- | ----- | | colors | array | yes | see color-contrast-table | | useStyles | boolean | no | turn on default styles for chart | | editNames | boolean | no | activate input for color names, does not need to be passed if onNamesChange is provided | | editValues | boolean | no | activate input for color values, does not need to be passed if onValuesChange is provided | | onNamesChange | function | no | optional callback to be fired when color name inputs change, will be passed (colorIndex, event.target.value) | | onValueChange | function | no | optional callback to be fired when color value inputs change, will be passed (colorIndex, event.target.value) | | onInputBlur | function | no | optional callback to be fired on blur of any input, will be passed (event) |

color-contrast-table

This packages uses my other color contrast helper and requires a prop of colors of the shape specified there - an array of color value strings, or an array of objects containing {name, value}.

Styles

useStyles prop can turn on my opinionated styles. They can be used, or not, but either way the table can be styled or overridden using BEM syntax CSS classes.

Live Editing

A prop of editNames or editValues can be passed to the <ColorContrastChart/> component to allow either the color name, color value, or both to be edited on the page. These will be stored in local state until the page is refreshed, contrast scores will update in real time.

If you wish to override the state local to the <ColorContrastChart/>, custom functions for onNamesChange and onValuesChange can be passed in via props with those same names. These functions can do whatever you want, ie - save a new value elsewhere in your app and update the array passed via the colors prop.

If you want to do something sparingly, like update an external database or something, you can pass a prop for onInputBlur which will fire an event whenever a user exits either type of input.

License

MIT © ryanfiller