UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

34 lines (33 loc) 1.19 kB
import { useTheme } from '@workday/canvas-kit-react/common'; import { colors } from '@workday/canvas-kit-react/tokens'; import chroma from 'chroma-js'; const isAccessible = (foreground, background) => { return chroma.contrast(foreground, background) >= 3; }; const getPaletteColorsFromTheme = (palette, fallbackColors) => { return { hover: palette.dark, normal: palette.main, contrast: isAccessible(palette.contrast, palette.main) ? palette.contrast : fallbackColors === null || fallbackColors === void 0 ? void 0 : fallbackColors.contrast, }; }; export const getPaletteColors = (type, theme) => { const palette = theme.canvas.palette[type]; switch (type) { case 'error': { return getPaletteColorsFromTheme(palette, { contrast: colors.frenchVanilla100 }); } case 'alert': { return getPaletteColorsFromTheme(palette, { contrast: colors.blackPepper400 }); } default: { return getPaletteColorsFromTheme(palette); } } }; export const useThemedPalette = (type) => { const theme = useTheme(); return getPaletteColors(type, theme); };