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
TypeScript
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>;