diff --git a/types/react-datepicker/index.d.ts b/types/react-datepicker/index.d.ts index 467981c2fc..ab6242b2b0 100644 --- a/types/react-datepicker/index.d.ts +++ b/types/react-datepicker/index.d.ts @@ -1,65 +1,70 @@ -// Type definitions for react-datepicker v0.40.0 +// Type definitions for react-datepicker 0.46 // Project: https://github.com/Hacker0x01/react-datepicker -// Definitions by: Rajab Shakirov , Andrey Balokha +// Definitions by: Rajab Shakirov , +// Andrey Balokha , +// Greg Smith // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 -declare module "react-datepicker" { - import * as React from "react"; - import * as moment from "moment"; +import * as React from "react"; +import * as moment from "moment"; - interface ReactDatePickerProps { - autoComplete?: string; - autoFocus?: boolean; - className?: string; - customInput?: React.ReactNode; - dateFormat?: string; - dateFormatCalendar?: string; - disabled?: boolean; - dropdownMode?: string; - endDate?: moment.Moment; - excludeDates?: any[]; - filterDate?(): any; - fixedHeight?: boolean; - forceShowMonthNavigation?: boolean; - highlightDates?: any[]; - id?: string; - includeDates?: any[]; - inline?: boolean; - isClearable?: boolean; - locale?: string; - maxDate?: moment.Moment; - minDate?: moment.Moment; - monthsShown?: number; - name?: string; - onBlur?(event: React.FocusEvent): void; - onChange(date: moment.Moment | null, event: React.SyntheticEvent | undefined): any; - onChangeRaw?(event: React.FocusEvent): void; - onFocus?(event: React.FocusEvent): void; - onMonthChange?(date: moment.Moment): void; - openToDate?: moment.Moment; - peekNextMonth?: boolean; - placeholderText?: string; - popoverAttachment?: string; - popoverTargetAttachment?: string; - popoverTargetOffset?: string; - readOnly?: boolean; - renderCalendarTo?: any; - required?: boolean; - scrollableYearDropdown?: boolean; - selected?: moment.Moment | null; - selectsEnd?: boolean; - selectsStart?: boolean; - showMonthDropdown?: boolean; - showYearDropdown?: boolean; - showWeekNumbers?: boolean; - startDate?: moment.Moment; - tabIndex?: number; - tetherConstraints?: any[]; - title?: string; - todayButton?: string; - utcOffset?: number; - } - let ReactDatePicker: React.ClassicComponentClass; - export = ReactDatePicker; +interface ReactDatePickerProps { + autoComplete?: string; + autoFocus?: boolean; + calendarClassName?: string; + className?: string; + customInput?: React.ReactNode; + dateFormat?: string | string[]; + dateFormatCalendar?: string; + disabled?: boolean; + disabledKeyboardNavigation?: boolean; + dropdownMode?: string; + endDate?: moment.Moment; + excludeDates?: any[]; + filterDate?(): any; + fixedHeight?: boolean; + forceShowMonthNavigation?: boolean; + highlightDates?: any[]; + id?: string; + includeDates?: any[]; + inline?: boolean; + isClearable?: boolean; + locale?: string; + maxDate?: moment.Moment; + minDate?: moment.Moment; + monthsShown?: number; + name?: string; + onBlur?(event: React.FocusEvent): void; + onChange(date: moment.Moment | null, event: React.SyntheticEvent | undefined): any; + onChangeRaw?(event: React.FocusEvent): void; + onClickOutside?(event: React.MouseEvent): void; + onFocus?(event: React.FocusEvent): void; + onMonthChange?(date: moment.Moment): void; + openToDate?: moment.Moment; + peekNextMonth?: boolean; + placeholderText?: string; + popoverAttachment?: string; + popoverTargetAttachment?: string; + popoverTargetOffset?: string; + readOnly?: boolean; + renderCalendarTo?: any; + required?: boolean; + scrollableYearDropdown?: boolean; + selected?: moment.Moment | null; + selectsEnd?: boolean; + selectsStart?: boolean; + showMonthDropdown?: boolean; + showWeekNumbers?: boolean; + showYearDropdown?: boolean; + startDate?: moment.Moment; + tabIndex?: number; + tetherConstraints?: any[]; + title?: string; + todayButton?: string; + utcOffset?: number; + value?: string; + withPortal?: boolean; } +declare const ReactDatePicker: React.ClassicComponentClass; +export default ReactDatePicker; diff --git a/types/react-datepicker/react-datepicker-tests.tsx b/types/react-datepicker/react-datepicker-tests.tsx index df1b02dacf..5a29b38149 100644 --- a/types/react-datepicker/react-datepicker-tests.tsx +++ b/types/react-datepicker/react-datepicker-tests.tsx @@ -1,30 +1,28 @@ -import * as React from "react"; +import * as React from 'react'; import * as moment from 'moment'; -import * as DatePicker from 'react-datepicker'; +import DatePicker from 'react-datepicker'; -class ReactDatePicker extends React.Component<{}, { startDate: moment.Moment; displayName:string; }> { - constructor(props: {}) { - super(); - this.state = { - startDate: moment(), - displayName: 'Example' - } - this.handleChange = this.handleChange.bind(this); - } +class ReactDatePicker extends React.Component<{}, { startDate: moment.Moment; displayName: string; }> { + constructor(props: {}) { + super(); + this.state = { + startDate: moment(), + displayName: 'Example' + }; + this.handleChange = this.handleChange.bind(this); + } - handleChange = function(date?: moment.Moment | null) { - this.setState({ - startDate: date - }); - } + handleChange = function(date?: moment.Moment | null) { + this.setState({ + startDate: date + }); + }; - render(){ - return ( -
- -
- ); - } -}; \ No newline at end of file + render() { + return ( + + ); + } +} diff --git a/types/react-datepicker/tslint.json b/types/react-datepicker/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-datepicker/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }