React change highlight (npm lib)

React Change Highlight is a react component to highlight changes in the wrapped component to enhance the UX and grap the focus of the user into the changed value of some parts like the cart in an e-commerce application for example.

You can play around with it on this sandbox codesandbox.io/react-change-highlight

and this is a real use case we are using in our app:

UseCase

Install

you can find this module as an npm package from here or install it directly from commands.

yarn add react-change-highlight

or

npm install react-change-highlight

Usage

Basically you need to wrap the components you want to highlight on change inside HighlightChange element then add ref attribute to each child in this component to be used to be highlighted.

In the following example the count variable comes from state, so when ever that function setCount() is called with any different value the background of that wrapped div will be changed

import ChangeHighlight from 'react-change-highlight';

export default () => {
  const [count, setCount] = useState(0);

  return (
    <ChangeHighlight>
      <div ref={React.createRef()}>{count}</div>
    </ChangeHighlight>
  );
}

Default styling for highlighting in case the user didn't use a custom styling using the highlightStyle property:

.react-highlight {
  background-color: #f8ffb4;
  transition: all 0.5s ease-in-out;
}

Props

Property Type Default Description
showAfter number 500 number of milli seconds before start highlighting
hideAfter number 2500 number of milli seconds before ending highlighting
containerClassName string className for component container
highlightStyle string className for highlighing content
disabled boolean false weather you need to disable highlighting

I hope you Enjoy using it and any comments or required features are most welcomed, keep in mind that this lib still in progress. Tot ziens 👋