1.0.0 (2024-08-12)
Bug Fixes
dayLayoutAlgorithm
prop with custom function (#1562) (3fb3c49)
- 1px misalignment (#2367) (7479b4d)
- a bug that the height of the column is broken when displayed in IE11 (#1789) (a0538ee)
- add isBackgroundEvent to onSelectEvent event obj (#2491) (fdbb496)
- add new method to get correct time indicator top position | fixes #1396 (#1447) (1cf0205)
- add runtime to deps (ade68bb)
- added fallback to getNow (#1140) (13459b0)
- addons: do not cut end while dragging multiday event (#1342) (6fab261)
- adjust TimeGutter for DST (#2205) (4ba1255)
- Agenda: consider start & end of day to filter events (6c9c05b)
- allow override onShowMore callback (#1214) (8fefeee), closes /github.com/intljusticemission/react-big-calendar/blob/f9a873368a78f5ced81b799c4dffe1095b3ab712/src/Calendar.jsx#L280 /github.com/intljusticemission/react-big-calendar/blob/1d62c432eaa183ed6b38f08cfcec5ee7edcbfe41/src/Month.js#L300-L307 #1147
- Allow resize to last visible slot (f26c8a7), closes #2147
- ARIA: remove tabindex (#2508) (7e01c3d), closes #2498
- auto scroll on event selection (#2235) (6d87ebb), closes #2233
- bad propType. (#1351) (e704e17)
- bug where appointments can appear outside the calendar (#1204) (9689b7d)
- bug with dayWrapper not applying (#1196) (f3ea6f8)
- bug with dnd drag drop (#2602) (799a72a), closes #2601
- bug with resize segments not being removed (#1800) (34aec3a)
- bump memoize-one and migrate new isEqual API (#1583) (4c904c2)
- calculation of slots number for date when DST ends. (#1046) (2ca0226)
- calendar auto scroll while dragging event at top/bottom edge (#2230) (d1c5085), closes #2231
- change toolbar API to match top level onViewChange prop name (b0a6dd7)
- changed flex-direction for rbc-toolbar mobile (#2497) (8d7b20d), closes #1699
- common.nest() discarding custom components (#1114) (5a432de)
- Correct display of beginning DST (bd8e0e9), closes #1617
- Correct DragAndDrop event resizing in 'month' view (e3d96e5), closes #2012
- Correct duration in DnD (#2034) (304f78b), closes #2033
- Correct issue with semantic-release and yarn-lock (cc48854), closes #2096
- Correct listener teardown (abd4594), closes #2072
- correct luxon localizer formatting (#2172) (b130351)
- correct nested sass (#2641) (88bdf77)
- Correct no overlap algorithm stretch behavior (#2120) (c3f25eb)
- correct popupOffset (#2218) (6fdec30)
- correct publishing (#2350) (ae15118)
- Correct resize for multi-day event. (#2138) (3632345)
- Correct resizing event bug in Week & Day (#2143) (afa8468)
- Correct scrollToTime functionailty (#2055) (76e6254), closes #2028 #1717
- Correct selection issues (def4934)
- correct slotMetrics issue in TimeGrid (e25f187), closes #2529
- correct storybook deploy (#2145) (8c98fb2)
- Correct the listeners reference (a202d60), closes #2072
- correct time-header-gutter (#2219) (160e251)
- correct TimeGutter ref (#2204) (055cdd0), closes #2201
- correct TimeGutter ref use (574dbf7), closes #2200
- correct treatment of boolean view in 'views' (#2368) (0e6b771)
- Correct typo in custom view example (267629b)
- Correct variable name that gets passed on to EventWrapper so dragndrop ha… (#2121) (19294de)
- correcting doubleClick (#2571) (775993c), closes #2565
- date-fns localizer: display dayFormat correctly (#1633) (dd1e1a4)
- day events sort fixed (#2512) (ac1ff00)
- dayViewLayout: container event check (3c4934e)
- different time format for multi day events when using moment (#919) (630b630)
- disable
absoluteRuntime
in babel-preset-react-app (#2155) (b8fcb93)
- DnD corner cases in allDay move/resize (5380fee)
- dnd freezes an event intermittently (#1631) (e8609af)
- DND: Corrects issue of losing droppable event when releasing on non-event related containers (#2199) (508b668), closes #2198 #1902
- dnd: dont use classname (#2232) (2332f12)
- DnD: dragAndDrop EventWrapper.js error: cannot add property 'X', object is not extensible (0c4826a)
- dnd: move merge components (fd02261), closes #2359
- Dnd: Offset is not needed (#1892) (caf820b)
- DnD: selection in WeekView (2813631)
- do not autoscroll on event selection (#2234) (b85b1ff), closes #2233
- do not handle move event after terminating (#1104) (bcc4d93)
- do not send undefined/null gutterRef to getWidth (#2300) (7b5f5b8)
- do the math ourselves (#2220) (cace54e)
- docs: correct link for 'props' in 'Understanding Dates' guide (#2562) (59982ae)
- drag cancelation for month view (#1322) (9c81e9e)
- dragging is disabled if resizing is not allowed (#1072) (#1073) (0d5ed30)
- duplicate events (#1159) (b8e26b0)
- elements position on TimeGrid if max prop is set (#1057) (f174a60)
- enforce
resizable
prop (#1796) (a18acc2)
- firefox event click bug (#1262) (b526416), closes #1173
- Fix top part of 24hour event in week/day view (#1732) (e1e06b5)
- Fixed publish script (fix #2330) (#2358) (a4e54be)
- fixing Drag and Drop Examples link (fa4a378), closes #2585
- fixing invalid ref with invalid scrollHeight (#2459) (a4bc8f3)
- for TimeSlots (#1462) (c31639a)
- handleNavigate for undefined date (#889) (cc84f17)
- hide indicator when current time is not in the interval (#1639) (92974bf)
- ie fix for event bindings on unmounted components (#1338) (8ef00d6)
- incorrect babel imports in CJS/ESM builds (#2157) (687b121)
- invalid prop-types. (#1435) (61e1a1e)
- issue with gutter width initialization (#1181) (69b28af)
- item preview inside cell while dragging from outside not working… (#1770) (8fd6329)
- make day event to hourly event after move (b72fb30)
- make scrollToTime=00:00 working (#1501) (ee5a558)
- make sure time indicator is updated after navigation (#1082) (07b2fa4)
- Memory leak if Calendar is selectable #1940 (#1941) (a26e933)
- minimum start difference for same row computation (#886) (#909) (#910) (a440b82)
- misplacement of current time indicator (#1239) (2d6e99e), closes #1054
- Modify events.js (#2444) (2a838d9)
- moment format strings -> date-fns format strings (#1568) (1603902)
- moment: wrong time on the day when DST changes (#2374) (b82ceb7), closes #2296
- mouse event propagation probs (759a232)
- move @babel/cli to devDependencies (#1062) (4cfcb1f)
- move react, react-dom to devDependencies (#2160) (6917c15)
- no-overlap layout algorithm (#2239) (f7bfd11), closes #2240
- numGroups calculation (#1963) (319a81c)
- onRangeChange not passing localizer (#1056) (80855e8)
- pass dates to slotGroupPropGetter (#2066) (943ae6e)
- prefix React lifecycle methods with UNSAFE (#1578) (7b5a6a7)
- preserve time on horizontal resizing (#1795) (1b186da)
- prevent endless loop when adding event the DST begin day (#1635) (b9abf77)
- prevent un/mounting of date components (#1276) (3c25009), closes /github.com/intljusticemission/react-big-calendar/blob/master/src/DateContentRow.js#L121
- proptype warnings (#1084) (08c2494)
- reference to draggable/resizable Accessor (#1070) (1889a51)
- remove duplicate getter prop (#1185) (6b90182)
- remove global window from Map() usage, update eslint rules for new es6 environment (#1195) (4768188)
- Replace deprecated dependency (a88da3f)
- replace deprecated onKeyPress by onKeyDown (21f51f2)
- replace findDOMNode with refs (a902d20), closes #2193
- replace findDOMNode with refs (react 17) (24f92fb)
- resolve resizing events in Month view (c7b105f), closes #2207
- revert (#2227) (b81fa14)
- revert a bug that the height of the column is broken when displayed in IE11 (#1789)" (#1805) (41104fa)
- revert change (#2223) (bdb0595)
- rounding behavior in Luxon localizer (#2362) (409cff1), closes #2361
- rtl DnD: Dragging an event in the RTL month view calendar gets confused to the wrong side (#2426) (ebe8c2c), closes #2310 #1801
- rtl incorrectly named or not propagated (#1353) (caa863f)
- rtl prop has to be passed to the DateContentRow (#915) (e0ae4f1)
- sass: Reference distributed folder in SASS compile (#2091) (20502f3), closes #2086
- scrollToTime does not work properly, when min specified (#2051) (04c1888)
- selecting events in chrome (#884) (558ee2d)
- selecting events in mobile browsers (#1233) (2bc9fee)
- Selection: handling of terminating event (937b4c5)
- set width (#2332) (86b26cd)
- short-circuit handleInteractionEnd when no action is in progress (#1118) (7a48b6a)
- single/Double clicks on an event work again (#952) (ee8cdbe)
- stories: fix not working links in docs (#2559) (295957c)
- support point-in-time events in the Agenda view (#1246) (58c39c3)
- switch DnD to modern context API (was legacy) (6def209), closes #1795 #1776
- temp fix for DayColumn render (#2224) (48b23a2), closes #2222
- time indicator placement (071fa88)
- TimeGrid display on DST change days when min is after the transition (#1303) (b436017), closes #1098 #1273
- to build (#2517) (621fc7e)
- totalMin calculation in TimeSlots. (#965) (b761e86)
- Trade href="#" anchors for stylized buttons (#2074) (cd385f5)
- typo (#2443) (407e168)
- typo for prop titles (#2298) (11fd6c8)
- update react & react-dom peer-dep range to support 17.x (#1880) (dbcc578)
- update time indicator position if max prop changes (#1379) (ac945b7)
- update time indicator position if min prop changes (#1311) (97ea841)
- update TimeGrid on resources list change (#1135) (91c6ec0)
- update to current react-overlays (#2217) (27ebe46), closes #2186
- use accessors when determining dnd height. (#954) (be81065)
- use fixed date arithmetic lib and move bt-sass to devdepen… (#1374) (b223a61)
- use React.createRef instead of string refs (#1282) (239f0a3)
- using wrong bounding box for hit testing (f670719)
- warning defaultProps in Agenda (#2620) (d1c31c2)
- zero duration no-overlap events (#2213) (bbe1109)
Features
- #1390 use en dashes in ranges (#1391) (7619e59)
- Add
onSelectEvent
& onDoubleClickEvent
support to Agenda (c14f427)
- add
showAllEvents
Calendar Prop (#1808) (8ffe39d)
- add ability to set custom resource headers (#1187) (6708a45), closes #1174
- add agenda no events msg (#923) (51304f5)
- add ARIA roles to month view (#1863) (02bbeb1)
- add background events feature (#1851) (e797ab3), closes #1727
- add citation file (#2523) (3de0059)
- add commitlint (b35e156)
- add custom timeSlotWrapper support (#930) (172c316)
- add Date-fns localizer (#1542) (749c91c)
- add dragging ability from the monthly Popup component (#1554) (12233ef)
- add horizontal scrolling for wide resource calendars (#921) (d1e90b1)
- add onKeyPressEvent (#1754) (ca8d77b)
- add Rearrangement Algorithm Implementation (#1473) (e622651)
- add resource to handleDropFromOutside (#1319) (2b7ad2a)
- add resourceId to handleSelectAllDaySlot fns slotInfo (#1735) (f00a516)
- add resourceId to onSelecting callback (#1416) (0c9b1f2)
- add selecting and drag cancelation (#1119) (aa8f08b)
- add Time Zone support using localizer date math (#2023) (ad8defa)
- add timeGutterHeaderComponent (#874) (adc2078), closes intljusticemission/react-big-calendar#853
- added continuesPrior and continuesAfter props to Event component (#1201) (74a2233)
- adding bounds and box on slot select in Month view (#1241) (2a870b0)
- adding tabbable events (#987) (6a94e72)
- Adding TS, hooks, and Vite (1559333)
- allDayMaxRows: Allow for more granular control (36871bf), closes #2386
- allow using custom event wrapper component while dragging (#2228) (afa8824), closes #1864
- Dayjs localizer (#2264) (537c6f3)
- Disable autoscroll functionality, Add a functionality to disable auto-scroll on calendar render. (aa8f374)
- DnD support for custom DropWrapper components (dayWrapper and dateCellWrapper) (#843) (d372f0d)
- dnd: add onDropFromOutside prop for Dnd Cal (#1290) (b9fdce4), closes #1090
- dnd: add preview of an item inside cell while dragging (#1369) (ac715f8)
- dnd: implement callback on initializing drag or resize action (#1206) (0fa2c30), closes #1205
- DnD: support to/from allDay events in demos (b067ad0)
- drop warning (#1455) (77004e2)
- event sort: update event sort for multi day (#2502) (ff209d0)
- events: default events prop to an empty array (#2161) (efac0b2), closes #1708
- handleRangeChange, handleViewChange refactored to pass fresh
view
to onRangeChange when view changed; (#1100) (befac9f)
- hide single day header with css (#1019) (5857d8f)
- improve toolbar responsiveness for mobile devices (#900) (cd10e6f)
- localizers: move localizer dependencies (e4a3235)
- pass resource prop to DayColumnWrapper (77760aa), closes #2607
- pass resourceId to slotPropGetter (#1101) (0e1e1a0)
- provide named exports api (#1348) (4e09704)
- redeclared all sass variables as !default (#1321) (c4f09cd)
- remove propTypes in production (#1180) (ce0d56b)
- remove unneeded dependencies (#2215) (fb05151)
- replace unsafe deprecated methods (#2216) (c5c6a8b), closes #1200 #1777 #1481 #2126 #2104 #2105 #1526
- revamp Drag and drop (d2e02c4)
- showMore message add event info (#2496) (18012b7)
- Slot group prop getter (#1471) (#1510) (fcb9b9a)
- sort by event end date if start dates are equal (dddf4e1)
- starting to hooks to avoid deprecation warnings (#1687) (b8368f9)
- Support multiple resources on an event (91155c5), closes #2405 #1649
- switch to Sass for styles (884bece)
- time-gutter-wrapper: expose time gutter wrapper component (#2236) (39ff8a1)
- translations: translate CONTRIBUTING.md to Arabic (#2558) (ae64158)
- update react-overlays dependency (#1816) (5490207), closes #1813
- upgrade react-overlays (#1421) (9117549)
- use custom event wrapper when dragging (#2221) (73ed69a), closes #1864
- use lodash-es for esm bundle (#1350) (fb0fe5e)
Performance Improvements
BREAKING CHANGES
- localizers: moment, luxon and globalize are no longer bundled
- must use named exports for additional RBC imports
import {
Calendar,
DateLocalizer,
momentLocalizer,
globalizeLocalizer,
move,
Views,
Navigate,
components
} from 'react-big-calendar';
- Less files have been replaced with Sass versions
- Calendar wrapper components props have changed
- react-dnd is no longer used internally with no external API