File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -38,7 +38,13 @@ export type RangeChange = (params: {
3838
3939export type SingleChange = ( params : { date : CalendarDate } ) => any
4040
41- export type MultiChange = ( params : { dates : CalendarDate [ ] } ) => any
41+ export type MultiChange = ( params : {
42+ dates : CalendarDate [ ]
43+ datePressed : CalendarDate
44+ change : 'added' | 'removed'
45+ } ) => any
46+
47+ export type MultiConfirm = ( params : { dates : CalendarDate [ ] } ) => any
4248
4349export interface CalendarSingleProps extends BaseCalendarProps {
4450 mode : 'single'
@@ -160,7 +166,7 @@ function Calendar(
160166 } )
161167 } else if ( mode === 'multi' ) {
162168 datesRef . current = datesRef . current || [ ]
163- const exists = datesRef . current ? .some ( ( ed ) => areDatesOnSameDay ( ed , d ) )
169+ const exists = datesRef . current . some ( ( ed ) => areDatesOnSameDay ( ed , d ) )
164170
165171 const newDates = exists
166172 ? datesRef . current . filter ( ( ed ) => ! areDatesOnSameDay ( ed , d ) )
@@ -169,6 +175,8 @@ function Calendar(
169175 newDates . sort ( ( a , b ) => a . getTime ( ) - b . getTime ( ) )
170176 ; ( onChangeRef . current as MultiChange ) ( {
171177 dates : newDates ,
178+ datePressed : d ,
179+ change : exists ? 'removed' : 'added' ,
172180 } )
173181 }
174182 } ,
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import Calendar, {
55 CalendarDate ,
66 ExcludeInRangeChange ,
77 MultiChange ,
8+ MultiConfirm ,
89 RangeChange ,
910 SingleChange ,
1011} from './Calendar'
@@ -60,7 +61,7 @@ export interface DatePickerModalContentMultiProps
6061 mode : 'multi'
6162 dates ?: Date [ ] | null | undefined
6263 onChange ?: MultiChange
63- onConfirm : MultiChange
64+ onConfirm : MultiConfirm
6465}
6566
6667export interface DatePickerModalContentExcludeInRangeProps
You can’t perform that action at this time.
0 commit comments