mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-07 16:33:51 +00:00
98bd320cbd
* style: coloured row background
30 lines
831 B
TypeScript
30 lines
831 B
TypeScript
import Color from 'color';
|
|
|
|
type ColourCombination = {
|
|
backgroundColor: string;
|
|
color: string;
|
|
};
|
|
|
|
/**
|
|
* @description Selects text colour to maintain accessible contrast
|
|
* @param bgColour
|
|
* @return {{backgroundColor, color: string}}
|
|
*/
|
|
export const getAccessibleColour = (bgColour?: string): ColourCombination => {
|
|
if (bgColour) {
|
|
try {
|
|
const textColor = Color(bgColour).isLight() ? 'black' : '#fffffa';
|
|
return { backgroundColor: bgColour, color: textColor };
|
|
} catch (_error) {
|
|
/* we do not handle errors here */
|
|
}
|
|
}
|
|
return { backgroundColor: '#000', color: '#fffffa' };
|
|
};
|
|
|
|
/**
|
|
* @description Creates a list of classnames from array of css module conditions
|
|
* @param classNames - css modules objects
|
|
*/
|
|
export const cx = (classNames: any[]) => classNames.filter(Boolean).join(' ');
|