diff --git a/src/calendar-v1/CalendarButton.ts b/src/calendar-v1/CalendarButton.ts index 1f5d4067c..01c9b9d07 100644 --- a/src/calendar-v1/CalendarButton.ts +++ b/src/calendar-v1/CalendarButton.ts @@ -2,13 +2,13 @@ import { callAllHandlers } from "@chakra-ui/utils"; import { createComponent, createHook } from "reakit-system"; import { ButtonHTMLProps, ButtonOptions, useButton } from "reakit"; -import { CalendarState } from "./CalendarState"; +import { CalendarStateReturn } from "./CalendarState"; import { CALENDAR_BUTTON_KEYS } from "./__keys"; export type TGoto = "nextMonth" | "previousMonth" | "nextYear" | "previousYear"; export type CalendarButtonOptions = ButtonOptions & - CalendarState & { + CalendarStateReturn & { goto: TGoto; getAriaLabel?: (goto: TGoto) => string; }; diff --git a/src/calendar-v1/CalendarCell.ts b/src/calendar-v1/CalendarCell.ts index 8ebcb22a3..c2a57cd64 100644 --- a/src/calendar-v1/CalendarCell.ts +++ b/src/calendar-v1/CalendarCell.ts @@ -2,11 +2,11 @@ import { BoxHTMLProps, BoxOptions, useBox } from "reakit"; import { createComponent, createHook } from "reakit-system"; import { CALENDAR_CELL_KEYS } from "./__keys"; -import { CalendarState } from "./CalendarState"; +import { CalendarStateReturn } from "./CalendarState"; import { ariaAttr } from "@chakra-ui/utils"; export type CalendarCellOptions = BoxOptions & - CalendarState & { + CalendarStateReturn & { weekIndex: number; dayIndex: number; }; diff --git a/src/calendar-v1/CalendarCellButton.ts b/src/calendar-v1/CalendarCellButton.ts index 5a179fbc5..eb689f859 100644 --- a/src/calendar-v1/CalendarCellButton.ts +++ b/src/calendar-v1/CalendarCellButton.ts @@ -6,11 +6,11 @@ import { useDateFormatter } from "@react-aria/i18n"; import { createComponent, createHook } from "reakit-system"; import { ButtonHTMLProps, ButtonOptions, useButton } from "reakit"; -import { CalendarState } from "./CalendarState"; +import { CalendarStateReturn } from "./CalendarState"; import { CALENDAR_CELL_BUTTON_KEYS } from "./__keys"; export type CalendarCellButtonOptions = ButtonOptions & - CalendarState & { + CalendarStateReturn & { weekIndex: number; dayIndex: number; }; diff --git a/src/calendar-v1/CalendarGrid.ts b/src/calendar-v1/CalendarGrid.ts index ff89e1234..d860aa57b 100644 --- a/src/calendar-v1/CalendarGrid.ts +++ b/src/calendar-v1/CalendarGrid.ts @@ -5,9 +5,9 @@ import { createComponent, createHook } from "reakit-system"; import { ariaAttr, callAllHandlers } from "@chakra-ui/utils"; import { CALENDAR_GRID_KEYS } from "./__keys"; -import { CalendarState } from "./CalendarState"; +import { CalendarStateReturn } from "./CalendarState"; -export type CalendarGridOptions = BoxOptions & CalendarState; +export type CalendarGridOptions = BoxOptions & CalendarStateReturn; export type CalendarGridHTMLProps = BoxHTMLProps; diff --git a/src/calendar-v1/CalendarState.ts b/src/calendar-v1/CalendarState.ts index 1efe5db53..997c4ff70 100644 --- a/src/calendar-v1/CalendarState.ts +++ b/src/calendar-v1/CalendarState.ts @@ -39,7 +39,7 @@ export interface CalendarProps { onChange?: (value: DateValue) => void; } -export function useCalendarState(props: CalendarProps = {}): CalendarState { +export function useCalendarState(props: CalendarProps = {}) { const { minValue: initialMinValue, maxValue: initialMaxValue, @@ -140,7 +140,7 @@ export function useCalendarState(props: CalendarProps = {}): CalendarState { selectFocusedDate() { setValue(focusedDate); }, - selectDate(date) { + selectDate(date: Date) { setValue(date); }, isDisabled, @@ -149,7 +149,7 @@ export function useCalendarState(props: CalendarProps = {}): CalendarState { setFocused, weeksInMonth, weekStart, - getCellOptions(weekIndex, dayIndex) { + getCellOptions(weekIndex: number, dayIndex: number) { const day = weekIndex * 7 + dayIndex - monthStartsAt + 1; const cellDate = new Date(year, month, day); const isCurrentMonth = cellDate.getMonth() === month; @@ -175,33 +175,7 @@ function isInvalid(date: Date, minDate: Date | null, maxDate: Date | null) { ); } -export interface CalendarState { - dateValue: Date | null; - setDateValue(value: Date): void; - currentMonth: Date; - setCurrentMonth(value: Date): void; - focusedDate: Date; - setFocusedDate(value: Date): void; - focusNextDay(): void; - focusPreviousDay(): void; - focusNextWeek(): void; - focusPreviousWeek(): void; - focusNextMonth(): void; - focusPreviousMonth(): void; - focusStartOfMonth(): void; - focusEndOfMonth(): void; - focusNextYear(): void; - focusPreviousYear(): void; - selectFocusedDate(): void; - selectDate(date: Date): void; - isDisabled: boolean; - isFocused: boolean; - isReadOnly: boolean; - setFocused(value: boolean): void; - weeksInMonth: number; - weekStart: number; - getCellOptions(weekIndex: number, dayIndex: number): CalendarCellOptions; -} +export type CalendarStateReturn = ReturnType; export interface CalendarCellOptions { cellDate: Date; diff --git a/src/calendar-v1/__keys.ts b/src/calendar-v1/__keys.ts index bb307849f..1e14ed760 100644 --- a/src/calendar-v1/__keys.ts +++ b/src/calendar-v1/__keys.ts @@ -1,5 +1,5 @@ // Automatically generated -export const CALENDAR_STATE_KEYS = [ +const CALENDAR_STATE_KEYS = [ "dateValue", "setDateValue", "currentMonth", @@ -26,17 +26,15 @@ export const CALENDAR_STATE_KEYS = [ "weekStart", "getCellOptions", ] as const; - -export const CALENDAR_CELL_BUTTON_KEYS = [ +export const CALENDAR_BUTTON_KEYS = [ + ...CALENDAR_STATE_KEYS, + "goto", + "getAriaLabel", +] as const; +export const CALENDAR_CELL_KEYS = [ ...CALENDAR_STATE_KEYS, "weekIndex", "dayIndex", ] as const; - -export const CALENDAR_CELL_KEYS = CALENDAR_CELL_BUTTON_KEYS; +export const CALENDAR_CELL_BUTTON_KEYS = CALENDAR_CELL_KEYS; export const CALENDAR_GRID_KEYS = CALENDAR_STATE_KEYS; -export const CALENDAR_BUTTON_KEYS = [ - ...CALENDAR_STATE_KEYS, - "goto", - "getAriaLabel", -];