Skip to content

Commit

Permalink
Merge pull request #37 from iRoachie/typings
Browse files Browse the repository at this point in the history
Added typescript definitions
  • Loading branch information
mmazzarolo authored May 9, 2017
2 parents 65d4aec + d1b78be commit 90364b8
Show file tree
Hide file tree
Showing 2 changed files with 142 additions and 0 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "4.4.0",
"description": "A react-native datetime-picker for Android and iOS",
"main": "src/index.js",
"typings": "src/index.d.ts",
"scripts": {
"lint": "eslint src",
"test": "npm run lint",
Expand Down
141 changes: 141 additions & 0 deletions src/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
// Type definitions for react-native-modal-datetime-picker
// Project: https://github.com/mmazzarolo/react-native-modal-datetime-picker
// Definitions by: Kyle Roach <https://github.com/iRoachie>
// TypeScript Version: 2.3.2

import React from 'react'
import { ViewStyle } from 'react-native'

interface DateTimePickerProps {
/**
* The text on the cancel button on iOS
*
* Default is 'Cancel'
*/
cancelTextIOS?: string

/**
* The text on the confirm button on iOS
*
* Default is 'Confirm'
*/
confirmTextIOS?: string

/**
* A custom component for the cancel button on iOS
*/
customCancelButtonIOS?: JSX.Element

/**
* A custom component for the confirm button on iOS
*/
customConfirmButtonIOS?: JSX.Element

/**
* A custom component for the title container on iOS
*/
customTitleContainerIOS?: JSX.Element

/**
* The style of the container on iOS
*/
datePickerContainerStyleIOS?: ViewStyle

/**
* Initial selected date/time
*
* Default is a date object from `new Date()`
*/
date?: Date

/**
* Sets the visibility of the picker
*
* Default is false
*/
isVisible?: boolean

/**
* Sets mode to 24 hour time
* If false, the picker shows an AM/PM chooser on Android
*
* Default is true
*/
is24Hour?: boolean

/**
* The mode of the picker
*
* Available modes are:
* date - Shows Datepicker
* time - Shows Timepicker
* datetime - Shows a combined Date and Time Picker
*
* Default is 'date'
*/
mode?: 'date' | 'time' | 'datetime'

/**
* Toggles the date mode on Android between spinner and calendar views
*
* Default is 'calendar'
*/
datePickerModeAndroid?: 'spinner' | 'calendar'

/**
* Title text for the Picker on iOS
*
* Default is 'Pick a Date'
*/
titleIOS?: string

/**
* Minimum date the picker can go back to
*/
minimumDate?: Date

/**
* Maximum date the picker can go forward to
*/
maximumDate?: Date

/**
* enum(1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30)
* The interval at which minutes can be selected.
*
* @extends from DatePickerIOSProperties
*/
minuteInterval?: number

/**
* Timezone offset in minutes.
* By default, the date picker will use the device's timezone. With this parameter, it is possible to force a certain timezone offset.
* For instance, to show times in Pacific Standard Time, pass -7 * 60.
*
* @extends from DatePickerIOSProperties
*/
timeZoneOffsetInMinutes?: number

/**
* Date change handler.
* This is called when the user changes the date or time in the UI.
* The first and only argument is a Date object representing the new date and time.
*
* @extends from DatePickerIOSProperties
*/
onDateChange?( newDate: Date ): void

/**
* Handler called when the user presses the confirm button
* Passes the current selected date
*/
onConfirm(date: Date): void

/**
* Handler called when the user presses the cancel button
* Passes the current selected date
*/
onCancel(date: Date): void
}

export default class DateTimePicker extends React.Component<DateTimePickerProps, any> { }

0 comments on commit 90364b8

Please sign in to comment.