Two-Month Booking Range Picker
The vacation-rental workhorse: paint a stay across two months, blocked nights visible before you click, nightly prices in the cells.
Create a two-month side-by-side date range picker for booking a stay. Day cells are 40px; available cells show nightly price in 11px text under the day number, booked nights are grey with a diagonal strike line, and dates before today are disabled at 40% opacity. First click sets the start date, hovering paints a live indigo-100 preview band, second click commits; clicking before the start restarts the selection. Enforce a 3-night minimum with an inline amber message "Minimum 3 nights" when violated, and cap the range at 30 nights with a tooltip explaining the cap. Above the grid show the committed range as "Jun 12 → Jun 15 · 3 nights · $690 total". Arrow keys move focus by day, PageUp/PageDown by month, and the focused cell has a visible ring. Accept booked ranges as a prop of ISO date pairs.




