From d21e32460f63f1ea0dcb28b51fde1b29de644187 Mon Sep 17 00:00:00 2001 From: Siggy H Date: Tue, 21 Jan 2020 17:15:35 -0800 Subject: [PATCH] edited types to allow onSelect to be able to handle a single moment object and a range, (previously was only handlng a range) (#41693) --- types/react-daterange-picker/index.d.ts | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/types/react-daterange-picker/index.d.ts b/types/react-daterange-picker/index.d.ts index 1705c02e0a..06a099fb51 100644 --- a/types/react-daterange-picker/index.d.ts +++ b/types/react-daterange-picker/index.d.ts @@ -7,14 +7,14 @@ // Definitions: https://github.com/borisyankov/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from "react"; -import * as moment from "moment"; -import * as momentRange from "moment-range"; +import * as React from 'react'; +import * as moment from 'moment'; +import * as momentRange from 'moment-range'; -export default class DateRangePicker extends React.Component { } +export default class DateRangePicker extends React.Component {} export as namespace ReactDateRangePicker; -export interface Props extends React.Props { +export interface BaseProps extends React.Props { bemBlock?: string; bemNamespace?: string; dateStates?: DateState[]; @@ -33,17 +33,27 @@ export interface Props extends React.Props { numberOfCalendars?: number; onHighlightDate?(date: Date): void; onHighlightRange?(date: Date): void; - onSelect?(value: OnSelectCallbackParam): void; onSelectStart?(value: momentRange.MomentRange & typeof moment): void; paginationArrowComponent?: React.ComponentClass | React.SFC; selectedLabel?: string; - selectionType?: 'single' | 'range'; singleDateRange?: boolean; showLegend?: boolean; stateDefinitions?: StateDefinitions; value?: (momentRange.MomentRange & typeof moment) | momentRange.DateRange | moment.Moment; } +export interface RangeProps extends BaseProps { + onSelect?(value: OnSelectCallbackParam): void; + selectionType?: 'range'; +} + +export interface SingleProps extends BaseProps { + onSelect?(value: moment.Moment): void; + selectionType?: 'single'; +} + +export type Props = RangeProps | SingleProps; + export interface DateState { state: string; range: momentRange.DateRange;