Release v3.0.0 🎉
Important note
Documentation for v2.9.10 is here.
This release brings a host of improvements, making Vanilla Calendar Pro more powerful, flexible, accessible, and yet lightweight for easy integration.
Key New Features and Enhancements:
-
Full Tailwind Support: Completely removed the dependency on internal CSS classes, allowing you to specify custom classes. The
styles
parameter now supports multiple classes, making it easier to integrate the calendar with Tailwind or other CSS libraries. -
Customizable Weekends: Set custom weekends for each week. Use an array to define weekends (e.g.,
selectedWeekends: [5, 6]
) to tailor the calendar to your needs. -
Configurable Start of the Week: Added the option to select the first day of the week (
firstWeekday
), making it easier to localize and adjust the calendar to regional preferences. -
Support for Custom Themes: Now you can create and apply custom themes, enabling quick adaptation of the calendar’s appearance for specific projects. A new custom theme,
slate-light
, has also been added. -
Improved Month Navigation and Date Selection: Prevent automatic month switching when selecting dates from other months. It also prevents the calendar from re-rendering when you click on a date within the displayed months.
-
Accessibility and Keyboard Navigation: Accessibility has been significantly improved, with added ARIA labels,
tabindex
, and full keyboard navigation using arrow keys for users with disabilities. -
Time and Date Range Selection: The Time Picker now includes options to set maximum and minimum time limits.
-
Refactored Settings API: The settings API has been fully revamped for enhanced clarity and simplicity. A new
set({ ...options }, { ...resetOptions })
method is available for updating settings without overwriting the calendar’s settings object. -
Other Improvements and Fixes:
- Optimized styles for the calendar grid.
- Made weekday names clickable and added event handlers for this and week numbers.
- Added support for tooltips on date ranges with
onCreateDateRangeTooltip()