3.x
Essentials

Props

Every prop, with its type and default.

The calendar has 48 props. The calendar reads them when it is created, except modelValue and the data props markedDates, markedDateRange, disabledDates, enabledDates, disabledDayNames, limits, calendarsCount and isDark, which it watches. The same keys inside configs are watched too. Re-key the component to apply a change to any other prop.

Where options come from

From lowest to highest priority:

  1. Defaults.
  2. Global options from app.use(FunctionalCalendar, options). Only the options that configs also accepts apply.
  3. The configs object, or the props if you do not pass configs. When configs is present, the props that it can hold are ignored.

configs holds every option on this page except modelValue, configs, activeHours, activeMinutes, borderColor, displayTimeInput, canClearRange, newCurrentDate and alwaysUseDefaultClasses. Those nine are always props.

An explicit dayNames, monthNames, shortMonthNames or sundayStart wins over a locale.

Value

PropTypeDefaultDescription
modelValueobjectnoneThe calendar state. Bind it with v-model. See the bound value. Watched.
configsobjectnoneSettings as one object, instead of props.

Selection mode

PropTypeDefaultDescription
isDatePickerbooleanfalseSelect one date.
isMultipleDatePickerbooleanfalseSelect any number of dates.
isDateRangebooleanfalseSelect a range.
isMultipleDateRangebooleanfalseWith isDateRange, select several ranges.
canClearRangebooleanfalseShow the clear button of a range.
minSelDaysnumber or falsefalseShortest range, in days.
maxSelDaysnumber or falsefalseLongest range, in days.
presetsboolean or arrayfalseQuick ranges. true shows all six built-ins. A list holds keys and { label, range } objects. See presets.

Calendars and navigation

PropTypeDefaultDescription
isMultiplebooleanfalseShow several calendars.
calendarsCountnumber1How many calendars, with isMultiple. Watched.
isSeparatelybooleanfalseGive each calendar its own arrows and pickers.
newCurrentDateDatenowThe month to show first.
changeMonthFunctionbooleanfalseClick the month to pick another.
changeYearFunctionbooleanfalseClick the year to pick another.
changeMonthStepnumber1Months moved by an arrow.
changeYearStepnumber3Years moved in the year picker.
transitionbooleantrueSlide between months.

Dates and limits

PropTypeDefaultDescription
dateFormatstring'dd/mm/yyyy hh:MM'Tokens dd, mm and yyyy with a /, - or . separator, then an optional time (HH:MM, HH:mm, hh:MM or hh:mm).
limits{ min, max } or falsefalseDates outside are disabled. Watched.
disabledDatesstring[][]Disabled dates, plus beforeToday and afterToday. Watched.
enabledDatesstring[][]If not empty, only these dates (and the keywords) are enabled. Watched.
disabledDayNamesstring[][]Weekday names to disable, from dayNames. Watched.

Marking

PropTypeDefaultDescription
markedDatesstring[] or { date, class }[][]Dates to mark. Objects add a class to the day. Watched.
markedDateRange{ start, end } or an array of them{ start: false, end: false }Ranges to mark. false leaves a side open. Watched.
showWeekNumbersbooleanfalseAdd a week number column.
borderColorstring''Border color of the week number column.

Time

PropTypeDefaultDescription
withTimePickerbooleanfalseShow the time picker after a date is chosen.
displayTimeInputbooleanfalseAdd the time to a single date input.
activeHoursnumber[]0 to 23Hours users can pick.
activeMinutesnumber[]0 to 59Minutes users can pick.
PropTypeDefaultDescription
isModalbooleanfalseShow inputs that open the calendar.
isTypeablebooleanfalseLet users type into the inputs.
isAutoCloseablebooleanfalseClose after a date or a range is chosen.
placeholderstring or booleanthe dateFormatInput placeholder. Range inputs use the date part.

Names and locale

PropTypeDefaultDescription
localestringnoneBCP 47 tag for names and week start. See locale.
labelsobjectEnglishPartial UI strings, merged over the defaults. labels.presets merges key by key.
dayNamesstring[]Mo to SuSeven names, Monday first.
monthNamesstring[]EnglishTwelve long names.
shortMonthNamesstring[]EnglishTwelve short names, shown in the month picker.
sundayStartbooleanfalseStart the week on Sunday.

Appearance

PropTypeDefaultDescription
isDarkbooleanfalseUse the dark tokens. Watched.
titlePosition'left', 'center' or 'right''center'Title alignment.
arrowsPosition'space-between', 'left' or 'right''space-between'Arrow placement.
hiddenElementsstring[][]Any of dayNames, leftAndRightDays, month and presets.
isLayoutExpandablebooleanfalseDrop the reserved rows of short months.
alwaysUseDefaultClassesbooleanfalseKeep the default day classes when you use the day slot.

Methods

Call these through a template ref.

MethodDescription
PreMonth(calendarKey?), NextMonth(calendarKey?)Move by changeMonthStep.
PreYear(calendarKey?), NextYear(calendarKey?)Move by one year.
ChooseDate(date)Move to a date in dateFormat, or to 'today'. Returns false and stays put when the month is outside limits. With several calendars, the view may start earlier so every calendar stays inside max.
Copyright © 2026