mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 04:49:15 +08:00
Added typings for react-css-modules
This commit is contained in:
47
react-css-modules/react-css-modules-tests.tsx
Normal file
47
react-css-modules/react-css-modules-tests.tsx
Normal file
@@ -0,0 +1,47 @@
|
||||
///<reference path="../react/react.d.ts" />
|
||||
///<reference path="./react-css-modules.d.ts" />
|
||||
|
||||
|
||||
import * as React from 'react';
|
||||
import * as CSSModules from 'react-css-modules';
|
||||
|
||||
const styles = {};
|
||||
|
||||
interface TableProps extends CSSModules.InjectedCSSModuleProps {
|
||||
|
||||
}
|
||||
|
||||
class Table extends React.Component<TableProps, {}> {
|
||||
render () {
|
||||
const { styles } = this.props;
|
||||
|
||||
return <div styleName='table'>
|
||||
<div styleName='row'>
|
||||
<div styleName='cell'>A0</div>
|
||||
<div styleName='cell'>B0</div>
|
||||
</div>
|
||||
</div>;
|
||||
}
|
||||
}
|
||||
|
||||
const TableHOC = CSSModules(Table, styles);
|
||||
|
||||
|
||||
|
||||
interface TableDecoratedProps extends CSSModules.InjectedCSSModuleProps {
|
||||
|
||||
}
|
||||
|
||||
@CSSModules(styles)
|
||||
class TableDecorated extends React.Component<TableDecoratedProps, {}> {
|
||||
render () {
|
||||
const { styles } = this.props;
|
||||
|
||||
return <div styleName='table'>
|
||||
<div styleName='row'>
|
||||
<div styleName='cell'>A0</div>
|
||||
<div styleName='cell'>B0</div>
|
||||
</div>
|
||||
</div>;
|
||||
}
|
||||
}
|
||||
30
react-css-modules/react-css-modules.d.ts
vendored
Normal file
30
react-css-modules/react-css-modules.d.ts
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
// 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>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
|
||||
declare module 'react-css-modules' {
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
module CSSModules {
|
||||
interface InjectedCSSModuleProps {
|
||||
styles: StylesObject;
|
||||
}
|
||||
}
|
||||
|
||||
let CSSModules: CSSModules;
|
||||
|
||||
export = CSSModules;
|
||||
}
|
||||
Reference in New Issue
Block a user