diff --git a/.changeset/silent-cougars-serve.md b/.changeset/silent-cougars-serve.md new file mode 100644 index 000000000..db6da7480 --- /dev/null +++ b/.changeset/silent-cougars-serve.md @@ -0,0 +1,5 @@ +--- +"flowbite-react": patch +--- + +Added isClearAction to onSelectedDateChanged to provide context for clear actions. diff --git a/packages/ui/src/components/Datepicker/Datepicker.tsx b/packages/ui/src/components/Datepicker/Datepicker.tsx index 5600385f7..0cf4982a4 100644 --- a/packages/ui/src/components/Datepicker/Datepicker.tsx +++ b/packages/ui/src/components/Datepicker/Datepicker.tsx @@ -96,7 +96,7 @@ export interface DatepickerProps extends Omit { language?: string; weekStart?: WeekStart; theme?: DeepPartial; - onSelectedDateChanged?: (date: Date) => void; + onSelectedDateChanged?: (date: Date, isClearAction: boolean) => void; } const DatepickerRender: ForwardRefRenderFunction = ( @@ -137,11 +137,11 @@ const DatepickerRender: ForwardRefRenderFunction const datepickerRef = useRef(null); // Triggers when user select the date - const changeSelectedDate = (date: Date, useAutohide: boolean) => { + const changeSelectedDate = (date: Date, useAutohide: boolean, isClearAction?: boolean) => { setSelectedDate(date); if (onSelectedDateChanged) { - onSelectedDateChanged(date); + onSelectedDateChanged(date, isClearAction ?? false); } if (autoHide && view === Views.Days && useAutohide == true && !inline) { @@ -150,7 +150,7 @@ const DatepickerRender: ForwardRefRenderFunction }; const clearDate = () => { - changeSelectedDate(defaultDate, true); + changeSelectedDate(defaultDate, true, true); if (defaultDate) { setViewDate(defaultDate); } @@ -336,7 +336,7 @@ const DatepickerRender: ForwardRefRenderFunction type="button" className={twMerge(theme.popup.footer.button.base, theme.popup.footer.button.clear)} onClick={() => { - changeSelectedDate(defaultDate, true); + changeSelectedDate(defaultDate, true, true); if (defaultDate) { setViewDate(defaultDate); }