diff --git a/example/src/App.tsx b/example/src/App.tsx index 2faf04e..274fd6b 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -190,11 +190,10 @@ export default function App() { startDate={range.startDate} endDate={range.endDate} dates={dates} - //isDateDisabled={(date) => [0, 6].includes(dayjs(date).day())} // disable weekends //minDate={dayjs().startOf('day')} //maxDate={dayjs().add(3, 'day').endOf('day')} //disabledDates={[dayjs(), dayjs().add(1, 'day')]} - //disabledDates={(date) => [0, 6].includes(dayjs(date).day())}// disable weekends + //disabledDates={(date) => [0, 6].includes(dayjs(date).day())} // disable weekends //firstDayOfWeek={1} displayFullDays timePicker={timePicker} diff --git a/src/DateTimePicker.tsx b/src/DateTimePicker.tsx index 588a3ce..b3d5d62 100644 --- a/src/DateTimePicker.tsx +++ b/src/DateTimePicker.tsx @@ -81,10 +81,11 @@ const DateTimePicker = ( onChange, initialView = 'day', height, - isDateDisabled, ...rest } = props; + dayjs.locale(locale); + const initialCalendarView: CalendarViews = mode !== 'single' && initialView === 'time' ? 'day' : initialView; @@ -113,8 +114,6 @@ const DateTimePicker = ( let currentYear = currentDate.year(); - dayjs.locale(locale); - const [state, dispatch] = useReducer( (prevState: LocalState, action: CalendarAction) => { switch (action.type) { @@ -310,7 +309,6 @@ const DateTimePicker = ( onSelectYear, onChangeMonth, onChangeYear, - isDateDisabled, }} > { minDate, maxDate, firstDayOfWeek, - disabledDates, - firstDayOfWeek + disabledDates ).map((day, index) => { if (day) { let leftCrop = day.dayOfMonth === 1; let rightCrop = day.dayOfMonth === fullDaysInMonth; const isFirstDayOfMonth = day.dayOfMonth === 1; - const isLastDayOfMonth = ((day?.dayOfMonth || 0) - ((day?.dayOfMonth || 0) - day.day)) === fullDaysInMonth; + const isLastDayOfMonth = + (day?.dayOfMonth || 0) - ((day?.dayOfMonth || 0) - day.day) === + fullDaysInMonth; const isToday = areDatesOnSameDay(day.date, today); let inRange = false; @@ -90,7 +91,8 @@ const DaySelector = () => { if ( (isFirstDayOfMonth && selectedEndDay) || (isLastDayOfMonth && selectedStartDay) || - dayjs(startDate).format('DDMMYYYY') === dayjs(endDate).format('DDMMYYYY') + dayjs(startDate).format('DDMMYYYY') === + dayjs(endDate).format('DDMMYYYY') ) { inRange = false; } diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 2c4f753..4ce56fc 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -104,7 +104,7 @@ const Header = ({ buttonPrevIcon, buttonNextIcon }: HeaderProps) => { {calendarView === 'year' - ? `${years[0]} - ${years[years.length-1]}` + ? `${years[0]} - ${years[years.length - 1]}` : dayjs(currentDate).format('YYYY')} diff --git a/src/index.tsx b/src/index.ts similarity index 100% rename from src/index.tsx rename to src/index.ts diff --git a/src/utils.ts b/src/utils.ts index a92c7ed..a0b68d4 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,5 @@ import dayjs from 'dayjs'; -import type { DatePickerBaseProps, DateType, IDayObject } from './types'; +import type { DateType, IDayObject } from './types'; export const CALENDAR_FORMAT = 'YYYY-MM-DD HH:mm'; export const DATE_FORMAT = 'YYYY-MM-DD'; @@ -189,8 +189,7 @@ export const getMonthDays = ( minDate: DateType, maxDate: DateType, firstDayOfWeek: number, - disabledDates: DateType[] | ((date: DateType) => boolean) | undefined, - firstDayOfWeek: number + disabledDates: DateType[] | ((date: DateType) => boolean) | undefined ): IDayObject[] => { const date = getDate(datetime); const { @@ -211,8 +210,7 @@ export const getMonthDays = ( maxDate, disabledDates, false, - index + 1, - isDateDisabled + index + 1 ); }) : Array(prevMonthOffset).fill(null); @@ -227,8 +225,7 @@ export const getMonthDays = ( maxDate, disabledDates, true, - prevMonthOffset + day, - isDateDisabled + prevMonthOffset + day ); }); @@ -242,8 +239,7 @@ export const getMonthDays = ( maxDate, disabledDates, false, - daysInCurrentMonth + prevMonthOffset + day, - isDateDisabled + daysInCurrentMonth + prevMonthOffset + day ); }); @@ -269,8 +265,7 @@ const generateDayObject = ( maxDate: DateType, disabledDates: DateType[] | ((date: DateType) => boolean) | undefined, isCurrentMonth: boolean, - dayOfMonth: number, - isDateDisabled?: DatePickerBaseProps['isDateDisabled'] + dayOfMonth: number ) => { return { text: day.toString(),