@tokens-studio/types
Version:
 
19 lines (18 loc) • 824 B
TypeScript
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 {};