From 17ab02512c03aeb52abb8a4c4e55d7ac82c59e7d Mon Sep 17 00:00:00 2001 From: Abdulraoof Date: Sat, 19 Apr 2025 14:20:40 +0300 Subject: [PATCH 1/5] common type refactor --- src/lib/components/nav/WeekDateBtn.tsx | 2 +- src/lib/types.ts | 30 +++++++++++++++++++++++--- src/lib/views/Day.tsx | 14 ++---------- src/lib/views/Month.tsx | 16 ++------------ src/lib/views/Week.tsx | 18 ++-------------- 5 files changed, 34 insertions(+), 46 deletions(-) diff --git a/src/lib/components/nav/WeekDateBtn.tsx b/src/lib/components/nav/WeekDateBtn.tsx index 362e6be9..812918d4 100644 --- a/src/lib/components/nav/WeekDateBtn.tsx +++ b/src/lib/components/nav/WeekDateBtn.tsx @@ -2,11 +2,11 @@ import { useState } from "react"; import DateProvider from "../hoc/DateProvider"; import { Button, Popover } from "@mui/material"; import { endOfWeek, format, startOfWeek, addDays } from "date-fns"; -import { WeekProps } from "../../views/Week"; import { LocaleArrow } from "../common/LocaleArrow"; import { DateCalendar } from "@mui/x-date-pickers"; import useStore from "../../hooks/useStore"; import useArrowDisable from "../../hooks/useArrowDisable"; +import { WeekProps } from "../../types"; interface WeekDateBtnProps { selectedDate: Date; diff --git a/src/lib/types.ts b/src/lib/types.ts index 35e8ad97..5e2d182c 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -5,10 +5,7 @@ import { DragEvent } from "react"; import { SelectOption } from "./components/inputs/SelectInput"; import { View } from "./components/nav/Navigation"; import { Store } from "./store/types"; -import { DayProps } from "./views/Day"; import { StateItem } from "./views/Editor"; -import { MonthProps } from "./views/Month"; -import { WeekProps } from "./views/Week"; import type { RRule } from "rrule"; import type { JSX } from "react"; @@ -39,6 +36,33 @@ export type DayHours = | 23 | 24; +export type WeekDays = 0 | 1 | 2 | 3 | 4 | 5 | 6; + +interface CommonWeekViewProps { + weekDays: WeekDays[]; + weekStartOn: WeekDays; + disableGoToDay?: boolean; +} + +interface CommonViewProps { + startHour: DayHours; + endHour: DayHours; + cellRenderer?(props: CellRenderedProps): JSX.Element; + headRenderer?(day: Date): JSX.Element; + navigation?: boolean; + step: number; +} + +export interface MonthProps extends CommonWeekViewProps, CommonViewProps {} + +export interface WeekProps extends CommonWeekViewProps, CommonViewProps { + hourRenderer?(hour: string): JSX.Element; +} + +export interface DayProps extends CommonViewProps { + hourRenderer?(hour: string): JSX.Element; +} + export interface CellRenderedProps { day: Date; start: Date; diff --git a/src/lib/views/Day.tsx b/src/lib/views/Day.tsx index 6e6ad399..ad8c8fb2 100644 --- a/src/lib/views/Day.tsx +++ b/src/lib/views/Day.tsx @@ -1,4 +1,4 @@ -import { useEffect, useCallback, Fragment, JSX } from "react"; +import { useEffect, useCallback, Fragment } from "react"; import { Typography } from "@mui/material"; import { format, @@ -14,7 +14,7 @@ import { } from "date-fns"; import TodayTypo from "../components/common/TodayTypo"; import EventItem from "../components/events/EventItem"; -import { CellRenderedProps, DayHours, DefaultResource, ProcessedEvent } from "../types"; +import { DefaultResource, ProcessedEvent } from "../types"; import { calcCellHeight, calcMinuteHeight, @@ -31,16 +31,6 @@ import { MULTI_DAY_EVENT_HEIGHT } from "../helpers/constants"; import useStore from "../hooks/useStore"; import { DayAgenda } from "./DayAgenda"; -export interface DayProps { - startHour: DayHours; - endHour: DayHours; - step: number; - cellRenderer?(props: CellRenderedProps): JSX.Element; - headRenderer?(day: Date): JSX.Element; - hourRenderer?(hour: string): JSX.Element; - navigation?: boolean; -} - const Day = () => { const { day, diff --git a/src/lib/views/Month.tsx b/src/lib/views/Month.tsx index 4c6454f9..cfe5ab04 100644 --- a/src/lib/views/Month.tsx +++ b/src/lib/views/Month.tsx @@ -1,24 +1,12 @@ -import { useEffect, useCallback, JSX } from "react"; +import { useEffect, useCallback } from "react"; import { addDays, eachWeekOfInterval, endOfMonth, startOfMonth } from "date-fns"; -import { CellRenderedProps, DayHours, DefaultResource } from "../types"; +import { DefaultResource } from "../types"; import { getResourcedEvents, sortEventsByTheEarliest } from "../helpers/generals"; import { WithResources } from "../components/common/WithResources"; import useStore from "../hooks/useStore"; import { MonthAgenda } from "./MonthAgenda"; import MonthTable from "../components/month/MonthTable"; -export type WeekDays = 0 | 1 | 2 | 3 | 4 | 5 | 6; -export interface MonthProps { - weekDays: WeekDays[]; - weekStartOn: WeekDays; - startHour: DayHours; - endHour: DayHours; - cellRenderer?(props: CellRenderedProps): JSX.Element; - headRenderer?(day: Date): JSX.Element; - navigation?: boolean; - disableGoToDay?: boolean; -} - const Month = () => { const { month, diff --git a/src/lib/views/Week.tsx b/src/lib/views/Week.tsx index 62aac917..a37b59f5 100644 --- a/src/lib/views/Week.tsx +++ b/src/lib/views/Week.tsx @@ -1,26 +1,12 @@ -import { useEffect, useCallback, JSX } from "react"; +import { useEffect, useCallback } from "react"; import { startOfWeek, addDays, eachMinuteOfInterval, endOfDay, startOfDay, set } from "date-fns"; -import { CellRenderedProps, DayHours, DefaultResource } from "../types"; -import { WeekDays } from "./Month"; +import { DefaultResource } from "../types"; import { calcCellHeight, calcMinuteHeight, getResourcedEvents } from "../helpers/generals"; import { WithResources } from "../components/common/WithResources"; import useStore from "../hooks/useStore"; import { WeekAgenda } from "./WeekAgenda"; import WeekTable from "../components/week/WeekTable"; -export interface WeekProps { - weekDays: WeekDays[]; - weekStartOn: WeekDays; - startHour: DayHours; - endHour: DayHours; - step: number; - cellRenderer?(props: CellRenderedProps): JSX.Element; - headRenderer?(day: Date): JSX.Element; - hourRenderer?(hour: string): JSX.Element; - navigation?: boolean; - disableGoToDay?: boolean; -} - const Week = () => { const { week, From c6c1fad30af19aa9f9801a0176cb154c08bfbba8 Mon Sep 17 00:00:00 2001 From: Abdulraoof Date: Sat, 19 Apr 2025 14:29:46 +0300 Subject: [PATCH 2/5] add resource and events to headRenderer --- src/App.tsx | 17 ++++++++++++++++- src/lib/components/month/MonthTable.tsx | 4 +++- src/lib/components/week/WeekTable.tsx | 2 +- src/lib/types.ts | 6 +++++- src/lib/views/Day.tsx | 4 ++-- src/lib/views/DayAgenda.tsx | 7 ++++--- src/lib/views/Month.tsx | 2 +- src/lib/views/MonthAgenda.tsx | 7 ++++--- src/lib/views/Week.tsx | 2 +- src/lib/views/WeekAgenda.tsx | 7 ++++--- 10 files changed, 41 insertions(+), 17 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 497560ed..4823caf6 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ import { Scheduler } from "./lib"; -import { EVENTS } from "./events"; +import { EVENTS, RESOURCES } from "./events"; import { useRef } from "react"; import { SchedulerRef } from "./lib/types"; import { Link } from "react-router-dom"; @@ -16,6 +16,21 @@ function App() { diff --git a/src/lib/components/month/MonthTable.tsx b/src/lib/components/month/MonthTable.tsx index b13183b6..487c6628 100644 --- a/src/lib/components/month/MonthTable.tsx +++ b/src/lib/components/month/MonthTable.tsx @@ -92,7 +92,9 @@ const MonthTable = ({ daysList, resource, eachWeekStart }: Props) => { /> {typeof headRenderer === "function" ? ( -
{headRenderer(today)}
+
+ {headRenderer({ day: today, events: resourcedEvents, resource })} +
) : ( {typeof headRenderer === "function" ? ( -
{headRenderer(date)}
+
{headRenderer({ day: date, events: resourcedEvents, resource })}
) : ( { } if (agenda) { - return ; + return ; } // Equalizing multi-day section height @@ -153,7 +153,7 @@ const Day = () => { style={{ height: headerHeight }} > {typeof headRenderer === "function" ? ( -
{headRenderer(selectedDate)}
+
{headRenderer({ day: selectedDate, events: resourcedEvents, resource })}
) : ( )} diff --git a/src/lib/views/DayAgenda.tsx b/src/lib/views/DayAgenda.tsx index ae8f3a98..541993df 100644 --- a/src/lib/views/DayAgenda.tsx +++ b/src/lib/views/DayAgenda.tsx @@ -1,7 +1,7 @@ import { useMemo } from "react"; import { format } from "date-fns"; import { AgendaDiv } from "../styles/styles"; -import { ProcessedEvent } from "../types"; +import { DefaultResource, ProcessedEvent } from "../types"; import useStore from "../hooks/useStore"; import { Typography } from "@mui/material"; import { filterTodayAgendaEvents } from "../helpers/generals"; @@ -10,8 +10,9 @@ import EmptyAgenda from "../components/events/EmptyAgenda"; type Props = { events: ProcessedEvent[]; + resource?: DefaultResource; }; -const DayAgenda = ({ events }: Props) => { +const DayAgenda = ({ events, resource }: Props) => { const { day, locale, selectedDate, translations, alwaysShowAgendaDays } = useStore(); const { headRenderer } = day!; @@ -28,7 +29,7 @@ const DayAgenda = ({ events }: Props) => {
{typeof headRenderer === "function" ? ( -
{headRenderer(selectedDate)}
+
{headRenderer({ day: selectedDate, events, resource })}
) : ( {format(selectedDate, "dd E", { locale })} )} diff --git a/src/lib/views/Month.tsx b/src/lib/views/Month.tsx index cfe5ab04..d5a9795b 100644 --- a/src/lib/views/Month.tsx +++ b/src/lib/views/Month.tsx @@ -68,7 +68,7 @@ const Month = () => { resourcedEvents = getResourcedEvents(events, resource, resourceFields, fields); } - return ; + return ; } return ; diff --git a/src/lib/views/MonthAgenda.tsx b/src/lib/views/MonthAgenda.tsx index f6136ebb..750e8544 100644 --- a/src/lib/views/MonthAgenda.tsx +++ b/src/lib/views/MonthAgenda.tsx @@ -1,7 +1,7 @@ import { useMemo } from "react"; import { format, isSameMonth, getDaysInMonth, isToday } from "date-fns"; import { AgendaDiv } from "../styles/styles"; -import { ProcessedEvent } from "../types"; +import { DefaultResource, ProcessedEvent } from "../types"; import useStore from "../hooks/useStore"; import { Typography } from "@mui/material"; import { filterTodayAgendaEvents, isTimeZonedToday } from "../helpers/generals"; @@ -10,8 +10,9 @@ import EmptyAgenda from "../components/events/EmptyAgenda"; type Props = { events: ProcessedEvent[]; + resource?: DefaultResource; }; -const MonthAgenda = ({ events }: Props) => { +const MonthAgenda = ({ events, resource }: Props) => { const { month, handleGotoDay, @@ -46,7 +47,7 @@ const MonthAgenda = ({ events }: Props) => {
{typeof headRenderer === "function" ? ( -
{headRenderer(day)}
+
{headRenderer({ day, events, resource })}
) : ( { } if (agenda) { - return ; + return ; } return ( diff --git a/src/lib/views/WeekAgenda.tsx b/src/lib/views/WeekAgenda.tsx index ff894a9b..3e8fae6c 100644 --- a/src/lib/views/WeekAgenda.tsx +++ b/src/lib/views/WeekAgenda.tsx @@ -1,7 +1,7 @@ import { useMemo } from "react"; import { format, isToday } from "date-fns"; import { AgendaDiv } from "../styles/styles"; -import { ProcessedEvent } from "../types"; +import { DefaultResource, ProcessedEvent } from "../types"; import useStore from "../hooks/useStore"; import { Typography } from "@mui/material"; import { filterTodayAgendaEvents, isTimeZonedToday } from "../helpers/generals"; @@ -10,9 +10,10 @@ import EmptyAgenda from "../components/events/EmptyAgenda"; type Props = { daysList: Date[]; + resource?: DefaultResource; events: ProcessedEvent[]; }; -const WeekAgenda = ({ daysList, events }: Props) => { +const WeekAgenda = ({ daysList, resource, events }: Props) => { const { week, handleGotoDay, locale, timeZone, translations, alwaysShowAgendaDays } = useStore(); const { disableGoToDay, headRenderer } = week!; @@ -36,7 +37,7 @@ const WeekAgenda = ({ daysList, events }: Props) => {
{typeof headRenderer === "function" ? ( -
{headRenderer(day)}
+
{headRenderer({ day, events, resource })}
) : ( Date: Sat, 19 Apr 2025 14:31:25 +0300 Subject: [PATCH 3/5] no JSX --- README.md | 8 +++---- src/lib/components/common/Cell.tsx | 5 ++--- src/lib/components/common/Tabs.tsx | 6 ++--- src/lib/components/events/MonthEvents.tsx | 4 ++-- src/lib/components/month/MonthTable.tsx | 4 ++-- src/lib/types.ts | 27 +++++++++++------------ 6 files changed, 26 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 2fcdc3eb..e1aeac90 100644 --- a/README.md +++ b/README.md @@ -50,15 +50,15 @@ All props are _optional_ | view | string. Initial view to load. options: "week", "month", "day".
_Default_: "week" (if it's not null) | agenda | boolean. Activate agenda view | alwaysShowAgendaDays | boolean. if true, day rows without events will be shown -| month | Object. Month view props.
_default_:
{
weekDays: [0, 1, 2, 3, 4, 5],
weekStartOn: 6,
startHour: 9,
endHour: 17,
cellRenderer?:(props: CellProps) => JSX.Element,
navigation: true,
disableGoToDay: false
}
-| week | Object. Week view props.
_default_:
{ 
weekDays: [0, 1, 2, 3, 4, 5],
weekStartOn: 6,
startHour: 9,
endHour: 17,
step: 60,
cellRenderer?:(props: CellProps) => JSX.Element,
navigation: true,
disableGoToDay: false
}
-| day | Object. Day view props.
_default_:
{
startHour: 9,
endHour: 17,
step: 60,
cellRenderer?:(props: CellProps) => JSX.Element,
hourRenderer?:(hour: string) => JSX.Element,
navigation: true
}
+| month | Object. Month view props.
_default_:
{
weekDays: [0, 1, 2, 3, 4, 5],
weekStartOn: 6,
startHour: 9,
endHour: 17,
cellRenderer?:(props: CellProps) => React.ReactNode,
navigation: true,
disableGoToDay: false
}
+| week | Object. Week view props.
_default_:
{ 
weekDays: [0, 1, 2, 3, 4, 5],
weekStartOn: 6,
startHour: 9,
endHour: 17,
step: 60,
cellRenderer?:(props: CellProps) => React.ReactNode,
navigation: true,
disableGoToDay: false
}
+| day | Object. Day view props.
_default_:
{
startHour: 9,
endHour: 17,
step: 60,
cellRenderer?:(props: CellProps) => React.ReactNode,
hourRenderer?:(hour: string) => React.ReactNode,
navigation: true
}
| selectedDate | Date. Initial selected date.
_Default_: `new Date()` | navigation | boolean. Show/Hide top bar date navigation.
_Default_: `true` | navigationPickerProps | CalendarPickerProps for top bar date navigation. Ref [CalendarPicker API](https://mui.com/x/api/date-pickers/calendar-picker/#main-content) | disableViewNavigator | boolean. Show/Hide top bar date View navigator.
_Default_: `false` | events | Array of ProcessedEvent.
_Default_: []
type ProcessedEvent = {
event*id: number or string;
title: string;
subtitle?: string;
start: Date;
end: Date;
disabled?: boolean;
recurring: RRule;
color?: string or "palette.path";
textColor?: string or "palette.path";
editable?: boolean;
deletable?: boolean;
draggable?: boolean;
allDay?: boolean;
agendaAvatar?: React.ReactElement \| string
sx?: Mui sx prop
}
-| eventRenderer | Function(event:ProcessedEvent): JSX.Element.
A function that overrides the event item render function, see demo \_Custom Event Renderer* below +| eventRenderer | Function(event:ProcessedEvent): React.ReactNode.
A function that overrides the event item render function, see demo \_Custom Event Renderer* below | editable | boolean. If `true`, the scheduler cell click will not open the editor, and the event item will not show the edit button, this is applied to all events, and can be overridden in each event property, see `ProcessedEvent` type. | deletable | boolean. Whether the event item will show the delete button, this is applied to all events, and can be overridden in each event property, see `ProcessedEvent` type. | draggable | boolean. Whether activate drag&drop for the events, this is applied to all events, and can be overridden in each event property, see `ProcessedEvent` type. diff --git a/src/lib/components/common/Cell.tsx b/src/lib/components/common/Cell.tsx index 4e2993d4..9e24a2be 100644 --- a/src/lib/components/common/Cell.tsx +++ b/src/lib/components/common/Cell.tsx @@ -1,7 +1,6 @@ import { Button } from "@mui/material"; import { useCellAttributes } from "../../hooks/useCellAttributes"; import { CellRenderedProps } from "../../types"; -import { JSX } from "react"; interface CellProps { day: Date; @@ -10,8 +9,8 @@ interface CellProps { end: Date; resourceKey: string; resourceVal: string | number; - cellRenderer?(props: CellRenderedProps): JSX.Element; - children?: JSX.Element; + cellRenderer?(props: CellRenderedProps): React.ReactNode; + children?: React.ReactNode; } const Cell = ({ diff --git a/src/lib/components/common/Tabs.tsx b/src/lib/components/common/Tabs.tsx index b029108d..e8dfa450 100644 --- a/src/lib/components/common/Tabs.tsx +++ b/src/lib/components/common/Tabs.tsx @@ -1,4 +1,4 @@ -import { CSSProperties, JSX } from "react"; +import { CSSProperties } from "react"; import { Tabs, Tab } from "@mui/material"; import { styled } from "@mui/material/styles"; import { Theme } from "@mui/system"; @@ -63,8 +63,8 @@ const StyledTaps = styled("div")(({ theme }: { theme: Theme }) => ({ export type ButtonTabProps = { id: string | number; - label: string | JSX.Element; - component: JSX.Element; + label: string | React.ReactNode; + component: React.ReactNode; }; interface ButtonTabsProps { tabs: ButtonTabProps[]; diff --git a/src/lib/components/events/MonthEvents.tsx b/src/lib/components/events/MonthEvents.tsx index 318faf84..e56e21b3 100644 --- a/src/lib/components/events/MonthEvents.tsx +++ b/src/lib/components/events/MonthEvents.tsx @@ -1,4 +1,4 @@ -import { Fragment, JSX, useMemo } from "react"; +import { Fragment, useMemo } from "react"; import { closestTo, isBefore, @@ -45,7 +45,7 @@ const MonthEvents = ({ const { renderedSlots } = usePosition(); const renderEvents = useMemo(() => { - const elements: JSX.Element[] = []; + const elements: React.ReactNode[] = []; for (let i = 0; i < Math.min(events.length, LIMIT + 1); i++) { const event = convertEventTimeZone(events[i], timeZone); diff --git a/src/lib/components/month/MonthTable.tsx b/src/lib/components/month/MonthTable.tsx index 487c6628..568eb4a4 100644 --- a/src/lib/components/month/MonthTable.tsx +++ b/src/lib/components/month/MonthTable.tsx @@ -10,7 +10,7 @@ import { startOfDay, startOfMonth, } from "date-fns"; -import { Fragment, JSX, useCallback } from "react"; +import { Fragment, useCallback } from "react"; import { getHourFormat, getRecurrencesForDate, @@ -60,7 +60,7 @@ const MonthTable = ({ daysList, resource, eachWeekStart }: Props) => { if (resource) { resourcedEvents = getResourcedEvents(events, resource, resourceFields, fields); } - const rows: JSX.Element[] = []; + const rows: React.ReactNode[] = []; for (const startDay of eachWeekStart) { const cells = weekDays.map((d) => { diff --git a/src/lib/types.ts b/src/lib/types.ts index 7405624c..3019b508 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -7,7 +7,6 @@ import { View } from "./components/nav/Navigation"; import { Store } from "./store/types"; import { StateItem } from "./views/Editor"; import type { RRule } from "rrule"; -import type { JSX } from "react"; export type DayHours = | 0 @@ -47,12 +46,12 @@ interface CommonWeekViewProps { interface CommonViewProps { startHour: DayHours; endHour: DayHours; - cellRenderer?(props: CellRenderedProps): JSX.Element; + cellRenderer?(props: CellRenderedProps): React.ReactNode; headRenderer?(props: { day: Date; events: ProcessedEvent[]; resource?: DefaultResource; - }): JSX.Element; + }): React.ReactNode; navigation?: boolean; step: number; } @@ -60,11 +59,11 @@ interface CommonViewProps { export interface MonthProps extends CommonWeekViewProps, CommonViewProps {} export interface WeekProps extends CommonWeekViewProps, CommonViewProps { - hourRenderer?(hour: string): JSX.Element; + hourRenderer?(hour: string): React.ReactNode; } export interface DayProps extends CommonViewProps { - hourRenderer?(hour: string): JSX.Element; + hourRenderer?(hour: string): React.ReactNode; } export interface CellRenderedProps { @@ -253,7 +252,7 @@ export interface SchedulerProps { /**Events to display */ events: ProcessedEvent[]; /** Custom event render method */ - eventRenderer?: (props: EventRendererProps) => JSX.Element | null; + eventRenderer?: (props: EventRendererProps) => React.ReactNode | null; /**Async function to load remote data with current view data. */ getRemoteEvents?(params: RemoteQuery): Promise; /**Custom additional fields with it's settings */ @@ -261,23 +260,23 @@ export interface SchedulerProps { /**Table loading state */ loading?: boolean; /** Custom loading component */ - loadingComponent?: JSX.Element; + loadingComponent?: React.ReactNode; /**Async function triggered when add/edit event */ onConfirm?(event: ProcessedEvent, action: EventActions): Promise; /**Async function triggered when delete event */ onDelete?(deletedId: string | number): Promise; /**Override editor modal */ - customEditor?(scheduler: SchedulerHelpers): JSX.Element; + customEditor?(scheduler: SchedulerHelpers): React.ReactNode; /** Custom viewer/popper component. If used, `viewerExtraComponent` & `viewerTitleComponent` will be ignored */ - customViewer?(event: ProcessedEvent, close: () => void): JSX.Element; + customViewer?(event: ProcessedEvent, close: () => void): React.ReactNode; /**Additional component in event viewer popper */ viewerExtraComponent?: - | JSX.Element - | ((fields: FieldProps[], event: ProcessedEvent) => JSX.Element); + | React.ReactNode + | ((fields: FieldProps[], event: ProcessedEvent) => React.ReactNode); /**Override viewer title component */ - viewerTitleComponent?(event: ProcessedEvent): JSX.Element; + viewerTitleComponent?(event: ProcessedEvent): React.ReactNode; /**Override viewer subtitle component */ - viewerSubtitleComponent?(event: ProcessedEvent): JSX.Element; + viewerSubtitleComponent?(event: ProcessedEvent): React.ReactNode; /** if true, the viewer popover will be disabled globally */ disableViewer?: boolean; /**Resources array to split event views with resources */ @@ -285,7 +284,7 @@ export interface SchedulerProps { /**Map resources fields */ resourceFields: ResourceFields; /**Override header component of resource */ - resourceHeaderComponent?(resource: DefaultResource): JSX.Element; + resourceHeaderComponent?(resource: DefaultResource): React.ReactNode; /** Triggered when resource tabs changes */ onResourceChange?(resource: DefaultResource): void; /**Resource header view mode From 8504c9130cf1299fc73fa427560646af57138e23 Mon Sep 17 00:00:00 2001 From: Abdulraoof Date: Sat, 19 Apr 2025 14:37:26 +0300 Subject: [PATCH 4/5] revert App --- src/App.tsx | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 4823caf6..497560ed 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ import { Scheduler } from "./lib"; -import { EVENTS, RESOURCES } from "./events"; +import { EVENTS } from "./events"; import { useRef } from "react"; import { SchedulerRef } from "./lib/types"; import { Link } from "react-router-dom"; @@ -16,21 +16,6 @@ function App() { From f78ae0433ef3c1d7c65b7e3433dc9281789c614a Mon Sep 17 00:00:00 2001 From: Abdulraoof Date: Sat, 19 Apr 2025 14:39:38 +0300 Subject: [PATCH 5/5] lock x-date-pickers to before v8 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 802b1644..805c8c26 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@eslint/js": "^9.20.0", "@mui/icons-material": ">=7.0.0", "@mui/material": ">=7.0.0", - "@mui/x-date-pickers": ">=7.27.0", + "@mui/x-date-pickers": "7.27.0", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", @@ -105,7 +105,7 @@ "peerDependencies": { "@mui/icons-material": ">=7.0.0", "@mui/material": ">=7.0.0", - "@mui/x-date-pickers": ">=7.0.0", + "@mui/x-date-pickers": ">=7.0.0 & <8.0.0", "date-fns": ">=4.0.0", "react": ">=18.0.0", "react-dom": ">=18.0.0",