Add definitions for react-bootstrap-date-picker (#13428)

* Add definitions for react-bootstrap-date-picker

* Add tslint.json

* Add required compiler option
This commit is contained in:
Karol Janyst 2016-12-22 23:21:43 +09:00 committed by Andy
parent 334c0b48e5
commit 25ef9e6de6
4 changed files with 100 additions and 0 deletions

46
react-bootstrap-date-picker/index.d.ts vendored Normal file
View File

@ -0,0 +1,46 @@
// Type definitions for react-bootstrap-date-picker 4.0
// Project: https://github.com/pushtell/react-bootstrap-date-picker#readme
// Definitions by: Karol Janyst <https://github.com/LKay>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
import { ComponentClass, StatelessComponent, ReactNode, FocusEventHandler, HTMLAttributes } from "react";
export as namespace DatePicker;
export = DatePicker;
declare const DatePicker: DatePicker;
type DatePicker = ComponentClass<DatePicker.DatePickerProps>;
declare namespace DatePicker {
export type ChangeCallback = (value: string, formattedValue: string) => void;
export interface DatePickerProps {
value?: string;
defaultValue?: string;
style?: any;
className?: string;
autoFocus?: boolean;
disabled?: boolean;
onChange?: ChangeCallback;
onFocus?: FocusEventHandler<any>;
onBlur?: FocusEventHandler<any>;
dateFormat?: string;
clearButtonElement?: ReactNode;
showClearButton?: boolean;
onClear?: () => void;
previousButtonElement?: ReactNode;
nextButtonElement?: ReactNode;
cellPadding?: string;
dayLabels?: string[];
monthLabels?: string[];
calendarPlacement?: string;
calendarContainer?: any;
weekStartsOnMonday?: boolean;
showTodayButton?: boolean;
todayButtonLabel?: string;
customControl?: StatelessComponent<any> | ComponentClass<any>;
}
}

View File

@ -0,0 +1,32 @@
import * as React from "react"
import { DropdownMenu } from "react-bootstrap"
import * as DatePicker from "react-bootstrap-date-picker"
const Custom: React.StatelessComponent<{}> = () => {
return (<div />);
}
class Test extends React.Component<{}, {}> {
public render () {
return (
<DatePicker autoFocus={ false }
onChange={ (value: string, c: string) => {} }
dateFormat="MM/DD/YYYY"
clearButtonElement="x"
showClearButton={ true }
onClear={ () => {} }
previousButtonElement="<"
nextButtonElement=">"
cellPadding="2px"
dayLabels={ ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] }
monthLabels={ ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }
calendarPlacement="top"
weekStartsOnMonday={ true }
showTodayButton={ true }
todayButtonLabel="Today"
customControl={ Custom } />
)
}
}

View File

@ -0,0 +1,21 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true,
"jsx": "react"
},
"files": [
"index.d.ts",
"react-bootstrap-date-picker-tests.tsx"
]
}

View File

@ -0,0 +1 @@
{ "extends": "../tslint.json" }