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

17 lines (16 loc) 679 B
import type { CssModule } from "./definitions.types"; import type { ClassNaming } from "./naming.types"; export { classNaming }; /** Set context * @example * ```typescript * const classes = classNaming({classnames: require("./some.css"), className?}) * const classes = classNaming(this.props) * const classes = classNaming<Props>() * const classes = classNaming<MyClassNames>() * ``` */ declare function classNaming<Ctx extends { classnames: Source; className?: string; }, Source extends CssModule = Ctx["classnames"], WithClassName extends boolean = Ctx["className"] extends string ? true : false>(context?: Ctx): ClassNaming<WithClassName, {}, Source>;