@codegouvfr/react-dsfr
Version:
French State Design System React integration library
25 lines (21 loc) • 742 B
text/typescript
import { getColorOptions } from "./generatedFromCss/getColorOptions";
import type { ColorOptions } from "./generatedFromCss/getColorOptions";
import { getColorDecisions } from "./generatedFromCss/getColorDecisions";
import type { ColorDecisions } from "./generatedFromCss/getColorDecisions";
import { memoize } from "../tools/memoize";
export type ColorTheme = {
isDark: boolean;
decisions: ColorDecisions;
options: ColorOptions;
};
export const getColors = memoize(
(isDark: boolean): ColorTheme => {
const options = getColorOptions({ isDark });
return {
isDark,
options,
"decisions": getColorDecisions({ "colorOptions": options })
};
},
{ "max": 1 }
);