From 33dd3247083b1ffd05d00ada95c8f7c616949608 Mon Sep 17 00:00:00 2001 From: Kata Date: Mon, 20 May 2019 06:27:45 -0400 Subject: [PATCH] [design]: add color lib and helpers --- packages/roleypoly-design/package.json | 2 ++ packages/roleypoly-design/src/helpers/colors.ts | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 packages/roleypoly-design/src/helpers/colors.ts diff --git a/packages/roleypoly-design/package.json b/packages/roleypoly-design/package.json index 6e9c567..b03242d 100644 --- a/packages/roleypoly-design/package.json +++ b/packages/roleypoly-design/package.json @@ -3,6 +3,7 @@ "name": "@roleypoly/design", "version": "2.0.0", "dependencies": { + "color": "^3.1.1", "react": "^16.8.6", "react-dom": "^16.8.6", "styled-components": "^4.2.0" @@ -20,6 +21,7 @@ "@storybook/addon-storyshots": "^5.0.11", "@storybook/addons": "^5.0.11", "@storybook/react": "^5.0.11", + "@types/color": "^3.0.0", "@types/enzyme-adapter-react-16": "^1.0.5", "@types/jest": "^24.0.13", "@types/node": "^12.0.2", diff --git a/packages/roleypoly-design/src/helpers/colors.ts b/packages/roleypoly-design/src/helpers/colors.ts new file mode 100644 index 0000000..02a360f --- /dev/null +++ b/packages/roleypoly-design/src/helpers/colors.ts @@ -0,0 +1,16 @@ +import * as Color from 'color' + +const color = (i: Color | string) => { + return new Color(i) +} + +export const stepUp = (input: Color | string): string => { + return color(input).lighten(0.1).string() +} +export const stepDown = (input: Color | string): string => { + return color(input).darken(0.1).string() +} + +export const textMode = (bg: Color | string, light: string = '#efefef', dark: string = '#1c1111'): string => { + return color(bg).isDark() ? light : dark +}