UNPKG

react-classnaming

Version:

Tools to establish CSS classes as an explicit abstraction layer and to handle it as an interface between React and CSSStyleDeclaration

26 lines (25 loc) 883 B
import type { ClassHash } from "./main.types"; import type { CssModule } from "./definitions.types"; export { classNamesCheck }; /** * Identical function or returning constant `EMPTY_OBJECT` for keys check of not used classes in components tree * @example * ```tsx * // Dummies shape * <Component classnames={classNamesCheck()} />; * ``` * --- * ```tsx * import type { ClassNamesFrom } from "react-classnaming/types" * import css_module from "./some.css" // With class `.never-used {...}` * * <Component classnames={classNamesCheck( * css_module, * //@ts-expect-error Property 'never-used' is missing * {} as ClassNamesFrom<typeof Component> * )} />; * ``` */ declare function classNamesCheck<Target extends { [K in keyof Module]: ClassHash; }, Module extends CssModule>(source?: Module, _?: Target): string extends keyof Module ? Target : Module;