/
bearury
/
ui-kit-ce
Обзор
Документация
Войти
/
bearury
/
ui-kit-ce
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/hooks/src/useClassList/useClassList.ts
30 строк
818 B
Denis Svyatovets
style: добавлен плагин eslint для jsDoc
27 янв 2025, 17:06
27 янв 2025, 17:06
6287359
Код
Авторство
О чём код?
import * as React from 'react' import { ClassesObject, mergeClasses, Spread } from '@v-uik/utils' import { clsx } from '@v-uik/theme' import { ClassValue } from 'clsx' /** * Утилита для удобного объединения классов из пропсы classes и классов * из конструктора useStyles. * * ```ts * const cl = useClassList(useStyles(), classes) * ``` * * @param classes1 Набор классов. * @param classes2 Набор классов. */ export const useClassList = <T extends ClassesObject, U extends ClassesObject>( classes1: T, classes2?: U ): Spread<T, U> => { return React.useMemo( () => mergeClasses<T, U, ClassValue>({ classes1, classes2, mergeCallback: clsx, }), [classes1, classes2] ) }