From b6bd0766d8416ef39dcfb872e63b226f56dcc722 Mon Sep 17 00:00:00 2001 From: Karol Janyst Date: Fri, 28 Oct 2016 23:35:07 +0900 Subject: [PATCH] Add definitions for reactcss (#12122) * Add definitions for react-css-transition-replace * Add definitions for reactcss * Change test header * Remove accidentally added other definitions * Remove yarn.lock from .gitignore --- reactcss/reactcss-tests.tsx | 29 +++++++++++++++++++++++++++++ reactcss/reactcss.d.ts | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 reactcss/reactcss-tests.tsx create mode 100644 reactcss/reactcss.d.ts diff --git a/reactcss/reactcss-tests.tsx b/reactcss/reactcss-tests.tsx new file mode 100644 index 0000000000..9435e3bbf5 --- /dev/null +++ b/reactcss/reactcss-tests.tsx @@ -0,0 +1,29 @@ +// ReactCSS Test +// ================================================================================ +/// +/// +/// + +// Imports +// -------------------------------------------------------------------------------- +import * as React from "react" +import { StatelessComponent } from "react" +import { render } from "react-dom" +import { default as reactCSS, hover, loop } from "reactcss" + +interface TestProps extends ReactCSS.HoverProps {} + +var styles: any = reactCSS({ + default : {}, + hover : {} +}, { hover : true }) + +var loopProps: ReactCSS.LoopableProps = loop(1, 10) + +var TestComponent: StatelessComponent +var Test = hover(TestComponent) + +render( + , + document.getElementById("main") +) diff --git a/reactcss/reactcss.d.ts b/reactcss/reactcss.d.ts new file mode 100644 index 0000000000..3d309adb78 --- /dev/null +++ b/reactcss/reactcss.d.ts @@ -0,0 +1,34 @@ +// Type definitions for ReactCSS v1.0.0 +// Project: http://reactcss.com/ +// Definitions by: Karol Janyst +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace ReactCSS { + interface LoopableProps { + "first-child"?: boolean + "last-child"?: boolean + even?: boolean + odd?: boolean + [nthChild: string]: boolean + } + + interface HoverProps { + hover?: boolean + } + + interface Classes { + default: any + [scope: string]: any + } +} + +declare module "reactcss" { + import React = __React + + export type LoopableProps = ReactCSS.LoopableProps + export function hover(component: React.ComponentClass | React.StatelessComponent): React.ComponentClass + export function loop(i: number, length: number): ReactCSS.LoopableProps + export default function reactCSS (classes: ReactCSS.Classes, ...activations: Array): any +}