UNPKG

@tokens-studio/types

Version:

![NPM version badge](https://img.shields.io/npm/v/@tokens-studio/types) ![License badge](https://img.shields.io/github/license/tokens-studio/types)

19 lines (18 loc) 824 B
import { ColorModifierTypes } from '../constants/ColorModifierTypes.js'; import { ColorSpaceTypes } from '../constants/ColorSpaceTypes.js'; interface Modifier<T extends string, V> { type: T; value: V; } interface ColorGenericModifier<T extends ColorModifierTypes, V> extends Modifier<T, V> { space: ColorSpaceTypes; format: string; } export type LightenModifier = ColorGenericModifier<ColorModifierTypes.LIGHTEN, string>; export type DarkenModifier = ColorGenericModifier<ColorModifierTypes.DARKEN, string>; export interface MixModifier extends ColorGenericModifier<ColorModifierTypes.MIX, string> { color: string; } export type AlphaModifier = ColorGenericModifier<ColorModifierTypes.ALPHA, string>; export type ColorModifier = LightenModifier | DarkenModifier | MixModifier | AlphaModifier; export {};