Changelog
DayPicker follows Semantic Versioning. See the Releases page on Github for the complete list of changes, diffs and contributors, or the list of versions published on npm.
v9
First release: 2024-07-20
This release includes important updates related to accessibility, styles and localization. See the updated docs at https://daypicker.dev and the Upgrading Guide for more details.
Install the Latest Version
npm install react-day-picker@latest
What’s New
- Moved
date-fnsfrom peer dependencies to dependencies. - Added support for time zones and Persian Calendar.
- Enhanced accessibility to better comply with WCAG 2.1 recommendations.
- Simplified styles and new CSS variables for easier customization.
- New
excludeDisabledprop for range mode. - New
dropdown-yearsanddropdown-monthscaption layouts. - New
hideWeekdaysandhideNavigationprops. - Updated for a complete custom components support.
- Improved typings and props for better compatibility in TypeScript
strictmode.
Breaking Changes
While we tried to keep the API as stable as possible, some breaking changes were necessary to improve the library:
- The updated ARIA labels could require new translations or updated unit tests selectors.
- Custom CSS styles will likely break, due to the updated CSS classes and simplified styles.
- Custom Components have new API and may break.
- Some typings have been renamed or deprecated.
- The
useInputhook has been removed. See Input fields guide for more details. onWeekNumberClickhas been removed. Use a custom component to handle week number clicks.- Some of the
onDay*events, likeonDayTouchStartoronDayDoubleClickhave been removed. To reimplement them, use a customDayButtoncomponent (example). - The updated build system to ESM and CommonJS could break some custom bundler.
Upgrading Guide
We prepared a Upgrading guide for help upgrading your app to v9. We welcome feedback about the upgrade process, to ensure it's smooth for everyone.
Get Support and Report Issues
Please report any issues or provide feedback on the GitHub repository.
v8.10.1
Release date: 2024-04-16
- build: fix Preact support by externalizing JSX runtime
- build: remove unused useIsomorphicLayoutEffect module
- fix(types): improved props for RootContext component
v8.10.0
Release date: 2023-12-23
- feat: support for date-fns 3.0
- fix(types): cannot find module
types/Matchers - fix(types):
firstWeekContainsDateto be only Monday or Thursday- Note: this prop now supports only the value
1(Monday) and4(Thursday) instead of values from0to6. This change may break your type-check.
- Note: this prop now supports only the value
v8.9.1
Release date: 2023-10-18
- fix(types):
PropsWithChildrennot compatible with React 17
v8.8.3
Release date: 2023-10-14
- feat: support for
nonce,lang,titleglobal attributes - feat: new custom components "Months"
- feat: new
--rdp-selected-colorCSS variable for text of selected days - updated internal dependencies
v8.8.2
Release date: 2023-09-12
- fix(a11y): remove redundant
rowgrouprole fromtbodyelement
v8.8.1
Release date: 2023-08-18
- fix: range not selected when missing the
fromvalue - fix: dropdown may navigate to the wrong month when multiple months are set
v8.8.0
Release date: 2023-06-19
- feat: add custom ID to grid elements
v8.7.1
Release date: 2023-04-12
- fix: cannot extend
DayPickerProps,DataAttributesinterface
v8.7.0
Release date: 2023-04-09
- feat(rendering): add
id,data-attributes to the root element - feat(style): add CSS variable for caption font size
- feat(style): uppercase weekday name
- fix(a11y): empty table header when showing week numbers
- fix(i18n): caption buttons inverted when using RTL direction and multiple months
v8.6.0
Release date: 2023-02-18
- feat: new
dropdown-buttonscaption layout - feat: added
displayMonthprop toFooter
v8.5.1
Release date: 2023-01-27
- chore: improve ButtonProps type
v8.5.0
Release date: 2023-01-24
- chore(a11y): accessibility improvements
- update
CaptionLabelto have rolepresentation - use
gridcelldirectly in button, deprecatelabelDay - update head rows labels
- use presentation role for table cells
- use
rowgroupfortbody
- update
- build: updated rollup settings improving source maps and css types
- build(deps): updated internal dependencies
v8.4.1
Release date: 2022-12-17
- feat: add
onDayPointerEnter,onDayPointerLeaveprops
v8.3.7
Release date: 2022-11-20
- chore(style): add opacity to differentiate outside days
- fix(docs): minor typo in upgrading content
- fix(bug): matcherToArray should return a copy of the array
- build(deps): bump loader-utils from 2.0.2 to 2.0.4
v8.3.6
Release date: 2022-11-06
- fix: set tab-index to 0 when day is focused
- Upgraded dependencies
v8.3.5
Release date: 2022-10-10
- fix:
range_middleclass is added to days not in the selected range
v8.3.4
Release date: 2022-10-09
- build: fix CSS module types
- fix: disable tab for outside days (#1567)
v8.3.1
Release date: 2022-10-03
- fix: types for selection modes not being correctly set
- fix: isMatch to match open DateIntervals
v8.3.0
Release date: 2022-09-26
- feat: add new
idprop - feat: week localization props:
ISOWeek,firstWeekContainsDate - fix: infinite recursion when focusing next days
- fix: disabled modifiers with min/max range selections
- fix: improved CSS
focus-visibleand disabled styles - chore: updated
SelectSingleEventHandlerinterface to type - chore: cleanup context types and defaults
- chore: use rollup-plugin-ts to compile typescript
- chore: add new
Componentstype - chore: reorganize contexts files
v8.2.1
Release date: 2022-09-08
- fix: CSS module doesn't include the root class
v8.2.0
Release date: 2022-09-01
- new: custom
HeadRowcomponent - changed: add
HeadRowcomponent - fixed: selected day outlines in chrome
- fixed: dropdown focus-visible style
- fix: use aria-label for days buttons
v8.1.4
Release date: 2022-08-28
- fix: use parsed
fromDate/toDateinuseInput - changed: add names to fields and buttons
- changed: focus vs focus-visible styles
v8.1.3
Release date: 2022-08-24
- fix:
onDayClickcalled twice in selection mode - changed: accept
undefinedfor the modifier props
v8.1.2
Release date: 2022-08-22
- fix: do not focus disabled or hidden days
v8.1.1
Release date: 2022-08-19
- fix: prevent focus from moving beyond
toDateandfromDate - fix: page keys not working when using
setMonth - fix: add
onSelectto theDayPickerContextValue - fix: rdp class not added to root element when using
className
v8.1.0
Release date: 2022-08-11
- new: add prefix to auto generated ids
- new:
addedToRangeto the exported utilities - new: revert to use
disabledattribute instead ofaria-disabled(reverts - new(css): use pure selector for CSS variables
- Note this may require some changes in your CSS
- fix:
@reach/auto-idwarnings by removing the dependency - fix: home/end buttons behavior with
startOfWeek - package: upgraded dependencies
v8.0.7
Release date: 2022-06-12
- fixed: missing
dropdown_yearCSS class inYearsDropdown - fixed: Maximum update depth exceeded when select the range date
- website(chore): Upgrade docusaurus to beta 22
v8.0.6
Release date: 2022-06-05
- fix(docs): fix typo
v8.0.5
Release date: 2022-05-15
- fix(docs): typo in property name
- Use aria-disabled instead of disabled
v8.0.4
Release date: 2022-04-14
- Added src directory to the package for better source maps
v7.4.9
Release date: 2021-03-18
- Re-add
transform-react-remove-prop-typesto.babelrc(#1165) - Add
nulltoRangeModifier(#1037) - Corrected typing for
RangerModifier(#1065) - Add React 17 as peer dependency (#1075)
- Add
aria-politeto announce month change during navigation (#1033)
v7.4.8
Release date: 2020-04-19
- Fixed uncontrolled
DayPickerInputcausing the field not being cleared (#990 by @ntlf) - Fixed custom
classNamesbreakingaria-props (#1004 by @camflan) - Added
styletype toDayPickerInputProps(#996 by @anilkabobo) - Fixed UMD build (#1009)
- (chore) Use moment
localeDatavia documented API (#968)
v7.4](
Release Date: 2019-10-20
Release date: # DayPicke
- Fix text wrapping on
.DayPicker-Daydefault style (#824) - Add
focus()method for focusing theDayPickerwrapper element (#761)
Da
Release date: PickerInpu
- When DayPicker input state is controlled, correctly set the input text if the
valueprop updates (#816 by MitchRivet) - Fix DayPickerInput value does not recompute on
localechange (fix #938) (#939) - Set overlayHasFocus to false in hideAfterDayClick (#941)
Release date: ### Typing
- Improve typings, use TypeScript 3.1 (#929)
- Add formatDate and parseDate to typings (#873)
- Make
formatoptional (#923) - Remove
initialMonthfromdefaultProps(#874)
v7.3.2
Release date: 2019-08-08
Updates for TypeScript users:
- added
tabIndexto input component types (#909 by clarityflowers) - fixed types for utilities (#904 by Nibblesh and #899 by DylanVann)
v7.3](
Release Date: 2019-02-21
Mostly an update for TypeScript users, few minor fixes, and two new minor props to the input component.
DayPicker
- Fixed: left/right keyboard navigation on RTL (#845 by johnjesse)
- Fixed: cancel keydown events (#844 by johnjesse)
- Fix for week number's
tabIndexwhenonWeekClickis not defined (#818 by uosl) - TypeScript: added
isDateandisSameMonthtoutilsdefinitions (#854 by rnons) - TypeScript: make months and weekdays types slightly less restrictive (#843 by johnjesse)
- TypeScript: add missing props to
weekdayElementandcaptionElement(#842 by johnjesse) - TypeScript: added missing
utilsexport (#834 by davidspiess) - TypeScript: missing default entries to
classNames(#833 by saenglert) - TypeScript: updated type definitions for
locale(#828 by lukyth) - TypeScript: add definitions for moment locale utils (#806 by howlettt)
DayPickerInput
- Added
onDayPickerShowprop (#831 by saenglert) - Added
styleprop (#832 by kirillku) - Typescript: fixed
classNamesdefinition (#796 by davidspiess)
v7.2.4
Release date: 2018-09-13
- Fix regression: re-enabled click on disabled days (#789 by dewey92)
- Fixed an issue with paged navigation when using
toMonthorfromMonthprops (#787)
v7.2](
Release Date: 2018-08-27
DayPicker
- (CSS) Added
left: autoto navigation buttons style for easier styling (#771 by DDDDDanica) - (CSS) Changed css to use
emunits (#777 by signalwerk) - (TypeScript) Added
undefinedandnullas allowed modifier types (#775 by Lavoaster)
DayPickerInput
- Added
onDayPickerHideprop onDayChangewill receive the component instance as third argument (useful for checking the input's value)- (TypeScript) Added top-level type definition for DayPickerInput (#762 by kryops)
- (TypeScript) Fixed definition for
DayPickerInput.dayPickertop-level type definition for DayPickerInput (#790 by strax) - Fixed: input content was deleted when typing an invalid date in some cases (#778)
v7.1.1
Release date: 2018-07-07
- Fixed a flickering issue with mouse hover using the default style (#726 by sv3k)
- (DayPickerInput) Fixed: disabled days not working correctly with
classNames(#741 by hannescalibrate) - (DayPickerInput) Do not focus the input field if not supported by a custom
component(#747)
v7.1.9
Release date: 2018-05-13
- (DayPickerInput) Fixed an error when year from input is too big (#717)
v7.1.8
Release date: 2018-05-06
- Fixed:
tabIndex={0}was not passed to the container (#716) - (DayPickerInput) Fixed: interaction with the overlay was not working correctly on Safari or IE 11 (#715)
v7.1.6
Release date: 2018-04-15
- Updated to support React 17 (#696)
- Added:
isSameMonth,isDatefunctions to DateUtils. - Fixed: month was reset when selecting multiple days (#669)
- Fixed: week numbers may not be correct (#692)
- (DayPickerInput) Fixed: overlay did not reset the displayed month when appearing again (#667)
- (DayPickerInput) Fixed: overlay was shown even if the input was disabled (#680)
v7.1](
Release Date: 2018-03-04
DayPicker
- Added:
enableOutsideDaysClickprop (#585 by smesgr) - Fixed: month may be not defined in the navigation component (#607 by MhMadHamster)
- Fixed: outside days were shown also when using
toMonth/fromMonth(#630) - Fixed:
Cannot read property 'focus'error with outside days (#646) - TypeScript: added more types (#618 by adidahiya)
DayPickerInput
- Improved: focus/blur behavior (#598 by jbarco, #579)
- Improved:
onDayChangeis calledundefinedwhen day is not valid (#647) - Added:
keepFocusprop (#598 by bartpeeters) - Fixed: use
dayPickerProps.monthbefore the input's value (#612 by kradical) - Typescript: fixed
onDayChangedefinition (#622)
This should be the last minor release before v8.0.0. The next major version should not break existing code but as we are moving from webpack to rollup we will bump a major for safety :)
v7.0.7
Release date: 2018-01-09
- (DayPickerInput) Fixed:
daypickerProps.onMonthChangenot being called (#604 by ah-adarlow)
v7.0.6
Release date: 2017-12-31
- (DayPickerInput) Fixed: focusing behavior when pressing the
TABkey (#594) - (DayPickerInput) Fixed: wrong behavior with malformatted dates using the included moment
parseDatefunction (#584 by jbarco) - Removed duplicated style from CSS (#591 by nicoffee)
v7.0.5
Release date: 2017-12-03
- (Typescript) Various fixes to type definitions
- (DayPickerInput) Fixed: issue parsing dates in January
- Fixed: Updated month prop not updating the calendar when displaying multiple months (#580)
v7.0.0
_Release Date: 2017-11-25
Breaking changes
enableOutsideDaysprop is now namedshowOutsideDays- if you are using
DayPickerInput, we removed the moment.js dependency and changed how to pass props to the input field (upgrade is easy, see below). - if you are using commonjs to import the component, change your code:
- var DayPicker = require('react-day-picker`)
+ var DayPicker = require('react-day-picker`).default - if you are using TypeScript and upgrading from
v6.2.1(see #533), use the default import:- import { DayPicker } from 'react-day-picker`;
+ import DayPicker from 'react-day-picker'; - if you are using a custom CSS, consider that now the calendar table is inside a
divwith a.DayPicker-MonthsCSS class.
If you find problems while upgrading, please add an issue, thanks!
New features
- Improved layout and style. Added
.DayPicker-Monthscontainer. - Added:
renderWeekprop (#497 by jenshandersson) - Added:
onTodayButtonClickprop (#529) - Added:
showWeekDaysprop. Set it tofalseto hide weekday names - Added:
monthprop tonavbarElement(#552) - Renamed
enableOutsideDaysprop toshowOutsideDays
Bug fixes
- Fixed: multiple months navigation not working correctly in some cases (#556 by hydrognomik)
- Fixed: (Typescript) added again
DayModifiersandModifiersback to type definitions file (#526 by azhangstrata) - Fixed: (Typescript) missing default export (#533)
- Fixed: (a11y) removed
role="application"(#548 by trezy)
Da
Release date: PickerInpu
Breaking changes
-
The moment.js requirement has been removed, and you should use
parseDateandformatDateprops to parse and format the dates. If you want to keep using moment.js, your existing code should changes as follows:import DayPicker from 'react-day-picker/DayPickerInput'
+ import { formatDate, parseDate, } from 'react-day-picker/moment';
function MyDayPicker() {
return (
<DayPickerInput
placeholder="Please choose a date"
format="LL"
+ formatDate={formatDate}
+ parseDate={parseDate}
>
);
}See also this example.
-
You must pass additional props to the input component using the
inputPropsprop. This is not a breaking change if you are just usingplaceholderorvalue. E.g.:<DayPickerInput
placeholder="Type a day"
value={this.state.selectedDay}
- onFocus={myFocusHandler}
- className="my-input-css"
+ inputProps={{
+ onFocus: myFocusHandler,
+ className: 'my-input-css,
+ }}
/>
New features
- New:
inputPropsprop to pass additional props to the input component - New:
parseDateandformatDateprops - New:
inputPropsprop to pass additional props to the input component - New:
overlayComponentprop: useful to customize the overlay component (#477, thanks to wldcordeiro) - New: allow to change
numberOfMonths,selectedDaysprops fromdayPickerProps(#513, #531 by hydrognomik). Useful for selecting range of days (example). - New:
showOverlayprop: shows the overlay at the initial rendering (useful for styling) - New:
getInputandgetDayPickerpublic methods
- Changed: clicking the Today Button will set the input value to today (#561)
- Changed: removed
fixedWeekprop. UsedayPickerProps ={{ fixedWeek: true }}to restore it.
Bug fixes
- Fixed: some modifiers were not passed down when using a custom
classNames(#517, #504 by tume) - Fixed: focus behavior on Firefox (#525 by martinmosko)
- Fixed: value not updated when changed in some cases (#535)
- Fixed: localization bug when using multiple languages (#509)
v6.2.0
Release Date: 2017-10-05
- Added: TypeScript definitions for DayPickerInput (#487 by adidahiya and lpcarignan)
Bug fixes
- Fixed: an issue with React 0.14
- Fixed: a console warning in React 16 (#493)
DayPickerInputFix an error whenformatis passed as array (#502)DayPickerInputFix update when receiving new props (#495 by kradical)
v6.1.1
Release date: 2017-09-27
- Added: React 16 as peer dependency (#498 by brycehill)
- Allow node consumers to remove propTypes for production builds (#463 by oigewan)
Bug fixes
v6.1.0
Release Date: 2017-07-09
Improvements
- Added new
onDayMouseDownandonDayMouseUpprops (#445 by eldritchideen)
Bug fixes
- Fixed: before/after modifier not working as expected (#451)
- Fixed: changing some props would not update day cells (#452 by oigewan)
- Fixed:
classNamesmay prevent clicking on outside days (#449)
v6.0.5
Release date: 2017-07-02
Bug fixes
- Fixed: today button inside a form submits the form (#443)
- Fixed: before/after modifiers not working as expected in some cases (#442)
DayPickerInputFixed: allow multiple formats informatprop (#439)
v6.0.4
Release date: 2017-06-26
Bug fixes
- Fixed: next and previous buttons not working via keyboard (#430)
- Fixed: wrapper style cannot be set when using CSS modules (#432)
v6.0.3
Release date: 2017-06-22
Bug fixes
DayPickerInputCallonDayChange(undefined, {})when user empties the input field. (#423)DayPickerInputFixed: shown month was not updated when updating month indayPickerProps(#425)
v6.0.0
_Release Date: 2017-06-16
This major release focuses on performance, improves accessibility and fixes some bugs. There are some possible breaking changes, but they are easy to fix (read below).
Breaking changes
-
The container's HTML structure has changed: the interactive element used to focus the calendar has been moved into a wrapper to improve accessibility (#392):
<div className="DayPicker">
+ <div className="DayPicker-wrapper">
<!-- rendered stuff here -->
+ </div>
</div>This is a breaking change if you are styling the component using your own CSS or with the
classNamesprop.- If you are styling with your own stylesheet, rename your
.DayPickerselector to.DayPicker-wrapper:
- .DayPicker {
+ .DayPicker-wrapper {- If you are using
classNameswith thecontainerprop, rename thecontainerclassName towrapper.
- If you are styling with your own stylesheet, rename your
-
The container element is now an
inline-blockelement. -
When using
fromMonth/toMonthprops, navigation buttons now are rendered and hidden via CSS. Before, the buttons were not rendered at all, and it was impossible to style them (#366)This is a breaking change if you are using those props and styling the component using your own CSS or with the
classNamesprop.In such cases, the buttons will be always shown even if the previous or the next months are not navigable.
- If you are styling with your own stylesheet, add a
.DayPicker-NavButton--interactionDisabledselector to your style withdisplay: none. - If you are using
classNames, add anavButtonInteractionDisabledto yourclassNameswithdisplay: noneto hide the buttons.
- If you are styling with your own stylesheet, add a
-
Improved rendering performance using
shouldComponentUpdateandPureComponent(#389)It should not be a breaking change, but if something is not working for you when updating some props please file an issue 🙃
Improvements
- Allow
{after, before}modifiers in the same object (#354). You can now write before/after modifiers such asdisabledDays={ { before: aDate, after: aDate }}. - DayPickerInput: added
clickUnselectsDayprop to unselect and clear the input when clicking on a previously selected day (#399)
Bug fixes
- Fixed an issue where users were able to focus outside days (#400 by oigewan)
- Fixed an issue with Internet Explorer 11 (#403 by oigewan)
- a11y: fixed a warning
You have an unlabeled element or control.shown with react-a11y (#386) - DayPickerInput: fixed an issue when updating the
month'sdayPickerPropsvalue (#380 by Yustynn)
Improvements in the built version
These changes applies to the production build from the lib dir (e.g. that served from unpkg.com).
-
Removed prop types from production build (#349)
-
Include
DayPicker.Inputin the built file (#383)Use
<DayPicker.Input />to render the input component.
v5.5.3
Release date: 2017-05-25
- Bugfix for
DayPickerInput: updatedvalueprop now will be reflected in the component's state (#363)
v5.5.0
Release Date: 2017-05-09
New DayPickerInput component
Use the DayPickerInput component to render an input field interacting with the day picker (#213).
See example, docs and API reference.
New features
-
New
todayButtonprop (#329).Use this prop to display a button on the calendar's footer to switch to the current month (example).
-
New
showWeekDaysandonWeekClickprops (#304).Use this props to display and interact with the year's week numbers (example).
-
New
daysOfWeekmodifiers type to match days of the weeks (#330).For example, to match Sundays and Mondays:
<DayPicker
disabledDays={
- day => day.getDate() === 0 || day.getDate() === 1
+ daysOfWeek: [0, 1]
}
/>
v5.4.3
Release date: 2017-05-06
- Bugfix:
isBeforeDay/isAfterDayfunctions where not exported correctly (#327)
v5.4.2
Release date: 2017-05-03
- Bugfix:
ariarole in Week element (#322 by emily-plummer)
v5.4.1
Release Date: 2017-04-29
-
Expose ModifiersUtils functions (#309 by cwmoo740)
Use this set of functions if you need to validate or test your modifiers.
v5.3.0
Release Date: 2017-04-25
- Include Typescript Type Definitions (#303)
- Added: a new
modifiersStylesprop to add inline style to the days matching the given modifiers (seeexample). - Added:
isDayBefore,isDayAfterfunctions to DateUtils.
Bug fixes
- Functions were not considered in arrays of modifiers (#301)
- Fixes possible issues when comparing days with different timezones (#307)
v5.2.3
Release date: 2017-04-14
- Fixed
PropTypeswarnings in React 15.5.
v5.2.0
Release Date: 2017-03-09
-
Allow overriding
todaymodifier (#279 by maxdubrinsky) -
Pass React Components to
navBarElement,captionElement,weekdayElement(#280 by cwmoo740) -
Fixed
ariaroles for weekdays and months HTML elements (#276 by oigewan)
v5.1.2
Release date: 2017-03-03
- Fixed: an issue with keyboard navigation when using
classNamesprop (#269 by oigewan, #275) - Fixed: installation issue with bower
v5.1.1
Release Date: 2017-03-03
-
New
classNamesprop (#264).Use this prop to change the CSS class names or add support for CSS modules (#73, see this example).
-
This differs from the
initialMonthprops as it causes the calendar to re-render when its value changes. -
Added:
aria-labelattributes to the navigation bar with the newlabelsprop (#258).
v5.0.0
_Release Date: 2017-02-14
This release focuses on improving perfomance and the component's api-daypicker.
-
New modifiers value types (#254)
Use dates, arrays, or ranges as modifier types, not just functions:
<DayPicker
- selectedDays={ day => DateUtils.isSameDay(day, this.state.selectedDay)}
+ selectedDays={ this.state.selectedDay }
/>Read more in the modifiers documentation.
-
Breaking change Event handlers signature has changed (#256)
All events handlers like
onDayClick,onCaptionClick, etc. now receive the Syntethic Event as last argument. Thus you must change your event handlers as follow:onDayClick={
- (e, day, modifiers) => {
+ (day, modifiers, e)
e.preventDefault();
console.log(day);
console.log(modifiers);
}
} -
Breaking change Use
containerPropsto pass props to the containerdivelement. Before, any prop was passed to the container element degrading performance (#255):<DayPicker
- data-thing="foo"
+ containerProps={ 'data-thing': 'foo' }
/>
v4.0.0
_Release Date: 2017-02-10
-
Pass the day's modifiers to the
renderDayprop function (#237) -
Breaking change Updating
initialMonthwill not show anymore a different month after the first mount (#169)If you need the calendar to display a different month, use the
monthprop. -
Breaking change Use
langHTML attribute instead of a specific CSS class name.This change may break your style or layout if you are styling the component according to the current locale. If this is the case, change your CSS to use the
langattribute selector. For examples, if you are styling the calendar for thedelocale:- .DayPicker--de {
+ .DayPicker[lang="de"] {
background: yellow;
}
v3.1.1
Release date: 2016-10-18
- Fixed an issue with IE and older Safari.
v3.1.0
Release Date: 2016-10-14
- New
months,weekdaysLong,weekdaysShort,firstDayOfWeekprops to localize the component.
Easier localization
With these new props you can localize the Day Picker in a more declarative way. Check out this example.
v3.0.1
Release date: 2016-10-14
- Fixed a bug with MomentLocaleUtils.
v3.0.0
_Release Date: 2016-10-11
- Fixed an issue with weekdays labels (#220 by makenosound).
- Removed
weekdayComponentandnavbarComponentprops (deprecated from v2.3.0)
Breaking changes
For any locale, weekday names must now begin from Sunday, and the first day of week should reflect this change (hence to start from Monday, the first day of week is 1). See this diff as example.
v2.5.0
Release Date: 2016-10-06
v2.4.0
Release Date: 2016-07-31
- Added
pageNavigationprop (#196 by zaygraveyard). - Improved behavior of
initialMonth(#198 by zaygraveyard).
v2.3.3
Release date: 2016-07-04
Fixed props warnings in React 15.2.0 (#191).
v2.3.2
Release date: 2016-07-01
Removed superfluous deprecation warnings.
v2.3.0
Release Date: 2016-06-30
- Added
navbarElementandweekdayElementprop (#179 by boatkorachal). - Added
onDayFocusprop (#185 by johannesd).
Deprecation notice
navbarComponent and weekdayComponent props are deprecated. Please use navbarElement and weekdayElement:
- <DayPicker navbarComponent={ MyCustomNavbar } weekdayComponent={ MyCustomWeekday } />
+ <DayPicker navbarElement={ <MyCustomNavbar/> } weekdayElement={ <MyCustomWeekday /> } />
v2.2.0
Release Date: 2016-06-09
Added fixedWeeks prop (#176 by fcsonline). Use this prop to always display 6 weeks per month: example.
v2.1.1
Release date: 2016-06-06
Fixed compatibility with IE11 (#175 by davidspiess).
v2.1.0
Release Date: 2016-06-02
- Added
weekdayComponentprop (#172 by stanislav-ermakov-roi). Use this prop to use a custom component for rendering the weekday cells in the header. - Added
navbarComponentprop (#173 by stanislav-ermakov-roi). Use this prop to use a custom component for rendering the navigation bar.
v2.0.3
Release date: 2016-05-24
Included the dist version in the npm package.
v2.0.2
Release date: 2016-05-24
Fixed a bug when canChangeMonth is set to true (#168).
v2.0.1
Release date: 2016-05-15
Fix npm release.
v2.0.0
Release Date: 2016-05-15
This release mainly improves the component’s API (thus some breaking changes) and add some new props.
Code has been split in multiple components and tests have been rewritten with enzyme. It should be easier to add and test the upcoming new features!
Thanks everyone for the support and for the help on making this component better 🤗 If you have issues or suggestions, don't forget the Gitter room!
Breaking changes
- The
onDay*event handlers receive as third argument an object of modifiers instead of an array.
This mean that if you where writing:
onDayClick(e, day, modifiers) {
if (modifiers.indexOf('selected') > -1) {
console.log('This day is selected')
}
}
you must now write:
onDayClick(e, day, modifiers) {
if (modifiers.selected === true) {
console.log('This day is selected')
}
}
or better:
onDayClick(e, day, { selected }) {
if (selected) {
console.log('This day is selected')
}
}
-
Removed
onDayTouchTap. UseonDayClickinstead. If you need more granularity over touch events, you can use the newonDayTouchStartandonDayTouchEndprops. See #153 for more details. -
Fixed import with CommonJS modules (#136).
This affects code using require('react-day-picker').default or similar syntax, which was required for v1.3.0. Now you can require('react-day-picker') as usual, i.e. without specifying default. If you are using ES2015 modules import DayPicker from 'react-day-picker', this change shouldn't affect you.
- New
formatDayfunction in LocaleUtils.
If you are using your custom LocaleUtils to localize the calendar, you need to implement this function as well, which is required to format the newly added aria-label attribute (see the documentation for an example). If you are localizing using moment, this change shouldn't affect you.
New props
-
New
disabledDaysandselectedDaysprops. They receive a function(day) => Boolas value to easily define which day should have theselectedordisabledmodifiers. See #34 for more details.So if you were writing something like:
<DayPicker
modifiers={
({ selected: (day) => isDaySelected(day) },
{ disabled: (day) => isDayDisabled(day) })
}
/>now you can write:
<DayPicker
selectedDays={(day) => isDaySelected(day)}
disabledDays={(day) => isDayDisabled(day)}
/> -
Added
reverseMonthsprop to render the most recent month first. (#147 by @sonrtomas -
Added
onDayKeyDown,onDayTouchStart,onDayTouchEndprops.
Improvements
- Navigate between weeks or years using left/right or up/down arrow keys (#132 by limscoder)
- Added various
aria-*attributes (#132 by limscoder)
Bug fixes
- Navigation with keyboard when using
fromMonthorendMonth
v1.3.2
Release date: 2016-04-10
Adds React 15 to the peer dependencies.
v1.3.1
Release date: 2016-03-02
Fixes an issue causing className being overwritten by className prop (#137).
v1.3.0
Release Date: 2016-02-18
Improvements
- Support for Babel 6 (#90)
- See this known issue
- HTML props are spread to container tag, so to support
onBlur,onFocus, etc. (#122, #123) - Better RTL support for month navigation (#125)
v1.2.0
Release Date: 2015-12-04
New features
- Use a custom caption element with the new
captionElementprop. A custom caption element is useful, for example, to create a year/month navigation as shown in this example. Read #52 for a discussion about this feature.
Improvements
- Improved navigation when clicking on outside days (#112, see also this example)
- New
addMonthsfunction in DateUtils - Added a style definition to package.json (#105, thanks @webbushka)
Fixed bugs
- Make the component working again with React ~0.13 (#108)
- Fixed: a bug when clicking on outside days when
fromMonthortoMonthwere set (#97) - Replace a wrong
attrtag with the rightabbrin the weekdays row – https://github.com/gpbl/react-day-picker/issues/33#issuecomment-159751186. ⚠️ Please note that the component may now use the CSS defined forabbrtags.
v1.1.5
Release date: 2015-11-20
Fix an issue with showMonth() (#95) – thanks @JKillian
v1.1.4
Release date: 2015-11-19
Minor changes when importing utilities
v1.1.3
Release date: 2015-11-12
Improvements
isSameDayin DateUtils now acceptsnullorundefinedarguments- Added bower support
v1.1.1
Release date: 2015-11-11
Fix regression The last version was missing an element and this change may have broken existing styles. This fix restore the original behavior adding the element again. (see #82).
v1.1.0
Release Date: 2015-11-06
New features
- New
fromMonthandtoMonthprops. Use thefromMonthandtoMonthprops to restrict the months within which the calendar can work. See this example. dateUtilsincludes some useful function to set custom modifierslocaleUtilsare the default functions used to localize the Day Picker in english. See https://github.com/gpbl/react-day-picker/issues/46#issuecomment-153498039 for a sample usage of this library.
v1.0.1
Release date: 2015-10-15
Let the event from next/previous month click to propagate. #74 (kblcuk)
v1.0.9
Release date: 2015-10-12
Fixed an issue with Daylight Saving Time for some timezones (#71) #72 (gpbl)
v1.0.7
Release date: 2015-10-08
Add support of react-v0.14-rc1 #61
v1.0.6
Release date: 2015-10-08
Fixes a bug causing onCaptionClick to receive always the first month when displaying multiple months #63
v1.0.5
Release date: 2015-09-01
Fixes a bug when passing a new initialMonth prop to the component that may cause an issue when navigating between months [#57]
v1.0.4
Release date: 2015-07-29
Improvement
- Improve the navigation between months when
numberOfMonthsis greater than 1 (#37)
Bug fix
- Months may jump forward when clicking on days when
numberOfMonthsis greater than 1 (#38)
v1.0.3
Release date: 2015-07-25
- New feature: onCaptionClick #31 (adambbecker)
v1.0.2
Release date: 2015-07-23
Fixed bugs
v1.0.1
Release Date: 2015-06-24
First major release. Please see the updated website for more info.
- [#27] Removed the dependency from moment.js. Events and props work only with native
Dateobject. To localize the Day Picker with moment.js (or another library), follow this page - Class names have been updated (objects are now CamelCase). As example, please see the updated CSS file.
- [#27] All rendered tags are now
divorspan. Use CSS to style the daypicker as table. - A
todaymodifier is added automatically - Event handlers receive the event as first argument. For example:
onDayClick(e, day, modifiers)instead ofonDayClick(day, modifiers, e) onNextMonthClickandonNextMonthClickprops have been removed. UseonMonthChangeinstead.