Skip to content

Commit 4ad4cf9

Browse files
committed
feat: support modifiers and on day click props
1 parent 12ccb45 commit 4ad4cf9

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/components/experimental/Calendar/Calendar.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import React from 'react';
22
import {
3+
DayEventHandler,
34
DayPicker,
5+
Matcher,
46
DayButton as RdpDayButton,
57
getDefaultClassNames,
68
type DateRange as RdpRange
@@ -20,6 +22,8 @@ type BaseProps = Omit<React.ComponentProps<typeof DayPicker>, 'mode' | 'selected
2022
captionLayout?: React.ComponentProps<typeof DayPicker>['captionLayout'];
2123
weekStartsOn?: React.ComponentProps<typeof DayPicker>['weekStartsOn'];
2224
selected?: Date | Date[] | RdpRange;
25+
modifiers?: Record<string, Matcher | Matcher[]>;
26+
onDayClick?: DayEventHandler<React.MouseEvent>;
2327
} & Omit<React.ComponentProps<typeof DayPicker>, 'mode' | 'classNames' | 'selected' | 'onSelect'>;
2428

2529
export type SingleProps = BaseProps & {

src/components/experimental/DatePicker/DatePicker.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,14 @@ function hasMode(p: DatePickerProps): p is DatePickerProps & { mode: Mode } {
9797
// eslint-disable-next-line @typescript-eslint/no-explicit-any
9898
return 'mode' in p && typeof (p as any).mode === 'string';
9999
}
100-
function isSingleProps(p: DatePickerProps): p is SingleProps & LegacyCompatProps {
101-
return !hasMode(p) || p.mode === 'single';
100+
function isSingleProps(props: DatePickerProps): props is SingleProps & LegacyCompatProps {
101+
return !hasMode(props) || props.mode === 'single';
102102
}
103-
function isMultipleProps(p: DatePickerProps): p is MultipleProps & LegacyCompatProps {
104-
return hasMode(p) && p.mode === 'multiple';
103+
function isMultipleProps(props: DatePickerProps): props is MultipleProps & LegacyCompatProps {
104+
return hasMode(props) && props.mode === 'multiple';
105105
}
106-
function isRangeProps(p: DatePickerProps): p is RangeProps & LegacyCompatProps {
107-
return hasMode(p) && p.mode === 'range';
106+
function isRangeProps(props: DatePickerProps): props is RangeProps & LegacyCompatProps {
107+
return hasMode(props) && props.mode === 'range';
108108
}
109109

110110
export interface DatePickerOverloads {

0 commit comments

Comments
 (0)