diff --git a/src/calendar.tsx b/src/calendar.tsx index 3122ceb98..b5987d86e 100644 --- a/src/calendar.tsx +++ b/src/calendar.tsx @@ -56,14 +56,17 @@ import YearDropdown from "./year_dropdown"; import type { ClickOutsideHandler } from "./click_outside_wrapper"; import type { Day } from "date-fns"; -interface YearDropdownProps - extends React.ComponentPropsWithoutRef {} +interface YearDropdownProps extends React.ComponentPropsWithoutRef< + typeof YearDropdown +> {} -interface MonthDropdownProps - extends React.ComponentPropsWithoutRef {} +interface MonthDropdownProps extends React.ComponentPropsWithoutRef< + typeof MonthDropdown +> {} -interface MonthYearDropdownProps - extends React.ComponentPropsWithoutRef {} +interface MonthYearDropdownProps extends React.ComponentPropsWithoutRef< + typeof MonthYearDropdown +> {} interface YearProps extends React.ComponentPropsWithoutRef {} @@ -71,8 +74,9 @@ interface MonthProps extends React.ComponentPropsWithoutRef {} interface TimeProps extends React.ComponentPropsWithoutRef {} -interface InputTimeProps - extends React.ComponentPropsWithoutRef {} +interface InputTimeProps extends React.ComponentPropsWithoutRef< + typeof InputTime +> {} const DROPDOWN_FOCUS_CLASSNAMES = [ "react-datepicker__year-select", @@ -217,8 +221,7 @@ type CalendarProps = React.PropsWithChildren< >; interface CalendarState - extends Pick, - Pick { + extends Pick, Pick { date: Required["date"]; monthContainer: TimeProps["monthRef"]; isRenderAriaLiveMessage: boolean; diff --git a/src/calendar_container.tsx b/src/calendar_container.tsx index d05c11293..2828e3750 100644 --- a/src/calendar_container.tsx +++ b/src/calendar_container.tsx @@ -1,7 +1,8 @@ import React, { type HTMLAttributes } from "react"; -export interface CalendarContainerProps - extends React.PropsWithChildren> { +export interface CalendarContainerProps extends React.PropsWithChildren< + HTMLAttributes +> { showTimeSelectOnly?: boolean; showTime?: boolean; inline?: boolean; diff --git a/src/date_utils.ts b/src/date_utils.ts index 666710839..d1967d625 100644 --- a/src/date_utils.ts +++ b/src/date_utils.ts @@ -63,11 +63,10 @@ import { import type { Locale as DateFnsLocale, Day } from "date-fns"; export type DateNumberType = Day; -interface LocaleObj - extends Pick< - DateFnsLocale, - "options" | "formatLong" | "localize" | "match" - > {} +interface LocaleObj extends Pick< + DateFnsLocale, + "options" | "formatLong" | "localize" | "match" +> {} export type Locale = string | LocaleObj; diff --git a/src/day.tsx b/src/day.tsx index 42291bda3..50e557561 100644 --- a/src/day.tsx +++ b/src/day.tsx @@ -23,18 +23,17 @@ import { KeyType, } from "./date_utils"; -interface DayProps - extends Pick< - DateFilterOptionsWithDisabled, - | "minDate" - | "maxDate" - | "excludeDates" - | "excludeDateIntervals" - | "includeDateIntervals" - | "includeDates" - | "filterDate" - | "disabled" - > { +interface DayProps extends Pick< + DateFilterOptionsWithDisabled, + | "minDate" + | "maxDate" + | "excludeDates" + | "excludeDateIntervals" + | "includeDateIntervals" + | "includeDates" + | "filterDate" + | "disabled" +> { ariaLabelPrefixWhenEnabled?: string; ariaLabelPrefixWhenDisabled?: string; disabledKeyboardNavigation?: boolean; diff --git a/src/index.tsx b/src/index.tsx index a15ed05ef..060c58041 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -92,13 +92,15 @@ interface Holiday { type CalendarProps = React.ComponentPropsWithoutRef; -interface CalendarIconProps - extends React.ComponentPropsWithoutRef {} +interface CalendarIconProps extends React.ComponentPropsWithoutRef< + typeof CalendarIcon +> {} interface PortalProps extends React.ComponentPropsWithoutRef {} -interface PopperComponentProps - extends React.ComponentPropsWithoutRef {} +interface PopperComponentProps extends React.ComponentPropsWithoutRef< + typeof PopperComponent +> {} // see https://github.com/microsoft/TypeScript/issues/31501 // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/src/month.tsx b/src/month.tsx index 68d980385..b4eb1e7e3 100644 --- a/src/month.tsx +++ b/src/month.tsx @@ -90,20 +90,19 @@ function getMonthColumnsLayout( interface WeekProps extends React.ComponentPropsWithoutRef {} -interface MonthProps - extends Omit< - WeekProps, - | "ariaLabelPrefix" - | "chooseDayAriaLabelPrefix" - | "day" - | "disabledDayAriaLabelPrefix" - | "month" - | "onDayClick" - | "onDayMouseEnter" - | "preSelection" - | "selected" - | "showWeekNumber" - > { +interface MonthProps extends Omit< + WeekProps, + | "ariaLabelPrefix" + | "chooseDayAriaLabelPrefix" + | "day" + | "disabledDayAriaLabelPrefix" + | "month" + | "onDayClick" + | "onDayMouseEnter" + | "preSelection" + | "selected" + | "showWeekNumber" +> { monthClassName?: (date: Date) => string; onDayClick?: ( date: Date, diff --git a/src/month_dropdown.tsx b/src/month_dropdown.tsx index a1ed659ef..9efd3c727 100644 --- a/src/month_dropdown.tsx +++ b/src/month_dropdown.tsx @@ -7,14 +7,14 @@ import { } from "./date_utils"; import MonthDropdownOptions from "./month_dropdown_options"; -interface MonthDropdownOptionsProps - extends React.ComponentPropsWithoutRef {} +interface MonthDropdownOptionsProps extends React.ComponentPropsWithoutRef< + typeof MonthDropdownOptions +> {} -interface MonthDropdownProps - extends Omit< - MonthDropdownOptionsProps, - "monthNames" | "onChange" | "onCancel" - > { +interface MonthDropdownProps extends Omit< + MonthDropdownOptionsProps, + "monthNames" | "onChange" | "onCancel" +> { dropdownMode: "scroll" | "select"; locale?: Locale; onChange: (month: number) => void; diff --git a/src/month_year_dropdown.tsx b/src/month_year_dropdown.tsx index 5f10055e4..2679b693d 100644 --- a/src/month_year_dropdown.tsx +++ b/src/month_year_dropdown.tsx @@ -13,11 +13,14 @@ import { } from "./date_utils"; import MonthYearDropdownOptions from "./month_year_dropdown_options"; -interface MonthYearDropdownOptionsProps - extends React.ComponentPropsWithoutRef {} +interface MonthYearDropdownOptionsProps extends React.ComponentPropsWithoutRef< + typeof MonthYearDropdownOptions +> {} -interface MonthYearDropdownProps - extends Omit { +interface MonthYearDropdownProps extends Omit< + MonthYearDropdownOptionsProps, + "onChange" | "onCancel" +> { dropdownMode: "scroll" | "select"; onChange: (monthYear: Date) => void; locale?: Locale; diff --git a/src/popper_component.tsx b/src/popper_component.tsx index 7020981ac..4fb69e761 100644 --- a/src/popper_component.tsx +++ b/src/popper_component.tsx @@ -9,15 +9,17 @@ import withFloating from "./with_floating"; import type { FloatingProps } from "./with_floating"; import type { ReactNode } from "react"; -interface PortalProps - extends Omit, "children"> {} -interface TabLoopProps - extends Omit, "children"> {} +interface PortalProps extends Omit< + React.ComponentPropsWithoutRef, + "children" +> {} +interface TabLoopProps extends Omit< + React.ComponentPropsWithoutRef, + "children" +> {} interface PopperComponentProps - extends Omit, - TabLoopProps, - FloatingProps { + extends Omit, TabLoopProps, FloatingProps { className?: string; wrapperClassName?: string; popperComponent: React.ReactNode; diff --git a/src/test/calendar_test.test.tsx b/src/test/calendar_test.test.tsx index ba1c0782a..c44f5b6b2 100644 --- a/src/test/calendar_test.test.tsx +++ b/src/test/calendar_test.test.tsx @@ -61,11 +61,13 @@ const DATE_FORMAT = "MM/dd/yyyy"; type CalendarProps = React.ComponentProps; -interface YearDropdownProps - extends React.ComponentPropsWithoutRef {} +interface YearDropdownProps extends React.ComponentPropsWithoutRef< + typeof YearDropdown +> {} -interface MonthYearDropdownProps - extends React.ComponentPropsWithoutRef {} +interface MonthYearDropdownProps extends React.ComponentPropsWithoutRef< + typeof MonthYearDropdown +> {} interface YearProps extends React.ComponentPropsWithoutRef {} diff --git a/src/test/date_utils_test.test.ts b/src/test/date_utils_test.test.ts index bf07bc596..815d046f2 100644 --- a/src/test/date_utils_test.test.ts +++ b/src/test/date_utils_test.test.ts @@ -1665,9 +1665,8 @@ describe("date_utils", () => { }); try { - const { isDayInRange: mockedIsDayInRange } = await import( - "../date_utils" - ); + const { isDayInRange: mockedIsDayInRange } = + await import("../date_utils"); expect( mockedIsDayInRange( diff --git a/src/time.tsx b/src/time.tsx index c6ed61e4b..ed0c50f76 100644 --- a/src/time.tsx +++ b/src/time.tsx @@ -18,11 +18,10 @@ import { KeyType, } from "./date_utils"; -interface TimeProps - extends Pick< - TimeFilterOptions, - "minTime" | "maxTime" | "excludeTimes" | "includeTimes" | "filterTime" - > { +interface TimeProps extends Pick< + TimeFilterOptions, + "minTime" | "maxTime" | "excludeTimes" | "includeTimes" | "filterTime" +> { format?: string; intervals?: number; selected?: Date | null; diff --git a/src/week.tsx b/src/week.tsx index 46f00c447..a140b1738 100644 --- a/src/week.tsx +++ b/src/week.tsx @@ -13,11 +13,13 @@ import WeekNumber from "./week_number"; interface DayProps extends React.ComponentPropsWithoutRef {} -interface WeekNumberProps - extends React.ComponentPropsWithoutRef {} +interface WeekNumberProps extends React.ComponentPropsWithoutRef< + typeof WeekNumber +> {} interface WeekProps - extends Omit< + extends + Omit< DayProps, | "ariaLabelPrefixWhenEnabled" | "ariaLabelPrefixWhenDisabled" diff --git a/src/year.tsx b/src/year.tsx index eb7fe419c..36b363d43 100644 --- a/src/year.tsx +++ b/src/year.tsx @@ -22,16 +22,15 @@ import { const VERTICAL_NAVIGATION_OFFSET = 3; -interface YearProps - extends Pick< - DateFilterOptionsWithDisabled, - | "minDate" - | "maxDate" - | "excludeDates" - | "includeDates" - | "filterDate" - | "disabled" - > { +interface YearProps extends Pick< + DateFilterOptionsWithDisabled, + | "minDate" + | "maxDate" + | "excludeDates" + | "includeDates" + | "filterDate" + | "disabled" +> { clearSelectingDate?: VoidFunction; date?: Date; disabledKeyboardNavigation?: boolean; diff --git a/src/year_dropdown.tsx b/src/year_dropdown.tsx index 28678c0fa..c3bd83169 100644 --- a/src/year_dropdown.tsx +++ b/src/year_dropdown.tsx @@ -3,11 +3,14 @@ import React, { Component } from "react"; import { getYear } from "./date_utils"; import YearDropdownOptions from "./year_dropdown_options"; -interface YearDropdownOptionsProps - extends React.ComponentPropsWithoutRef {} +interface YearDropdownOptionsProps extends React.ComponentPropsWithoutRef< + typeof YearDropdownOptions +> {} -interface YearDropdownProps - extends Omit { +interface YearDropdownProps extends Omit< + YearDropdownOptionsProps, + "onChange" | "onCancel" +> { adjustDateOnChange?: boolean; dropdownMode: "scroll" | "select"; onChange: (year: number) => void; diff --git a/yarn.lock b/yarn.lock index 31d7100e9..87f90e3c6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9450,11 +9450,11 @@ __metadata: linkType: hard "prettier@npm:^3.4.2": - version: 3.6.2 - resolution: "prettier@npm:3.6.2" + version: 3.7.1 + resolution: "prettier@npm:3.7.1" bin: prettier: bin/prettier.cjs - checksum: 10c0/488cb2f2b99ec13da1e50074912870217c11edaddedeadc649b1244c749d15ba94e846423d062e2c4c9ae683e2d65f754de28889ba06e697ac4f988d44f45812 + checksum: 10c0/a6610043ee0a64a3251a948bf82fad3e59d984a8e8dea206400cfa190585417e3343b32c1f6ae7d8f40798a9b4bd91affc08fa7795dd99a9dec5c9bccdf31500 languageName: node linkType: hard