2.2.0 • Published 6 years ago

@magedragonfrog/readable-text-color v2.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

@magedragonfrog/readable-text-color

Applies 'black' or 'white' as foreground color to HTML elements depending on their background color.

Usage

First off you need to install the package from NPM using npm install --save @magedragonfrog\readable-text-color.
Once the package is installed you can import the applyReadableTextColor function from @magedragonfrog\readable-text-color.
For example:

import { applyReadableTextColor } from '@magedragonfrog\readable-text-color'

applyReadableTextColor();

When applyReadableTextColor() is be called without any arguments, the function...

  • ...will apply to all HTML Elements decorated with the data-* attribute data-apply-readable-text-color
  • ...will consider bright all background colors that have a perceived brightness greater than 0.5

To customize this behavior supply applyReadableTextColor() a ReadableTextColorConfiguration.
ReadableTextColorConfiguration exposes two properties:

brightnessThreshold: Perceived brightness threshold, if a color as a perceived brightness greater than this number it will considered bright.
By default the value is 0.5.

elementsToAffectSelector: CSS selector used to select all the elements that will be affected by calling applyReadableTextColor() without arguments.
By default the selector is data-apply-readable-text-color

You can also give to applyReadableTextColor() an array of HTMLElement or a NodeListOf<HTMLELement> to target.
If this argument is supplied the property ReadableTextColorConfiguration.elementsToAffectSelector has no effect.

If you want to supply you array of HTMLElement or a NodeListOf<HTMLElement> but still use the default configuration, import and call applyReadableTextColorWithDefaultConfiguration().
For Example:

import { applyReadableTextColor } from '@magedragonfrog\readable-text-color'

const elementsToAffect = document.querySelectorAll('div > p');

applyReadableTextColorWithDefaultConfigurationTo(elementsToAffect);

Color representations supported

Refer to css-color-parser README

2.2.0

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.0.0

6 years ago