UNPKG

@thangk/easythemer

Version:

Easily generate shades from a colour palette for use in your app

77 lines (70 loc) 1.6 kB
import type { ChannelParams, ShadeFactorsSet, ShadeOption } from "./types"; export enum TYPE { HSL = "HSL", CHANNEL_PARAMS = "ChannelParams", SHADE_OPTION = "ShadeOption", SHADES_SET = "ShadesSet", SHADE_FACTORS_SET = "ShadeFactorsSet", USE_THEMER_PROP = "UseThemerProp", } export const BOUND_LIMITS = { MAX_UPPERBOUND_DIVIDER: 5, MIN_UPPERBOUND_DIVIDER: 1, MAX_LOWERBOUND_DIVIDER: 5, MIN_LOWERBOUND_DIVIDER: 1, MAX_UPPERBOUND_PADDING: 0.9, MIN_UPPERBOUND_PADDING: 0.1, MAX_LOWERBOUND_PADDING: 0.9, MIN_LOWERBOUND_PADDING: 0.1, }; export const HSL_LIMITS = { MAX_H: 360, MIN_H: 0, MAX_S: 100, MIN_S: 0, MAX_L: 100, MIN_L: 0, }; export const defaultChannelParams: ChannelParams = { type: TYPE.CHANNEL_PARAMS, upperboundDivider: 3, lowerboundDivider: 3, upperboundPadding: 0.9, lowerboundPadding: 0.6, useBounds: false, channel: "h", }; export const defaultShadeOption: ShadeOption = { type: TYPE.SHADE_OPTION, optionName: "orange", hex: "#ff670f", generateShades: true, channelParams: [ { ...defaultChannelParams, channel: "h", }, { ...defaultChannelParams, channel: "s", }, { ...defaultChannelParams, useBounds: true, channel: "l", }, ], }; export const defaultShadeFactorsSet: ShadeFactorsSet = { type: TYPE.SHADE_FACTORS_SET, setName: "default", shadeFactors: { lightest: 3, lighter: 2, light: 1, normal: 0, dark: -1, darker: -2, darkest: -3, }, };