@thangk/easythemer
Version:
Easily generate shades from a colour palette for use in your app
33 lines (32 loc) • 991 B
TypeScript
import { ThemeOptions, ShadeMultipliers, ThemeOption, Theme } from "../types";
/**
* **customOptions**
* - colour input from user to generate theme
* - user's input is validated first, if errors, return error and stop
* - if no errors, merge with default options
* - apply options to generate theme
*
* **customShades**
* - if user provides custom shades, validate first
* - if no errors, merge with default shades
* - apply shades to generate theme
*
* @param InputObject
* @returns
*/
export default function useThemer({ customOptions, customShades, }: {
customOptions?: ThemeOptions;
customShades?: ShadeMultipliers;
}): {
themeOptions: ThemeOption | {
params_l: {
useDefault: boolean;
};
hex: string;
generateShades: boolean;
params_default: import("../types").ThemeParams;
} | undefined;
themeShades: ShadeMultipliers | undefined;
theme: Theme;
errors: {};
};