From 541b61a149977464ba58b8af3353f69cba3113e3 Mon Sep 17 00:00:00 2001 From: Henning Pohlmeyer Date: Fri, 30 Aug 2019 08:16:30 +0200 Subject: [PATCH] Expose isLight and isDark functions --- src/index.ts | 6 ++++++ tests/index.test.ts | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 6a19c15..68e3fc0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +import tinycolor from 'tinycolor2'; import generate from './generate'; export interface PalettesProps { @@ -43,8 +44,13 @@ const purple = presetPalettes.purple; const magenta = presetPalettes.magenta; const grey = presetPalettes.grey; +const isLight = (color: string): boolean => tinycolor(color).isLight(); +const isDark = (color: string): boolean => tinycolor(color).isDark(); + export { generate, + isLight, + isDark, presetPalettes, presetPrimaryColors, red, diff --git a/tests/index.test.ts b/tests/index.test.ts index f36f5d5..5bd38d0 100644 --- a/tests/index.test.ts +++ b/tests/index.test.ts @@ -1,4 +1,4 @@ -import { generate, presetPalettes } from '../src'; +import { generate, isLight, isDark, yellow, purple, presetPalettes } from '../src'; export const blueColors = [ '#E6F7FF', @@ -17,6 +17,16 @@ test('Generate palettes from a given color', () => { expect(generate('#1890ff')).toEqual(blueColors); }); +test('Determine the lightness of a color', () => { + expect(isLight(yellow[5])).toEqual(true); + expect(isLight(purple[5])).toEqual(false); +}); + +test('Determine the darkness of a color', () => { + expect(isDark(yellow[5])).toEqual(false); + expect(isDark(purple[5])).toEqual(true); +}); + test('should contain preseted palettes', () => { expect(Object.keys(presetPalettes)).toEqual([ 'red',