Merge pull request #6825 from JKillian/react-day-picker

Initial commit for react-day-picker typings
This commit is contained in:
Masahiro Wakame
2015-11-20 00:45:04 +09:00
3 changed files with 81 additions and 0 deletions
@@ -0,0 +1,27 @@
/// <reference path="react-day-picker.d.ts" />
/// <reference path="../react/react-global.d.ts" />
import DayPicker2 from 'react-day-picker';
function isSunday(day: Date) {
return day.getDay() === 0;
}
// make sure global variable version works
function MyComponent2() {
return <DayPicker initialMonth={ new Date(2016, 1) } modifiers={{ isSunday }} />
}
// make sure imported version works
function MyComponent() {
return <DayPicker2 initialMonth={ new Date(2016, 1) } modifiers={{ isSunday }} />
}
const localeUtils = {
formatMonthTitle: (d: Date) => 'month_title',
formatWeekdayShort: (i: number) => 'weekday_short',
formatWeekdayLong: (i: number) => 'weekday_long',
getFirstDayOfWeek: () => 0
};
let element = <DayPicker2 initialMonth= { new Date(2016, 1) } localeUtils={localeUtils} modifiers= {{ isSunday }} />
@@ -0,0 +1 @@
--target es5 --noImplicitAny --jsx react
+53
View File
@@ -0,0 +1,53 @@
// Type definitions for react-day-picker
// Project: https://github.com/gpbl/react-day-picker
// Definitions by: Giampaolo Bellavite <https://github.com/gpbl>, Jason Killian <https://github.com/jkillian>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../react/react.d.ts" />
declare module "react-day-picker" {
export default ReactDayPicker.DayPicker;
}
declare var DayPicker: typeof ReactDayPicker.DayPicker;
declare namespace ReactDayPicker {
interface LocaleUtils {
formatMonthTitle: (month: Date, locale: string) => string;
formatWeekdayShort: (weekday: number, locale: string) => string;
formatWeekdayLong: (weekday: number, locale: string) => string;
getFirstDayOfWeek: (locale: string) => number;
}
interface Modifiers {
[name: string]: (date: Date) => boolean;
}
interface Props {
modifiers?: Modifiers;
initialMonth?: Date;
numberOfMonths?: number;
renderDay?: (date: Date) => number | string | JSX.Element;
enableOutsideDays?: boolean;
canChangeMonth?: boolean;
fromMonth?: Date;
toMonth?: Date;
localeUtils?: LocaleUtils;
locale?: string;
onDayClick?: (e: __React.SyntheticEvent, day: Date, modifiers: string[]) => any;
onDayTouchTap?: (e: __React.SyntheticEvent, day: Date, modifiers: string[]) => any;
onDayMouseEnter?: (e: __React.SyntheticEvent, day: Date, modifiers: string[]) => any;
onDayMouseLeave?: (e: __React.SyntheticEvent, day: Date, modifiers: string[]) => any;
onMonthChange?: (month: Date) => any;
onCaptionClick?: (e: __React.SyntheticEvent, month: Date) => any;
className?: string;
style?: __React.CSSProperties;
tabIndex?: number;
}
export class DayPicker extends __React.Component<Props, {}> {
showMonth(month: Date): void;
showPreviousMonth(): void;
showNextMonth(): void;
}
}