UNPKG

@wise/components-theming

Version:

Provides theming support for the Wise Design system components

45 lines (42 loc) 1.74 kB
import { extraThemes, screenModes } from './const.mjs'; /** * @deprecated "modern" theme is released, you should not need check for "modern" theme anymore */ const isThemeModern = theme => true; const isExtraTheme = theme => extraThemes.includes(theme); const isForestGreenTheme = theme => theme === extraThemes[0]; const isScreenModeDark = (theme, screenMode) => screenModes[1] === screenMode; const getThemeClassName = (theme, screenMode) => { // Personal light is always there by default const themeClasses = ['np-theme-personal']; /* eslint-disable functional/immutable-data */ // Personal dark theme if (theme === 'personal' && screenMode === 'dark') { themeClasses.push(`np-theme-personal--${screenMode}`); } // Personal forest-green and bright-green themes else if (['forest-green', 'bright-green'].includes(theme)) { themeClasses.push(`np-theme-personal--${theme}`); } // Business light else if (theme === 'business') { themeClasses.push(`np-theme-business`); // Business dark theme if (screenMode === 'dark') { themeClasses.push(`np-theme-business--${screenMode}`); } } // Business forest-green and bright-green themes else if (['business--forest-green', 'business--bright-green'].includes(theme)) { themeClasses.push(`np-theme-${theme}`); } // Platform themes else if (theme.startsWith('platform')) { themeClasses.push(`np-theme-${theme}`); } /* eslint-enable functional/immutable-data */ return themeClasses.join(' '); }; const normalizeTheme = theme => theme === 'light' ? 'personal' : theme; export { getThemeClassName, isExtraTheme, isForestGreenTheme, isScreenModeDark, isThemeModern, normalizeTheme }; //# sourceMappingURL=helpers.mjs.map