From 25ef9e6de61a025adb856abfe7a06b79d7012a5f Mon Sep 17 00:00:00 2001 From: Karol Janyst Date: Thu, 22 Dec 2016 23:21:43 +0900 Subject: [PATCH] Add definitions for react-bootstrap-date-picker (#13428) * Add definitions for react-bootstrap-date-picker * Add tslint.json * Add required compiler option --- react-bootstrap-date-picker/index.d.ts | 46 +++++++++++++++++++ .../react-bootstrap-date-picker-tests.tsx | 32 +++++++++++++ react-bootstrap-date-picker/tsconfig.json | 21 +++++++++ react-bootstrap-date-picker/tslint.json | 1 + 4 files changed, 100 insertions(+) create mode 100644 react-bootstrap-date-picker/index.d.ts create mode 100644 react-bootstrap-date-picker/react-bootstrap-date-picker-tests.tsx create mode 100644 react-bootstrap-date-picker/tsconfig.json create mode 100644 react-bootstrap-date-picker/tslint.json diff --git a/react-bootstrap-date-picker/index.d.ts b/react-bootstrap-date-picker/index.d.ts new file mode 100644 index 0000000000..59aac6683f --- /dev/null +++ b/react-bootstrap-date-picker/index.d.ts @@ -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 +// 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; + +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; + onBlur?: FocusEventHandler; + 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 | ComponentClass; + } + +} diff --git a/react-bootstrap-date-picker/react-bootstrap-date-picker-tests.tsx b/react-bootstrap-date-picker/react-bootstrap-date-picker-tests.tsx new file mode 100644 index 0000000000..dfc0b12c39 --- /dev/null +++ b/react-bootstrap-date-picker/react-bootstrap-date-picker-tests.tsx @@ -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 (
); +} + +class Test extends React.Component<{}, {}> { + + public render () { + return ( + {} } + 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 } /> + ) + } + +} diff --git a/react-bootstrap-date-picker/tsconfig.json b/react-bootstrap-date-picker/tsconfig.json new file mode 100644 index 0000000000..26eee3c491 --- /dev/null +++ b/react-bootstrap-date-picker/tsconfig.json @@ -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" + ] +} diff --git a/react-bootstrap-date-picker/tslint.json b/react-bootstrap-date-picker/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/react-bootstrap-date-picker/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" }