DefinitelyTyped/react-css-modules/index.d.ts
Tadas Dailyda 4c4aeebb1e react-css-modules: augment react's HTMLAttributes interface (#12184)
* augment react's HTMLAttributes interface with styleName

* move 'react-css-modules' declarations to top-level, turn on strictNullChecks
2016-11-03 00:16:32 +09:00

36 lines
1.0 KiB
TypeScript

// Type definitions for react-css-modules 3.7.9
// Project: https://github.com/gajus/react-css-modules
// Definitions by: Kostya Esmukov <https://github.com/KostyaEsmukov>, Tadas Dailyda <https://github.com/skirsdeda>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
interface TypeOptions {
allowMultiple?: boolean;
errorWhenNotFound?: boolean;
}
type StylesObject = any;
interface CSSModules {
(defaultStyles: StylesObject, options?: TypeOptions): <C extends Function>(Component: C) => C;
<C extends Function>(Component: C, defaultStyles: StylesObject, options?: TypeOptions): C;
}
declare module CSSModules {
// Extend your component's Prop interface with this one to get access to `this.props.styles`
//
// interface MyComponentProps extends CSSModules.InjectedCSSModuleProps {}
interface InjectedCSSModuleProps {
styles?: StylesObject;
}
}
declare let CSSModules: CSSModules;
export = CSSModules;
declare module 'react' {
interface HTMLAttributes<T> {
styleName?: string;
}
}