Skip to content

Changelog — Vue 3 (v2+)

v2.0.0

Release Date: 2026

🚀 New Features

  • Teleport-based rendering — Calendar popup now uses <Teleport to="body"> for reliable positioning, even inside overflow: hidden containers
  • Smart viewport positioning — Calendar auto-positions above or below the input based on available viewport space
  • Scroll & resize tracking — Calendar repositions dynamically when the page scrolls or the window resizes
  • disabled prop — Fully disable the date picker input and calendar
  • allowTyping prop — Control whether the user can type into the input field or must use the calendar popup
  • autoFormat prop — Smart auto-formatting inserts dashes as the user types (208105152081-05-15)
  • clickSelect prop — Auto-select all text on input click for easy replacement
  • updateOnInputChange prop — Real-time model updates as the user types a valid date
  • miniEnglishDate prop — Display corresponding AD day numbers inside each BS calendar cell
  • highlightSaturday prop — Highlight Saturday cells in red (Nepal's weekly holiday)
  • inputClass prop — Apply a custom CSS class directly to the <input> element
  • id prop — Set a custom HTML id for programmatic focus
  • Focus-based opening — Calendar opens on focusin, enabling keyboard tab navigation
  • TypeScript interface exportNepaliDatePickerProps is exported for type-safe usage

🔄 Changes from v1

  • Migrated from Options API to Composition API (<script setup>)
  • All CSS class names prefixed with calendar__ for scoped consistency (e.g. selectedcalendar__selected)
  • Calendar rendering moved from inline (position: absolute inside component) to <Teleport>
  • Props renamed: classValueclass, added inputClass
  • Animation classes updated to Vue 3 transition naming (-enter-from / -leave-from)

🐛 Bug Fixes

  • Fixed calendar being clipped by parent containers with overflow: hidden
  • Fixed year picker page not syncing to the currently selected year when opened
  • Improved min/max date validation to properly prevent selection of out-of-range dates via typing
  • Fixed click-outside detection when month/year selector panels are open
  • Fixed memory leak: scroll and resize event listeners are now properly cleaned up on unmount

📦 Dependencies

  • nepali-date-library ^1.1.14
  • vue ^3.5.27 (peer)

Released under the MIT License.