Liking cljdoc? Tell your friends :D

mantine.schedule

Mantine @mantine/schedule 9.5.0 wrappers (generated).

Mantine @mantine/schedule 9.5.0 wrappers (generated).
raw docstring

day-viewclj/s

DayView — Standalone schedule day view component

https://mantine.dev/schedule/day-view

Props (docgen 9.5.0):

  • allDaySlotHeight Height<string | number> (default 44px) — Height of all-day slot
  • businessHours [string, string] (default ['09:00:00', '17:00:00']) — Business hours range in HH:mm:ss format
  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • canResizeEvent (event: ScheduleEventData) => boolean — Function to determine if event can be resized
  • date string | Date (required) — Day to display, Date object or date string in YYYY-MM-DD format
  • endTime string (default 23:59:59) — Time slots end time in HH:mm:ss format
  • events ScheduleEventData[] — Events to display, must be a stable reference
  • getCurrentTime () => AnyDateValue (default () => dayjs()) — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
  • getTimeSlotProps ((data: { start: string; end: string; }) => Record<string, any>) | undefined — Function to get additional props for each time slot. Receives slot start and end datetime strings. Returned props are spread onto the slot element. Event handlers returned by this function are composed with internal handlers (e.g. onClick) rather than overriding them.
  • headerFormat string | ((date: string) => string) (default MMMM D, YYYY) — Date format in the header
  • highlightBusinessHours boolean (default false) — If set to true, highlights business hours with white background
  • intervalMinutes number (default 15) — Number of minutes for each time slot. Must divide evenly into an hour (e.g. 15, 30) or be a whole number of hours (e.g. 120, 240)
  • labels Partial<ScheduleLabels> — Labels override
  • locale string — Locale passed down to dayjs, overrides value defined on DatesProvider
  • mode ScheduleMode (default default) — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
  • moreEventsProps Partial<MoreEventsProps> — Props passed down to MoreEvents component
  • nextControlProps React.ComponentProps<'button'> — Props passed to next month control
  • onAllDaySlotClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when all-day slot is clicked
  • onDateChange (date: string) => void — Called when date is changed
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is dropped at new time
  • onEventResize (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is resized
  • onExternalEventDrop (dataTransfer: DataTransfer, dropDateTime: string) => void — Called when an external item is dropped onto the schedule. Receives the DataTransfer object and the drop target datetime.
  • onSlotDragEnd (rangeStart: string, rangeEnd: string) => void — Called when a time slot range is selected by dragging
  • onTimeSlotClick (data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; }) => void — Called when time slot is clicked
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level select button is clicked
  • previousControlProps React.ComponentProps<'button'> — Props passed to previous month control
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • renderEvent RenderEvent — Function to fully customize event rendering, receives all props that would be passed to the root element including children
  • renderEventBody RenderEventBody — Function to customize event body, event object is passed as first argument
  • scrollAreaProps ScrollAreaAutosizeProps & DataAttributes — Props passed down to the ScrollArea.Autosize component
  • slotHeight Height<string | number> (default 64px) — Height of 1hr slot
  • slotLabelFormat string | ((date: string) => string) (default HH:mm) — Dayjs format for slot labels or a callback function that returns formatted value
  • startScrollTime string — Time to scroll to on initial render, in HH:mm:ss format
  • startTime string (default 00:00:00) — Time slots start time, in HH:mm:ss format
  • todayControlProps React.ComponentProps<'button'> — Props passed to today control
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes — Props passed to view level select
  • withAgenda boolean (default false) — If set, displays an Agenda button in the header that opens an agenda list view
  • withAllDaySlot boolean (default true) — If set, the all-day slot is displayed below the header
  • withCurrentTimeBubble boolean (default true) — If set, the time indicator displays the current time in the bubble
  • withCurrentTimeIndicator boolean — If set, displays a line indicating the current time. By default, displayed only for the current day.
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select time slot ranges
  • withEventResize boolean (default false) — If true, events can be resized by dragging their edges
  • withEventsDragAndDrop boolean (default false) — If true, events can be dragged and dropped
  • withHeader boolean (default true) — If set, the header is displayed
  • withSubHourGridLines boolean (default true) — If set, grid lines are displayed for intervals smaller than one hour, for example 15 and 30 minutes intervals

Optional leading props map; remaining args are children.

DayView — Standalone schedule day view component

https://mantine.dev/schedule/day-view

Props (docgen 9.5.0):

- **allDaySlotHeight** `Height<string | number>` _(default `44px`)_ — Height of all-day slot
- **businessHours** `[string, string]` _(default `['09:00:00', '17:00:00']`)_ — Business hours range in `HH:mm:ss` format
- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **canResizeEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be resized
- **date** `string | Date` **(required)** — Day to display, Date object or date string in `YYYY-MM-DD` format
- **endTime** `string` _(default `23:59:59`)_ — Time slots end time in `HH:mm:ss` format
- **events** `ScheduleEventData[]` — Events to display, must be a stable reference
- **getCurrentTime** `() => AnyDateValue` _(default `() => dayjs()`)_ — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
- **getTimeSlotProps** `((data: { start: string; end: string; }) => Record<string, any>) | undefined` — Function to get additional props for each time slot. Receives slot start and end datetime strings. Returned props are spread onto the slot element. Event handlers returned by this function are composed with internal handlers (e.g. onClick) rather than overriding them.
- **headerFormat** `string | ((date: string) => string)` _(default `MMMM D, YYYY`)_ — Date format in the header
- **highlightBusinessHours** `boolean` _(default `false`)_ — If set to true, highlights business hours with white background
- **intervalMinutes** `number` _(default `15`)_ — Number of minutes for each time slot. Must divide evenly into an hour (e.g. `15`, `30`) or be a whole number of hours (e.g. `120`, `240`)
- **labels** `Partial<ScheduleLabels>` — Labels override
- **locale** `string` — Locale passed down to dayjs, overrides value defined on `DatesProvider`
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
- **moreEventsProps** `Partial<MoreEventsProps>` — Props passed down to `MoreEvents` component
- **nextControlProps** `React.ComponentProps<'button'>` — Props passed to next month control
- **onAllDaySlotClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when all-day slot is clicked
- **onDateChange** `(date: string) => void` — Called when date is changed
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is dropped at new time
- **onEventResize** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is resized
- **onExternalEventDrop** `(dataTransfer: DataTransfer, dropDateTime: string) => void` — Called when an external item is dropped onto the schedule. Receives the `DataTransfer` object and the drop target datetime.
- **onSlotDragEnd** `(rangeStart: string, rangeEnd: string) => void` — Called when a time slot range is selected by dragging
- **onTimeSlotClick** `(data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; }) => void` — Called when time slot is clicked
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level select button is clicked
- **previousControlProps** `React.ComponentProps<'button'>` — Props passed to previous month control
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **renderEvent** `RenderEvent` — Function to fully customize event rendering, receives all props that would be passed to the root element including children
- **renderEventBody** `RenderEventBody` — Function to customize event body, `event` object is passed as first argument
- **scrollAreaProps** `ScrollAreaAutosizeProps & DataAttributes` — Props passed down to the `ScrollArea.Autosize` component
- **slotHeight** `Height<string | number>` _(default `64px`)_ — Height of 1hr slot
- **slotLabelFormat** `string | ((date: string) => string)` _(default `HH:mm`)_ — Dayjs format for slot labels or a callback function that returns formatted value
- **startScrollTime** `string` — Time to scroll to on initial render, in `HH:mm:ss` format
- **startTime** `string` _(default `00:00:00`)_ — Time slots start time, in `HH:mm:ss` format
- **todayControlProps** `React.ComponentProps<'button'>` — Props passed to today control
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes` — Props passed to view level select
- **withAgenda** `boolean` _(default `false`)_ — If set, displays an Agenda button in the header that opens an agenda list view
- **withAllDaySlot** `boolean` _(default `true`)_ — If set, the all-day slot is displayed below the header
- **withCurrentTimeBubble** `boolean` _(default `true`)_ — If set, the time indicator displays the current time in the bubble
- **withCurrentTimeIndicator** `boolean` — If set, displays a line indicating the current time. By default, displayed only for the current day.
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select time slot ranges
- **withEventResize** `boolean` _(default `false`)_ — If true, events can be resized by dragging their edges
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — If true, events can be dragged and dropped
- **withHeader** `boolean` _(default `true`)_ — If set, the header is displayed
- **withSubHourGridLines** `boolean` _(default `true`)_ — If set, grid lines are displayed for intervals smaller than one hour, for example 15 and 30 minutes intervals

Optional leading props map; remaining args are children.
sourceraw docstring

mobile-month-viewclj/s

MobileMonthView — Mobile-optimized schedule month view component

https://mantine.dev/schedule/mobile-month-view

Props (docgen 9.5.0):

  • consistentWeeks boolean (default true) — If set, always renders 6 weeks in the month view
  • date string | Date (required) — Date to display, Date object or date string in YYYY-MM-DD 00:00:00 format
  • defaultSelectedDate string | Date | null — Default selected date (uncontrolled)
  • events ScheduleEventData[] — Events to display
  • eventsHeaderFormat string | ((date: string) => string) (default 'dddd, MMMM D') — Format for the events list header date
  • firstDayOfWeek 0 | 1 | 2 | 3 | 4 | 5 | 6 (default 1 – Monday) — Number 0-6, where 0 – Sunday and 6 – Saturday.
  • getDayProps (date: string) => Record<string, any> — Props passed down to the day button
  • getWeekNumberProps (weekStartDate: string) => Record<string, any> — Props passed down to the week number button
  • highlightToday boolean (default true) — If set, highlights the current day
  • labels Partial<ScheduleLabels> — Labels override for i18n
  • locale string — Locale passed down to dayjs, overrides value defined on DatesProvider
  • mode ScheduleMode (default 'default') — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
  • onDateChange (value: string) => void — Called with the new date value when a date is selected
  • onDayClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when day is clicked
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onSelectedDateChange (value: string | null) => void — Called when selected date changes
  • onWeekNumberClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called with first day of the week when week number is clicked
  • onYearClick () => void — Called when the year back button in the header is clicked
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • renderEvent RenderEvent — Function to fully customize event rendering, receives all props that would be passed to the root element including children
  • renderHeader (input: MobileMonthViewRenderHeaderInput) => ReactNode — Custom header renderer, receives object with mode, date, and default header element
  • selectedDate string | Date | null — Currently selected date (controlled)
  • weekdayFormat string | ((date: string) => string)dayjs format for weekdays names. By default, the first letter of the weekday.
  • weekendDays (0 | 1 | 2 | 3 | 4 | 5 | 6)[] — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by DatesProvider.
  • withOutsideDays boolean (default false) — If set, days from the previous and next months are displayed to fill the weeks
  • withWeekDays boolean (default true) — If set, weekdays names are displayed in the first row
  • withWeekNumbers boolean (default false) — If set, week numbers are displayed in the first column

Optional leading props map; remaining args are children.

MobileMonthView — Mobile-optimized schedule month view component

https://mantine.dev/schedule/mobile-month-view

Props (docgen 9.5.0):

- **consistentWeeks** `boolean` _(default `true`)_ — If set, always renders 6 weeks in the month view
- **date** `string | Date` **(required)** — Date to display, Date object or date string in `YYYY-MM-DD 00:00:00` format
- **defaultSelectedDate** `string | Date | null` — Default selected date (uncontrolled)
- **events** `ScheduleEventData[]` — Events to display
- **eventsHeaderFormat** `string | ((date: string) => string)` _(default `'dddd, MMMM D'`)_ — Format for the events list header date
- **firstDayOfWeek** `0 | 1 | 2 | 3 | 4 | 5 | 6` _(default `1 – Monday`)_ — Number 0-6, where 0 – Sunday and 6 – Saturday.
- **getDayProps** `(date: string) => Record<string, any>` — Props passed down to the day button
- **getWeekNumberProps** `(weekStartDate: string) => Record<string, any>` — Props passed down to the week number button
- **highlightToday** `boolean` _(default `true`)_ — If set, highlights the current day
- **labels** `Partial<ScheduleLabels>` — Labels override for i18n
- **locale** `string` — Locale passed down to dayjs, overrides value defined on `DatesProvider`
- **mode** `ScheduleMode` _(default `'default'`)_ — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
- **onDateChange** `(value: string) => void` — Called with the new date value when a date is selected
- **onDayClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when day is clicked
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onSelectedDateChange** `(value: string | null) => void` — Called when selected date changes
- **onWeekNumberClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called with first day of the week when week number is clicked
- **onYearClick** `() => void` — Called when the year back button in the header is clicked
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **renderEvent** `RenderEvent` — Function to fully customize event rendering, receives all props that would be passed to the root element including children
- **renderHeader** `(input: MobileMonthViewRenderHeaderInput) => ReactNode` — Custom header renderer, receives object with mode, date, and default header element
- **selectedDate** `string | Date | null` — Currently selected date (controlled)
- **weekdayFormat** `string | ((date: string) => string)` — `dayjs` format for weekdays names. By default, the first letter of the weekday.
- **weekendDays** `(0 | 1 | 2 | 3 | 4 | 5 | 6)[]` — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`.
- **withOutsideDays** `boolean` _(default `false`)_ — If set, days from the previous and next months are displayed to fill the weeks
- **withWeekDays** `boolean` _(default `true`)_ — If set, weekdays names are displayed in the first row
- **withWeekNumbers** `boolean` _(default `false`)_ — If set, week numbers are displayed in the first column

Optional leading props map; remaining args are children.
sourceraw docstring

month-viewclj/s

MonthView — Standalone schedule month view component

https://mantine.dev/schedule/month-view

Props (docgen 9.5.0):

  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • consistentWeeks boolean (default true) — If set, always renders 6 weeks in the month view
  • date string | Date (required) — Date to display, Date object or date string in YYYY-MM-DD 00:00:00 format
  • events ScheduleEventData[] — Events to display
  • firstDayOfWeek 0 | 1 | 2 | 3 | 4 | 5 | 6 (default 1 – Monday) — Number 0-6, where 0 – Sunday and 6 – Saturday.
  • getDayProps (date: string) => Record<string, any> — Props passed down to the day button
  • getWeekNumberProps (weekStartDate: string) => Record<string, any> — Props passed down to the week number button
  • highlightToday boolean (default true) — If set, highlights the current day
  • labels Partial<ScheduleLabels> — Labels override for i18n
  • locale string — Locale passed down to dayjs, overrides value defined on DatesProvider
  • maxEventsPerDay number (default 2) — Maximum number of events visible per day before "+more" indicator shows, value is clamped between 1 and 10
  • mode ScheduleMode (default default) — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
  • monthYearSelectProps Partial<MonthYearSelectProps> — Props passed down to MonthYearSelect component in the header
  • moreEventsProps Partial<MoreEventsProps> — Props passed down to MoreEvents component
  • nextControlProps React.ComponentProps<'button'> — Props passed to next month control
  • onDateChange (value: string) => void — Called with the new date value when a date is selected
  • onDayClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when day is clicked
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is dropped on new date
  • onExternalEventDrop (dataTransfer: DataTransfer, dropDateTime: string) => void — Called when an external item is dropped onto the schedule. Receives the DataTransfer object and the drop target datetime.
  • onSlotDragEnd (rangeStart: string, rangeEnd: string) => void — Called when a day range is selected by dragging
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level select button is clicked
  • onWeekNumberClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called with first day of the week when week number is clicked
  • previousControlProps React.ComponentProps<'button'> — Props passed to previous month control
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • renderEvent RenderEvent — Function to fully customize event rendering, receives all props that would be passed to the root element including children
  • renderEventBody RenderEventBody — Function to customize event body, event object is passed as first argument
  • scrollAreaProps Partial<ScrollAreaProps> & DataAttributes — Props passed down to ScrollArea component
  • todayControlProps React.ComponentProps<'button'> — Props passed to today control
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes — Props passed to view level select
  • weekdayFormat string | ((date: string) => string)dayjs format for weekdays names. By default, the first letter of the weekday.
  • weekendDays (0 | 1 | 2 | 3 | 4 | 5 | 6)[] — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by DatesProvider.
  • withAgenda boolean (default false) — If set, displays an Agenda button in the header that opens an agenda list view
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select day ranges
  • withEventsDragAndDrop boolean (default false) — If true, events can be dragged and dropped
  • withHeader boolean (default true) — If set, the header is displayed
  • withOutsideDays boolean (default true) — If set, days from the previous and next months are displayed to fill the weeks
  • withWeekDays boolean (default true) — If set, weekdays names are displayed in the first row
  • withWeekNumbers boolean (default false) — If set, week numbers are displayed in the first column
  • withWeekendDays boolean (default true) — If set, weekend days are displayed. When false, days defined by weekendDays are hidden and the grid shrinks to the remaining columns

Optional leading props map; remaining args are children.

MonthView — Standalone schedule month view component

https://mantine.dev/schedule/month-view

Props (docgen 9.5.0):

- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **consistentWeeks** `boolean` _(default `true`)_ — If set, always renders 6 weeks in the month view
- **date** `string | Date` **(required)** — Date to display, Date object or date string in `YYYY-MM-DD 00:00:00` format
- **events** `ScheduleEventData[]` — Events to display
- **firstDayOfWeek** `0 | 1 | 2 | 3 | 4 | 5 | 6` _(default `1 – Monday`)_ — Number 0-6, where 0 – Sunday and 6 – Saturday.
- **getDayProps** `(date: string) => Record<string, any>` — Props passed down to the day button
- **getWeekNumberProps** `(weekStartDate: string) => Record<string, any>` — Props passed down to the week number button
- **highlightToday** `boolean` _(default `true`)_ — If set, highlights the current day
- **labels** `Partial<ScheduleLabels>` — Labels override for i18n
- **locale** `string` — Locale passed down to dayjs, overrides value defined on `DatesProvider`
- **maxEventsPerDay** `number` _(default `2`)_ — Maximum number of events visible per day before "+more" indicator shows, value is clamped between 1 and 10
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
- **monthYearSelectProps** `Partial<MonthYearSelectProps>` — Props passed down to `MonthYearSelect` component in the header
- **moreEventsProps** `Partial<MoreEventsProps>` — Props passed down to `MoreEvents` component
- **nextControlProps** `React.ComponentProps<'button'>` — Props passed to next month control
- **onDateChange** `(value: string) => void` — Called with the new date value when a date is selected
- **onDayClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when day is clicked
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is dropped on new date
- **onExternalEventDrop** `(dataTransfer: DataTransfer, dropDateTime: string) => void` — Called when an external item is dropped onto the schedule. Receives the `DataTransfer` object and the drop target datetime.
- **onSlotDragEnd** `(rangeStart: string, rangeEnd: string) => void` — Called when a day range is selected by dragging
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level select button is clicked
- **onWeekNumberClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called with first day of the week when week number is clicked
- **previousControlProps** `React.ComponentProps<'button'>` — Props passed to previous month control
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **renderEvent** `RenderEvent` — Function to fully customize event rendering, receives all props that would be passed to the root element including children
- **renderEventBody** `RenderEventBody` — Function to customize event body, `event` object is passed as first argument
- **scrollAreaProps** `Partial<ScrollAreaProps> & DataAttributes` — Props passed down to `ScrollArea` component
- **todayControlProps** `React.ComponentProps<'button'>` — Props passed to today control
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes` — Props passed to view level select
- **weekdayFormat** `string | ((date: string) => string)` — `dayjs` format for weekdays names. By default, the first letter of the weekday.
- **weekendDays** `(0 | 1 | 2 | 3 | 4 | 5 | 6)[]` — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`.
- **withAgenda** `boolean` _(default `false`)_ — If set, displays an Agenda button in the header that opens an agenda list view
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select day ranges
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — If true, events can be dragged and dropped
- **withHeader** `boolean` _(default `true`)_ — If set, the header is displayed
- **withOutsideDays** `boolean` _(default `true`)_ — If set, days from the previous and next months are displayed to fill the weeks
- **withWeekDays** `boolean` _(default `true`)_ — If set, weekdays names are displayed in the first row
- **withWeekNumbers** `boolean` _(default `false`)_ — If set, week numbers are displayed in the first column
- **withWeekendDays** `boolean` _(default `true`)_ — If set, weekend days are displayed. When `false`, days defined by `weekendDays` are hidden and the grid shrinks to the remaining columns

Optional leading props map; remaining args are children.
sourceraw docstring

resources-day-viewclj/s

ResourcesDayView — Day view with resource columns for scheduling across resources

https://mantine.dev/schedule/resources-day-view

Props (docgen 9.5.0):

  • businessHours [string, string] (default ['09:00:00', '17:00:00']) — Business hours range in HH:mm:ss format
  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • canResizeEvent (event: ScheduleEventData) => boolean — Function to determine if event can be resized
  • date string | Date (required) — Day to display, Date object or date string in YYYY-MM-DD format
  • endTime string (default 23:59:59) — End time for the day view, in HH:mm:ss format
  • events ScheduleEventData[] — List of events to display
  • getCurrentTime () => AnyDateValue (default () => dayjs()) — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
  • groupLabelWidth React.CSSProperties["width"] (default 80px) — Width of the group label column
  • groups ScheduleResourceGroup[] — List of resource groups to display as a column to the left of resource labels
  • headerFormat string | ((date: string) => string) (default 'MMMM D, YYYY') — Dayjs format for header label
  • highlightBusinessHours boolean (default false) — If set to true, highlights business hours with white background
  • intervalMinutes number (default 60) — Number of minutes for each interval in the day view. Must divide evenly into an hour (e.g. 15, 30) or be a whole number of hours (e.g. 120, 240)
  • labels Partial<ScheduleLabels> — Labels override
  • locale string — Locale passed down to dayjs, overrides value defined on DatesProvider
  • maxEventsPerTimeSlot number (default 2) — Maximum number of events visible per time slot before "+more" indicator shows, minimum value is 1
  • minEventSize number (default 1) — Minimum on-screen size of an event along the time axis, in px. Prevents very short events from collapsing. Larger values make brief events easier to see but extend them past their real start time.
  • mode ScheduleMode (default default) — Interaction mode
  • moreEventsProps Partial<MoreEventsProps> — Props passed down to MoreEvents component
  • nextControlProps React.ComponentProps<'button'> — Props passed to next control
  • onDateChange (value: string) => void — Called with the new date value when a date is selected
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop ((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined — Called when event is dropped at new time, includes target resourceId
  • onEventResize (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is resized
  • onExternalEventDrop ((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined — Called when an external item is dropped onto the schedule
  • onSlotDragEnd ((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined — Called when a time slot range is selected by dragging, includes resourceId
  • onTimeSlotClick ((data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined — Called when time slot is clicked, includes resourceId
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level select button is clicked
  • previousControlProps React.ComponentProps<'button'> — Props passed to previous control
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • renderEvent RenderEvent — Function to fully customize event rendering
  • renderEventBody RenderEventBody — Function to customize event body
  • renderGroupLabel (group: ScheduleResourceGroup) => ReactNode — Function to customize group label rendering
  • renderResourceLabel (resource: ScheduleResourceData) => ReactNode — Function to customize resource label rendering
  • resources ScheduleResourceData[] (required) — List of resources to display as rows
  • rowHeight Height<string | number> (default 64px) — Height of each resource row
  • scrollAreaProps Partial<ScrollAreaProps> & DataAttributes — Props passed down to the ScrollArea component
  • slotLabelFormat string | ((date: string) => string) (default HH:mm) — Dayjs format for slot labels or a callback function that returns formatted value
  • slotWidth React.CSSProperties["width"] (default 80px) — Width of each time slot column
  • startScrollTime string — Time to scroll to on initial render, in HH:mm:ss format
  • startTime string (default 00:00:00) — Start time for the day view, in HH:mm:ss format
  • todayControlProps React.ComponentProps<'button'> — Props passed to today control
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes — Props passed to view level select
  • withCurrentTimeBubble boolean (default true) — If set, the time indicator displays the current time in the bubble
  • withCurrentTimeIndicator boolean — If set, displays a vertical line indicating the current time. By default, displayed only for the current day.
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select time slot ranges
  • withEventResize boolean (default false) — If true, events can be resized by dragging their left/right edges
  • withEventsDragAndDrop boolean (default false) — If true, events can be dragged and dropped
  • withHeader boolean (default true) — If set, the header is displayed

Optional leading props map; remaining args are children.

ResourcesDayView — Day view with resource columns for scheduling across resources

https://mantine.dev/schedule/resources-day-view

Props (docgen 9.5.0):

- **businessHours** `[string, string]` _(default `['09:00:00', '17:00:00']`)_ — Business hours range in `HH:mm:ss` format
- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **canResizeEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be resized
- **date** `string | Date` **(required)** — Day to display, Date object or date string in `YYYY-MM-DD` format
- **endTime** `string` _(default `23:59:59`)_ — End time for the day view, in `HH:mm:ss` format
- **events** `ScheduleEventData[]` — List of events to display
- **getCurrentTime** `() => AnyDateValue` _(default `() => dayjs()`)_ — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
- **groupLabelWidth** `React.CSSProperties["width"]` _(default `80px`)_ — Width of the group label column
- **groups** `ScheduleResourceGroup[]` — List of resource groups to display as a column to the left of resource labels
- **headerFormat** `string | ((date: string) => string)` _(default `'MMMM D, YYYY'`)_ — Dayjs format for header label
- **highlightBusinessHours** `boolean` _(default `false`)_ — If set to true, highlights business hours with white background
- **intervalMinutes** `number` _(default `60`)_ — Number of minutes for each interval in the day view. Must divide evenly into an hour (e.g. `15`, `30`) or be a whole number of hours (e.g. `120`, `240`)
- **labels** `Partial<ScheduleLabels>` — Labels override
- **locale** `string` — Locale passed down to dayjs, overrides value defined on `DatesProvider`
- **maxEventsPerTimeSlot** `number` _(default `2`)_ — Maximum number of events visible per time slot before "+more" indicator shows, minimum value is 1
- **minEventSize** `number` _(default `1`)_ — Minimum on-screen size of an event along the time axis, in px. Prevents very short events from collapsing. Larger values make brief events easier to see but extend them past their real start time.
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode
- **moreEventsProps** `Partial<MoreEventsProps>` — Props passed down to `MoreEvents` component
- **nextControlProps** `React.ComponentProps<'button'>` — Props passed to next control
- **onDateChange** `(value: string) => void` — Called with the new date value when a date is selected
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined` — Called when event is dropped at new time, includes target resourceId
- **onEventResize** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is resized
- **onExternalEventDrop** `((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined` — Called when an external item is dropped onto the schedule
- **onSlotDragEnd** `((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined` — Called when a time slot range is selected by dragging, includes resourceId
- **onTimeSlotClick** `((data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined` — Called when time slot is clicked, includes resourceId
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level select button is clicked
- **previousControlProps** `React.ComponentProps<'button'>` — Props passed to previous control
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **renderEvent** `RenderEvent` — Function to fully customize event rendering
- **renderEventBody** `RenderEventBody` — Function to customize event body
- **renderGroupLabel** `(group: ScheduleResourceGroup) => ReactNode` — Function to customize group label rendering
- **renderResourceLabel** `(resource: ScheduleResourceData) => ReactNode` — Function to customize resource label rendering
- **resources** `ScheduleResourceData[]` **(required)** — List of resources to display as rows
- **rowHeight** `Height<string | number>` _(default `64px`)_ — Height of each resource row
- **scrollAreaProps** `Partial<ScrollAreaProps> & DataAttributes` — Props passed down to the `ScrollArea` component
- **slotLabelFormat** `string | ((date: string) => string)` _(default `HH:mm`)_ — Dayjs format for slot labels or a callback function that returns formatted value
- **slotWidth** `React.CSSProperties["width"]` _(default `80px`)_ — Width of each time slot column
- **startScrollTime** `string` — Time to scroll to on initial render, in `HH:mm:ss` format
- **startTime** `string` _(default `00:00:00`)_ — Start time for the day view, in `HH:mm:ss` format
- **todayControlProps** `React.ComponentProps<'button'>` — Props passed to today control
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes` — Props passed to view level select
- **withCurrentTimeBubble** `boolean` _(default `true`)_ — If set, the time indicator displays the current time in the bubble
- **withCurrentTimeIndicator** `boolean` — If set, displays a vertical line indicating the current time. By default, displayed only for the current day.
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select time slot ranges
- **withEventResize** `boolean` _(default `false`)_ — If true, events can be resized by dragging their left/right edges
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — If true, events can be dragged and dropped
- **withHeader** `boolean` _(default `true`)_ — If set, the header is displayed

Optional leading props map; remaining args are children.
sourceraw docstring

resources-month-viewclj/s

ResourcesMonthView — Month view with resource lanes for scheduling across resources

https://mantine.dev/schedule/resources-month-view

Props (docgen 9.5.0):

  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • date string | Date (required) — Date to display, Date object or date string in YYYY-MM-DD format
  • dayWidth React.CSSProperties["width"] (default 40px) — Width of each day column
  • events ScheduleEventData[] — Events to display
  • groupLabelWidth React.CSSProperties["width"] (default 80px) — Width of the group label column
  • groups ScheduleResourceGroup[] — List of resource groups to display as a column to the left of resource labels
  • highlightToday boolean (default true) — If set, highlights the current day
  • labels Partial<ScheduleLabels> — Labels override for i18n
  • locale string — Locale passed down to dayjs
  • maxEventsPerTimeSlot number (default 2) — Maximum number of events visible per cell before "+more" indicator
  • mode ScheduleMode (default default) — Interaction mode
  • monthYearSelectProps Partial<MonthYearSelectProps> — Props passed down to MonthYearSelect component
  • moreEventsProps Partial<MoreEventsProps> — Props passed down to MoreEvents component
  • nextControlProps React.ComponentProps<'button'> — Props passed to next control
  • onDateChange (value: string) => void — Called with the new date value when a date is selected
  • onDayClick ((data: { date: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined — Called when a cell is clicked, includes resourceId
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop ((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined — Called when event is dropped, includes target resourceId
  • onExternalEventDrop ((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined — Called when an external item is dropped
  • onSlotDragEnd ((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined — Called when a day range is selected by dragging, includes resourceId
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level select button is clicked
  • previousControlProps React.ComponentProps<'button'> — Props passed to previous control
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances
  • renderEvent RenderEvent — Function to fully customize event rendering
  • renderEventBody RenderEventBody — Function to customize event body
  • renderGroupLabel (group: ScheduleResourceGroup) => ReactNode — Function to customize group label rendering
  • renderResourceLabel (resource: ScheduleResourceData) => ReactNode — Function to customize resource label rendering
  • resources ScheduleResourceData[] (required) — List of resources to display as rows
  • rowHeight Height<string | number> (default 48px) — Height of each resource row
  • scrollAreaProps Partial<ScrollAreaProps> & DataAttributes — Props passed down to ScrollArea component
  • startScrollDate string — Date to scroll to on initial render, in YYYY-MM-DD format
  • todayControlProps React.ComponentProps<'button'> — Props passed to today control
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes — Props passed to view level select
  • weekdayFormat string | ((date: string) => string) (default 'dd')dayjs format for weekdays in day column headers
  • weekendDays (0 | 1 | 2 | 3 | 4 | 5 | 6)[] — Indices of weekend days
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select day ranges
  • withEventsDragAndDrop boolean (default false) — If true, events can be dragged and dropped
  • withHeader boolean (default true) — If set, the header is displayed
  • withWeekendDays boolean (default true) — If set to false, weekend days are hidden

Optional leading props map; remaining args are children.

ResourcesMonthView — Month view with resource lanes for scheduling across resources

https://mantine.dev/schedule/resources-month-view

Props (docgen 9.5.0):

- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **date** `string | Date` **(required)** — Date to display, Date object or date string in `YYYY-MM-DD` format
- **dayWidth** `React.CSSProperties["width"]` _(default `40px`)_ — Width of each day column
- **events** `ScheduleEventData[]` — Events to display
- **groupLabelWidth** `React.CSSProperties["width"]` _(default `80px`)_ — Width of the group label column
- **groups** `ScheduleResourceGroup[]` — List of resource groups to display as a column to the left of resource labels
- **highlightToday** `boolean` _(default `true`)_ — If set, highlights the current day
- **labels** `Partial<ScheduleLabels>` — Labels override for i18n
- **locale** `string` — Locale passed down to dayjs
- **maxEventsPerTimeSlot** `number` _(default `2`)_ — Maximum number of events visible per cell before "+more" indicator
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode
- **monthYearSelectProps** `Partial<MonthYearSelectProps>` — Props passed down to `MonthYearSelect` component
- **moreEventsProps** `Partial<MoreEventsProps>` — Props passed down to `MoreEvents` component
- **nextControlProps** `React.ComponentProps<'button'>` — Props passed to next control
- **onDateChange** `(value: string) => void` — Called with the new date value when a date is selected
- **onDayClick** `((data: { date: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined` — Called when a cell is clicked, includes resourceId
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined` — Called when event is dropped, includes target resourceId
- **onExternalEventDrop** `((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined` — Called when an external item is dropped
- **onSlotDragEnd** `((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined` — Called when a day range is selected by dragging, includes resourceId
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level select button is clicked
- **previousControlProps** `React.ComponentProps<'button'>` — Props passed to previous control
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances
- **renderEvent** `RenderEvent` — Function to fully customize event rendering
- **renderEventBody** `RenderEventBody` — Function to customize event body
- **renderGroupLabel** `(group: ScheduleResourceGroup) => ReactNode` — Function to customize group label rendering
- **renderResourceLabel** `(resource: ScheduleResourceData) => ReactNode` — Function to customize resource label rendering
- **resources** `ScheduleResourceData[]` **(required)** — List of resources to display as rows
- **rowHeight** `Height<string | number>` _(default `48px`)_ — Height of each resource row
- **scrollAreaProps** `Partial<ScrollAreaProps> & DataAttributes` — Props passed down to `ScrollArea` component
- **startScrollDate** `string` — Date to scroll to on initial render, in `YYYY-MM-DD` format
- **todayControlProps** `React.ComponentProps<'button'>` — Props passed to today control
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes` — Props passed to view level select
- **weekdayFormat** `string | ((date: string) => string)` _(default `'dd'`)_ — `dayjs` format for weekdays in day column headers
- **weekendDays** `(0 | 1 | 2 | 3 | 4 | 5 | 6)[]` — Indices of weekend days
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select day ranges
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — If true, events can be dragged and dropped
- **withHeader** `boolean` _(default `true`)_ — If set, the header is displayed
- **withWeekendDays** `boolean` _(default `true`)_ — If set to false, weekend days are hidden

Optional leading props map; remaining args are children.
sourceraw docstring

resources-scheduleclj/s

ResourcesSchedule — Schedule wrapper component that combines resource day, week and month views

https://mantine.dev/schedule/resources-schedule

Props (docgen 9.5.0):

  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • canResizeEvent (event: ScheduleEventData) => boolean — Function to determine if event can be resized
  • date string | Date — Current date to display (controlled)
  • dayViewProps Partial<Omit<ResourcesDayViewProps, ResourcesScheduleCommonProps>> — Props specific to ResourcesDayView
  • defaultDate string | Date — Default date (uncontrolled)
  • defaultView ResourcesScheduleViewLevel (default 'day') — Default view level (uncontrolled)
  • events ScheduleEventData[] — Events to display across all views
  • labels Partial<ScheduleLabels> — Labels override for i18n
  • locale string — Locale for date formatting
  • mode ScheduleMode (default default) — Interaction mode
  • monthViewProps Partial<Omit<ResourcesMonthViewProps, ResourcesScheduleCommonProps>> — Props specific to ResourcesMonthView
  • onDateChange (date: string) => void — Called when date changes via navigation
  • onDayClick ((data: { date: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined — Called when day is clicked in month view
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop ((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined — Called when event is dropped
  • onEventResize (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is resized
  • onExternalEventDrop ((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined — Called when an external item is dropped onto the schedule
  • onSlotDragEnd ((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined — Called when a slot range is selected by dragging
  • onTimeSlotClick ((data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined — Called when time slot is clicked
  • onViewChange (view: ResourcesScheduleViewLevel) => void — Called when view level changes
  • radius MantineRadius | number — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances
  • renderEventBody RenderEventBody — Custom event body renderer
  • renderResourceLabel (resource: ScheduleResourceData) => ReactNode — Custom resource label renderer
  • resources ScheduleResourceData[] (required) — List of resources to display
  • view ResourcesScheduleViewLevel — Current view level (controlled)
  • weekViewProps Partial<Omit<ResourcesWeekViewProps, ResourcesScheduleCommonProps>> — Props specific to ResourcesWeekView
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select slot ranges
  • withEventResize boolean (default false) — If true, events can be resized
  • withEventsDragAndDrop boolean (default false) — Enable drag and drop for events

Optional leading props map; remaining args are children.

ResourcesSchedule — Schedule wrapper component that combines resource day, week and month views

https://mantine.dev/schedule/resources-schedule

Props (docgen 9.5.0):

- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **canResizeEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be resized
- **date** `string | Date` — Current date to display (controlled)
- **dayViewProps** `Partial<Omit<ResourcesDayViewProps, ResourcesScheduleCommonProps>>` — Props specific to ResourcesDayView
- **defaultDate** `string | Date` — Default date (uncontrolled)
- **defaultView** `ResourcesScheduleViewLevel` _(default `'day'`)_ — Default view level (uncontrolled)
- **events** `ScheduleEventData[]` — Events to display across all views
- **labels** `Partial<ScheduleLabels>` — Labels override for i18n
- **locale** `string` — Locale for date formatting
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode
- **monthViewProps** `Partial<Omit<ResourcesMonthViewProps, ResourcesScheduleCommonProps>>` — Props specific to ResourcesMonthView
- **onDateChange** `(date: string) => void` — Called when date changes via navigation
- **onDayClick** `((data: { date: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined` — Called when day is clicked in month view
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined` — Called when event is dropped
- **onEventResize** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is resized
- **onExternalEventDrop** `((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined` — Called when an external item is dropped onto the schedule
- **onSlotDragEnd** `((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined` — Called when a slot range is selected by dragging
- **onTimeSlotClick** `((data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined` — Called when time slot is clicked
- **onViewChange** `(view: ResourcesScheduleViewLevel) => void` — Called when view level changes
- **radius** `MantineRadius | number` — Key of theme.radius or any valid CSS value to set border-radius
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances
- **renderEventBody** `RenderEventBody` — Custom event body renderer
- **renderResourceLabel** `(resource: ScheduleResourceData) => ReactNode` — Custom resource label renderer
- **resources** `ScheduleResourceData[]` **(required)** — List of resources to display
- **view** `ResourcesScheduleViewLevel` — Current view level (controlled)
- **weekViewProps** `Partial<Omit<ResourcesWeekViewProps, ResourcesScheduleCommonProps>>` — Props specific to ResourcesWeekView
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select slot ranges
- **withEventResize** `boolean` _(default `false`)_ — If true, events can be resized
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — Enable drag and drop for events

Optional leading props map; remaining args are children.
sourceraw docstring

resources-week-viewclj/s

ResourcesWeekView — Week view with resource rows for scheduling across resources

https://mantine.dev/schedule/resources-week-view

Props (docgen 9.5.0):

  • businessHours [string, string]
  • canDragEvent (event: ScheduleEventData) => boolean
  • canResizeEvent (event: ScheduleEventData) => boolean — Function to determine if event can be resized
  • date string | Date (required)
  • endTime string
  • events ScheduleEventData[]
  • firstDayOfWeek 0 | 1 | 2 | 3 | 4 | 5 | 6
  • getCurrentTime () => AnyDateValue (default () => dayjs()) — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
  • groupLabelWidth React.CSSProperties["width"] (default 80px) — Width of the group label column
  • groups ScheduleResourceGroup[] — List of resource groups to display as a column to the left of resource labels
  • highlightBusinessHours boolean
  • highlightToday boolean
  • intervalMinutes number (default 60) — Number of minutes for each interval in the week view. Must divide evenly into an hour (e.g. 15, 30) or be a whole number of hours (e.g. 120, 240)
  • labels Partial<ScheduleLabels>
  • locale string
  • maxEventsPerTimeSlot number (default 2) — Maximum number of events visible per time slot before "+more" indicator shows, minimum value is 1
  • minEventSize number (default 1) — Minimum on-screen size of an event along the time axis, in px. Prevents very short events from collapsing. Larger values make brief events easier to see but extend them past their real start time.
  • mode ScheduleMode
  • moreEventsProps Partial<MoreEventsProps> — Props passed down to MoreEvents component
  • nextControlProps React.ComponentProps<'button'>
  • onDateChange (value: string) => void
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void
  • onEventDragEnd () => void
  • onEventDragStart (event: ScheduleEventData) => void
  • onEventDrop ((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined
  • onEventResize (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is resized
  • onExternalEventDrop ((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined
  • onSlotDragEnd ((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined
  • onTimeSlotClick ((data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined
  • onViewChange (view: ScheduleViewLevel) => void
  • previousControlProps React.ComponentProps<'button'>
  • radius MantineRadius | number
  • recurrenceExpansionLimit number
  • renderEvent RenderEvent
  • renderEventBody RenderEventBody
  • renderGroupLabel (group: ScheduleResourceGroup) => ReactNode — Function to customize group label rendering
  • renderResourceLabel (resource: ScheduleResourceData) => ReactNode
  • renderWeekLabel (params: { weekStart: string; weekEnd: string; }) => ReactNode
  • resources ScheduleResourceData[] (required)
  • rowHeight Height<string | number>
  • scrollAreaProps Partial<ScrollAreaProps> & DataAttributes
  • slotLabelFormat string | ((date: string) => string)
  • slotWidth React.CSSProperties["width"]
  • startScrollDateTime string — Date and time to scroll to on initial render, in YYYY-MM-DD HH:mm:ss format
  • startTime string
  • todayControlProps React.ComponentProps<'button'>
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes
  • weekLabelFormat string | ((date: string) => string)
  • weekdayFormat string | ((date: string) => string)
  • weekendDays (0 | 1 | 2 | 3 | 4 | 5 | 6)[]
  • withCurrentTimeBubble boolean
  • withCurrentTimeIndicator boolean
  • withDragSlotSelect boolean
  • withEventResize boolean (default false) — If true, events can be resized by dragging their left/right edges
  • withEventsDragAndDrop boolean
  • withHeader boolean
  • withWeekendDays boolean

Optional leading props map; remaining args are children.

ResourcesWeekView — Week view with resource rows for scheduling across resources

https://mantine.dev/schedule/resources-week-view

Props (docgen 9.5.0):

- **businessHours** `[string, string]`
- **canDragEvent** `(event: ScheduleEventData) => boolean`
- **canResizeEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be resized
- **date** `string | Date` **(required)**
- **endTime** `string`
- **events** `ScheduleEventData[]`
- **firstDayOfWeek** `0 | 1 | 2 | 3 | 4 | 5 | 6`
- **getCurrentTime** `() => AnyDateValue` _(default `() => dayjs()`)_ — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
- **groupLabelWidth** `React.CSSProperties["width"]` _(default `80px`)_ — Width of the group label column
- **groups** `ScheduleResourceGroup[]` — List of resource groups to display as a column to the left of resource labels
- **highlightBusinessHours** `boolean`
- **highlightToday** `boolean`
- **intervalMinutes** `number` _(default `60`)_ — Number of minutes for each interval in the week view. Must divide evenly into an hour (e.g. `15`, `30`) or be a whole number of hours (e.g. `120`, `240`)
- **labels** `Partial<ScheduleLabels>`
- **locale** `string`
- **maxEventsPerTimeSlot** `number` _(default `2`)_ — Maximum number of events visible per time slot before "+more" indicator shows, minimum value is 1
- **minEventSize** `number` _(default `1`)_ — Minimum on-screen size of an event along the time axis, in px. Prevents very short events from collapsing. Larger values make brief events easier to see but extend them past their real start time.
- **mode** `ScheduleMode`
- **moreEventsProps** `Partial<MoreEventsProps>` — Props passed down to `MoreEvents` component
- **nextControlProps** `React.ComponentProps<'button'>`
- **onDateChange** `(value: string) => void`
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void`
- **onEventDragEnd** `() => void`
- **onEventDragStart** `(event: ScheduleEventData) => void`
- **onEventDrop** `((data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; resourceId?: string | number; }) => void) | undefined`
- **onEventResize** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is resized
- **onExternalEventDrop** `((data: { dataTransfer: DataTransfer; dropDateTime: string; resourceId?: string | number; }) => void) | undefined`
- **onSlotDragEnd** `((data: { rangeStart: string; rangeEnd: string; resourceId?: string | number; }) => void) | undefined`
- **onTimeSlotClick** `((data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; resourceId?: string | number; }) => void) | undefined`
- **onViewChange** `(view: ScheduleViewLevel) => void`
- **previousControlProps** `React.ComponentProps<'button'>`
- **radius** `MantineRadius | number`
- **recurrenceExpansionLimit** `number`
- **renderEvent** `RenderEvent`
- **renderEventBody** `RenderEventBody`
- **renderGroupLabel** `(group: ScheduleResourceGroup) => ReactNode` — Function to customize group label rendering
- **renderResourceLabel** `(resource: ScheduleResourceData) => ReactNode`
- **renderWeekLabel** `(params: { weekStart: string; weekEnd: string; }) => ReactNode`
- **resources** `ScheduleResourceData[]` **(required)**
- **rowHeight** `Height<string | number>`
- **scrollAreaProps** `Partial<ScrollAreaProps> & DataAttributes`
- **slotLabelFormat** `string | ((date: string) => string)`
- **slotWidth** `React.CSSProperties["width"]`
- **startScrollDateTime** `string` — Date and time to scroll to on initial render, in `YYYY-MM-DD HH:mm:ss` format
- **startTime** `string`
- **todayControlProps** `React.ComponentProps<'button'>`
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes`
- **weekLabelFormat** `string | ((date: string) => string)`
- **weekdayFormat** `string | ((date: string) => string)`
- **weekendDays** `(0 | 1 | 2 | 3 | 4 | 5 | 6)[]`
- **withCurrentTimeBubble** `boolean`
- **withCurrentTimeIndicator** `boolean`
- **withDragSlotSelect** `boolean`
- **withEventResize** `boolean` _(default `false`)_ — If true, events can be resized by dragging their left/right edges
- **withEventsDragAndDrop** `boolean`
- **withHeader** `boolean`
- **withWeekendDays** `boolean`

Optional leading props map; remaining args are children.
sourceraw docstring

scheduleclj/s

Schedule — Schedule component with day, week, month and year views

https://mantine.dev/schedule/schedule

Props (docgen 9.5.0):

  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • canResizeEvent (event: ScheduleEventData) => boolean — Function to determine if event can be resized
  • date string | Date — Current date to display (controlled)
  • dayViewProps Partial<Omit<DayViewProps, ScheduleCommonProps>> — Props specific to DayView (includes startTime, endTime, intervalMinutes, etc.)
  • defaultDate string | Date — Default date (uncontrolled)
  • defaultView ScheduleViewLevel — Default view level (uncontrolled)
  • events ScheduleEventData[] — Events to display across all views
  • labels Partial<ScheduleLabels> — Labels override for i18n
  • layout ScheduleLayout (default 'default') — Layout mode: - 'default' uses same views on all screen sizes - 'responsive' switches to YearView/MobileMonthView on small screens
  • locale string — Locale for date formatting (overrides DatesProvider)
  • mobileMonthViewProps Partial<Omit<MobileMonthViewProps, ScheduleCommonProps>> — Props specific to MobileMonthView (used in responsive layout)
  • mode ScheduleMode (default 'default') — Interaction mode: - 'default' allows all interactions - 'static' disables event interactions
  • monthViewProps Partial<Omit<MonthViewProps, ScheduleCommonProps>> — Props specific to MonthView (includes firstDayOfWeek, weekendDays, etc.)
  • onAllDaySlotClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when all-day slot is clicked in DayView/WeekView
  • onDateChange (date: string) => void — Called when date changes via navigation
  • onDayClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when a day is clicked in MonthView and YearView
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked in any view
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is dropped
  • onEventResize (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is resized
  • onExternalEventDrop (dataTransfer: DataTransfer, dropDateTime: string) => void — Called when an external item is dropped onto the schedule. Receives the DataTransfer object and the drop target datetime.
  • onSlotDragEnd (rangeStart: string, rangeEnd: string) => void — Called when a slot range is selected by dragging
  • onTimeSlotClick (data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; }) => void — Called when time slot is clicked in DayView/WeekView
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level changes
  • radius MantineRadius | number — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • renderEventBody RenderEventBody — Custom event body renderer
  • view ScheduleViewLevel — Current view level (controlled)
  • weekViewProps Partial<Omit<WeekViewProps, ScheduleCommonProps>> — Props specific to WeekView (includes startTime, endTime, intervalMinutes, etc.)
  • withAgenda boolean (default false) — If set, displays an Agenda button in the header of DayView, WeekView and MonthView
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select slot ranges
  • withEventResize boolean (default false) — If true, events can be resized by dragging their edges
  • withEventsDragAndDrop boolean (default false) — Enable drag and drop for events
  • yearViewProps Partial<Omit<YearViewProps, ScheduleCommonProps>> — Props specific to YearView (includes firstDayOfWeek, weekendDays, etc.)

Optional leading props map; remaining args are children.

Schedule — Schedule component with day, week, month and year views

https://mantine.dev/schedule/schedule

Props (docgen 9.5.0):

- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **canResizeEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be resized
- **date** `string | Date` — Current date to display (controlled)
- **dayViewProps** `Partial<Omit<DayViewProps, ScheduleCommonProps>>` — Props specific to DayView (includes `startTime`, `endTime`, `intervalMinutes`, etc.)
- **defaultDate** `string | Date` — Default date (uncontrolled)
- **defaultView** `ScheduleViewLevel` — Default view level (uncontrolled)
- **events** `ScheduleEventData[]` — Events to display across all views
- **labels** `Partial<ScheduleLabels>` — Labels override for i18n
- **layout** `ScheduleLayout` _(default `'default'`)_ — Layout mode: - `'default'` uses same views on all screen sizes - `'responsive'` switches to YearView/MobileMonthView on small screens
- **locale** `string` — Locale for date formatting (overrides `DatesProvider`)
- **mobileMonthViewProps** `Partial<Omit<MobileMonthViewProps, ScheduleCommonProps>>` — Props specific to MobileMonthView (used in responsive layout)
- **mode** `ScheduleMode` _(default `'default'`)_ — Interaction mode: - `'default'` allows all interactions - `'static'` disables event interactions
- **monthViewProps** `Partial<Omit<MonthViewProps, ScheduleCommonProps>>` — Props specific to MonthView (includes `firstDayOfWeek`, `weekendDays`, etc.)
- **onAllDaySlotClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when all-day slot is clicked in DayView/WeekView
- **onDateChange** `(date: string) => void` — Called when date changes via navigation
- **onDayClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when a day is clicked in MonthView and YearView
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked in any view
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is dropped
- **onEventResize** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is resized
- **onExternalEventDrop** `(dataTransfer: DataTransfer, dropDateTime: string) => void` — Called when an external item is dropped onto the schedule. Receives the `DataTransfer` object and the drop target datetime.
- **onSlotDragEnd** `(rangeStart: string, rangeEnd: string) => void` — Called when a slot range is selected by dragging
- **onTimeSlotClick** `(data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; }) => void` — Called when time slot is clicked in DayView/WeekView
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level changes
- **radius** `MantineRadius | number` — Key of theme.radius or any valid CSS value to set border-radius
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **renderEventBody** `RenderEventBody` — Custom event body renderer
- **view** `ScheduleViewLevel` — Current view level (controlled)
- **weekViewProps** `Partial<Omit<WeekViewProps, ScheduleCommonProps>>` — Props specific to WeekView (includes `startTime`, `endTime`, `intervalMinutes`, etc.)
- **withAgenda** `boolean` _(default `false`)_ — If set, displays an Agenda button in the header of DayView, WeekView and MonthView
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select slot ranges
- **withEventResize** `boolean` _(default `false`)_ — If true, events can be resized by dragging their edges
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — Enable drag and drop for events
- **yearViewProps** `Partial<Omit<YearViewProps, ScheduleCommonProps>>` — Props specific to YearView (includes `firstDayOfWeek`, `weekendDays`, etc.)

Optional leading props map; remaining args are children.
sourceraw docstring

week-viewclj/s

WeekView — Standalone schedule week view component

https://mantine.dev/schedule/week-view

Props (docgen 9.5.0):

  • allDaySlotHeight Height<string | number> (default 48px) — Height of all-day slot
  • businessHours BusinessHoursValue (default ['09:00:00', '17:00:00']) — Business hours range in HH:mm:ss format shared across all days, or a per-day record keyed by day of the week (0 – Sunday, 6 – Saturday) for day-specific ranges. Set a day to null to mark it as fully outside business hours.
  • canDragEvent (event: ScheduleEventData) => boolean — Function to determine if event can be dragged
  • canResizeEvent (event: ScheduleEventData) => boolean — Function to determine if event can be resized
  • date string | Date (required) — Week to display, Date object or date string in YYYY-MM-DD format
  • endTime string (default 23:59:59) — End time for the day view, in HH:mm:ss format
  • events ScheduleEventData[] — List of events to display in the week view
  • firstDayOfWeek 0 | 1 | 2 | 3 | 4 | 5 | 6 (default 1 – Monday) — Number 0-6, where 0 – Sunday and 6 – Saturday.
  • forceCurrentTimeIndicator boolean (default false) — If set, displays the current time indicator on the same day of week even when viewing a different week
  • getCurrentTime () => AnyDateValue (default () => dayjs()) — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
  • getTimeSlotProps ((data: { start: string; end: string; }) => Record<string, any>) | undefined — Function to get additional props for each time slot. Receives slot start and end datetime strings. Returned props are spread onto the slot element. Event handlers returned by this function are composed with internal handlers (e.g. onClick) rather than overriding them.
  • highlightBusinessHours boolean (default false) — If set to true, highlights business hours with white background
  • highlightToday boolean (default false) — If set to true, highlights today in the weekday row
  • intervalMinutes number (default 60) — Number of minutes for each interval in the day view. Must divide evenly into an hour (e.g. 15, 30) or be a whole number of hours (e.g. 120, 240)
  • labels Partial<ScheduleLabels> — Labels override
  • locale string — Locale passed down to dayjs, overrides value defined on DatesProvider
  • mode ScheduleMode (default default) — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
  • nextControlProps React.ComponentProps<'button'> — Props passed to next month control
  • onAllDaySlotClick (day: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when all-day slot is clicked
  • onDateChange (value: string) => void — Called with the new date value when a date is selected
  • onEventClick (event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when event is clicked
  • onEventDragEnd () => void — Called when any event drag ends
  • onEventDragStart (event: ScheduleEventData) => void — Called when any event drag starts
  • onEventDrop (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is dropped at new time
  • onEventResize (data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void — Called when event is resized
  • onExternalEventDrop (dataTransfer: DataTransfer, dropDateTime: string) => void — Called when an external item is dropped onto the schedule. Receives the DataTransfer object and the drop target datetime.
  • onSlotDragEnd (rangeStart: string, rangeEnd: string) => void — Called when a time slot range is selected by dragging
  • onTimeSlotClick (data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; }) => void — Called when time slot is clicked
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level select button is clicked
  • previousControlProps React.ComponentProps<'button'> — Props passed to previous month control
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • renderEvent RenderEvent — Function to fully customize event rendering, receives all props that would be passed to the root element including children
  • renderEventBody RenderEventBody — Function to customize event body, event object is passed as first argument
  • renderWeekLabel (params: { weekStart: string; weekEnd: string; }) => ReactNode — Function to customize week label in the header
  • scrollAreaProps ScrollAreaAutosizeProps & DataAttributes — Props passed down to the ScrollArea.Autosize component
  • slotHeight Height<string | number> (default 64px) — Height of 1hr slot
  • slotLabelFormat string | ((date: string) => string) (default HH:mm) — Dayjs format for slot labels or a callback function that returns formatted value
  • startScrollTime string — Time to scroll to on initial render, in HH:mm:ss format
  • startTime string (default 00:00:00) — Start time for the day view, in HH:mm:ss format
  • todayControlProps React.ComponentProps<'button'> — Props passed to today control
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes — Props passed to view level select
  • weekLabelFormat string | ((date: string) => string) (default 'MMM DD') — Format for week label
  • weekdayFormat string | ((date: string) => string) (default 'ddd')dayjs format for weekdays names.
  • weekendDays (0 | 1 | 2 | 3 | 4 | 5 | 6)[] — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by DatesProvider.
  • withAgenda boolean (default false) — If set, displays an Agenda button in the header that opens an agenda list view
  • withAllDaySlots boolean (default true) — If set, displays all-day slots at the top of the view
  • withCurrentTimeBubble boolean (default true) — If set, the time indicator displays the current time in the bubble
  • withCurrentTimeIndicator boolean (default true) — If set, displays a line indicating the current time
  • withDragSlotSelect boolean (default false) — If set, enables drag-to-select time slot ranges
  • withEventResize boolean (default false) — If true, events can be resized by dragging their edges
  • withEventsDragAndDrop boolean (default false) — If true, events can be dragged and dropped
  • withHeader boolean (default true) — If set, the header is displayed
  • withSubHourGridLines boolean (default true) — If set, grid lines are displayed for intervals smaller than one hour, for example 15 and 30 minutes intervals
  • withWeekNumber boolean (default true) — If set, the week number is displayed at the top left corner
  • withWeekendDays boolean (default true) — If set to false, weekend days are hidden

Optional leading props map; remaining args are children.

WeekView — Standalone schedule week view component

https://mantine.dev/schedule/week-view

Props (docgen 9.5.0):

- **allDaySlotHeight** `Height<string | number>` _(default `48px`)_ — Height of all-day slot
- **businessHours** `BusinessHoursValue` _(default `['09:00:00', '17:00:00']`)_ — Business hours range in `HH:mm:ss` format shared across all days, or a per-day record keyed by day of the week (`0` – Sunday, `6` – Saturday) for day-specific ranges. Set a day to `null` to mark it as fully outside business hours.
- **canDragEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be dragged
- **canResizeEvent** `(event: ScheduleEventData) => boolean` — Function to determine if event can be resized
- **date** `string | Date` **(required)** — Week to display, Date object or date string in `YYYY-MM-DD` format
- **endTime** `string` _(default `23:59:59`)_ — End time for the day view, in `HH:mm:ss` format
- **events** `ScheduleEventData[]` — List of events to display in the week view
- **firstDayOfWeek** `0 | 1 | 2 | 3 | 4 | 5 | 6` _(default `1 – Monday`)_ — Number 0-6, where 0 – Sunday and 6 – Saturday.
- **forceCurrentTimeIndicator** `boolean` _(default `false`)_ — If set, displays the current time indicator on the same day of week even when viewing a different week
- **getCurrentTime** `() => AnyDateValue` _(default `() => dayjs()`)_ — A function to get the current time, called on every tick. Can be used to display the current time indicator in a different timezone.
- **getTimeSlotProps** `((data: { start: string; end: string; }) => Record<string, any>) | undefined` — Function to get additional props for each time slot. Receives slot start and end datetime strings. Returned props are spread onto the slot element. Event handlers returned by this function are composed with internal handlers (e.g. onClick) rather than overriding them.
- **highlightBusinessHours** `boolean` _(default `false`)_ — If set to true, highlights business hours with white background
- **highlightToday** `boolean` _(default `false`)_ — If set to true, highlights today in the weekday row
- **intervalMinutes** `number` _(default `60`)_ — Number of minutes for each interval in the day view. Must divide evenly into an hour (e.g. `15`, `30`) or be a whole number of hours (e.g. `120`, `240`)
- **labels** `Partial<ScheduleLabels>` — Labels override
- **locale** `string` — Locale passed down to dayjs, overrides value defined on `DatesProvider`
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
- **nextControlProps** `React.ComponentProps<'button'>` — Props passed to next month control
- **onAllDaySlotClick** `(day: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when all-day slot is clicked
- **onDateChange** `(value: string) => void` — Called with the new date value when a date is selected
- **onEventClick** `(event: ScheduleEventData, e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when event is clicked
- **onEventDragEnd** `() => void` — Called when any event drag ends
- **onEventDragStart** `(event: ScheduleEventData) => void` — Called when any event drag starts
- **onEventDrop** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is dropped at new time
- **onEventResize** `(data: { eventId: string | number; newStart: string; newEnd: string; event: ScheduleEventData; }) => void` — Called when event is resized
- **onExternalEventDrop** `(dataTransfer: DataTransfer, dropDateTime: string) => void` — Called when an external item is dropped onto the schedule. Receives the `DataTransfer` object and the drop target datetime.
- **onSlotDragEnd** `(rangeStart: string, rangeEnd: string) => void` — Called when a time slot range is selected by dragging
- **onTimeSlotClick** `(data: { slotStart: string; slotEnd: string; nativeEvent: MouseEvent<HTMLButtonElement, MouseEvent>; }) => void` — Called when time slot is clicked
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level select button is clicked
- **previousControlProps** `React.ComponentProps<'button'>` — Props passed to previous month control
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **renderEvent** `RenderEvent` — Function to fully customize event rendering, receives all props that would be passed to the root element including children
- **renderEventBody** `RenderEventBody` — Function to customize event body, `event` object is passed as first argument
- **renderWeekLabel** `(params: { weekStart: string; weekEnd: string; }) => ReactNode` — Function to customize week label in the header
- **scrollAreaProps** `ScrollAreaAutosizeProps & DataAttributes` — Props passed down to the `ScrollArea.Autosize` component
- **slotHeight** `Height<string | number>` _(default `64px`)_ — Height of 1hr slot
- **slotLabelFormat** `string | ((date: string) => string)` _(default `HH:mm`)_ — Dayjs format for slot labels or a callback function that returns formatted value
- **startScrollTime** `string` — Time to scroll to on initial render, in `HH:mm:ss` format
- **startTime** `string` _(default `00:00:00`)_ — Start time for the day view, in `HH:mm:ss` format
- **todayControlProps** `React.ComponentProps<'button'>` — Props passed to today control
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes` — Props passed to view level select
- **weekLabelFormat** `string | ((date: string) => string)` _(default `'MMM DD'`)_ — Format for week label
- **weekdayFormat** `string | ((date: string) => string)` _(default `'ddd'`)_ — `dayjs` format for weekdays names.
- **weekendDays** `(0 | 1 | 2 | 3 | 4 | 5 | 6)[]` — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`.
- **withAgenda** `boolean` _(default `false`)_ — If set, displays an Agenda button in the header that opens an agenda list view
- **withAllDaySlots** `boolean` _(default `true`)_ — If set, displays all-day slots at the top of the view
- **withCurrentTimeBubble** `boolean` _(default `true`)_ — If set, the time indicator displays the current time in the bubble
- **withCurrentTimeIndicator** `boolean` _(default `true`)_ — If set, displays a line indicating the current time
- **withDragSlotSelect** `boolean` _(default `false`)_ — If set, enables drag-to-select time slot ranges
- **withEventResize** `boolean` _(default `false`)_ — If true, events can be resized by dragging their edges
- **withEventsDragAndDrop** `boolean` _(default `false`)_ — If true, events can be dragged and dropped
- **withHeader** `boolean` _(default `true`)_ — If set, the header is displayed
- **withSubHourGridLines** `boolean` _(default `true`)_ — If set, grid lines are displayed for intervals smaller than one hour, for example 15 and 30 minutes intervals
- **withWeekNumber** `boolean` _(default `true`)_ — If set, the week number is displayed at the top left corner
- **withWeekendDays** `boolean` _(default `true`)_ — If set to false, weekend days are hidden

Optional leading props map; remaining args are children.
sourceraw docstring

year-viewclj/s

YearView — Standalone schedule year view component

https://mantine.dev/schedule/year-view

Props (docgen 9.5.0):

  • date string | Date (required) — Date to display, Date object or date string in YYYY-MM-DD 00:00:00 format
  • events ScheduleEventData[] — Events to display, must be a stable reference
  • firstDayOfWeek 0 | 1 | 2 | 3 | 4 | 5 | 6 (default 0) — Number 0-6, where 0 – Sunday and 6 – Saturday
  • getDayProps (date: string) => Record<string, any> — Props passed down to the day button
  • getWeekNumberProps (weekStartDate: string) => Record<string, any> — Props passed down to the week number button
  • highlightToday boolean (default true) — If set, highlights the current day
  • labels Partial<ScheduleLabels> — Labels override for i18n
  • locale string — Locale passed down to dayjs, overrides value defined on DatesProvider
  • mode ScheduleMode (default default) — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
  • monthLabelFormat string | ((date: string) => string) (default 'MMMM')dayjs format for month label
  • monthYearSelectProps Partial<MonthYearSelectProps> — Props passed down to MonthYearSelect component in the header
  • nextControlProps React.ComponentProps<'button'> — Props passed to next month control
  • onDateChange (value: string) => void — Called with the new date value when a date is selected
  • onDayClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called when day is clicked
  • onMonthClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called with the first day of the month when month label is clicked
  • onViewChange (view: ScheduleViewLevel) => void — Called when view level select button is clicked
  • onWeekNumberClick (date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void — Called with first day of the week when week number is clicked
  • previousControlProps React.ComponentProps<'button'> — Props passed to previous month control
  • radius MantineRadius | number (default theme.defaultRadius) — Key of theme.radius or any valid CSS value to set border-radius
  • recurrenceExpansionLimit number (default 2000) — Max number of generated recurring instances per recurring series
  • todayControlProps React.ComponentProps<'button'> — Props passed to today control
  • viewSelectProps Partial<ViewSelectProps> & DataAttributes — Props passed to view level select
  • weekdayFormat string | ((date: string) => string) (default 'd')dayjs format for weekdays names
  • weekendDays (0 | 1 | 2 | 3 | 4 | 5 | 6)[] — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by DatesProvider.
  • withHeader boolean (default true) — If set, the header is displayed
  • withOutsideDays boolean (default true) — If true, days from adjacent months are displayed
  • withWeekDays boolean (default true) — If set, weekdays names are displayed in the first row
  • withWeekNumbers boolean — If set, show week numbers

Optional leading props map; remaining args are children.

YearView — Standalone schedule year view component

https://mantine.dev/schedule/year-view

Props (docgen 9.5.0):

- **date** `string | Date` **(required)** — Date to display, Date object or date string in `YYYY-MM-DD 00:00:00` format
- **events** `ScheduleEventData[]` — Events to display, must be a stable reference
- **firstDayOfWeek** `0 | 1 | 2 | 3 | 4 | 5 | 6` _(default `0`)_ — Number 0-6, where 0 – Sunday and 6 – Saturday
- **getDayProps** `(date: string) => Record<string, any>` — Props passed down to the day button
- **getWeekNumberProps** `(weekStartDate: string) => Record<string, any>` — Props passed down to the week number button
- **highlightToday** `boolean` _(default `true`)_ — If set, highlights the current day
- **labels** `Partial<ScheduleLabels>` — Labels override for i18n
- **locale** `string` — Locale passed down to dayjs, overrides value defined on `DatesProvider`
- **mode** `ScheduleMode` _(default `default`)_ — Interaction mode: 'default' allows all interactions, 'static' disables event interactions
- **monthLabelFormat** `string | ((date: string) => string)` _(default `'MMMM'`)_ — `dayjs` format for month label
- **monthYearSelectProps** `Partial<MonthYearSelectProps>` — Props passed down to `MonthYearSelect` component in the header
- **nextControlProps** `React.ComponentProps<'button'>` — Props passed to next month control
- **onDateChange** `(value: string) => void` — Called with the new date value when a date is selected
- **onDayClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called when day is clicked
- **onMonthClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called with the first day of the month when month label is clicked
- **onViewChange** `(view: ScheduleViewLevel) => void` — Called when view level select button is clicked
- **onWeekNumberClick** `(date: string, event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` — Called with first day of the week when week number is clicked
- **previousControlProps** `React.ComponentProps<'button'>` — Props passed to previous month control
- **radius** `MantineRadius | number` _(default `theme.defaultRadius`)_ — Key of `theme.radius` or any valid CSS value to set `border-radius`
- **recurrenceExpansionLimit** `number` _(default `2000`)_ — Max number of generated recurring instances per recurring series
- **todayControlProps** `React.ComponentProps<'button'>` — Props passed to today control
- **viewSelectProps** `Partial<ViewSelectProps> & DataAttributes` — Props passed to view level select
- **weekdayFormat** `string | ((date: string) => string)` _(default `'d'`)_ — `dayjs` format for weekdays names
- **weekendDays** `(0 | 1 | 2 | 3 | 4 | 5 | 6)[]` — Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`.
- **withHeader** `boolean` _(default `true`)_ — If set, the header is displayed
- **withOutsideDays** `boolean` _(default `true`)_ — If true, days from adjacent months are displayed
- **withWeekDays** `boolean` _(default `true`)_ — If set, weekdays names are displayed in the first row
- **withWeekNumbers** `boolean` — If set, show week numbers

Optional leading props map; remaining args are children.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close