@fullcalendar/mui 7.0.0-beta.6 → 7.0.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +5 -14
  2. package/{esm/forma → breezy}/EventCalendar.d.ts +1 -1
  3. package/{esm/breezy → breezy}/EventCalendar.js +5 -18
  4. package/{esm/breezy → breezy}/EventCalendarToolbar.d.ts +1 -1
  5. package/{esm/monarch → breezy}/EventCalendarToolbar.js +3 -5
  6. package/{esm/breezy → breezy}/EventCalendarViews.d.ts +7 -7
  7. package/{esm/breezy → breezy}/EventCalendarViews.js +1 -6
  8. package/{esm/forma → breezy}/ResourceTimeGrid.d.ts +1 -1
  9. package/{esm/forma → breezy}/ResourceTimeGrid.js +4 -18
  10. package/{esm/breezy → breezy}/ResourceTimeline.d.ts +1 -1
  11. package/{esm/forma → breezy}/ResourceTimeline.js +3 -17
  12. package/{esm/breezy → breezy}/SchedulerViews.js +1 -7
  13. package/{esm/breezy → breezy}/icons.js +1 -1
  14. package/breezy/theme.css +3 -14
  15. package/{esm/classic → classic}/EventCalendar.d.ts +1 -1
  16. package/{esm/pulse → classic}/EventCalendar.js +5 -18
  17. package/{esm/pulse → classic}/EventCalendarToolbar.d.ts +1 -1
  18. package/{esm/pulse → classic}/EventCalendarToolbar.js +0 -5
  19. package/{esm/classic → classic}/EventCalendarViews.d.ts +6 -6
  20. package/{esm/classic → classic}/EventCalendarViews.js +1 -6
  21. package/{esm/classic → classic}/ResourceTimeGrid.d.ts +1 -1
  22. package/{esm/pulse → classic}/ResourceTimeGrid.js +4 -18
  23. package/{esm/forma → classic}/ResourceTimeline.d.ts +1 -1
  24. package/{esm/classic → classic}/ResourceTimeline.js +3 -17
  25. package/{esm/classic → classic}/SchedulerViews.js +1 -7
  26. package/{esm/classic → classic}/icons.js +1 -1
  27. package/classic/theme.css +3 -14
  28. package/{esm/breezy → forma}/EventCalendar.d.ts +1 -1
  29. package/{esm/monarch → forma}/EventCalendar.js +5 -18
  30. package/{esm/forma → forma}/EventCalendarToolbar.d.ts +1 -1
  31. package/{esm/forma → forma}/EventCalendarToolbar.js +0 -5
  32. package/{esm/forma → forma}/EventCalendarViews.d.ts +7 -7
  33. package/{esm/forma → forma}/EventCalendarViews.js +1 -6
  34. package/{esm/monarch → forma}/ResourceTimeGrid.d.ts +1 -1
  35. package/{esm/breezy → forma}/ResourceTimeGrid.js +4 -18
  36. package/{esm/classic → forma}/ResourceTimeline.d.ts +1 -1
  37. package/{esm/breezy → forma}/ResourceTimeline.js +3 -17
  38. package/{esm/forma → forma}/SchedulerViews.js +1 -7
  39. package/{esm/forma → forma}/icons.js +1 -1
  40. package/forma/theme.css +3 -14
  41. package/{esm/monarch → monarch}/EventCalendar.d.ts +1 -1
  42. package/{esm/forma → monarch}/EventCalendar.js +5 -18
  43. package/{esm/monarch → monarch}/EventCalendarToolbar.d.ts +1 -1
  44. package/monarch/EventCalendarToolbar.js +43 -0
  45. package/monarch/EventCalendarViews.d.ts +27 -0
  46. package/{esm/monarch → monarch}/EventCalendarViews.js +1 -6
  47. package/{esm/breezy → monarch}/ResourceTimeGrid.d.ts +1 -1
  48. package/{esm/monarch → monarch}/ResourceTimeGrid.js +4 -18
  49. package/{esm/monarch → monarch}/ResourceTimeline.d.ts +1 -1
  50. package/{esm/monarch → monarch}/ResourceTimeline.js +3 -17
  51. package/{esm/monarch → monarch}/SchedulerViews.js +1 -7
  52. package/{esm/monarch → monarch}/icons.js +1 -1
  53. package/monarch/theme.css +3 -14
  54. package/package.json +90 -251
  55. package/pulse/EventCalendar.d.ts +15 -0
  56. package/{esm/classic → pulse}/EventCalendar.js +5 -18
  57. package/{esm/classic → pulse}/EventCalendarToolbar.d.ts +1 -1
  58. package/{esm/classic → pulse}/EventCalendarToolbar.js +0 -5
  59. package/{esm/pulse → pulse}/EventCalendarViews.d.ts +8 -8
  60. package/{esm/pulse → pulse}/EventCalendarViews.js +1 -6
  61. package/pulse/ResourceTimeGrid.d.ts +15 -0
  62. package/{esm/classic → pulse}/ResourceTimeGrid.js +4 -18
  63. package/pulse/ResourceTimeline.d.ts +15 -0
  64. package/{esm/pulse → pulse}/ResourceTimeline.js +3 -17
  65. package/{esm/pulse → pulse}/SchedulerViews.js +1 -7
  66. package/{esm/pulse → pulse}/icons.js +1 -1
  67. package/pulse/theme.css +3 -14
  68. package/cjs/breezy/EventCalendar.cjs +0 -62
  69. package/cjs/breezy/EventCalendarContainer.cjs +0 -35
  70. package/cjs/breezy/EventCalendarToolbar.cjs +0 -65
  71. package/cjs/breezy/EventCalendarViews.cjs +0 -283
  72. package/cjs/breezy/ResourceTimeGrid.cjs +0 -57
  73. package/cjs/breezy/ResourceTimeline.cjs +0 -54
  74. package/cjs/breezy/SchedulerViews.cjs +0 -70
  75. package/cjs/breezy/icons.cjs +0 -37
  76. package/cjs/classic/EventCalendar.cjs +0 -62
  77. package/cjs/classic/EventCalendarContainer.cjs +0 -22
  78. package/cjs/classic/EventCalendarToolbar.cjs +0 -62
  79. package/cjs/classic/EventCalendarViews.cjs +0 -230
  80. package/cjs/classic/ResourceTimeGrid.cjs +0 -57
  81. package/cjs/classic/ResourceTimeline.cjs +0 -54
  82. package/cjs/classic/SchedulerViews.cjs +0 -74
  83. package/cjs/classic/icons.cjs +0 -37
  84. package/cjs/forma/EventCalendar.cjs +0 -62
  85. package/cjs/forma/EventCalendarContainer.cjs +0 -35
  86. package/cjs/forma/EventCalendarToolbar.cjs +0 -64
  87. package/cjs/forma/EventCalendarViews.cjs +0 -251
  88. package/cjs/forma/ResourceTimeGrid.cjs +0 -57
  89. package/cjs/forma/ResourceTimeline.cjs +0 -54
  90. package/cjs/forma/SchedulerViews.cjs +0 -62
  91. package/cjs/forma/icons.cjs +0 -37
  92. package/cjs/monarch/EventCalendar.cjs +0 -62
  93. package/cjs/monarch/EventCalendarContainer.cjs +0 -35
  94. package/cjs/monarch/EventCalendarToolbar.cjs +0 -62
  95. package/cjs/monarch/EventCalendarViews.cjs +0 -252
  96. package/cjs/monarch/ResourceTimeGrid.cjs +0 -57
  97. package/cjs/monarch/ResourceTimeline.cjs +0 -54
  98. package/cjs/monarch/SchedulerViews.cjs +0 -83
  99. package/cjs/monarch/icons.cjs +0 -37
  100. package/cjs/pulse/EventCalendar.cjs +0 -62
  101. package/cjs/pulse/EventCalendarContainer.cjs +0 -22
  102. package/cjs/pulse/EventCalendarToolbar.cjs +0 -62
  103. package/cjs/pulse/EventCalendarViews.cjs +0 -268
  104. package/cjs/pulse/ResourceTimeGrid.cjs +0 -57
  105. package/cjs/pulse/ResourceTimeline.cjs +0 -54
  106. package/cjs/pulse/SchedulerViews.cjs +0 -58
  107. package/cjs/pulse/icons.cjs +0 -37
  108. package/esm/breezy/EventCalendarToolbar.js +0 -51
  109. package/esm/monarch/EventCalendarViews.d.ts +0 -27
  110. package/esm/pulse/EventCalendar.d.ts +0 -15
  111. package/esm/pulse/ResourceTimeGrid.d.ts +0 -15
  112. package/esm/pulse/ResourceTimeline.d.ts +0 -15
  113. /package/{esm/breezy → breezy}/EventCalendarContainer.d.ts +0 -0
  114. /package/{esm/breezy → breezy}/EventCalendarContainer.js +0 -0
  115. /package/{esm/breezy → breezy}/SchedulerViews.d.ts +0 -0
  116. /package/{esm/breezy → breezy}/icons.d.ts +0 -0
  117. /package/{esm/classic → classic}/EventCalendarContainer.d.ts +0 -0
  118. /package/{esm/classic → classic}/EventCalendarContainer.js +0 -0
  119. /package/{esm/classic → classic}/SchedulerViews.d.ts +0 -0
  120. /package/{esm/classic → classic}/icons.d.ts +0 -0
  121. /package/{esm/forma → forma}/EventCalendarContainer.d.ts +0 -0
  122. /package/{esm/forma → forma}/EventCalendarContainer.js +0 -0
  123. /package/{esm/forma → forma}/SchedulerViews.d.ts +0 -0
  124. /package/{esm/forma → forma}/icons.d.ts +0 -0
  125. /package/{esm/monarch → monarch}/EventCalendarContainer.d.ts +0 -0
  126. /package/{esm/monarch → monarch}/EventCalendarContainer.js +0 -0
  127. /package/{esm/monarch → monarch}/SchedulerViews.d.ts +0 -0
  128. /package/{esm/monarch → monarch}/icons.d.ts +0 -0
  129. /package/{esm/pulse → pulse}/EventCalendarContainer.d.ts +0 -0
  130. /package/{esm/pulse → pulse}/EventCalendarContainer.js +0 -0
  131. /package/{esm/pulse → pulse}/SchedulerViews.d.ts +0 -0
  132. /package/{esm/pulse → pulse}/icons.d.ts +0 -0
package/README.md CHANGED
@@ -5,17 +5,8 @@ Display an event calendar that inherits from your [@mui/material](https://www.np
5
5
 
6
6
  ## Installation
7
7
 
8
- First, ensure you have all React and MUI-related packages already installed.
9
- Then install FullCalendar and a select set of plugins:
10
-
11
8
  ```sh
12
- npm install \
13
- @fullcalendar/core \
14
- @fullcalendar/mui \
15
- @fullcalendar/daygrid \
16
- @fullcalendar/timegrid \
17
- @fullcalendar/interaction \
18
- @fullcalendar/multimonth
9
+ npm install @fullcalendar/react @fullcalendar/mui
19
10
  ```
20
11
 
21
12
  ## Usage
@@ -29,8 +20,8 @@ Next, decide whether you're using FullCalendar "standard" (aka "EventCalendar")
29
20
  ```jsx
30
21
  import EventCalendar from '@fullcalendar/mui/monarch/EventCalendar'
31
22
 
32
- import '@fullcalendar/core/skeleton.css'
33
- import '@fullcalendar/mui/monarch/global.css'
23
+ import '@fullcalendar/react/skeleton.css'
24
+ import '@fullcalendar/mui/monarch/theme.css'
34
25
 
35
26
  <EventCalendar
36
27
  addButton={{
@@ -61,8 +52,8 @@ Then write your component code:
61
52
  ```jsx
62
53
  import Scheduler from '@fullcalendar/mui/monarch/Scheduler'
63
54
 
64
- import '@fullcalendar/core/skeleton.css'
65
- import '@fullcalendar/mui/monarch/global.css'
55
+ import '@fullcalendar/react/skeleton.css'
56
+ import '@fullcalendar/mui/monarch/theme.css'
66
57
 
67
58
  <EventCalendar
68
59
  addButton={{
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface EventCalendarProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,26 +1,13 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import dayGridPlugin from '@fullcalendar/daygrid';
4
- import timeGridPlugin from '@fullcalendar/timegrid';
5
- import listPlugin from '@fullcalendar/list';
6
- import interactionPlugin from '@fullcalendar/interaction';
7
- import multiMonthPlugin from '@fullcalendar/multimonth';
3
+ import dayGridPlugin from '@fullcalendar/react/daygrid';
4
+ import timeGridPlugin from '@fullcalendar/react/timegrid';
5
+ import listPlugin from '@fullcalendar/react/list';
6
+ import interactionPlugin from '@fullcalendar/react/interaction';
7
+ import multiMonthPlugin from '@fullcalendar/react/multimonth';
8
8
  import EventCalendarToolbar from './EventCalendarToolbar.js';
9
9
  import EventCalendarViews from './EventCalendarViews.js';
10
10
  import EventCalendarContainer from './EventCalendarContainer.js';
11
- import '@mui/material/Box';
12
- import '@mui/material/Button';
13
- import '@mui/material/IconButton';
14
- import '@mui/material/Typography';
15
- import '@mui/material/ToggleButtonGroup';
16
- import '@mui/material/ToggleButton';
17
- import './icons.js';
18
- import '@fullcalendar/core';
19
- import '@mui/icons-material/ChevronLeft';
20
- import '@mui/icons-material/ChevronRight';
21
- import '@mui/icons-material/Close';
22
- import '@mui/icons-material/ExpandMore';
23
- import '@mui/material';
24
11
 
25
12
  const plugins = [
26
13
  dayGridPlugin,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarController } from '@fullcalendar/core';
2
+ import { CalendarController } from '@fullcalendar/react';
3
3
 
4
4
  interface EventCalendarToolbarProps {
5
5
  controller: CalendarController;
@@ -6,11 +6,6 @@ import Typography from '@mui/material/Typography';
6
6
  import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
7
7
  import ToggleButton from '@mui/material/ToggleButton';
8
8
  import { EventCalendarPrevIcon, EventCalendarNextIcon } from './icons.js';
9
- import '@fullcalendar/core';
10
- import '@mui/icons-material/ChevronLeft';
11
- import '@mui/icons-material/ChevronRight';
12
- import '@mui/icons-material/Close';
13
- import '@mui/icons-material/ExpandMore';
14
9
 
15
10
  function EventCalendarToolbar({ controller, availableViews, addButton, }) {
16
11
  const buttons = controller.getButtonState();
@@ -21,6 +16,9 @@ function EventCalendarToolbar({ controller, availableViews, addButton, }) {
21
16
  justifyContent: 'space-between',
22
17
  gap: 1,
23
18
  padding: 2,
19
+ bgcolor: 'action.hover', // low-contrast grey
20
+ borderBottom: '1px solid',
21
+ borderColor: 'divider',
24
22
  } },
25
23
  React.createElement(Box, { sx: {
26
24
  display: 'flex',
@@ -1,23 +1,23 @@
1
1
  import React from 'react';
2
- import { DayHeaderData, DayCellData, CalendarOptions } from '@fullcalendar/core';
2
+ import { DayHeaderData, DayCellData, CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  declare const outlineWidthClass = "outline-3";
5
5
  declare const outlineWidthFocusClass = "focus-visible:outline-3";
6
6
  declare const outlineWidthGroupFocusClass = "group-focus-visible:outline-3";
7
7
  declare const outlineOffsetClass = "outline-offset-1";
8
8
  declare const primaryOutlineColorClass = "outline-(--mui-palette-primary-main)";
9
- declare const strongSolidPressableClass: string;
9
+ declare const strongSolidPressableClass = "bg-[color-mix(in_oklab,var(--mui-palette-text-primary)_16%,var(--mui-palette-background-paper))] hover:bg-[color-mix(in_oklab,var(--mui-palette-text-primary)_20%,var(--mui-palette-background-paper))] active:bg-[color-mix(in_oklab,var(--mui-palette-text-primary)_25%,var(--mui-palette-background-paper))]";
10
10
  declare const mutedBgClass = "bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)]";
11
- declare const mutedHoverPressableClass: string;
11
+ declare const mutedHoverPressableClass = "hover:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)] focus-visible:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.16)] active:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.16)]";
12
12
  declare const faintBgClass = "bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.04)]";
13
13
  declare const primaryClass = "bg-(--mui-palette-primary-main) text-(--mui-palette-primary-contrastText)";
14
- declare const primaryPressableClass: string;
15
- declare const primaryPressableGroupClass: string;
14
+ declare const primaryPressableClass = "bg-(--mui-palette-primary-main) text-(--mui-palette-primary-contrastText) hover:bg-[rgba(var(--mui-palette-primary-mainChannel)_/_0.9)] active:bg-[rgba(var(--mui-palette-primary-mainChannel)_/_0.8)]";
15
+ declare const primaryPressableGroupClass = "bg-(--mui-palette-primary-main) text-(--mui-palette-primary-contrastText) group-hover:bg-[rgba(var(--mui-palette-primary-mainChannel)_/_0.9)] group-active:bg-[rgba(var(--mui-palette-primary-mainChannel)_/_0.8)]";
16
16
  declare const eventMutedFgClass = "text-[color-mix(in_oklab,var(--fc-event-color)_50%,var(--mui-palette-text-primary))]";
17
17
  declare const eventFaintBgClass = "bg-[color-mix(in_oklab,var(--fc-event-color)_20%,var(--mui-palette-background-paper))]";
18
18
  declare const eventFaintPressableClass: string;
19
- declare const rowPointerResizerClass: string;
20
- declare const rowTouchResizerClass: string;
19
+ declare const rowPointerResizerClass = "absolute hidden group-hover:block inset-y-0 w-2";
20
+ declare const rowTouchResizerClass = "absolute size-2 border border-(--fc-event-color) bg-(--mui-palette-background-paper) rounded-full top-1/2 -mt-1";
21
21
  declare const getNormalDayHeaderBorderClass: (data: DayHeaderData) => string;
22
22
  declare const getMutedDayHeaderBorderClass: (data: DayHeaderData) => string;
23
23
  declare const getNormalDayCellBorderColorClass: (data: DayCellData) => "border-[rgba(var(--mui-palette-text-primaryChannel)_/_0.2)]" | "border-(--mui-palette-divider)";
@@ -1,12 +1,7 @@
1
1
  import React from 'react';
2
- import { joinClassNames } from '@fullcalendar/core';
3
- import FullCalendar from '@fullcalendar/react';
2
+ import FullCalendar, { joinClassNames } from '@fullcalendar/react';
4
3
  import { Box } from '@mui/material';
5
4
  import { EventCalendarCloseIcon } from './icons.js';
6
- import '@mui/icons-material/ChevronLeft';
7
- import '@mui/icons-material/ChevronRight';
8
- import '@mui/icons-material/Close';
9
- import '@mui/icons-material/ExpandMore';
10
5
 
11
6
  // outline
12
7
  const outlineWidthClass = "fc-breezy-bAU";
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface ResourceTimeGridProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,26 +1,12 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import adaptivePlugin from '@fullcalendar/adaptive';
4
- import interactionPlugin from '@fullcalendar/interaction';
5
- import scrollGridPlugin from '@fullcalendar/scrollgrid';
6
- import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
3
+ import adaptivePlugin from '@fullcalendar/react-scheduler/adaptive';
4
+ import interactionPlugin from '@fullcalendar/react/interaction';
5
+ import scrollGridPlugin from '@fullcalendar/react-scheduler/scrollgrid';
6
+ import resourceTimeGridPlugin from '@fullcalendar/react-scheduler/resource-timegrid';
7
7
  import EventCalendarToolbar from './EventCalendarToolbar.js';
8
8
  import SchedulerViews from './SchedulerViews.js';
9
9
  import EventCalendarContainer from './EventCalendarContainer.js';
10
- import '@mui/material/Box';
11
- import '@mui/material/Button';
12
- import '@mui/material/IconButton';
13
- import '@mui/material/Typography';
14
- import '@mui/material/ToggleButtonGroup';
15
- import '@mui/material/ToggleButton';
16
- import './icons.js';
17
- import '@fullcalendar/core';
18
- import '@mui/icons-material/ChevronLeft';
19
- import '@mui/icons-material/ChevronRight';
20
- import '@mui/icons-material/Close';
21
- import '@mui/icons-material/ExpandMore';
22
- import './EventCalendarViews.js';
23
- import '@mui/material';
24
10
 
25
11
  const plugins = [
26
12
  adaptivePlugin,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface ResourceTimelineProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,25 +1,11 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import adaptivePlugin from '@fullcalendar/adaptive';
4
- import resourceTimelinePlugin from '@fullcalendar/resource-timeline';
5
- import interactionPlugin from '@fullcalendar/interaction';
3
+ import adaptivePlugin from '@fullcalendar/react-scheduler/adaptive';
4
+ import resourceTimelinePlugin from '@fullcalendar/react-scheduler/resource-timeline';
5
+ import interactionPlugin from '@fullcalendar/react/interaction';
6
6
  import EventCalendarToolbar from './EventCalendarToolbar.js';
7
7
  import SchedulerViews from './SchedulerViews.js';
8
8
  import EventCalendarContainer from './EventCalendarContainer.js';
9
- import '@mui/material/Box';
10
- import '@mui/material/Button';
11
- import '@mui/material/IconButton';
12
- import '@mui/material/Typography';
13
- import '@mui/material/ToggleButtonGroup';
14
- import '@mui/material/ToggleButton';
15
- import './icons.js';
16
- import '@fullcalendar/core';
17
- import '@mui/icons-material/ChevronLeft';
18
- import '@mui/icons-material/ChevronRight';
19
- import '@mui/icons-material/Close';
20
- import '@mui/icons-material/ExpandMore';
21
- import './EventCalendarViews.js';
22
- import '@mui/material';
23
9
 
24
10
  const plugins = [
25
11
  adaptivePlugin,
@@ -1,13 +1,7 @@
1
1
  import React from 'react';
2
- import { joinClassNames } from '@fullcalendar/core';
2
+ import { joinClassNames } from '@fullcalendar/react';
3
3
  import EventCalendarViews, { mutedBgClass, mutedHoverPressableClass, outlineWidthFocusClass, primaryOutlineColorClass, strongSolidPressableClass } from './EventCalendarViews.js';
4
4
  import { EventCalendarExpanderIcon } from './icons.js';
5
- import '@fullcalendar/react';
6
- import '@mui/material';
7
- import '@mui/icons-material/ChevronLeft';
8
- import '@mui/icons-material/ChevronRight';
9
- import '@mui/icons-material/Close';
10
- import '@mui/icons-material/ExpandMore';
11
5
 
12
6
  function SchedulerViews({ views: userViews, ...restOptions }) {
13
7
  return (React.createElement(EventCalendarViews
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { joinClassNames } from '@fullcalendar/core';
2
+ import { joinClassNames } from '@fullcalendar/react';
3
3
  import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
4
4
  import ChevronRightIcon from '@mui/icons-material/ChevronRight';
5
5
  import CloseIcon from '@mui/icons-material/Close';
package/breezy/theme.css CHANGED
@@ -1,19 +1,11 @@
1
1
 
2
- /*
3
- NOTE: apply this to calendar root AND popover
4
- */
5
2
  .fc-breezy-ND7 {
6
3
  line-height: 1.5;
7
4
  --fc-breezy-border-style: solid;
8
5
  }
9
6
 
10
- /*
11
- NOTE: apply this to buttonClass and popoverCloseClass
12
- */
13
7
  .fc-breezy-om0 {
14
- -webkit-appearance: button;
15
- -moz-appearance: button;
16
- appearance: button;
8
+ appearance: button;
17
9
  font: inherit;
18
10
  font-feature-settings: inherit;
19
11
  font-variation-settings: inherit;
@@ -22,7 +14,6 @@ NOTE: apply this to buttonClass and popoverCloseClass
22
14
  opacity: 1;
23
15
  background-color: #0000;
24
16
  border-radius: 0;
25
- /* originally provided on border-box reset */
26
17
  margin: 0;
27
18
  border: 0;
28
19
  padding: 0
@@ -858,8 +849,7 @@ NOTE: apply this to buttonClass and popoverCloseClass
858
849
  }
859
850
 
860
851
  .fc-breezy-YdZ:is(:where(.fc-breezy-ytQ):hover *) {
861
- -webkit-text-decoration-line: underline;
862
- text-decoration-line: underline
852
+ text-decoration-line: underline
863
853
  }
864
854
  }
865
855
 
@@ -914,8 +904,7 @@ NOTE: apply this to buttonClass and popoverCloseClass
914
904
  }
915
905
 
916
906
  .fc-breezy-jaW:hover {
917
- -webkit-text-decoration-line: underline;
918
- text-decoration-line: underline
907
+ text-decoration-line: underline
919
908
  }
920
909
  }
921
910
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface EventCalendarProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,26 +1,13 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import dayGridPlugin from '@fullcalendar/daygrid';
4
- import timeGridPlugin from '@fullcalendar/timegrid';
5
- import listPlugin from '@fullcalendar/list';
6
- import interactionPlugin from '@fullcalendar/interaction';
7
- import multiMonthPlugin from '@fullcalendar/multimonth';
3
+ import dayGridPlugin from '@fullcalendar/react/daygrid';
4
+ import timeGridPlugin from '@fullcalendar/react/timegrid';
5
+ import listPlugin from '@fullcalendar/react/list';
6
+ import interactionPlugin from '@fullcalendar/react/interaction';
7
+ import multiMonthPlugin from '@fullcalendar/react/multimonth';
8
8
  import EventCalendarToolbar from './EventCalendarToolbar.js';
9
9
  import EventCalendarViews from './EventCalendarViews.js';
10
10
  import EventCalendarContainer from './EventCalendarContainer.js';
11
- import '@mui/material/Box';
12
- import '@mui/material/Button';
13
- import '@mui/material/IconButton';
14
- import '@mui/material/Typography';
15
- import '@mui/material/ToggleButtonGroup';
16
- import '@mui/material/ToggleButton';
17
- import './icons.js';
18
- import '@fullcalendar/core';
19
- import '@mui/icons-material/ChevronLeft';
20
- import '@mui/icons-material/ChevronRight';
21
- import '@mui/icons-material/Close';
22
- import '@mui/icons-material/ExpandMore';
23
- import '@mui/material';
24
11
 
25
12
  const plugins = [
26
13
  dayGridPlugin,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarController } from '@fullcalendar/core';
2
+ import { CalendarController } from '@fullcalendar/react';
3
3
 
4
4
  interface EventCalendarToolbarProps {
5
5
  controller: CalendarController;
@@ -6,11 +6,6 @@ import Typography from '@mui/material/Typography';
6
6
  import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
7
7
  import ToggleButton from '@mui/material/ToggleButton';
8
8
  import { EventCalendarPrevIcon, EventCalendarNextIcon } from './icons.js';
9
- import '@fullcalendar/core';
10
- import '@mui/icons-material/ChevronLeft';
11
- import '@mui/icons-material/ChevronRight';
12
- import '@mui/icons-material/Close';
13
- import '@mui/icons-material/ExpandMore';
14
9
 
15
10
  function EventCalendarToolbar({ controller, availableViews, addButton, borderlessX, }) {
16
11
  const buttons = controller.getButtonState();
@@ -1,19 +1,19 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  declare const outlineWidthClass = "outline-3";
5
5
  declare const outlineWidthFocusClass = "focus-visible:outline-3";
6
6
  declare const outlineOffsetClass = "outline-offset-1";
7
7
  declare const outlineInsetClass = "-outline-offset-3";
8
8
  declare const primaryOutlineColorClass = "outline-[rgba(var(--mui-palette-primary-mainChannel)_/_0.5)]";
9
- declare const strongSolidPressableClass: string;
9
+ declare const strongSolidPressableClass = "bg-[color-mix(in_oklab,var(--mui-palette-text-primary)_16%,var(--mui-palette-background-paper))] hover:bg-[color-mix(in_oklab,var(--mui-palette-text-primary)_20%,var(--mui-palette-background-paper))] active:bg-[color-mix(in_oklab,var(--mui-palette-text-primary)_25%,var(--mui-palette-background-paper))]";
10
10
  declare const mutedBgClass = "bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)]";
11
11
  declare const mutedSolidBgClass = "[background:linear-gradient(rgba(var(--mui-palette-text-primaryChannel)_/_0.08),rgba(var(--mui-palette-text-primaryChannel)_/_0.08))_var(--mui-palette-background-paper)]";
12
- declare const mutedHoverPressableClass: string;
12
+ declare const mutedHoverPressableClass = "hover:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)] focus-visible:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)] active:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)]";
13
13
  declare const faintBgClass = "bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.04)]";
14
- declare const faintHoverPressableClass: string;
15
- declare const rowPointerResizerClass: string;
16
- declare const rowTouchResizerClass: string;
14
+ declare const faintHoverPressableClass = "hover:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.04)] focus-visible:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.04)] active:bg-[rgba(var(--mui-palette-text-primaryChannel)_/_0.08)]";
15
+ declare const rowPointerResizerClass = "absolute hidden group-hover:block inset-y-0 w-2";
16
+ declare const rowTouchResizerClass = "absolute size-2 border border-(--fc-event-color) bg-(--mui-palette-background-paper) rounded-full top-1/2 -mt-1";
17
17
  declare const getDayClass: (data: {
18
18
  isMajor: boolean;
19
19
  isToday: boolean;
@@ -1,12 +1,7 @@
1
1
  import React from 'react';
2
- import FullCalendar from '@fullcalendar/react';
3
- import { joinClassNames } from '@fullcalendar/core';
2
+ import FullCalendar, { joinClassNames } from '@fullcalendar/react';
4
3
  import { Box } from '@mui/material';
5
4
  import { EventCalendarCloseIcon } from './icons.js';
6
- import '@mui/icons-material/ChevronLeft';
7
- import '@mui/icons-material/ChevronRight';
8
- import '@mui/icons-material/Close';
9
- import '@mui/icons-material/ExpandMore';
10
5
 
11
6
  // outline
12
7
  const outlineWidthClass = "fc-classic-bAU";
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface ResourceTimeGridProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,26 +1,12 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import adaptivePlugin from '@fullcalendar/adaptive';
4
- import interactionPlugin from '@fullcalendar/interaction';
5
- import scrollGridPlugin from '@fullcalendar/scrollgrid';
6
- import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
3
+ import adaptivePlugin from '@fullcalendar/react-scheduler/adaptive';
4
+ import interactionPlugin from '@fullcalendar/react/interaction';
5
+ import scrollGridPlugin from '@fullcalendar/react-scheduler/scrollgrid';
6
+ import resourceTimeGridPlugin from '@fullcalendar/react-scheduler/resource-timegrid';
7
7
  import EventCalendarToolbar from './EventCalendarToolbar.js';
8
8
  import SchedulerViews from './SchedulerViews.js';
9
9
  import EventCalendarContainer from './EventCalendarContainer.js';
10
- import '@mui/material/Box';
11
- import '@mui/material/Button';
12
- import '@mui/material/IconButton';
13
- import '@mui/material/Typography';
14
- import '@mui/material/ToggleButtonGroup';
15
- import '@mui/material/ToggleButton';
16
- import './icons.js';
17
- import '@fullcalendar/core';
18
- import '@mui/icons-material/ChevronLeft';
19
- import '@mui/icons-material/ChevronRight';
20
- import '@mui/icons-material/Close';
21
- import '@mui/icons-material/ExpandMore';
22
- import './EventCalendarViews.js';
23
- import '@mui/material';
24
10
 
25
11
  const plugins = [
26
12
  adaptivePlugin,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface ResourceTimelineProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,25 +1,11 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import adaptivePlugin from '@fullcalendar/adaptive';
4
- import resourceTimelinePlugin from '@fullcalendar/resource-timeline';
5
- import interactionPlugin from '@fullcalendar/interaction';
3
+ import adaptivePlugin from '@fullcalendar/react-scheduler/adaptive';
4
+ import resourceTimelinePlugin from '@fullcalendar/react-scheduler/resource-timeline';
5
+ import interactionPlugin from '@fullcalendar/react/interaction';
6
6
  import EventCalendarToolbar from './EventCalendarToolbar.js';
7
7
  import SchedulerViews from './SchedulerViews.js';
8
8
  import EventCalendarContainer from './EventCalendarContainer.js';
9
- import '@mui/material/Box';
10
- import '@mui/material/Button';
11
- import '@mui/material/IconButton';
12
- import '@mui/material/Typography';
13
- import '@mui/material/ToggleButtonGroup';
14
- import '@mui/material/ToggleButton';
15
- import './icons.js';
16
- import '@fullcalendar/core';
17
- import '@mui/icons-material/ChevronLeft';
18
- import '@mui/icons-material/ChevronRight';
19
- import '@mui/icons-material/Close';
20
- import '@mui/icons-material/ExpandMore';
21
- import './EventCalendarViews.js';
22
- import '@mui/material';
23
9
 
24
10
  const plugins = [
25
11
  adaptivePlugin,
@@ -1,13 +1,7 @@
1
1
  import React from 'react';
2
- import { joinClassNames } from '@fullcalendar/core';
2
+ import { joinClassNames } from '@fullcalendar/react';
3
3
  import EventCalendarViews, { mutedBgClass, outlineWidthFocusClass, primaryOutlineColorClass, rowTouchResizerClass, rowPointerResizerClass, strongSolidPressableClass } from './EventCalendarViews.js';
4
4
  import { EventCalendarExpanderIcon } from './icons.js';
5
- import '@fullcalendar/react';
6
- import '@mui/material';
7
- import '@mui/icons-material/ChevronLeft';
8
- import '@mui/icons-material/ChevronRight';
9
- import '@mui/icons-material/Close';
10
- import '@mui/icons-material/ExpandMore';
11
5
 
12
6
  const xxsTextClass = "fc-classic-HRt";
13
7
  const continuationArrowClass = "fc-classic-MOr fc-classic-ARL fc-classic-DGs fc-classic-F6C";
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { joinClassNames } from '@fullcalendar/core';
2
+ import { joinClassNames } from '@fullcalendar/react';
3
3
  import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
4
4
  import ChevronRightIcon from '@mui/icons-material/ChevronRight';
5
5
  import CloseIcon from '@mui/icons-material/Close';
package/classic/theme.css CHANGED
@@ -1,19 +1,11 @@
1
1
 
2
- /*
3
- NOTE: apply this to calendar root AND popover
4
- */
5
2
  .fc-classic-ND7 {
6
3
  line-height: 1.5;
7
4
  --fc-classic-border-style: solid;
8
5
  }
9
6
 
10
- /*
11
- NOTE: apply this to buttonClass and popoverCloseClass
12
- */
13
7
  .fc-classic-om0 {
14
- -webkit-appearance: button;
15
- -moz-appearance: button;
16
- appearance: button;
8
+ appearance: button;
17
9
  font: inherit;
18
10
  font-feature-settings: inherit;
19
11
  font-variation-settings: inherit;
@@ -22,7 +14,6 @@ NOTE: apply this to buttonClass and popoverCloseClass
22
14
  opacity: 1;
23
15
  background-color: #0000;
24
16
  border-radius: 0;
25
- /* originally provided on border-box reset */
26
17
  margin: 0;
27
18
  border: 0;
28
19
  padding: 0
@@ -723,8 +714,7 @@ NOTE: apply this to buttonClass and popoverCloseClass
723
714
  }
724
715
 
725
716
  .fc-classic-YdZ:is(:where(.fc-classic-ytQ):hover *) {
726
- -webkit-text-decoration-line: underline;
727
- text-decoration-line: underline
717
+ text-decoration-line: underline
728
718
  }
729
719
  }
730
720
 
@@ -752,8 +742,7 @@ NOTE: apply this to buttonClass and popoverCloseClass
752
742
  }
753
743
 
754
744
  .fc-classic-jaW:hover {
755
- -webkit-text-decoration-line: underline;
756
- text-decoration-line: underline
745
+ text-decoration-line: underline
757
746
  }
758
747
  }
759
748
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarOptions } from '@fullcalendar/core';
2
+ import { CalendarOptions } from '@fullcalendar/react';
3
3
 
4
4
  interface EventCalendarProps extends Omit<CalendarOptions, 'class'> {
5
5
  availableViews?: string[];
@@ -1,26 +1,13 @@
1
1
  import React from 'react';
2
2
  import { useCalendarController } from '@fullcalendar/react';
3
- import dayGridPlugin from '@fullcalendar/daygrid';
4
- import timeGridPlugin from '@fullcalendar/timegrid';
5
- import listPlugin from '@fullcalendar/list';
6
- import interactionPlugin from '@fullcalendar/interaction';
7
- import multiMonthPlugin from '@fullcalendar/multimonth';
3
+ import dayGridPlugin from '@fullcalendar/react/daygrid';
4
+ import timeGridPlugin from '@fullcalendar/react/timegrid';
5
+ import listPlugin from '@fullcalendar/react/list';
6
+ import interactionPlugin from '@fullcalendar/react/interaction';
7
+ import multiMonthPlugin from '@fullcalendar/react/multimonth';
8
8
  import EventCalendarToolbar from './EventCalendarToolbar.js';
9
9
  import EventCalendarViews from './EventCalendarViews.js';
10
10
  import EventCalendarContainer from './EventCalendarContainer.js';
11
- import '@mui/material/Box';
12
- import '@mui/material/Button';
13
- import '@mui/material/IconButton';
14
- import '@mui/material/Typography';
15
- import '@mui/material/ToggleButtonGroup';
16
- import '@mui/material/ToggleButton';
17
- import './icons.js';
18
- import '@fullcalendar/core';
19
- import '@mui/icons-material/ChevronLeft';
20
- import '@mui/icons-material/ChevronRight';
21
- import '@mui/icons-material/Close';
22
- import '@mui/icons-material/ExpandMore';
23
- import '@mui/material';
24
11
 
25
12
  const plugins = [
26
13
  dayGridPlugin,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarController } from '@fullcalendar/core';
2
+ import { CalendarController } from '@fullcalendar/react';
3
3
 
4
4
  interface EventCalendarToolbarProps {
5
5
  controller: CalendarController;
@@ -6,11 +6,6 @@ import Typography from '@mui/material/Typography';
6
6
  import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
7
7
  import ToggleButton from '@mui/material/ToggleButton';
8
8
  import { EventCalendarPrevIcon, EventCalendarNextIcon } from './icons.js';
9
- import '@fullcalendar/core';
10
- import '@mui/icons-material/ChevronLeft';
11
- import '@mui/icons-material/ChevronRight';
12
- import '@mui/icons-material/Close';
13
- import '@mui/icons-material/ExpandMore';
14
9
 
15
10
  function EventCalendarToolbar({ controller, availableViews, addButton, }) {
16
11
  const buttons = controller.getButtonState();