From fdb86971de60a41e6271b2b269fe3929a7ef5ea8 Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 5 Jan 2018 15:44:32 -0800 Subject: [PATCH] react-date-range: Fix lint (#22702) --- types/react-date-range/index.d.ts | 198 +++++++++++++++--------------- 1 file changed, 97 insertions(+), 101 deletions(-) diff --git a/types/react-date-range/index.d.ts b/types/react-date-range/index.d.ts index cac50eb39a..68df9722bf 100644 --- a/types/react-date-range/index.d.ts +++ b/types/react-date-range/index.d.ts @@ -7,107 +7,103 @@ import * as React from 'react'; import * as moment from "moment-timezone"; -declare namespace reactDateRange { - type AnyDate = string | moment.Moment; - type DateFunc = (now: moment.Moment) => AnyDate; - type DateInputType = AnyDate | DateFunc; - type LanguageType = "cn" | "jp" | "fr" | "it" | "de" | "ko" | "es" | "ru" | "tr"; - type SizeType = number; +export type AnyDate = string | moment.Moment; +export type DateFunc = (now: moment.Moment) => AnyDate; +export type DateInputType = AnyDate | DateFunc; +export type LanguageType = "cn" | "jp" | "fr" | "it" | "de" | "ko" | "es" | "ru" | "tr"; +export type SizeType = number; - interface DateContainerType { - date: moment.Moment; - } - - interface CalendarTheme { - DateRange?: React.CSSProperties; - Calendar?: React.CSSProperties; - Day?: React.CSSProperties; - DayPassive?: React.CSSProperties; - DayHover?: React.CSSProperties; - DayToday?: React.CSSProperties; - DaySunday?: React.CSSProperties; - DaySpecialDay?: React.CSSProperties; - DayActive?: React.CSSProperties; - DaySelected?: React.CSSProperties; - DayStartEdge?: React.CSSProperties; - DayEndEdge?: React.CSSProperties; - DayInRange?: React.CSSProperties; - Weekday?: React.CSSProperties; - MonthAndYear?: React.CSSProperties; - MonthButton?: React.CSSProperties; - MonthArrow?: React.CSSProperties; - MonthArrowPrev?: React.CSSProperties; - MonthArrowNext?: React.CSSProperties; - PredefinedRanges?: React.CSSProperties; - PredefinedRangesItem?: React.CSSProperties; - PredefinedRangesItemActive?: React.CSSProperties; - } - - interface Range { - /** default: today */ - startDate?: moment.Moment; - /** default: today */ - endDate?: moment.Moment; - } - - interface CommonCalendarProps { - /** default: DD/MM/YYY */ - format?: string; - /** default: moment.localeData().firstDayOfWeek() */ - firstDayOfWeek?: number; - theme?: CalendarTheme; - /** default: none */ - onInit?: (range: Range) => void; - /** default: none */ - onChange?: (range: Range) => void; - /** default: none */ - minDate?: DateInputType; - /** default: none */ - maxDate?: DateInputType; - /** - * Calendar languages. - * ('cn' - Chinese, 'jp' - Japanese, - * 'fr' - French, 'it' - Italian, - * 'de' - German, 'ko' - Korean, - * 'es' - Spanish, 'ru' - Russian, - * 'tr' - Turkish) default: none - */ - lang?: LanguageType; - } - - interface CalendarProps extends CommonCalendarProps { - /** default: today */ - date: DateInputType; - } - - class Calendar extends React.Component { } - - interface DateRangeProps extends Range, CommonCalendarProps { - /** default: false */ - linkedCalendars?: boolean; - /** default: 2 */ - calendars?: number; - /** default: none */ - ranges?: object; - /** default: false */ - twoStepChange?: boolean; - /** default: false */ - rangedCalendars?: boolean; - /** default: none */ - specialDays?: DateContainerType[]; - } - - class DateRange extends React.Component { } - - type DateRangeIndex = "Today" | "Yesterday" | "Last 7 Days" | "Last 30 Days"; - - interface DateRangeObject { - startDate: (now: moment.Moment) => moment.Moment; - endDate: (now: moment.Moment) => moment.Moment; - } - const defaultRanges: { - [measure: string]: DateRangeObject; - }; +export interface DateContainerType { + date: moment.Moment; } -export = reactDateRange; +export interface CalendarTheme { + DateRange?: React.CSSProperties; + Calendar?: React.CSSProperties; + Day?: React.CSSProperties; + DayPassive?: React.CSSProperties; + DayHover?: React.CSSProperties; + DayToday?: React.CSSProperties; + DaySunday?: React.CSSProperties; + DaySpecialDay?: React.CSSProperties; + DayActive?: React.CSSProperties; + DaySelected?: React.CSSProperties; + DayStartEdge?: React.CSSProperties; + DayEndEdge?: React.CSSProperties; + DayInRange?: React.CSSProperties; + Weekday?: React.CSSProperties; + MonthAndYear?: React.CSSProperties; + MonthButton?: React.CSSProperties; + MonthArrow?: React.CSSProperties; + MonthArrowPrev?: React.CSSProperties; + MonthArrowNext?: React.CSSProperties; + PredefinedRanges?: React.CSSProperties; + PredefinedRangesItem?: React.CSSProperties; + PredefinedRangesItemActive?: React.CSSProperties; +} + +export interface Range { + /** default: today */ + startDate?: moment.Moment; + /** default: today */ + endDate?: moment.Moment; +} + +export interface CommonCalendarProps { + /** default: DD/MM/YYY */ + format?: string; + /** default: moment.localeData().firstDayOfWeek() */ + firstDayOfWeek?: number; + theme?: CalendarTheme; + /** default: none */ + onInit?: (range: Range) => void; + /** default: none */ + onChange?: (range: Range) => void; + /** default: none */ + minDate?: DateInputType; + /** default: none */ + maxDate?: DateInputType; + /** + * Calendar languages. + * ('cn' - Chinese, 'jp' - Japanese, + * 'fr' - French, 'it' - Italian, + * 'de' - German, 'ko' - Korean, + * 'es' - Spanish, 'ru' - Russian, + * 'tr' - Turkish) default: none + */ + lang?: LanguageType; +} + +export interface CalendarProps extends CommonCalendarProps { + /** default: today */ + date: DateInputType; +} + +export class Calendar extends React.Component { } + +export interface DateRangeProps extends Range, CommonCalendarProps { + /** default: false */ + linkedCalendars?: boolean; + /** default: 2 */ + calendars?: number; + /** default: none */ + ranges?: object; + /** default: false */ + twoStepChange?: boolean; + /** default: false */ + rangedCalendars?: boolean; + /** default: none */ + specialDays?: DateContainerType[]; +} + +export class DateRange extends React.Component { } + +export type DateRangeIndex = "Today" | "Yesterday" | "Last 7 Days" | "Last 30 Days"; + +export interface DateRangeObject { + startDate: (now: moment.Moment) => moment.Moment; + endDate: (now: moment.Moment) => moment.Moment; +} +export const defaultRanges: { + [measure: string]: DateRangeObject; +};