diff --git a/react-color/react-color-tests.tsx b/react-color/react-color-tests.tsx
new file mode 100644
index 0000000000..5cc201c4f7
--- /dev/null
+++ b/react-color/react-color-tests.tsx
@@ -0,0 +1,54 @@
+// React Color Test
+// ================================================================================
+///
+///
+///
+
+// Imports
+// --------------------------------------------------------------------------------
+import * as React from "react"
+import { StatelessComponent } from "react"
+import { render } from "react-dom"
+import {
+ AlphaPicker, BlockPicker, ChromePicker, CirclePicker,
+ CompactPicker, GithubPicker, HuePicker, MaterialPicker,
+ PhotoshopPicker, SketchPicker, SliderPicker, SwatchesPicker,
+ TwitterPicker, CustomPicker
+} from "react-color"
+import { Alpha, Checkboard, EditableInput, Hue, Saturation } from "react-color/lib/components/common"
+
+interface CustomProps extends ReactColor.InjectedColorProps {
+ color?: ReactColor.Color
+}
+
+var CustomComponent: StatelessComponent = (props: CustomProps) => {
+ function onChange (color: ReactColor.ColorResult) {}
+
+ return (
+
+ )
+}
+var Custom = CustomPicker(CustomComponent)
+
+var colors: Array = ["#000", "#333"]
+
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
+render(, document.getElementById("main"))
diff --git a/react-color/react-color.d.ts b/react-color/react-color.d.ts
new file mode 100644
index 0000000000..a771ca445f
--- /dev/null
+++ b/react-color/react-color.d.ts
@@ -0,0 +1,250 @@
+// Type definitions for react-color v2.3.4
+// Project: https://casesandberg.github.io/react-color/
+// Definitions by: Karol Janyst
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+///
+
+declare namespace ReactColor {
+ import React = __React
+
+ interface HSLColor {
+ a?: number
+ h: number
+ l: number
+ s: number
+ }
+
+ interface RGBColor {
+ a?: number
+ b: number
+ g: number
+ r: number
+ }
+
+ type Color = string | HSLColor | RGBColor
+
+ interface ColorResult {
+ hex: string
+ hsl: HSLColor
+ rgb: RGBColor
+ }
+
+ type ColorChangeHandler = (color: ColorResult) => void
+
+ interface ColorPickerProps extends React.ClassAttributes {
+ color?: Color
+ onChange?: ColorChangeHandler
+ onChangeComplete?: ColorChangeHandler
+ }
+
+ /* Predefined pickers */
+ interface AlphaPickerProps extends ColorPickerProps {
+ height?: string
+ width?: string
+ }
+ interface AlphaPicker extends React.ComponentClass {}
+ const AlphaPicker: AlphaPicker
+
+ interface BlockPickerProps extends ColorPickerProps {
+ colors?: Array
+ width?: string
+ }
+ interface BlockPicker extends React.ComponentClass {}
+ const BlockPicker: BlockPicker
+
+ interface ChromePickerProps extends ColorPickerProps {
+ disableAlpha?: boolean
+ }
+ interface ChromePicker extends React.ComponentClass {}
+ const ChromePicker: ChromePicker
+
+ interface CirclePickerProps extends ColorPickerProps {
+ colors?: Array
+ width?: string
+ }
+ interface CirclePicker extends React.ComponentClass {}
+ const CirclePicker: CirclePicker
+
+ interface CompactPickerProps extends ColorPickerProps {
+ colors?: Array
+ }
+ interface CompactPicker extends React.ComponentClass {}
+ const CompactPicker: CompactPicker
+
+ interface GithubPickerProps extends ColorPickerProps {
+ colors?: Array
+ width?: string
+ }
+ interface GithubPicker extends React.ComponentClass {}
+ const GithubPicker: GithubPicker
+
+ interface HuePickerProps extends ColorPickerProps {
+ height?: string
+ width?: string
+ }
+ interface HuePicker extends React.ComponentClass {}
+ const HuePicker: HuePicker
+
+ interface MaterialPickerProps extends ColorPickerProps {}
+ interface MaterialPicker extends React.ComponentClass {}
+ const MaterialPicker: MaterialPicker
+
+ interface PhotoshopPickerProps extends ColorPickerProps {
+ header?: string
+ onAccept?: ColorChangeHandler
+ onCancel?: ColorChangeHandler
+ }
+ interface PhotoshopPicker extends React.ComponentClass {}
+ const PhotoshopPicker: PhotoshopPicker
+
+ interface SketchPickerProps extends ColorPickerProps {
+ disableAlpha?: boolean
+ presetColors?: Array
+ width?: string
+ }
+ interface SketchPicker extends React.ComponentClass {}
+ const SketchPicker: SketchPicker
+
+ interface SliderPickerProps extends ColorPickerProps {}
+ interface SliderPicker extends React.ComponentClass {}
+ const SliderPicker: SliderPicker
+
+ interface SwatchesPickerProps extends ColorPickerProps {
+ colors?: Array>
+ height?: number
+ width?: number
+ }
+ interface SwatchesPicker extends React.ComponentClass {}
+ const SwatchesPicker: SwatchesPicker
+
+ interface TwitterPickerProps extends ColorPickerProps {}
+ interface TwitterPicker extends React.ComponentClass {}
+ const TwitterPicker: TwitterPicker
+
+ /* For custom picker */
+ interface InjectedColorProps {
+ hex?: string
+ hsl?: HSLColor
+ rgb?: RGBColor
+ onChange?: ColorChangeHandler
+ }
+
+ function CustomPicker(component: React.ComponentClass | React.StatelessComponent): React.ComponentClass
+
+ interface CustomPickerProps extends React.ClassAttributes {
+ color?: Color
+ pointer?: React.ReactNode
+ onChange?: ColorChangeHandler
+ }
+
+ interface AlphaProps extends CustomPickerProps {}
+ interface Alpha extends React.ComponentClass {}
+ const Alpha: Alpha
+
+ interface EditableInputStyles {
+ input?: React.CSSProperties
+ label?: React.CSSProperties
+ wrap?: React.CSSProperties
+ }
+ interface EditableInputProps extends React.ClassAttributes {
+ color?: Color
+ label?: string
+ onChange?: ColorChangeHandler
+ styles?: EditableInputStyles
+ value?: any
+ }
+ interface EditableInput extends React.ComponentClass {}
+ const EditableInput: EditableInput
+
+ interface HueProps extends CustomPickerProps {
+ direction?: "horizontal" | "vertical"
+ }
+ interface Hue extends React.ComponentClass {}
+ const Hue: Hue
+
+ interface SaturationProps extends CustomPickerProps {}
+ interface Saturation extends React.ComponentClass {}
+ const Saturation: Saturation
+
+ interface CheckboardProps extends React.ClassAttributes {
+ grey?: string
+ size?: number
+ white?: string
+ }
+ interface Checkboard extends React.ComponentClass {}
+ const Checkboard: Checkboard
+}
+
+declare module "react-color/lib/components/common/Alpha" { export default ReactColor.Alpha }
+declare module "react-color/lib/components/common/Checkboard" { export default ReactColor.Checkboard }
+declare module "react-color/lib/components/common/EditableInput" { export default ReactColor.EditableInput }
+declare module "react-color/lib/components/common/Hue" { export default ReactColor.Hue }
+declare module "react-color/lib/components/common/Saturation" { export default ReactColor.Saturation }
+declare module "react-color/lib/components/common/ColorWrap" { export default ReactColor.CustomPicker }
+
+declare module "react-color/lib/components/common" {
+ import Alpha from "react-color/lib/components/common/Alpha"
+ import Checkboard from "react-color/lib/components/common/Checkboard"
+ import EditableInput from "react-color/lib/components/common/EditableInput"
+ import Hue from "react-color/lib/components/common/Hue"
+ import Saturation from "react-color/lib/components/common/Saturation"
+
+ export {
+ Alpha,
+ Checkboard,
+ EditableInput,
+ Hue,
+ Saturation
+ }
+}
+
+declare module "react-color/lib/components/alpha/Alpha" { export default ReactColor.AlphaPicker }
+declare module "react-color/lib/components/block/Block" { export default ReactColor.BlockPicker }
+declare module "react-color/lib/components/chrome/Chrome" { export default ReactColor.ChromePicker }
+declare module "react-color/lib/components/circle/Circle" { export default ReactColor.CirclePicker }
+declare module "react-color/lib/components/compact/Compact" { export default ReactColor.CompactPicker }
+declare module "react-color/lib/components/github/Github" { export default ReactColor.GithubPicker }
+declare module "react-color/lib/components/hue/Hue" { export default ReactColor.HuePicker }
+declare module "react-color/lib/components/meterial/Material" { export default ReactColor.MaterialPicker }
+declare module "react-color/lib/components/photoshop/Photoshop" { export default ReactColor.PhotoshopPicker }
+declare module "react-color/lib/components/sketch/Sketch" { export default ReactColor.SketchPicker }
+declare module "react-color/lib/components/slider/Slider" { export default ReactColor.SliderPicker }
+declare module "react-color/lib/components/swatches/Swatches" { export default ReactColor.SwatchesPicker }
+declare module "react-color/lib/components/twitter/Twitter" { export default ReactColor.TwitterPicker }
+
+declare module "react-color" {
+ import AlphaPicker from "react-color/lib/components/alpha/Alpha"
+ import BlockPicker from "react-color/lib/components/block/Block"
+ import ChromePicker from "react-color/lib/components/chrome/Chrome"
+ import CirclePicker from "react-color/lib/components/circle/Circle"
+ import CompactPicker from "react-color/lib/components/compact/Compact"
+ import GithubPicker from "react-color/lib/components/github/Github"
+ import HuePicker from "react-color/lib/components/hue/Hue"
+ import MaterialPicker from "react-color/lib/components/meterial/Material"
+ import PhotoshopPicker from "react-color/lib/components/photoshop/Photoshop"
+ import SketchPicker from "react-color/lib/components/sketch/Sketch"
+ import SliderPicker from "react-color/lib/components/slider/Slider"
+ import SwatchesPicker from "react-color/lib/components/swatches/Swatches"
+ import TwitterPicker from "react-color/lib/components/twitter/Twitter"
+ import CustomPicker from "react-color/lib/components/common/ColorWrap"
+
+ export type CustomPickerProps = ReactColor.CustomPickerProps
+
+ export {
+ AlphaPicker,
+ BlockPicker,
+ ChromePicker,
+ CirclePicker,
+ CompactPicker,
+ GithubPicker,
+ HuePicker,
+ MaterialPicker,
+ PhotoshopPicker,
+ SketchPicker,
+ SliderPicker,
+ SwatchesPicker,
+ TwitterPicker,
+ CustomPicker
+ }
+}