UNPKG

tailwind-merge

Version:

Merge Tailwind CSS classes without style conflicts

18 lines (13 loc) 624 B
import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types' const fallbackThemeArr: ThemeObject<DefaultThemeGroupIds>[DefaultThemeGroupIds] = [] export const fromTheme = < AdditionalThemeGroupIds extends string = never, DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds, >( key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>, ): ThemeGetter => { const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) => theme[key] || fallbackThemeArr themeGetter.isThemeGetter = true as const return themeGetter }