From 6b1b8e745c79db044dc53eef44c6587113d03a60 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 10:58:59 -0600 Subject: [PATCH 1/2] Fix props callbacks. Type dates as moment.Moment. --- react-datepicker/index.d.ts | 21 +++++++++++---------- react-datepicker/react-datepicker-tests.tsx | 6 +++--- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/react-datepicker/index.d.ts b/react-datepicker/index.d.ts index aec8b61b72..109e47626c 100644 --- a/react-datepicker/index.d.ts +++ b/react-datepicker/index.d.ts @@ -3,9 +3,10 @@ // Definitions by: Rajab Shakirov , Andrey Balokha // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/// - declare module "react-datepicker" { + import * as React from "react"; + import * as moment from "moment"; + interface ReactDatePickerProps { autoComplete?: string; autoFocus?: boolean; @@ -14,7 +15,7 @@ declare module "react-datepicker" { dateFormat?: string; dateFormatCalendar?: string; disabled?: boolean; - endDate?: {}; + endDate?: moment.Moment; excludeDates?: any[]; filterDate?(): any; fixedHeight?: boolean; @@ -22,12 +23,12 @@ declare module "react-datepicker" { includeDates?: any[]; isClearable?: boolean; locale?: string; - maxDate?: {}; - minDate?: {}; + maxDate?: moment.Moment; + minDate?: moment.Moment; name?: string; - onBlur?(handler: (e: any) => void): any; - onChange(handler: (date?: any, e?: any) => void): any; - onFocus?(handler: (e: any) => void): any; + onBlur?(event: React.FocusEvent): void; + onChange(date: moment.Moment | null, event: React.SyntheticEvent | undefined): any; + onFocus?(event: React.FocusEvent): void; peekNextMonth?: boolean; placeholderText?: string; popoverAttachment?: string; @@ -37,13 +38,13 @@ declare module "react-datepicker" { renderCalendarTo?: any; required?: boolean; scrollableYearDropdown?: boolean; - selected?: {}; + selected?: moment.Moment | null; selectsEnd?: boolean; selectsStart?: boolean; showMonthDropdown?: boolean; showYearDropdown?: boolean; showWeekNumbers?: boolean; - startDate?: {}; + startDate?: moment.Moment; tabIndex?: number; tetherConstraints?: any[]; title?: string; diff --git a/react-datepicker/react-datepicker-tests.tsx b/react-datepicker/react-datepicker-tests.tsx index 53cd4723b5..df1b02dacf 100644 --- a/react-datepicker/react-datepicker-tests.tsx +++ b/react-datepicker/react-datepicker-tests.tsx @@ -2,8 +2,8 @@ import * as React from "react"; import * as moment from 'moment'; import * as DatePicker from 'react-datepicker'; -class ReactDatePicker extends React.Component<{}, {startDate:any,displayName:string}> { - constructor(props:any) { +class ReactDatePicker extends React.Component<{}, { startDate: moment.Moment; displayName:string; }> { + constructor(props: {}) { super(); this.state = { startDate: moment(), @@ -12,7 +12,7 @@ class ReactDatePicker extends React.Component<{}, {startDate:any,displayName:str this.handleChange = this.handleChange.bind(this); } - handleChange = function(date?:any) { + handleChange = function(date?: moment.Moment | null) { this.setState({ startDate: date }); From 0c26a340bb4b5f0c1f93ad66348cf72818d1302e Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 11:05:05 -0600 Subject: [PATCH 2/2] Update version number --- react-datepicker/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-datepicker/index.d.ts b/react-datepicker/index.d.ts index 109e47626c..3ba6f91386 100644 --- a/react-datepicker/index.d.ts +++ b/react-datepicker/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for react-datepicker v0.28.1 +// Type definitions for react-datepicker v0.40.0 // Project: https://github.com/Hacker0x01/react-datepicker // Definitions by: Rajab Shakirov , Andrey Balokha // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped