resume

Форк
0
/
themeInvoker.ts 
17 строк · 483.0 Байт
1
import { Theme, ThemeKeys } from "../types/theme";
2

3
export type ThemeInvoker = { [k in Theme]: string };
4
type CSSModuleClasses = { readonly [key: string]: string };
5

6
export const createThemeInvoker = (
7
  styles: CSSModuleClasses,
8
  componentName: string
9
): ThemeInvoker => {
10
  return (Object.keys(Theme) as ThemeKeys[]).reduce(
11
    (acc, key) => ({
12
      ...acc,
13
      [Theme[key]]: styles[`${componentName}_theme_${key.toLocaleLowerCase()}`],
14
    }),
15
    {}
16
  ) as ThemeInvoker;
17
};
18

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.