From d6f43ad6fa02752041ebb2d523940b5943d2bd9a Mon Sep 17 00:00:00 2001 From: pvictor Date: Tue, 4 Feb 2025 16:33:44 +0100 Subject: [PATCH] updated calendar-pro to 3.0.3 --- R/calendar-pro-input.R | 167 ++++++++++++----------- R/onLoad.R | 30 +++- examples/calendar-pro.R | 23 ++-- inst/examples/calendar-pro/disable/app.R | 26 ++-- inst/examples/calendar-pro/value/app.R | 25 ++-- inst/packer/calendar-pro.js | 2 +- inst/packer/calendar-pro.js.LICENSE.txt | 2 +- man/calendarProInput.Rd | 107 ++++++++------- package-lock.json | 20 +-- package.json | 2 +- srcjs/inputs/vanilla-calendar-pro.js | 134 +++++++++--------- 11 files changed, 291 insertions(+), 247 deletions(-) diff --git a/R/calendar-pro-input.R b/R/calendar-pro-input.R index 26dc6a82..41a31db6 100644 --- a/R/calendar-pro-input.R +++ b/R/calendar-pro-input.R @@ -3,7 +3,7 @@ html_dependency_calendar_pro <- function() { htmlDependency( name = "calendar-pro", - version = "2.9.10", + version = "3.0.3", src = c(file = system.file("packer", package = "shinyWidgets")), script = "calendar-pro.js", all_files = FALSE @@ -18,33 +18,35 @@ html_dependency_calendar_pro <- function() { #' #' @inheritParams shiny::selectInput #' @param value Initial value. -#' @param type Determines the type of calendar displayed and the selection process: 'default' | 'multiple' | 'range' | 'month' | 'year'. -#' @param min This parameter sets the minimum date that the user can choose. Dates earlier than the specified date will be disabled and not available for selection. -#' @param max This parameter sets the maximum date that the user can choose. Dates later than the specified date will be disabled and not available for selection. -#' @param disablePast This parameter disables all past days. -#' @param disableAllDays This parameter disables all days and can be useful when using `enable` is set. -#' @param disableWeekday This parameter allows you to disable specified weekdays. Specify an array with numbers, where each number represents a day of the week. For example, `0` is Sunday. -#' @param disableGaps This parameter disables the selection of days within a range with disabled dates. It only works when `type = "range"`. -#' @param disabled This parameter allows you to disable specific dates regardless of the specified range. -#' @param enabled This parameter allows you to enable specific dates regardless of the range and disabled dates. -#' @param months The months parameter specifies the number of displayed months when the calendar type is set to 'multiple'. -#' @param jumpMonths The jumpMonths parameter controls the number of months to jump. -#' @param jumpToSelectedDate When the option is enabled and 1 or more selected date(s) are provided but without providing +#' @param mode This parameter determines whether selecting one or multiple days is allowed, or if date selection is completely disabled. +#' Possible values are: 'single' | 'multiple' | 'multiple-ranged' | false. +#' @param type Determines the type of calendar displayed and the selection process: 'default' | 'multiple' | 'month' | 'year'. +#' @param displayDateMin This parameter sets the minimum date that the user can choose. Dates earlier than the specified date will be disabled and not available for selection. +#' @param displayDateMax This parameter sets the maximum date that the user can choose. Dates later than the specified date will be disabled and not available for selection. +#' @param firstWeekday This parameter sets the first day of the week. Specify a number from 0 to 6, where the number represents the day of the week identifier. +#' According to JS standards, the days of the week start with 0, and 0 is Sunday. +#' @param disableDatesPast This parameter disables all past days. +#' @param disableAllDates This parameter disables all days and can be useful when using `enableDates` is set. +#' @param disableWeekdays This parameter allows you to disable specified weekdays. Specify an array with numbers, where each number represents a day of the week. For example, `0` is Sunday. +#' @param disableDatesGaps This parameter disables the selection of days within a range with disabled dates. It only works when `mode = "multiple-ranged"`. +#' @param disableDates This parameter allows you to disable specific dates regardless of the specified range. +#' @param enableDates This parameter allows you to enable specific dates regardless of the range and disabled dates. +#' @param displayMonthsCount The months parameter specifies the number of displayed months when the calendar type is set to 'multiple'. +#' @param enableJumpToSelectedDate When the option is enabled and 1 or more selected date(s) are provided but without providing #' selected.month and selected.year, it will make the calendar jump to the first selected date. If set to false, #' the calendar will always open to the current month and year. -#' @param toggleSelected If toggleSelected parameter is true then clicking on the active cell will remove the selection from it. -#' @param weekNumbers With this parameter, you can decide whether to display week numbers in the calendar. -#' @param weekNumbersSelect If `TRUE` select the week when week number is clicked. -#' @param weekend This parameter allows you to highlight weekends in the calendar. -#' @param time This parameter enables time selection. You can also specify the time format using a boolean value or a number: 24-hour or 12-hour format. -#' @param timeValue Initial time value. +#' @param enableDateToggle If true then clicking on a selected date again will deselect it. +#' @param enableWeekNumbers With this parameter, you can decide whether to display week numbers in the calendar. +#' @param selectWeekNumbers If `TRUE` select the week when week number is clicked. +#' @param selectionTimeMode This parameter enables time selection. You can also specify the time format using a boolean value or a number: 24-hour or 12-hour format. +#' @param selectedTime Initial time value. #' @param ... Other settings passed to Slim Select JAvaScript method. #' @param format Format to use when displaying date in input field, if an initial value is provided it must be a date so that the format apply. #' @param positionToInput This parameter specifies the position of the calendar relative to input, #' if the calendar is initialized with the input parameter. Possible values: 'auto' | 'center' | 'left' | 'right' | c('bottom' | 'top', 'center' | 'left' | 'right') -#' @param theme This parameter determines the theme of the calendar : 'light' or 'dark'. +#' @param selectedTheme This parameter determines the theme of the calendar : 'light' or 'dark'. #' @param placeholder A character string giving the user a hint as to what can be entered into the control. -#' @param input If `TRUE` (default), use an input and render calendar in a dropdown, otherwise calendar is rendered in the page. +#' @param inputMode If `TRUE` (default), use an input and render calendar in a dropdown, otherwise calendar is rendered in the page. #' @param inline Display calendar container inline. #' @param parseValue Convert input value to date/datetime in server or not. #' @@ -60,84 +62,91 @@ html_dependency_calendar_pro <- function() { calendarProInput <- function(inputId, label, value = NULL, - type = c("default", "multiple", "range", "month", "year"), - min = NULL, - max = NULL, - disablePast = FALSE, - disableAllDays = FALSE, - disableWeekday = NULL, - disableGaps = FALSE, - disabled = NULL, - enabled = NULL, - months = 2, - jumpMonths = 1, - jumpToSelectedDate = FALSE, - toggleSelected = TRUE, - weekNumbers = FALSE, - weekNumbersSelect = FALSE, - weekend = TRUE, - time = NULL, - timeValue = NULL, + mode = c("single", "multiple", "multiple-ranged", "false"), + type = c("default", "multiple", "month", "year"), + displayDateMin = NULL, + displayDateMax = NULL, + firstWeekday = NULL, + disableDatesPast = FALSE, + disableAllDates = FALSE, + disableWeekdays = NULL, + disableDatesGaps = FALSE, + disableDates = NULL, + enableDates = NULL, + displayMonthsCount = 1, + enableJumpToSelectedDate = FALSE, + enableDateToggle = TRUE, + enableWeekNumbers = FALSE, + selectWeekNumbers = FALSE, + selectionTimeMode = NULL, + selectedTime = NULL, ..., format = "%Y-%m-%d", positionToInput = "auto", - theme = "light", + selectedTheme = "light", placeholder = NULL, - input = TRUE, + inputMode = TRUE, inline = FALSE, parseValue = TRUE, width = NULL) { # selected <- restoreInput(id = inputId, default = selected) + mode <- match.arg(mode) type <- match.arg(type) + if (type == "multiple") { + stopifnot( + "calendarProInput: when type='multiple', displayMonthsCount shoulb be between 2 and 12." = displayMonthsCount >= 2 | displayMonthsCount <= 12 + ) + } parseValue <- if (isTRUE(parseValue)) { - if (type %in% c("month", "year")) { - "calendarPro.monthyear" + if (type == "month") { + "calendarPro.month" + } else if (type == "year") { + "calendarPro.year" } else { "calendarPro.date" } } else { "calendarPro.raw" } + if (!is.null(selectionTimeMode)) { + if (is.null(selectedTime)) { + selectedTime <- format(value, format = "%H:%M") + } else { + value <- as.POSIXct(paste(format(value, format = "%Y-%m-%d"), selectedTime)) + } + } + options <- dropNulls(list( + selectedDates = list1(format(value, format = "%Y-%m-%d")), + inputMode = inputMode, + selectionDatesMode = mode, + type = type, + displayMonthsCount = displayMonthsCount, + enableJumpToSelectedDate = enableJumpToSelectedDate, + enableDateToggle = enableDateToggle, + positionToInput = positionToInput, + enableWeekNumbers = enableWeekNumbers, + selectedTheme = selectedTheme, + displayDateMin = displayDateMin, + displayDateMax = displayDateMax, + disableDatesPast = disableDatesPast, + disableDatesGaps = disableDatesGaps, + disableWeekdays = list1(disableWeekdays), + disableAllDates = disableAllDates, + enableDates = list1(enableDates), + disableDates = list1(disableDates), + selectionTimeMode = selectionTimeMode, + selectedTime = selectedTime, + firstWeekday = firstWeekday + )) + options <- modifyList(options, list(...)) config <- list( - type = if (type == "range") "multiple" else type, - months = months, - jumpMonths = jumpMonths, - jumpToSelectedDate = jumpToSelectedDate, - toggleSelected = toggleSelected, - weekNumbersSelect = weekNumbersSelect, + options = options, + selectWeekNumbers = selectWeekNumbers, parseValue = parseValue, format = to_dayjs_fmt(format) ) - config$input <- input - config$settings$selection$time <- time - if (!is.null(time)) { - if (is.null(timeValue)) { - timeValue <- format(value, format = "%H:%M") - } else { - value <- as.POSIXct(paste(format(value, format = "%Y-%m-%d"), timeValue)) - } - } - config$settings$selected$time <- timeValue - if (!is.null(value)) - config$settings$selected$dates <- list1(format(value, format = "%Y-%m-%d")) - if (type == "multiple") - config$settings$selection$day <- "multiple" - if (type == "range") - config$settings$selection$day <- "multiple-ranged" - config$settings$range$min <- min - config$settings$range$max <- max - config$settings$range$disablePast <- disablePast - config$settings$range$disableAllDays <- disableAllDays - config$settings$range$disableWeekday <- list1(disableWeekday) - config$settings$range$disableGaps <- disableGaps - config$settings$range$disabled <- list1(disabled) - config$settings$range$enabled <- list1(enabled) - config$settings$visibility$theme <- theme - config$settings$visibility$weekNumbers <- weekNumbers - config$settings$visibility$weekend <- weekend - config$settings$visibility$positionToInput <- positionToInput - config <- modifyList(config, list(...)) - tag_el <- if (isTRUE(input)) { + + tag_el <- if (isTRUE(inputMode)) { tags$input( type = "text", class = "form-control calendar-pro-element", diff --git a/R/onLoad.R b/R/onLoad.R index 96aef94a..dfb490d0 100644 --- a/R/onLoad.R +++ b/R/onLoad.R @@ -69,7 +69,9 @@ shiny::registerInputHandler("calendarPro.date", function(data, ...) { if (length(data) < 1 || length(data$selectedDates) < 1) return(NULL) - if (!is.null(data$selectedTime)) { + if (identical(data$selectedDates[[1]], "NULL")) + return(NULL) + if (!is.null(data$selectedTime) & !identical(data$selectedDates[[1]], "NULL")) { fmt <- if (grepl(pattern = "(A|P)M", x = data$selectedTime)) { "%Y-%m-%d %I:%M %p" } else { @@ -89,8 +91,10 @@ res } }, force = TRUE) - shiny::registerInputHandler("calendarPro.monthyear", function(data, ...) { - if (length(data) < 1) + shiny::registerInputHandler("calendarPro.month", function(data, ...) { + if (!is.list(data)) + return(NULL) + if (length(data$selectedMonth) < 1) return(NULL) res <- try(as.Date( paste( @@ -107,6 +111,26 @@ res } }, force = TRUE) + shiny::registerInputHandler("calendarPro.year", function(data, ...) { + if (!is.list(data)) + return(NULL) + if (length(data$selectedYear) < 1) + return(NULL) + res <- try(as.Date( + paste( + data$selectedYear, + "01", + "01", + sep = "-" + ) + ), silent = TRUE) + if (inherits(res, "try-error")) { + warning("calendarProInput: Failed to parse dates, try using parseValue = FALSE", call. = FALSE) + data + } else { + res + } + }, force = TRUE) shiny::registerInputHandler("calendarPro.raw", function(data, ...) { if (length(data) < 1) return(NULL) diff --git a/examples/calendar-pro.R b/examples/calendar-pro.R index 3e20db76..fb3b83b3 100644 --- a/examples/calendar-pro.R +++ b/examples/calendar-pro.R @@ -26,15 +26,15 @@ ui <- fluidPage( calendarProInput( inputId = "cal5", label = "Calendar without input field:", - input = FALSE, - width = "100%" + inputMode = FALSE, + width = "300px" ), verbatimTextOutput("res5"), calendarProInput( inputId = "cal7", label = "Calendar with week numbers:", placeholder = "Select a date", - weekNumbers = TRUE, + enableWeekNumbers = TRUE, width = "100%" ), verbatimTextOutput("res7") @@ -44,7 +44,7 @@ ui <- fluidPage( calendarProInput( inputId = "cal2", label = "Calendar with multiple selection:", - type = "multiple", + mode = "multiple", placeholder = "Select multiple dates", width = "100%" ), @@ -52,25 +52,26 @@ ui <- fluidPage( calendarProInput( inputId = "cal4", label = "Calendar with range selection:", - type = "range", + mode = "multiple-ranged", width = "100%" ), verbatimTextOutput("res4"), calendarProInput( inputId = "cal6", label = "Calendar (range) without input field:", - type = "range", - months = 3, - input = FALSE, + mode = "multiple-ranged", + type = "multiple", + displayMonthsCount = 2, + inputMode = FALSE, width = "100%" ), verbatimTextOutput("res6"), calendarProInput( inputId = "cal8", label = "Calendar select week:", - type = "range", - weekNumbers = TRUE, - weekNumbersSelect = TRUE, + mode = "multiple-ranged", + enableWeekNumbers = TRUE, + selectWeekNumbers = TRUE, width = "100%" ), verbatimTextOutput("res8") diff --git a/inst/examples/calendar-pro/disable/app.R b/inst/examples/calendar-pro/disable/app.R index 0128e15d..c21ea1b7 100644 --- a/inst/examples/calendar-pro/disable/app.R +++ b/inst/examples/calendar-pro/disable/app.R @@ -12,30 +12,30 @@ ui <- fluidPage( inputId = "cal1", label = "Disable past:", placeholder = "Select a date", - disablePast = TRUE, + disableDatesPast = TRUE, width = "100%" ), verbatimTextOutput("res1"), calendarProInput( inputId = "cal3", label = "Disable week-ends:", - disableWeekday = c(0, 6), + disableWeekdays = c(0, 6), width = "100%" ), verbatimTextOutput("res3"), calendarProInput( inputId = "cal5", label = "Disable wednesdays:", - disableWeekday = 3, + disableWeekdays = 3, width = "100%" ), verbatimTextOutput("res5"), calendarProInput( inputId = "cal7", - label = "Set range:", + label = "Set range of selectable dates:", placeholder = "Select a date", - min = Sys.Date() - 14, - max = Sys.Date() + 7, + displayDateMin = Sys.Date() - 14, + displayDateMax = Sys.Date() + 7, width = "100%" ), verbatimTextOutput("res7") @@ -45,9 +45,9 @@ ui <- fluidPage( calendarProInput( inputId = "cal2", label = "Disable select range with gaps (cannot select range with today included):", - type = "range", - disableGaps = TRUE, - disabled = Sys.Date(), + mode = "multiple-ranged", + disableDatesGaps = TRUE, + disableDates = Sys.Date(), positionToInput = c("bottom", "left"), width = "100%" ), @@ -55,7 +55,7 @@ ui <- fluidPage( calendarProInput( inputId = "cal4", label = "Disable days:", - disabled = c(Sys.Date() + c(-5, -2, 3, 6, 7, 9, 14)), + disableDates = c(Sys.Date() + c(-5, -2, 3, 6, 7, 9, 14)), positionToInput = c("bottom", "left"), width = "100%" ), @@ -63,7 +63,7 @@ ui <- fluidPage( calendarProInput( inputId = "cal6", label = "Disable range of days (today -/+ 3):", - disabled = paste(Sys.Date() - 3, Sys.Date() + 3, sep = ":"), + disableDates = paste(Sys.Date() - 3, Sys.Date() + 3, sep = ":"), positionToInput = c("bottom", "left"), width = "100%" ), @@ -71,8 +71,8 @@ ui <- fluidPage( calendarProInput( inputId = "cal8", label = "Enable specifics days:", - disableAllDays = TRUE, - enabled = c(Sys.Date() + c(-5, -2, 3, 6, 7, 9, 14)), + disableAllDates = TRUE, + enableDates = c(Sys.Date() + c(-5, -2, 3, 6, 7, 9, 14)), positionToInput = c("bottom", "left"), width = "100%" ), diff --git a/inst/examples/calendar-pro/value/app.R b/inst/examples/calendar-pro/value/app.R index 81cd77a6..b82833ca 100644 --- a/inst/examples/calendar-pro/value/app.R +++ b/inst/examples/calendar-pro/value/app.R @@ -32,7 +32,7 @@ ui <- fluidPage( calendarProInput( inputId = "cal5", label = "Multiple date selection:", - type = "multiple", + mode = "multiple", placeholder = "Select multiple date ", width = "100%", parseValue = parseValue @@ -42,7 +42,7 @@ ui <- fluidPage( calendarProInput( inputId = "cal7", label = "Range date selection:", - type = "range", + mode = "multiple-ranged", placeholder = "Select range of dates ", width = "100%", parseValue = parseValue @@ -54,6 +54,7 @@ ui <- fluidPage( label = "Month selection:", placeholder = "Select a month", type = "month", + # selectedYear = 2022, # to change default year width = "100%", parseValue = parseValue, format = "%Y-%m" @@ -64,8 +65,8 @@ ui <- fluidPage( inputId = "cal11", label = "Year selection:", placeholder = "Select a year", - # settings = list(selection = list(month = FALSE)), type = "year", + selectionMonthsMode = FALSE, width = "100%", parseValue = parseValue ), @@ -78,7 +79,7 @@ ui <- fluidPage( inputId = "cal2", label = "Datetime selection:", placeholder = "Select date and time", - time = 12, + selectionTimeMode = 12, width = "100%", parseValue = parseValue, format = "%Y-%m-%d %H:%M" @@ -89,7 +90,7 @@ ui <- fluidPage( inputId = "cal4", label = "Datetime selection (with default as POSIXct):", value = as.POSIXct(paste(Sys.Date(), "9:00")), - time = 24, + selectionTimeMode = 24, placeholder = "Select date and time", width = "100%", parseValue = parseValue, @@ -99,10 +100,10 @@ ui <- fluidPage( calendarProInput( inputId = "cal6", - label = "Datetime selection (with timeValue default):", + label = "Datetime selection (with selectedTime default):", value = Sys.Date(), - time = 24, - timeValue = "10:00", + selectionTimeMode = 24, + selectedTime = "10:00", placeholder = "Select date and time", width = "100%", parseValue = parseValue, @@ -114,8 +115,8 @@ ui <- fluidPage( inputId = "cal8", label = "Datetime multiple selection (with default):", value = as.POSIXct(paste(Sys.Date(), "9:00")), - time = 24, - type = "multiple", + selectionTimeMode = 24, + mode = "multiple", placeholder = "Select date and time", width = "100%", parseValue = parseValue, @@ -127,8 +128,8 @@ ui <- fluidPage( inputId = "cal10", label = "Datetime range selection (with default):", value = as.POSIXct(paste(Sys.Date(), "9:00")), - time = 24, - type = "range", + selectionTimeMode = 24, + mode = "multiple-ranged", placeholder = "Select date and time", width = "100%", parseValue = parseValue, diff --git a/inst/packer/calendar-pro.js b/inst/packer/calendar-pro.js index 2f211a06..bbcfddca 100644 --- a/inst/packer/calendar-pro.js +++ b/inst/packer/calendar-pro.js @@ -1,2 +1,2 @@ /*! For license information please see calendar-pro.js.LICENSE.txt */ -(()=>{var e={7485:(e,a,t)=>{"use strict";t.d(a,{A:()=>u});var n=t(1601),l=t.n(n),r=t(6314),d=t.n(r),i=t(4417),s=t.n(i),c=new URL(t(3751),t.b),o=new URL(t(1771),t.b),_=d()(l()),h=s()(c),v=s()(o);_.push([e.id,'/*! name: vanilla-calendar-pro v2.9.10 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\n.vanilla-calendar{position:relative;box-sizing:border-box;display:flex;width:300px;min-width:272px;max-width:100%;flex-direction:column;border-radius:.75rem;padding:1rem;opacity:1;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@supports ((width: -webkit-max-content) or (width: max-content)) and ((height: -webkit-max-content) or (height: max-content)){.vanilla-calendar{height:-webkit-max-content;height:max-content;width:-webkit-max-content;width:max-content}}.vanilla-calendar_multiple{width:550px}@supports ((width: -webkit-fit-content) or (width: -moz-fit-content) or (width: fit-content)){.vanilla-calendar_multiple{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}.vanilla-calendar button:focus-visible{border-radius:.5rem;outline-style:solid;outline-width:1px;outline-offset:-1px}.vanilla-calendar.vanilla-calendar_multiple .vanilla-calendar-days{flex-grow:0}.vanilla-calendar_hidden{pointer-events:none;opacity:0}.vanilla-calendar_hidden *{pointer-events:none!important}.vanilla-calendar_to-input{position:absolute}.vanilla-calendar_to-input_bottom{margin-top:.25rem}.vanilla-calendar_to-input_top{margin-top:-.25rem}.vanilla-calendar-controls{pointer-events:none;position:absolute;left:0;right:0;top:0;z-index:20;box-sizing:content-box;display:flex;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem;padding-top:1.25rem}.vanilla-calendar-arrow{pointer-events:auto;position:relative;display:block;height:1.5rem;width:1.5rem;cursor:pointer;border-width:0px;background-color:transparent}.vanilla-calendar-arrow:before{position:absolute;left:0;top:0;height:100%;width:100%;background-position:center;background-repeat:no-repeat;--tw-content: "";content:var(--tw-content)}.vanilla-calendar-arrow.vanilla-calendar-arrow_prev:before{transform:rotate(90deg)}.vanilla-calendar-arrow.vanilla-calendar-arrow_next:before{transform:rotate(-90deg)}.vanilla-calendar-grid{display:flex;flex-grow:1;flex-wrap:wrap;justify-content:center;gap:1.75rem}.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column{pointer-events:none;opacity:.3}.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column.vanilla-calendar-column_month,.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column.vanilla-calendar-column_year{pointer-events:auto;opacity:1}.vanilla-calendar-column{display:flex;min-width:-webkit-min-content;min-width:min-content;flex-direction:column}.vanilla-calendar-header{position:relative;margin-bottom:.75rem;display:flex;align-items:center}.vanilla-calendar-header__content{display:grid;flex-grow:1;grid-auto-columns:-webkit-max-content;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;justify-content:center;white-space:pre-wrap;padding-left:1rem;padding-right:1rem}.vanilla-calendar-month,.vanilla-calendar-year{cursor:pointer;border-radius:.25rem;border-width:0px;background-color:transparent;padding:.25rem;font-size:1rem;line-height:1.5rem;font-weight:700}.vanilla-calendar-month.vanilla-calendar-month_disabled,.vanilla-calendar-year.vanilla-calendar-year_disabled{pointer-events:none}.vanilla-calendar-months{display:grid;flex-grow:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;row-gap:1rem;column-gap:.5rem}.vanilla-calendar-years{display:grid;flex-grow:1;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;row-gap:1rem;column-gap:.5rem}.vanilla-calendar-months_selecting .vanilla-calendar-months__month,.vanilla-calendar-years_selecting .vanilla-calendar-years__year{cursor:pointer}.vanilla-calendar-months_selecting .vanilla-calendar-months__month .vanilla-calendar-months__month_disabled,.vanilla-calendar-years_selecting .vanilla-calendar-years__year .vanilla-calendar-years__year_disabled{cursor:default}.vanilla-calendar-months__month,.vanilla-calendar-years__year{display:flex;height:2.5rem;align-items:center;justify-content:center;word-break:break-all;border-radius:.5rem;border-width:0px;padding:.25rem;text-align:center;font-size:.75rem;line-height:1rem;font-weight:600}.vanilla-calendar-months__month.vanilla-calendar-months__month_disabled,.vanilla-calendar-years__year.vanilla-calendar-years__year_disabled{pointer-events:none}.vanilla-calendar-week-numbers{display:flex;flex-direction:column}.vanilla-calendar-week-numbers__title{margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1rem;font-weight:700}.vanilla-calendar-week-numbers__content{display:grid;grid-auto-flow:row;align-items:center;justify-items:center;row-gap:.25rem}.vanilla-calendar-week-number{margin:0;display:flex;min-height:1.875rem;width:100%;min-width:1.875rem;cursor:pointer;align-items:center;justify-content:center;border-style:none;background-color:transparent;padding:0;font-size:.75rem;line-height:1rem;font-weight:600}.vanilla-calendar-wrapper{display:flex;flex-grow:1}.vanilla-calendar-content{display:flex;flex-grow:1;flex-direction:column}.vanilla-calendar-week{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,1fr);justify-items:center}.vanilla-calendar-week__day{display:flex;width:100%;min-width:1.875rem;align-items:center;justify-content:center;font-size:.75rem;line-height:1rem;font-weight:700}.vanilla-calendar-days{display:grid;flex-grow:1;grid-template-columns:repeat(7,1fr);align-items:center;justify-items:center;row-gap:.25rem}.vanilla-calendar-days_selecting .vanilla-calendar-day__btn{cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:75ms}.vanilla-calendar-days_selecting .vanilla-calendar-day__btn_disabled{cursor:default}.vanilla-calendar-day{position:relative;display:flex;width:100%;align-items:center;justify-content:center}.vanilla-calendar-day_hover-intermediate .vanilla-calendar-day__btn{border-radius:0}.vanilla-calendar-day_hover-first .vanilla-calendar-day__btn{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.vanilla-calendar-day_hover-last .vanilla-calendar-day__btn{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.vanilla-calendar-day_hover-first.vanilla-calendar-day_hover-last .vanilla-calendar-day__btn{border-radius:.5rem}.vanilla-calendar-day:focus-visible .vanilla-calendar-day__popup,.vanilla-calendar-day:hover .vanilla-calendar-day__popup{pointer-events:auto;opacity:1}.vanilla-calendar-day_selected-first .vanilla-calendar-day__btn_selected{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.vanilla-calendar-day_selected-last .vanilla-calendar-day__btn_selected{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.vanilla-calendar-day_selected-first.vanilla-calendar-day_selected-last .vanilla-calendar-day__btn_selected{border-radius:.5rem}.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected{border-radius:0}.vanilla-calendar-day__btn{display:flex;height:100%;min-height:1.875rem;width:100%;min-width:1.875rem;cursor:default;align-items:center;justify-content:center;border-radius:.5rem;border-width:0px;padding:0;font-size:.75rem;line-height:1rem;font-weight:400}.vanilla-calendar-day__btn_today{font-weight:700}.vanilla-calendar-day__btn_disabled{pointer-events:none}.vanilla-calendar-day__popup{transform:translate(-50%);pointer-events:none;position:absolute;left:50%;top:100%;z-index:20;width:8rem;padding:.5rem .75rem;font-size:.75rem;line-height:1rem;font-weight:400;opacity:0}.vanilla-calendar-day__popup:before{content:var(--tw-content);position:absolute}.vanilla-calendar-day__popup:after{content:var(--tw-content);position:absolute}.vanilla-calendar-day__popup:hover{pointer-events:auto;opacity:1}.vanilla-calendar-day__popup:before{content:"";left:0;bottom:0;z-index:-10;display:block;height:calc(100% - 4px);width:100%;border-radius:.5rem}.vanilla-calendar-time{margin-top:.75rem;display:grid;grid-template-columns:auto 1fr;gap:.75rem;border-top-width:1px;border-bottom-width:0px;border-left-width:0px;border-right-width:0px;border-style:solid;padding-top:.75rem}.vanilla-calendar-time__content{display:grid;grid-auto-flow:column;align-items:center}.vanilla-calendar-time__hours{position:relative;margin-right:.35rem;width:1.75rem}.vanilla-calendar-time__hours:after{position:absolute;right:-5px;top:50%;margin-top:calc(-50% + 1px);display:block;--tw-content: ":";content:var(--tw-content)}.vanilla-calendar-time__minutes{width:1.75rem}.vanilla-calendar-time__hours input,.vanilla-calendar-time__minutes input{position:relative;margin:0;box-sizing:border-box;display:block;width:100%;border-radius:.25rem;border-width:0px;padding:.125rem;text-align:center;font-size:1.125rem;font-weight:600;line-height:1.125rem}.vanilla-calendar-time__hours input:focus-visible,.vanilla-calendar-time__minutes input:focus-visible{outline-style:solid;outline-width:1px}.vanilla-calendar-time__hours input:disabled,.vanilla-calendar-time__minutes input:disabled{cursor:default}.vanilla-calendar-time__hours input:hover:disabled,.vanilla-calendar-time__minutes input:hover:disabled{background-color:transparent}.vanilla-calendar-time__keeping{margin-left:1px;margin-top:.25rem;width:22px;cursor:pointer;border-radius:.25rem;border-width:0px;background-color:transparent;padding:0;font-size:.69rem}.vanilla-calendar-time__keeping:focus-visible{outline-style:solid;outline-width:1px}.vanilla-calendar-time__keeping:disabled{cursor:default}.vanilla-calendar-time__keeping:hover:disabled{background-color:transparent}.vanilla-calendar-time__ranges{display:grid;grid-auto-flow:row}.vanilla-calendar-time__range{position:relative;z-index:10;font-size:0}.vanilla-calendar-time__range:before{content:var(--tw-content);left:0}.vanilla-calendar-time__range:after{content:var(--tw-content);right:0}.vanilla-calendar-time__range:before,.vanilla-calendar-time__range:after{content:"";transform:translateY(-50%);pointer-events:none;position:absolute;top:50%;z-index:10;height:.5rem;width:1px}.vanilla-calendar-time__range input{position:relative;margin:0;height:1.25rem;width:100%;cursor:pointer;-webkit-appearance:none;appearance:none;outline-width:0px}.vanilla-calendar-time__range input::-webkit-slider-thumb{position:relative;z-index:20;margin-top:-.5rem;box-sizing:border-box;height:1rem;width:.75rem;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:.25rem;border-width:1px;border-style:solid;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.vanilla-calendar-time__range input::-moz-range-thumb{position:relative;z-index:20;box-sizing:border-box;height:1rem;width:.75rem;cursor:pointer;border-radius:.25rem;border-width:1px;border-style:solid;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.vanilla-calendar-time__range input::-webkit-slider-runnable-track{margin-top:1px;box-sizing:border-box;height:1px;width:100%;cursor:pointer;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.vanilla-calendar-time__range input::-moz-range-track{margin-top:1px;box-sizing:border-box;height:1px;width:100%;cursor:pointer;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-calendar-theme=light].vanilla-calendar{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));color:#0f172a}[data-calendar-theme=light].vanilla-calendar_to-input{--tw-shadow: 0 9px 20px rgba(0,0,0,.1);--tw-shadow-colored: 0 9px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-calendar-theme=light].vanilla-calendar button:focus-visible{outline-color:#fdba74}[data-calendar-theme=light] .vanilla-calendar-arrow{background-color:transparent}[data-calendar-theme=light] .vanilla-calendar-arrow:before{background-image:url('+h+")}[data-calendar-theme=light] .vanilla-calendar-arrow:hover:before{opacity:.6}[data-calendar-theme=light] .vanilla-calendar-header__content,[data-calendar-theme=light] .vanilla-calendar-month,[data-calendar-theme=light] .vanilla-calendar-year{color:#0f172a}[data-calendar-theme=light] .vanilla-calendar-month:hover,[data-calendar-theme=light] .vanilla-calendar-year:hover{color:#64748b}[data-calendar-theme=light] .vanilla-calendar-month.vanilla-calendar-month_not-active,[data-calendar-theme=light] .vanilla-calendar-year.vanilla-calendar-year_not-active{color:#94a3b8}[data-calendar-theme=light] .vanilla-calendar-month.vanilla-calendar-month_disabled,[data-calendar-theme=light] .vanilla-calendar-year.vanilla-calendar-year_disabled{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-months__month{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));color:#64748b}[data-calendar-theme=light] .vanilla-calendar-months__month:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-months__month.vanilla-calendar-months__month_selected,[data-calendar-theme=light] .vanilla-calendar-months__month.vanilla-calendar-months__month_selected:hover{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=light] .vanilla-calendar-months__month.vanilla-calendar-months__month_disabled,[data-calendar-theme=light] .vanilla-calendar-months__month.vanilla-calendar-months__month_disabled:hover{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-years__year{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));color:#64748b}[data-calendar-theme=light] .vanilla-calendar-years__year:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-years__year.vanilla-calendar-years__year_selected,[data-calendar-theme=light] .vanilla-calendar-years__year.vanilla-calendar-years__year_selected:hover{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=light] .vanilla-calendar-years__year.vanilla-calendar-years__year_disabled,[data-calendar-theme=light] .vanilla-calendar-years__year.vanilla-calendar-years__year_disabled:hover{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-week-numbers__title,[data-calendar-theme=light] .vanilla-calendar-week-number{color:#64748b}[data-calendar-theme=light] .vanilla-calendar-week-number:hover{color:#475569}[data-calendar-theme=light] .vanilla-calendar-week__day{color:#64748b}[data-calendar-theme=light] .vanilla-calendar-week__day_weekend{color:#f43f5e}[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover{background-color:rgb(244 63 94 / var(--tw-bg-opacity));--tw-bg-opacity: .7;color:#fff}[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));color:#64748b}[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected:hover{background-color:rgb(6 182 212 / var(--tw-bg-opacity));--tw-bg-opacity: .7;color:#fff}[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=light] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));color:#64748b}[data-calendar-theme=light] .vanilla-calendar-day__btn{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));color:#0f172a}[data-calendar-theme=light] .vanilla-calendar-day__btn:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-day__btn_today{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity));color:#06b6d4}[data-calendar-theme=light] .vanilla-calendar-day__btn_today:hover{color:#06b6d4}[data-calendar-theme=light] .vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev,[data-calendar-theme=light] .vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next{color:#64748b}[data-calendar-theme=light] .vanilla-calendar-day__btn_prev,[data-calendar-theme=light] .vanilla-calendar-day__btn_next{color:#94a3b8}[data-calendar-theme=light] .vanilla-calendar-day__btn_disabled{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-day__btn_hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday{color:#f43f5e}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_hover{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_disabled,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_disabled{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today{color:#f43f5e}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));color:#94a3b8}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_today,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_today,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_today,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_today{color:#94a3b8}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_disabled,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_disabled,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_disabled,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_disabled{color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity));color:#64748b}[data-calendar-theme=light] .vanilla-calendar-day__btn_selected,[data-calendar-theme=light] .vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=light] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,[data-calendar-theme=light] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next,[data-calendar-theme=light] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=light] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity));color:#64748b}[data-calendar-theme=light] .vanilla-calendar-day__popup{color:#0f172a}[data-calendar-theme=light] .vanilla-calendar-day__popup:before{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 3px 15px rgba(85, 85, 85, .2);--tw-shadow-colored: 0 3px 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-calendar-theme=light] .vanilla-calendar-time{border-color:#cbd5e1}[data-calendar-theme=light] .vanilla-calendar-time__hours:after{content:var(--tw-content);color:#0f172a}[data-calendar-theme=light] .vanilla-calendar-time__hours input,[data-calendar-theme=light] .vanilla-calendar-time__minutes input{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));color:#0f172a}[data-calendar-theme=light] .vanilla-calendar-time__hours input:hover,[data-calendar-theme=light] .vanilla-calendar-time__minutes input:hover{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__hours input:focus-visible,[data-calendar-theme=light] .vanilla-calendar-time__minutes input:focus-visible{outline-color:#fdba74}[data-calendar-theme=light] .vanilla-calendar-time__hours input.vanilla-calendar-is-focus,[data-calendar-theme=light] .vanilla-calendar-time__minutes input.vanilla-calendar-is-focus{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__keeping{color:#64748b}[data-calendar-theme=light] .vanilla-calendar-time__keeping:hover{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__keeping:focus-visible{outline-color:#fdba74}[data-calendar-theme=light] .vanilla-calendar-time__range input{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__range:before,[data-calendar-theme=light] .vanilla-calendar-time__range:after{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__range:hover input::-webkit-slider-thumb{border-color:#94a3b8}[data-calendar-theme=light] .vanilla-calendar-time__range:hover input::-moz-range-thumb{border-color:#94a3b8}[data-calendar-theme=light] .vanilla-calendar-time__range input:focus-visible::-webkit-slider-thumb{border-color:#fdba74}[data-calendar-theme=light] .vanilla-calendar-time__range input:focus-visible::-moz-range-thumb{border-color:#fdba74}[data-calendar-theme=light] .vanilla-calendar-time__range input::-webkit-slider-thumb{border-color:#cbd5e1;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__range input::-moz-range-thumb{border-color:#cbd5e1;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__range input::-webkit-slider-runnable-track{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}[data-calendar-theme=light] .vanilla-calendar-time__range input::-moz-range-track{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}[data-calendar-theme=dark].vanilla-calendar{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=dark].vanilla-calendar_to-input{--tw-shadow: 0 9px 20px rgba(0,0,0,.1);--tw-shadow-colored: 0 9px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-calendar-theme=dark].vanilla-calendar button:focus-visible{outline-color:#fdba74}[data-calendar-theme=dark] .vanilla-calendar-arrow{background-color:transparent}[data-calendar-theme=dark] .vanilla-calendar-arrow:before{background-image:url("+v+")}[data-calendar-theme=dark] .vanilla-calendar-arrow:hover:before{opacity:.6}[data-calendar-theme=dark] .vanilla-calendar-header__content,[data-calendar-theme=dark] .vanilla-calendar-month,[data-calendar-theme=dark] .vanilla-calendar-year{color:#fff}[data-calendar-theme=dark] .vanilla-calendar-month:hover,[data-calendar-theme=dark] .vanilla-calendar-year:hover,[data-calendar-theme=dark] .vanilla-calendar-month.vanilla-calendar-month_not-active,[data-calendar-theme=dark] .vanilla-calendar-year.vanilla-calendar-year_not-active{color:#64748b}[data-calendar-theme=dark] .vanilla-calendar-month.vanilla-calendar-month_disabled,[data-calendar-theme=dark] .vanilla-calendar-year.vanilla-calendar-year_disabled{color:#334155;opacity:.8}[data-calendar-theme=dark] .vanilla-calendar-months__month,[data-calendar-theme=dark] .vanilla-calendar-years__year{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=dark] .vanilla-calendar-months__month:hover,[data-calendar-theme=dark] .vanilla-calendar-years__year:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-months__month.vanilla-calendar-months__month_selected,[data-calendar-theme=dark] .vanilla-calendar-years__year.vanilla-calendar-years__year_selected,[data-calendar-theme=dark] .vanilla-calendar-months__month.vanilla-calendar-months__month_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-years__year.vanilla-calendar-years__year_selected:hover{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=dark] .vanilla-calendar-months__month.vanilla-calendar-months__month_disabled,[data-calendar-theme=dark] .vanilla-calendar-years__year.vanilla-calendar-years__year_disabled{color:#334155;opacity:.8}[data-calendar-theme=dark] .vanilla-calendar-months__month.vanilla-calendar-months__month_disabled:hover,[data-calendar-theme=dark] .vanilla-calendar-years__year.vanilla-calendar-years__year_disabled:hover{color:#334155}[data-calendar-theme=dark] .vanilla-calendar-week-numbers__title,[data-calendar-theme=dark] .vanilla-calendar-week-number{color:#fff}[data-calendar-theme=dark] .vanilla-calendar-week-number:hover{color:#cbd5e1}[data-calendar-theme=dark] .vanilla-calendar-week__day{color:#fff}[data-calendar-theme=dark] .vanilla-calendar-week__day_weekend{color:#f43f5e}[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover{background-color:rgb(244 63 94 / var(--tw-bg-opacity));--tw-bg-opacity: .8;color:#fff}[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));color:#cbd5e1}[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected:hover{background-color:rgb(6 182 212 / var(--tw-bg-opacity));--tw-bg-opacity: .8;color:#fff}[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=dark] .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));color:#cbd5e1}[data-calendar-theme=dark] .vanilla-calendar-day__btn{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity));color:#94a3b8}[data-calendar-theme=dark] .vanilla-calendar-day__btn:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));color:#e2e8f0}[data-calendar-theme=dark] .vanilla-calendar-day__btn_today{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));color:#06b6d4}[data-calendar-theme=dark] .vanilla-calendar-day__btn_today:hover{color:#06b6d4}[data-calendar-theme=dark] .vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev,[data-calendar-theme=dark] .vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next,[data-calendar-theme=dark] .vanilla-calendar-day__btn_prev,[data-calendar-theme=dark] .vanilla-calendar-day__btn_next{color:#475569}[data-calendar-theme=dark] .vanilla-calendar-day__btn_disabled{color:#334155;opacity:.8}[data-calendar-theme=dark] .vanilla-calendar-day__btn_hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday{color:#f43f5e}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));color:#f43f5e}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_disabled,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_disabled{color:#334155;opacity:.8}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today{color:#f43f5e}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled{color:#334155}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity));color:#475569}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));color:#cbd5e1}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_today,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_today,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_today,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_today{color:#94a3b8}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_disabled,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_disabled,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_disabled,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_disabled{color:#334155;opacity:.8}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity));color:#cbd5e1}[data-calendar-theme=dark] .vanilla-calendar-day__btn_selected,[data-calendar-theme=dark] .vanilla-calendar-day__btn_selected:hover{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=dark] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,[data-calendar-theme=dark] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next,[data-calendar-theme=dark] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,[data-calendar-theme=dark] .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity));color:#cbd5e1}[data-calendar-theme=dark] .vanilla-calendar-day__popup{color:#fff}[data-calendar-theme=dark] .vanilla-calendar-day__popup:before{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity));--tw-shadow: inset 0 0 0 1px rgb(255 255 255 / .1);--tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-calendar-theme=dark] .vanilla-calendar-time{border-color:#1e293b}[data-calendar-theme=dark] .vanilla-calendar-time__hours:after{content:var(--tw-content);color:#fff}[data-calendar-theme=dark] .vanilla-calendar-time__hours input,[data-calendar-theme=dark] .vanilla-calendar-time__minutes input{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity));color:#fff}[data-calendar-theme=dark] .vanilla-calendar-time__hours input:hover,[data-calendar-theme=dark] .vanilla-calendar-time__minutes input:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__hours input:focus-visible,[data-calendar-theme=dark] .vanilla-calendar-time__minutes input:focus-visible{outline-color:#fdba74}[data-calendar-theme=dark] .vanilla-calendar-time__hours input.vanilla-calendar-is-focus,[data-calendar-theme=dark] .vanilla-calendar-time__minutes input.vanilla-calendar-is-focus{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__keeping{color:#64748b}[data-calendar-theme=dark] .vanilla-calendar-time__keeping:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity));color:#94a3b8}[data-calendar-theme=dark] .vanilla-calendar-time__keeping:focus-visible{outline-color:#fdba74}[data-calendar-theme=dark] .vanilla-calendar-time__range input{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__range:before,[data-calendar-theme=dark] .vanilla-calendar-time__range:after{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__range:hover input::-webkit-slider-thumb{border-color:#94a3b8}[data-calendar-theme=dark] .vanilla-calendar-time__range:hover input::-moz-range-thumb{border-color:#94a3b8}[data-calendar-theme=dark] .vanilla-calendar-time__range input:focus-visible::-webkit-slider-thumb{border-color:#fdba74}[data-calendar-theme=dark] .vanilla-calendar-time__range input:focus-visible::-moz-range-thumb{border-color:#fdba74}[data-calendar-theme=dark] .vanilla-calendar-time__range input::-webkit-slider-thumb{border-color:#475569;--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__range input::-moz-range-thumb{border-color:#475569;--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__range input::-webkit-slider-runnable-track{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}[data-calendar-theme=dark] .vanilla-calendar-time__range input::-moz-range-track{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}\n",""]);const u=_},6314:e=>{"use strict";e.exports=function(e){var a=[];return a.toString=function(){return this.map((function(a){var t="",n=void 0!==a[5];return a[4]&&(t+="@supports (".concat(a[4],") {")),a[2]&&(t+="@media ".concat(a[2]," {")),n&&(t+="@layer".concat(a[5].length>0?" ".concat(a[5]):""," {")),t+=e(a),n&&(t+="}"),a[2]&&(t+="}"),a[4]&&(t+="}"),t})).join("")},a.i=function(e,t,n,l,r){"string"==typeof e&&(e=[[null,e,void 0]]);var d={};if(n)for(var i=0;i0?" ".concat(o[5]):""," {").concat(o[1],"}")),o[5]=r),t&&(o[2]?(o[1]="@media ".concat(o[2]," {").concat(o[1],"}"),o[2]=t):o[2]=t),l&&(o[4]?(o[1]="@supports (".concat(o[4],") {").concat(o[1],"}"),o[4]=l):o[4]="".concat(l)),a.push(o))}},a}},4417:e=>{"use strict";e.exports=function(e,a){return a||(a={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),a.hash&&(e+=a.hash),/["'() \t\n]|(%20)/.test(e)||a.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},4353:function(e){e.exports=function(){"use strict";var e=6e4,a=36e5,t="millisecond",n="second",l="minute",r="hour",d="day",i="week",s="month",c="quarter",o="year",_="date",h="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var a=["th","st","nd","rd"],t=e%100;return"["+e+(a[(t-20)%10]||a[t]||a[0])+"]"}},y=function(e,a,t){var n=String(e);return!n||n.length>=a?e:""+Array(a+1-n.length).join(t)+e},g={s:y,z:function(e){var a=-e.utcOffset(),t=Math.abs(a),n=Math.floor(t/60),l=t%60;return(a<=0?"+":"-")+y(n,2,"0")+":"+y(l,2,"0")},m:function e(a,t){if(a.date()1)return e(d[0])}else{var i=a.name;p[i]=a,l=i}return!n&&l&&(b=l),l||!n&&b},M=function(e,a){if(w(e))return e.clone();var t="object"==typeof a?a:{};return t.date=e,t.args=arguments,new C(t)},S=g;S.l=k,S.i=w,S.w=function(e,a){return M(e,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var C=function(){function m(e){this.$L=k(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[f]=!0}var y=m.prototype;return y.parse=function(e){this.$d=function(e){var a=e.date,t=e.utc;if(null===a)return new Date(NaN);if(S.u(a))return new Date;if(a instanceof Date)return new Date(a);if("string"==typeof a&&!/Z$/i.test(a)){var n=a.match(v);if(n){var l=n[2]-1||0,r=(n[7]||"0").substring(0,3);return t?new Date(Date.UTC(n[1],l,n[3]||1,n[4]||0,n[5]||0,n[6]||0,r)):new Date(n[1],l,n[3]||1,n[4]||0,n[5]||0,n[6]||0,r)}}return new Date(a)}(e),this.init()},y.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},y.$utils=function(){return S},y.isValid=function(){return!(this.$d.toString()===h)},y.isSame=function(e,a){var t=M(e);return this.startOf(a)<=t&&t<=this.endOf(a)},y.isAfter=function(e,a){return M(e){"use strict";var a=[];function t(e){for(var t=-1,n=0;n{"use strict";var a={};e.exports=function(e,t){var n=function(e){if(void 0===a[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}a[e]=t}return a[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(t)}},540:e=>{"use strict";e.exports=function(e){var a=document.createElement("style");return e.setAttributes(a,e.attributes),e.insert(a,e.options),a}},5056:(e,a,t)=>{"use strict";e.exports=function(e){var a=t.nc;a&&e.setAttribute("nonce",a)}},7825:e=>{"use strict";e.exports=function(e){var a=e.insertStyleElement(e);return{update:function(t){!function(e,a,t){var n="";t.supports&&(n+="@supports (".concat(t.supports,") {")),t.media&&(n+="@media ".concat(t.media," {"));var l=void 0!==t.layer;l&&(n+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),n+=t.css,l&&(n+="}"),t.media&&(n+="}"),t.supports&&(n+="}");var r=t.sourceMap;r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),a.styleTagTransform(n,e,a.options)}(a,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(a)}}}},1113:e=>{"use strict";e.exports=function(e,a){if(a.styleSheet)a.styleSheet.cssText=e;else{for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(document.createTextNode(e))}}},1771:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nI2ZmZicgZD0nTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zeicvPjwvc3ZnPg=="},3751:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nIzBmMTcyYScgZD0nTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zeicvPjwvc3ZnPg=="}},a={};function t(n){var l=a[n];if(void 0!==l)return l.exports;var r=a[n]={id:n,exports:{}};return e[n].call(r.exports,r,r.exports,t),r.exports}t.m=e,t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},t.d=(e,a)=>{for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t.b=document.baseURI||self.location.href,t.nc=void 0,(()=>{"use strict";const e=jQuery;var a=t.n(e);Shiny;var n=Object.defineProperty,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,i=(e,a,t)=>a in e?n(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,s=(e,a)=>{for(var t in a||(a={}))r.call(a,t)&&i(e,t,a[t]);if(l)for(var t of l(a))d.call(a,t)&&i(e,t,a[t]);return e},c=(e,a,t)=>(i(e,"symbol"!=typeof a?a+"":a,t),t);const o={calendar:"vanilla-calendar",calendarDefault:"vanilla-calendar_default",calendarMultiple:"vanilla-calendar_multiple",calendarMonth:"vanilla-calendar_month",calendarYear:"vanilla-calendar_year",calendarHidden:"vanilla-calendar_hidden",calendarToInput:"vanilla-calendar_to-input",calendarToInputTop:"vanilla-calendar_to-input_top",calendarToInputBottom:"vanilla-calendar_to-input_bottom",controls:"vanilla-calendar-controls",grid:"vanilla-calendar-grid",gridDisabled:"vanilla-calendar-grid_disabled",column:"vanilla-calendar-column",columnMonth:"vanilla-calendar-column_month",columnYear:"vanilla-calendar-column_year",header:"vanilla-calendar-header",headerContent:"vanilla-calendar-header__content",month:"vanilla-calendar-month",monthDisabled:"vanilla-calendar-month_disabled",year:"vanilla-calendar-year",yearDisabled:"vanilla-calendar-year_disabled",arrow:"vanilla-calendar-arrow",arrowPrev:"vanilla-calendar-arrow_prev",arrowNext:"vanilla-calendar-arrow_next",wrapper:"vanilla-calendar-wrapper",content:"vanilla-calendar-content",week:"vanilla-calendar-week",weekDay:"vanilla-calendar-week__day",weekDayWeekend:"vanilla-calendar-week__day_weekend",days:"vanilla-calendar-days",daysSelecting:"vanilla-calendar-days_selecting",months:"vanilla-calendar-months",monthsSelecting:"vanilla-calendar-months_selecting",monthsMonth:"vanilla-calendar-months__month",monthsMonthSelected:"vanilla-calendar-months__month_selected",monthsMonthDisabled:"vanilla-calendar-months__month_disabled",years:"vanilla-calendar-years",yearsSelecting:"vanilla-calendar-years_selecting",yearsYear:"vanilla-calendar-years__year",yearsYearSelected:"vanilla-calendar-years__year_selected",yearsYearDisabled:"vanilla-calendar-years__year_disabled",time:"vanilla-calendar-time",timeContent:"vanilla-calendar-time__content",timeHours:"vanilla-calendar-time__hours",timeMinutes:"vanilla-calendar-time__minutes",timeKeeping:"vanilla-calendar-time__keeping",timeRanges:"vanilla-calendar-time__ranges",timeRange:"vanilla-calendar-time__range",day:"vanilla-calendar-day",dayHoverFirst:"vanilla-calendar-day_hover-first",dayHoverLast:"vanilla-calendar-day_hover-last",dayHoverIntermediate:"vanilla-calendar-day_hover-intermediate",daySelectedFirst:"vanilla-calendar-day_selected-first",daySelectedLast:"vanilla-calendar-day_selected-last",daySelectedIntermediate:"vanilla-calendar-day_selected-intermediate",dayPopup:"vanilla-calendar-day__popup",dayBtn:"vanilla-calendar-day__btn",dayBtnPrev:"vanilla-calendar-day__btn_prev",dayBtnNext:"vanilla-calendar-day__btn_next",dayBtnToday:"vanilla-calendar-day__btn_today",dayBtnSelected:"vanilla-calendar-day__btn_selected",dayBtnHover:"vanilla-calendar-day__btn_hover",dayBtnDisabled:"vanilla-calendar-day__btn_disabled",dayBtnWeekend:"vanilla-calendar-day__btn_weekend",dayBtnHoliday:"vanilla-calendar-day__btn_holiday",weekNumbers:"vanilla-calendar-week-numbers",weekNumbersTitle:"vanilla-calendar-week-numbers__title",weekNumbersContent:"vanilla-calendar-week-numbers__content",weekNumber:"vanilla-calendar-week-number",isFocus:"vanilla-calendar-is-focus"},_=e=>`
<#ArrowPrev /><#ArrowNext />
<#Multiple>
<#Month /><#Year />
<#WeekNumbers />
<#Week /><#Days />
<#/Multiple>
<#ControlTime />`,h=e=>`
<#Month /><#Year />
<#Months />
`,v=e=>`
<#ArrowPrev />
<#Month /><#Year />
<#ArrowNext />
<#Years />
`;class u{constructor(){var e;c(this,"isInit",!1),c(this,"isInputInit",!1),c(this,"input",!1),c(this,"type","default"),c(this,"months",2),c(this,"jumpMonths",1),c(this,"jumpToSelectedDate",!1),c(this,"toggleSelected",!0),c(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),c(this,"settings",{lang:"en",iso8601:!0,range:{min:void 0,max:void 0,disablePast:!1,disableGaps:!1,edgesOnly:!1,disableAllDays:!1,disableWeekday:void 0,disabled:void 0,enabled:void 0},selection:{day:"single",month:!0,year:!0,time:!1,controlTime:"all",stepHours:1,stepMinutes:1,cancelableDay:!0},selected:{dates:void 0,month:void 0,year:void 0,holidays:void 0,time:void 0},visibility:{theme:"system",themeDetect:"html[data-theme]",monthShort:!0,weekNumbers:!1,weekend:!0,today:!0,disabled:!1,daysOutside:!0,positionToInput:"left"}}),c(this,"locale",{months:[],weekday:[]}),c(this,"sanitizer",(e=>e)),c(this,"actions",{clickDay:null,clickWeekNumber:null,clickMonth:null,clickYear:null,clickArrow:null,changeTime:null,changeToInput:null,getDays:null,getMonths:null,getYears:null,initCalendar:null,updateCalendar:null,destroyCalendar:null,showCalendar:null,hideCalendar:null}),c(this,"popups",{}),c(this,"CSSClasses",s({},o)),c(this,"DOMTemplates",{default:(e=this.CSSClasses,`
<#ArrowPrev />
<#Month /><#Year />
<#ArrowNext />
<#WeekNumbers />
<#Week /><#Days />
<#ControlTime />`),multiple:_(this.CSSClasses),month:h(this.CSSClasses),year:v(this.CSSClasses)}),c(this,"HTMLElement"),c(this,"HTMLOriginalElement"),c(this,"HTMLInputElement"),c(this,"rangeMin"),c(this,"rangeMax"),c(this,"rangeDisabled"),c(this,"rangeEnabled"),c(this,"selectedDates"),c(this,"selectedHolidays"),c(this,"selectedMonth"),c(this,"selectedYear"),c(this,"selectedHours"),c(this,"selectedMinutes"),c(this,"selectedKeeping"),c(this,"selectedTime"),c(this,"currentType"),c(this,"correctMonths"),c(this,"viewYear"),c(this,"dateMin"),c(this,"dateMax")}}const m=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,y=e=>new Date(`${e}T00:00:00`),g=e=>e.reduce(((e,a)=>{if(a instanceof Date||"number"==typeof a){const t=a instanceof Date?a:new Date(a);e.push(t.toISOString().substring(0,10))}else a.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(a):a.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,((a,t,n)=>{const l=y(t),r=y(n),d=new Date(l.getTime());for(;d<=r;d.setDate(d.getDate()+1))e.push(m(d));return a}));return e}),[]),b=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},p=e=>e?{0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e):"",f='The calendar has not been initialized, please initialize it using the "init()" method first.',w=e=>{e.currentType=e.type,(e=>{var a;if(e.jumpToSelectedDate&&(null==(a=e.settings.selected.dates)?void 0:a.length)&&void 0===e.settings.selected.month&&void 0===e.settings.selected.year){const a=y(g(e.settings.selected.dates)[0]);e.settings.selected.month=a.getMonth(),e.settings.selected.year=a.getFullYear()}const t=void 0!==e.settings.selected.month&&Number(e.settings.selected.month)>=0&&Number(e.settings.selected.month)<12,n=void 0!==e.settings.selected.year&&Number(e.settings.selected.year)>=0&&Number(e.settings.selected.year)<=9999;e.selectedMonth=t?Number(e.settings.selected.month):e.date.today.getMonth(),e.selectedYear=n?Number(e.settings.selected.year):e.date.today.getFullYear(),e.viewYear=e.selectedYear})(e),(e=>{var a,t,n;"today"===e.date.min&&(e.date.min=b()),"today"===e.date.max&&(e.date.max=b()),"today"===e.settings.range.min&&(e.settings.range.min=b()),"today"===e.settings.range.max&&(e.settings.range.max=b()),e.settings.range.min=e.settings.range.min?y(e.date.min)>=y(e.settings.range.min)?e.date.min:e.settings.range.min:e.date.min,e.settings.range.max=e.settings.range.max?y(e.date.max)<=y(e.settings.range.max)?e.date.max:e.settings.range.max:e.date.max;const l=e.settings.range.disablePast&&!e.settings.range.disableAllDays&&y(e.settings.range.min)1&&e.rangeDisabled.sort(((e,a)=>+new Date(e)-+new Date(a))),e.rangeEnabled=e.settings.range.enabled?g(e.settings.range.enabled):[],(null==(a=e.rangeEnabled)?void 0:a[0])&&(null==(t=e.rangeDisabled)?void 0:t[0])&&(e.rangeDisabled=e.rangeDisabled.filter((a=>!e.rangeEnabled.includes(a)))),e.rangeEnabled.length>1&&e.rangeEnabled.sort(((e,a)=>+new Date(e)-+new Date(a))),(null==(n=e.rangeEnabled)?void 0:n[0])&&e.settings.range.disableAllDays&&(e.rangeMin=e.rangeEnabled[0],e.rangeMax=e.rangeEnabled[e.rangeEnabled.length-1])})(e),(e=>{var a,t;e.selectedDates=(null==(a=e.settings.selected.dates)?void 0:a[0])?g(e.settings.selected.dates):[],e.selectedHolidays=(null==(t=e.settings.selected.holidays)?void 0:t[0])?g(e.settings.selected.holidays):[]})(e),(e=>{e.dateMin=e.settings.visibility.disabled?y(e.date.min):y(e.rangeMin),e.dateMax=e.settings.visibility.disabled?y(e.date.max):y(e.rangeMax)})(e),(e=>{const a=!0===e.settings.selection.time||12===e.settings.selection.time;if(a||24===e.settings.selection.time){let t=!1;if("string"==typeof e.settings.selected.time){const n=a?/^([0-9]|0[1-9]|1[0-2]):([0-5][0-9])|(AM|PM)/g:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])/g;e.settings.selected.time.replace(n,((n,l,r,d)=>(l&&r&&(t=!0,e.selectedHours=l,e.selectedMinutes=r),d&&a?e.selectedKeeping=d:a&&(e.selectedKeeping="AM"),"")))}!t&&a?(e.selectedHours=p(String(e.date.today.getHours())),e.selectedMinutes=String(e.date.today.getMinutes()),e.selectedKeeping=Number(e.date.today.getHours())>=12?"PM":"AM"):t||(e.selectedHours=String(e.date.today.getHours()),e.selectedMinutes=String(e.date.today.getMinutes())),e.selectedHours=Number(e.selectedHours)<10?`0${Number(e.selectedHours)}`:`${e.selectedHours}`,e.selectedMinutes=Number(e.selectedMinutes)<10?`0${Number(e.selectedMinutes)}`:`${e.selectedMinutes}`,e.selectedTime=`${e.selectedHours}:${e.selectedMinutes}${e.selectedKeeping?` ${e.selectedKeeping}`:""}`}else if(e.settings.selection.time)throw new Error("The value of the time property can be: false, true, 12 or 24.")})(e),(e=>{e.correctMonths="multiple"===e.type?1===e.months?2:e.months>12?12:e.months:1})(e)},k=({arrowPrev:e,arrowNext:a,isPrevHidden:t,isNextHidden:n})=>{e.style.visibility=t?"hidden":"",a.style.visibility=n?"hidden":""},M=e=>{var a,t;if("month"===e.currentType)return;const n=null==(a=e.HTMLElement)?void 0:a.querySelector(`.${e.CSSClasses.arrowPrev}`),l=null==(t=e.HTMLElement)?void 0:t.querySelector(`.${e.CSSClasses.arrowNext}`);n&&l&&{default:()=>{const a=y(m(new Date(e.selectedYear,e.selectedMonth,1))),t=new Date(a.getTime()),r=new Date(a.getTime());t.setMonth(t.getMonth()-e.jumpMonths),r.setMonth(r.getMonth()+e.jumpMonths),e.settings.selection.year||(e.dateMin.setFullYear(a.getFullYear()),e.dateMax.setFullYear(a.getFullYear()));const d=!e.settings.selection.month||t.getFullYear()e.dateMax.getFullYear()||r.getFullYear()===e.dateMax.getFullYear()&&r.getMonth()>e.dateMax.getMonth();k({arrowPrev:n,arrowNext:l,isPrevHidden:d,isNextHidden:i})},year:()=>{k({arrowPrev:n,arrowNext:l,isPrevHidden:e.dateMin.getFullYear()&&e.viewYear-7<=e.dateMin.getFullYear(),isNextHidden:e.dateMax.getFullYear()&&e.viewYear+7>=e.dateMax.getFullYear()})}}["multiple"===e.currentType?"default":e.currentType]()},S=(e,a)=>{if(!e)return null;const t=y(e),n=a?t.getDay()||7:t.getDay();t.setDate(t.getDate()+4-n);const l=new Date(t.getFullYear(),0,1),r=Math.ceil(((+t-+l)/864e5+1)/7);return{year:t.getFullYear(),week:r}};function C(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const a=e.getBoundingClientRect(),t=document.documentElement;return{bottom:a.bottom,right:a.right,top:a.top+window.scrollY-t.clientTop,left:a.left+window.scrollX-t.clientLeft}}function x(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function D(e,a,t=5){const n={top:!0,bottom:!0,left:!0,right:!0},l=[];if(!a||!e)return{canShow:n,parentPositions:l};const{bottom:r,top:d}=function(e){const{top:a,left:t}={left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0},{top:n,left:l}=C(e),{vh:r,vw:d}=x(),i=n-a,s=l-t;return{top:i,bottom:r-(i+e.clientHeight),left:s,right:d-(s+e.clientWidth)}}(e),{top:i,left:s}=C(e),{height:c,width:o}=a.getBoundingClientRect(),{vh:_,vw:h}=x(),v=h/2,u=_/2;return[{condition:iu,position:"bottom"},{condition:sv,position:"right"}].forEach((({condition:e,position:a})=>{e&&l.push(a)})),Object.assign(n,{top:c<=d-t,bottom:c<=r-t,left:o<=s,right:o<=h-s}),{canShow:n,parentPositions:l}}const $=(e,a,t,n)=>{if(e){const l="auto"===t?function(e,a){const t="left";if(!a||!e)return t;const{canShow:n,parentPositions:l}=D(e,a),r=n.left&&n.right;return(r&&n.bottom?"center":r&&n.top?["top","center"]:Array.isArray(l)?["bottom"===l[0]?"top":"bottom",...l.slice(1)]:l)||t}(e,a):t,r={top:-a.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-a.offsetWidth/2,right:e.offsetWidth-a.offsetWidth},d=Array.isArray(l)?l[0]:"bottom",i=Array.isArray(l)?l[1]:l;"bottom"===d?(a.classList.remove(n.calendarToInputTop),a.classList.add(n.calendarToInputBottom)):(a.classList.remove(n.calendarToInputBottom),a.classList.add(n.calendarToInputTop));const{top:s,left:c}=C(e),o=s+r[d];let _=c+r[i];const{vw:h}=x();if(_+a.clientWidth>h){const e=window.innerWidth-document.body.clientWidth;_=h-a.clientWidth-e}else _<0&&(_=0);Object.assign(a.style,{left:`${_}px`,top:`${o}px`})}},T=(e,a,t,n,l)=>{const r=a[t].querySelector(`.${e.CSSClasses.dayBtn}`),d=S(null==r?void 0:r.dataset.calendarDay,e.settings.iso8601);if(!d)return;const i=n.cloneNode(!0);i.innerText=String(d.week),i.dataset.calendarYearWeek=String(d.year),l.appendChild(i)},L=(e,a,t,n,l,r,d,i)=>{const s=document.createElement("div");s.className=e.CSSClasses.day;const c=document.createElement("button");c.className=`${e.CSSClasses.dayBtn}${i?` ${i}`:""}`,c.type="button",c.innerText=String(n),c.dataset.calendarDay=r,e.settings.visibility.weekNumbers&&(()=>{const a=S(r,e.settings.iso8601);a&&(c.dataset.calendarWeekNumber=String(a.week))})(),d?e.settings.visibility.daysOutside&&s.appendChild(c):s.appendChild(c),((e,a,t)=>{var n,l,r,d,i;const s=null==(n=e.settings.range.disableWeekday)?void 0:n.includes(t),c=e.settings.range.disableAllDays&&!!(null==(l=e.rangeEnabled)?void 0:l[0]);!s&&!c||(null==(r=e.rangeEnabled)?void 0:r.includes(a))||(null==(d=e.rangeDisabled)?void 0:d.includes(a))||(e.rangeDisabled.push(a),null==(i=e.rangeDisabled)||i.sort(((e,a)=>+new Date(e)-+new Date(a))))})(e,r,l),((e,a,t,n,l,r,d)=>{var i,s,c;if((y(e.rangeMin)>y(r)||y(e.rangeMax)1&&"multiple-ranged"===e.settings.selection.day&&(e.selectedDates[0]===r&&t.classList.add(e.CSSClasses.daySelectedFirst),e.selectedDates[e.selectedDates.length-1]===r&&t.classList.add(e.CSSClasses.daySelectedLast),e.selectedDates[0]!==r&&e.selectedDates[e.selectedDates.length-1]!==r&&t.classList.add(e.CSSClasses.daySelectedIntermediate))),e.settings.range.edgesOnly&&e.selectedDates.length>1&&"multiple-ranged"===e.settings.selection.day){const a=+new Date(e.selectedDates[0]),l=+new Date(e.selectedDates[e.selectedDates.length-1]),d=+new Date(r);d>a&&d{const a=e.HTMLElement.querySelectorAll(`.${e.CSSClasses.days}`),t=e.HTMLElement.querySelectorAll(`.${e.CSSClasses.weekNumbers}`),n=new Date(e.selectedYear,e.selectedMonth,1);a.forEach(((a,l)=>{const r=new Date(n);r.setMonth(r.getMonth()+l);const d=r.getMonth(),i=r.getFullYear(),s=new Date(i,d,1),c=new Date(i,d+1,0).getDate(),o=e.settings.iso8601?(0!==s.getDay()?s.getDay():7)-1:s.getDay();e.settings.selection.day&&a.classList.add(e.CSSClasses.daysSelecting),a.textContent="",((e,a,t,n,l)=>{let r=new Date(t,n,0).getDate()-(l-1);const d=0===n?t-1:t,i=0===n?12:n<10?`0${n}`:n;for(let n=l;n>0;n--,r++){const n=`${d}-${i}-${r}`,l=y(n).getDay();L(e,t,a,r,l,n,!0,e.CSSClasses.dayBtnPrev)}})(e,a,i,d,o),((e,a,t,n,l)=>{for(let r=1;r<=t;r++){const t=new Date(n,l,r),d=m(t),i=t.getDay();L(e,n,a,r,i,d,!1,null)}})(e,a,c,i,d),((e,a,t,n,l,r)=>{const d=r+t,i=7*Math.ceil(d/7)-d,s=l+1===12?n+1:n,c=l+1===12?"01":l+2<10?`0${l+2}`:l+2;for(let t=1;t<=i;t++){const l=`${s}-${c}-${t<10?`0${t}`:String(t)}`,r=y(l).getDay();L(e,n,a,t,r,l,!0,e.CSSClasses.dayBtnNext)}})(e,a,c,i,d,o),((e,a,t,n,l)=>{if(!e.settings.visibility.weekNumbers)return;n.textContent="";const r=document.createElement("b");r.className=e.CSSClasses.weekNumbersTitle,r.innerText="#",n.appendChild(r);const d=document.createElement("div");d.className=e.CSSClasses.weekNumbersContent,n.appendChild(d);const i=document.createElement("button");i.type="button",i.className=e.CSSClasses.weekNumber;const s=l.querySelectorAll(`.${e.CSSClasses.day}`),c=Math.ceil((a+t)/7);for(let a=0;a{var t;e.popups&&(null==(t=Object.entries(e.popups))||t.forEach((([t,n])=>((e,a,t,n)=>{const l=e.CSSClasses.dayPopup,r=n.querySelector(`[data-calendar-day="${a}"]`);if(r&&((null==t?void 0:t.modifier)&&r.classList.add(...t.modifier.trim().split(" ")),null==t?void 0:t.html)){const a=r.parentElement,n=document.createElement("div");n.className=l,n.innerHTML=e.sanitizer(t.html),a.appendChild(n),setTimeout((()=>{if(n){const{canShow:e}=D(a,n),t=5;let l=a.offsetHeight,r=0;e.bottom||(l=-n.offsetHeight-t),e.left&&!e.right&&(r=a.offsetWidth-n.offsetWidth/2),!e.left&&e.right&&(r=n.offsetWidth/2),Object.assign(n.style,{left:`${r}px`,top:`${l}px`})}}))}})(e,t,n,a))))})(e,a)}))},E=e=>{var a,t;const n=null==(a=e.HTMLElement)?void 0:a.querySelectorAll("[data-calendar-selected-month]"),l=null==(t=e.HTMLElement)?void 0:t.querySelectorAll("[data-calendar-selected-year]");if(!(null==n?void 0:n[0])&&(null==l?void 0:l[0]))return;const r=new Date(e.selectedYear,e.selectedMonth,1);null==n||n.forEach(((a,t)=>((e,a,t,n)=>{const l=new Date(n.setMonth(e.selectedMonth+t)).getMonth(),r=!1===e.settings.selection.month||"only-arrows"===e.settings.selection.month;a.tabIndex=r?-1:0,a.classList.toggle(e.CSSClasses.monthDisabled,r),a.setAttribute("data-calendar-selected-month",String(l)),a.innerText=e.locale.months[l]})(e,a,t,r))),null==l||l.forEach(((a,t)=>((e,a,t,n)=>{const l=new Date(n.setFullYear(e.selectedYear,e.selectedMonth+t)).getFullYear(),r=!1===e.settings.selection.year||"only-arrows"===e.settings.selection.year;a.tabIndex=r?-1:0,a.classList.toggle(e.CSSClasses.yearDisabled,r),a.setAttribute("data-calendar-selected-year",String(l)),a.innerText=String(l)})(e,a,t,r)))},Y=(e,a)=>{const t=y(m(new Date(e.selectedYear,e.selectedMonth,1)));({prev:()=>t.setMonth(t.getMonth()-e.jumpMonths),next:()=>t.setMonth(t.getMonth()+e.jumpMonths)})[a](),[e.selectedMonth,e.selectedYear]=[t.getMonth(),t.getFullYear()],E(e),M(e),H(e)},N=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:e=>``,ArrowPrev:e=>``,ControlTime:e=>e.settings.selection.time?`
`:"",Days:e=>`
`,Month:e=>``,Months:e=>`
`,Week:e=>`
`,WeekNumbers:e=>e.settings.visibility.weekNumbers?`
`:"",Year:e=>``,Years:e=>`
`},Symbol.toStringTag,{value:"Module"})),A=(e,a)=>a.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((a,t)=>{const n=(l=t.replace(/[/\s\n\t]/g,""),N[l]);var l;const r=n?n(e):"";return e.sanitizer(r)})).replace(/[\n\t]/g,""),I=(e,a)=>{const{HTMLElement:t,CSSClasses:n,DOMTemplates:l,type:r,currentType:d,correctMonths:i}=e,s=(l,r)=>{if(!a)return;const d=t.querySelector(`.${n.controls}`);d&&t.removeChild(d),t.querySelector(`.${n.grid}`).classList.add(n.gridDisabled);const i=a.closest(`.${n.column}`);i.classList.add(l),i.innerHTML=A(e,r)},c={default:()=>{t.classList.add(n.calendarDefault),t.classList.remove(n.calendarMonth,n.calendarYear),t.innerHTML=A(e,l.default)},multiple:()=>{i&&(t.classList.add(n.calendarMultiple),t.classList.remove(n.calendarMonth,n.calendarYear),t.innerHTML=((e,a)=>a.replace(/<#Multiple>(.*?)<#\/Multiple>/g,((a,t)=>{let n="";for(let a=0;a{"multiple"!==r?(t.classList.add(n.calendarMonth),t.classList.remove(n.calendarDefault,n.calendarYear),t.innerHTML=A(e,l.month)):s(n.columnMonth,l.month)},year:()=>{"multiple"!==r?(t.classList.add(n.calendarYear),t.classList.remove(n.calendarDefault,n.calendarMonth),t.innerHTML=A(e,l.year)):s(n.columnYear,l.year)}};t.classList.add(n.calendar),c[d]()},j=(e,a,t,n,l)=>{const r=a.cloneNode(!1);return r.className=`${e.CSSClasses.yearsYear}${t===l?` ${e.CSSClasses.yearsYearSelected}`:n?` ${e.CSSClasses.yearsYearDisabled}`:""}`,r.dataset.calendarYear=String(l),r.title=String(l),r.innerText=String(l),n&&(r.tabIndex=-1),r},z=(e,a)=>{const t=(null==a?void 0:a.dataset.calendarSelectedYear)?Number(null==a?void 0:a.dataset.calendarSelectedYear):e.selectedYear;e.currentType="year",I(e,a),E(e),M(e);const n=e.HTMLElement.querySelector(`.${e.CSSClasses.years}`);if(!e.settings.selection.year||!n)return;n.classList.add(e.CSSClasses.yearsSelecting);const l="multiple"!==e.type||e.selectedYear===t?0:1,r=document.createElement("button");r.type="button";for(let a=e.viewYear-7;ae.dateMax.getFullYear(),i=j(e,r,t,d,a);n.appendChild(i),e.actions.getYears&&e.actions.getYears(a,i,e)}},P=e=>`${e.charAt(0).toUpperCase()}${e.substring(1,e.length)}`.replace(/\./,""),O=(e,a)=>{const t=new Date(`1978-01-0${a+1}T00:00:00.000Z`).toLocaleString(e.settings.lang,{weekday:"short",timeZone:"UTC"});e.locale.weekday.push(P(t))},F=(e,a)=>{const t=new Date(`1978-${a+1<=9?`0${a+1}`:a+1}-01T00:00:00.000Z`).toLocaleString(e.settings.lang,{month:"long",timeZone:"UTC"});e.locale.months.push(P(t))},W=e=>{if("multiple"!==e.type)return 0;const a=e.HTMLElement.querySelectorAll(`.${e.CSSClasses.column}`),t=Array.from(a).findIndex((a=>a.classList.contains(`${e.CSSClasses.columnMonth}`)));return t>0?t:0},B=(e,a,t,n,l,r)=>{const d=a.cloneNode(!1);return d.className=`${e.CSSClasses.monthsMonth}${t===r?` ${e.CSSClasses.monthsMonthSelected}`:l?` ${e.CSSClasses.monthsMonthDisabled}`:""}`,d.title=n,d.innerText=`${e.settings.visibility.monthShort?n.substring(0,3):n}`,d.dataset.calendarMonth=String(r),l&&(d.tabIndex=-1),d},q=(e,a)=>{var t,n;const l=(null==a?void 0:a.dataset.calendarSelectedMonth)?Number(a.dataset.calendarSelectedMonth):e.selectedMonth,r=null==(t=null==a?void 0:a.closest(`.${e.CSSClasses.column}`))?void 0:t.querySelector(`.${e.CSSClasses.year}`),d=r?Number(r.dataset.calendarSelectedYear):e.selectedYear;e.currentType="month",I(e,a),E(e);const i=null==(n=e.HTMLElement)?void 0:n.querySelector(`.${e.CSSClasses.months}`);if(!e.settings.selection.month||!i)return;i.classList.add(e.CSSClasses.monthsSelecting);const s=e.jumpMonths>1?e.locale.months.map(((a,t)=>l-e.jumpMonths*t)).concat(e.locale.months.map(((a,t)=>l+e.jumpMonths*t))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let a=0;a<12;a++){const t=e.locale.months[a],n=ae.dateMax.getMonth()+W(e)&&d>=e.dateMax.getFullYear()||a!==l&&!s.includes(a),r=B(e,c,l,t,n,a);i.appendChild(r),e.actions.getMonths&&e.actions.getMonths(a,r,e)}},K=(e,a)=>e&&a?{0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"12",PM:"12"}}[Number(e)][a]:"",Z=(e,a,t)=>e.querySelector(`.${a}${t?` input[name="${t}"]`:""}`),R=(e,a,t)=>{e.addEventListener("mouseover",(()=>a.classList.add(t))),e.addEventListener("mouseout",(()=>a.classList.remove(t)))},U=(e,a,t,n)=>{({hours:()=>{e.selectedHours=t},minutes:()=>{e.selectedMinutes=t}})[n](),e.selectedTime=`${e.selectedHours}:${e.selectedMinutes}${e.selectedKeeping?` ${e.selectedKeeping}`:""}`,e.actions.changeTime&&e.actions.changeTime(a,e),e.input&&e.HTMLInputElement&&e.actions.changeToInput&&e.actions.changeToInput(a,e)},Q=(e,a,t,n,l,r)=>{a.addEventListener("input",(a=>{const d=a.target,i=Number(d.value),s=i<10?`0${i}`:`${i}`;if("hours"!==l||12!==r)return t.value=s,void U(e,a,s,l);i0?(t.value=s,e.selectedKeeping="AM",n.innerText=e.selectedKeeping,U(e,a,s,l)):(0===i?(e.selectedKeeping="AM",n.innerText="AM"):(e.selectedKeeping="PM",n.innerText="PM"),t.value=p(d.value),U(e,a,p(d.value),l))}))},V=(e,a,t,n,l,r)=>{t.addEventListener("change",(t=>{const d=t.target,i=Number(d.value),s=i<10?`0${i}`:`${i}`;"hours"===l&&12===r?d.value&&i<=r&&i>0?(d.value=s,a.value=K(s,e.selectedKeeping),U(e,t,s,l)):d.value&&i<24&&(i>r||0===i)?(0===i?(e.selectedKeeping="AM",n.innerText="AM"):(e.selectedKeeping="PM",n.innerText="PM"),d.value=p(d.value),a.value=s,U(e,t,p(d.value),l)):d.value=e.selectedHours:d.value&&i<=r&&i>=0?(d.value=s,a.value=s,U(e,t,s,l)):"hours"===l?d.value=e.selectedHours:"minutes"===l&&(d.value=e.selectedMinutes)}))},G=(e,a,t,n)=>``,J=(e,a,t,n,l,r)=>``,X=e=>{const a=[...e.locale.weekday];a[0]&&(e.settings.iso8601&&a.push(a.shift()),e.HTMLElement.querySelectorAll(`.${e.CSSClasses.week}`).forEach((t=>((e,a,t)=>{const n=document.createElement("b");a.textContent="";for(let l=0;l{ae.value=!0},check:()=>ae.value},te=(e,a)=>ee.find((t=>{var n;return"system"!==t&&(null==(n=e.getAttribute(a))?void 0:n.includes(t))})),ne=(e,a)=>{e.dataset.calendarTheme=a},le=(e,a)=>{var t;if(t=a,ne(e.HTMLElement,t.matches?"dark":"light"),"system"!==e.settings.visibility.theme||ae.check())return;const n=a=>{const t=document.querySelectorAll(`.${e.CSSClasses.calendar}`);null==t||t.forEach((e=>ne(e,a.matches?"dark":"light")))};a.addEventListener?a.addEventListener("change",n):a.addListener(n),ae.set()},re=e=>{const a={default:()=>{X(e),H(e)},multiple:()=>{X(e),H(e)},month:()=>q(e),year:()=>z(e)};(e=>{if(!ee.includes(e.settings.visibility.theme))throw new Error('Incorrect name of theme in "settings.visibility.theme".');"not all"!==window.matchMedia("(prefers-color-scheme)").media?{light:()=>ne(e.HTMLElement,"light"),dark:()=>ne(e.HTMLElement,"dark"),system:()=>((e,a)=>{const t=e.settings.visibility.themeDetect?document.querySelector(e.settings.visibility.themeDetect):null;if(!t)return void le(e,a);const n=e.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,((e,a)=>a)),l=te(t,n);l?(ne(e.HTMLElement,l),((e,a,t)=>{new MutationObserver((n=>{for(let l=0;l{if("define"!==e.settings.lang||!e.locale.weekday[6]||!e.locale.months[11]){if("define"===e.settings.lang)throw new Error('You specified "define" for "settings.lang" but did not provide the required values for "locale.weekday" or "locale.months".');e.locale.weekday=[],e.locale.months=[];for(let a=0;a<7;a++)O(e,a);for(let a=0;a<12;a++)F(e,a)}})(e),I(e),E(e),M(e),(e=>{const a=e.HTMLElement.querySelector(`.${e.CSSClasses.time}`);if(!a)return;const t=!0===e.settings.selection.time?12:e.settings.selection.time,n="range"===e.settings.selection.controlTime,[l,r]=[0,23],[d,i]=[0,59];a.innerHTML=e.sanitizer(`
${G("hours",e.CSSClasses.timeHours,e.selectedHours,n)}${G("minutes",e.CSSClasses.timeMinutes,e.selectedMinutes,n)}${12===t?``:""}
${J("hours",e.CSSClasses.timeRange,l,r,e.settings.selection.stepHours,e.selectedKeeping?K(e.selectedHours,e.selectedKeeping):e.selectedHours)}${J("minutes",e.CSSClasses.timeRange,d,i,e.settings.selection.stepMinutes,e.selectedMinutes)}
`),((e,a,t)=>{const n=24===t?23:t||12,l=Z(a,e.CSSClasses.timeRange,"hours"),r=Z(a,e.CSSClasses.timeRange,"minutes"),d=Z(a,e.CSSClasses.timeHours,"hours"),i=Z(a,e.CSSClasses.timeMinutes,"minutes"),s=a.querySelector(`.${e.CSSClasses.timeKeeping}`);R(l,d,e.CSSClasses.isFocus),R(r,i,e.CSSClasses.isFocus),Q(e,l,d,s,"hours",n),Q(e,r,i,s,"minutes",0),V(e,l,d,s,"hours",n),V(e,r,i,s,"minutes",59),s&&((e,a,t)=>{a.addEventListener("click",(n=>{e.selectedKeeping=a.innerText.includes("AM")?"PM":"AM",a.innerText=e.selectedKeeping,t.value=K(e.selectedHours,e.selectedKeeping),U(e,n,e.selectedHours,"hours")}))})(e,s,l)})(e,a,t)})(e),a[e.currentType]()},de={self:null,rangeMin:void 0,rangeMax:void 0},ie=()=>{var e;if(!(null==(e=de.self)?void 0:e.HTMLElement))return;const{CSSClasses:a}=de.self;de.self.HTMLElement.querySelectorAll(`.${de.self.CSSClasses.dayBtnHover}`).forEach((e=>{var t;e.classList.remove(de.self.CSSClasses.dayBtnHover),null==(t=e.parentElement)||t.classList.remove(a.dayHoverIntermediate,a.dayHoverFirst,a.dayHoverLast)}))},se=(e,a,t)=>{var n,l,r;if(!(null==(n=de.self)?void 0:n.selectedDates))return;const d=m(e),{CSSClasses:i}=de.self;if(null==(l=de.self.rangeDisabled)?void 0:l.includes(d))return;const s=null==(r=de.self.HTMLElement)?void 0:r.querySelectorAll(`[data-calendar-day="${d}"]`);null==s||s.forEach((e=>{var a;e.classList.add(i.dayBtnHover),null==(a=e.parentElement)||a.classList.add(i.dayHoverIntermediate)})),null==a||a.forEach((e=>{var a;return null==(a=e.parentElement)?void 0:a.classList.add(i.dayHoverFirst)})),null==t||t.forEach((e=>{var a;return null==(a=e.parentElement)?void 0:a.classList.add(i.dayHoverLast)}))},ce=e=>{var a;if(!e.target||!(null==(a=de.self)?void 0:a.selectedDates))return;if(!e.target.closest(`.${de.self.CSSClasses.days}`))return void ie();const t=e.target.closest("[data-calendar-day]");if(!t)return;const n=t.dataset.calendarDay,l=y(de.self.selectedDates[0]),r=y(n),d=de.self.HTMLElement.querySelectorAll(`[data-calendar-day="${de.self.selectedDates[0]}"]`),i=de.self.HTMLElement.querySelectorAll(`[data-calendar-day="${n}"]`),[s,c]=l{de.self&&"Escape"===e.key&&(de.self.selectedDates=[],de.self.HTMLElement.removeEventListener("mousemove",ce),document.removeEventListener("keydown",oe),re(de.self))},_e=(e,a)=>{var t;if(a){const n=1===e.selectedDates.length&&e.selectedDates[0].includes(a);e.selectedDates=n&&!e.settings.selection.cancelableDay?[a,a]:n&&e.settings.selection.cancelableDay?[]:e.selectedDates.length>1?[a]:[...e.selectedDates,a],null==(t=e.selectedDates)||t.sort(((e,a)=>+new Date(e)-+new Date(a)))}e.settings.range.disableGaps&&(de.rangeMin=de.rangeMin?de.rangeMin:e.rangeMin,de.rangeMax=de.rangeMax?de.rangeMax:e.rangeMax),de.self=e,{set:()=>{e.HTMLElement.addEventListener("mousemove",ce),document.addEventListener("keydown",oe),e.settings.range.disableGaps&&(()=>{var e,a,t;if(!(null==(a=null==(e=de.self)?void 0:e.selectedDates)?void 0:a[0])||!(null==(t=de.self.rangeDisabled)?void 0:t[0]))return;const n=y(de.self.selectedDates[0]),[l,r]=de.self.rangeDisabled.map((e=>y(e))).reduce((([e,a],t)=>[n>=t?t:e,n{const[a,t]=[e.selectedDates[0],e.selectedDates[e.selectedDates.length-1]];e.selectedDates=e.selectedDates[0]!==e.selectedDates[e.selectedDates.length-1]?e.settings.range.edgesOnly?[a,t]:g([`${a}:${t}`]):[e.selectedDates[0],e.selectedDates[0]],e.HTMLElement.removeEventListener("mousemove",ce),document.removeEventListener("keydown",oe),e.settings.range.disableGaps&&de.self&&(de.self.rangeMin=de.rangeMin,de.self.rangeMax=de.rangeMax)}}[1===e.selectedDates.length?"set":"reset"]()},he=(e,a,t)=>{if(!a.dataset.calendarDay)return;const n=a.dataset.calendarDay,l=a.classList.contains(e.CSSClasses.dayBtnSelected);if(l&&!e.settings.selection.cancelableDay)return;let r=!0;void 0!==e.toggleSelected&&(r="function"==typeof e.toggleSelected?e.toggleSelected(e):e.toggleSelected),l&&!r||(e.selectedDates=l?e.selectedDates.filter((e=>e!==n)):t?[...e.selectedDates,n]:[n])},ve=(e,a,t,n,l)=>{const r=e.HTMLElement.querySelectorAll(`.${e.CSSClasses.column}`),d=Array.from(r).findIndex((e=>e.classList.contains(a))),i=Number(r[d].querySelector(`.${t}`).getAttribute(l));return"month"===e.currentType&&d>=0?n-d:"year"===e.currentType&&e.selectedYear!==i?n-1:n},ue=(e,a,t,n)=>{if(!e.settings.selection[t])return;const l=a.target,r=e=>l.closest(`.${e}`),d=r(n.header),i=r(n.item),s=r(e.CSSClasses.grid),c=r(e.CSSClasses.column);e.currentType!==t&&d?{year:()=>z(e,l),month:()=>q(e,l)}[t]():i?((e,a,t,n,l)=>{const r={year:()=>{var t,n;return null==(n=(t=e.actions).clickYear)?void 0:n.call(t,a,e)},month:()=>{var t,n;return null==(n=(t=e.actions).clickMonth)?void 0:n.call(t,a,e)}};({year:()=>{if("multiple"===e.type){const a=ve(e,e.CSSClasses.columnYear,e.CSSClasses.year,Number(l.dataset.calendarYear),"data-calendar-selected-year"),t=e.selectedMonthe.dateMax.getMonth()&&a>=e.dateMax.getFullYear(),r=ae.dateMax.getFullYear();t||r?(e.selectedYear=e.dateMin.getFullYear(),e.selectedMonth=e.dateMin.getMonth()):n||d?(e.selectedYear=e.dateMax.getFullYear(),e.selectedMonth=e.dateMax.getMonth()):e.selectedYear=a}else e.selectedYear=Number(l.dataset.calendarYear)},month:()=>{if("multiple"===e.type){const a=ve(e,e.CSSClasses.columnMonth,e.CSSClasses.month,Number(l.dataset.calendarMonth),"data-calendar-selected-month"),t=l.closest(`.${n.column}`).querySelector(`.${e.CSSClasses.year}`);e.selectedYear=Number(t.dataset.calendarSelectedYear);const r=ae.dateMax.getMonth()&&e.selectedYear>=e.dateMax.getFullYear();e.selectedMonth=r?e.dateMin.getMonth():d?e.dateMax.getMonth():a}else e.selectedMonth=Number(l.dataset.calendarMonth)}})[t](),r[t](),e.currentType=e.type,re(e)})(e,a,t,n,i):(e.currentType===t&&d||"multiple"===e.type&&e.currentType===t&&s&&!c)&&(e.currentType=e.type,re(e))},me=e=>{const a=a=>{((e,a)=>{const t=a.target.closest(`.${e.CSSClasses.arrow}`);t&&(["default","multiple"].includes(e.currentType)?Y(e,t.dataset.calendarArrow):"year"===e.currentType&&void 0!==e.viewYear&&(e.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],z(e,a.target)),e.actions.clickArrow&&e.actions.clickArrow(a,e))})(e,a),((e,a)=>{var t;if(!e.settings.visibility.weekNumbers||!e.actions.clickWeekNumber)return;const n=a.target.closest(`.${e.CSSClasses.weekNumber}`),l=null==(t=e.HTMLElement)?void 0:t.querySelectorAll("[data-calendar-week-number]");if(!n||!l)return;const r=Number(n.innerText),d=Number(n.dataset.calendarYearWeek),i=Array.from(l).filter((e=>Number(e.dataset.calendarWeekNumber)===r));e.actions.clickWeekNumber(a,r,i,d,e)})(e,a),((e,a)=>{var t;const n=a.target,l=e=>n.closest(`.${e}`),r=l(e.CSSClasses.dayBtn);if(!e.settings.selection.day||!["single","multiple","multiple-ranged"].includes(e.settings.selection.day)||!r)return;({single:()=>he(e,r,!1),multiple:()=>he(e,r,!0),"multiple-ranged":()=>_e(e,r.dataset.calendarDay)})[e.settings.selection.day](),null==(t=e.selectedDates)||t.sort(((e,a)=>+new Date(e)-+new Date(a))),e.actions.clickDay&&e.actions.clickDay(a,e),e.input&&e.HTMLInputElement&&e.HTMLElement&&e.actions.changeToInput&&e.actions.changeToInput(a,e);const d=l(e.CSSClasses.dayBtnPrev),i=l(e.CSSClasses.dayBtnNext);({prev:()=>Y(e,"prev"),next:()=>Y(e,"next"),default:()=>H(e)})[d?"prev":i?"next":"default"]()})(e,a),ue(e,a,"month",{header:e.CSSClasses.month,item:e.CSSClasses.monthsMonth,column:e.CSSClasses.columnMonth}),ue(e,a,"year",{header:e.CSSClasses.year,item:e.CSSClasses.yearsYear,column:e.CSSClasses.columnYear})};return e.HTMLElement.addEventListener("click",a),()=>e.HTMLElement.removeEventListener("click",a)},ye=(e,{year:a,month:t,dates:n,holidays:l,time:r}={})=>{var d;const i=s({},e.settings.selected);e.settings.selected.year=a?i.year:e.selectedYear,e.settings.selected.month=t?i.month:e.selectedMonth,e.settings.selected.holidays=l?i.holidays:e.selectedHolidays,e.settings.selected.time=r?i.time:e.selectedTime,e.settings.selected.dates="only-first"===n&&(null==(d=e.selectedDates)?void 0:d[0])?[e.selectedDates[0]]:!0===n?i.dates:e.selectedDates,w(e),re(e),e.settings.selected=i,"multiple-ranged"===e.settings.selection.day&&n&&_e(e)},ge=(e,a=!0)=>{e.isInputInit=!0;const t=document.createElement("div");return t.className=`${e.CSSClasses.calendar} ${e.CSSClasses.calendarToInput} ${e.CSSClasses.calendarHidden}`,e.HTMLElement=t,document.body.appendChild(e.HTMLElement),e.HTMLElement.style.visibility="hidden",a&&queueMicrotask((()=>{$(e.HTMLInputElement,t,e.settings.visibility.positionToInput,e.CSSClasses),e.HTMLElement.style.visibility="visible",e.show()})),ye(e,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),e.actions.initCalendar&&e.actions.initCalendar(e),me(e)};class be extends u{constructor(e,a){if(super(),c(this,"init",(()=>{return(e=this).HTMLOriginalElement=e.HTMLElement.cloneNode(!0),e.isInit=!0,e.input?(e=>{const a=[];e.HTMLInputElement=e.HTMLElement;const t=()=>$(e.HTMLInputElement,e.HTMLElement,e.settings.visibility.positionToInput,e.CSSClasses),n=a=>{"Escape"===a.key&&((null==e?void 0:e.HTMLInputElement)&&(null==e?void 0:e.HTMLElement)&&e.hide(),document.removeEventListener("keydown",n))},l=a=>{var n;e&&a.target!==e.HTMLInputElement&&!(null==(n=e.HTMLElement)?void 0:n.contains(a.target))&&(e.HTMLInputElement&&e.HTMLElement&&e.hide(),window.removeEventListener("resize",t),document.removeEventListener("click",l,{capture:!0}))},r=()=>{e.isInputInit?($(e.HTMLInputElement,e.HTMLElement,e.settings.visibility.positionToInput,e.CSSClasses),e.HTMLElement.style.visibility="visible",e.show()):a.push(ge(e)),window.addEventListener("resize",t),document.addEventListener("click",l,{capture:!0}),document.addEventListener("keydown",n)};return e.HTMLInputElement.addEventListener("click",r),e.HTMLInputElement.addEventListener("focus",r),()=>{a.forEach((e=>e()))}})(e):(w(e),re(e),e.actions.initCalendar&&e.actions.initCalendar(e),me(e));var e})),c(this,"update",(e=>((e,{year:a,month:t,dates:n,holidays:l,time:r}={})=>{if(!e.isInit)throw new Error(f);e.input&&!e.isInputInit&&ge(e,!1),ye(e,{year:a,month:t,dates:n,holidays:l,time:r}),e.actions.updateCalendar&&e.actions.updateCalendar(e)})(this,e))),c(this,"destroy",(()=>(e=>{var a,t,n,l,r,d;if(!e.isInit)throw new Error(f);e.input?(null==(t=null==(a=e.HTMLElement)?void 0:a.parentElement)||t.removeChild(e.HTMLElement),null==(l=null==(n=e.HTMLInputElement)?void 0:n.replaceWith)||l.call(n,e.HTMLOriginalElement),e.HTMLInputElement=void 0):null==(d=null==(r=e.HTMLElement)?void 0:r.replaceWith)||d.call(r,e.HTMLOriginalElement),e.HTMLElement=e.HTMLOriginalElement,e.actions.destroyCalendar&&e.actions.destroyCalendar(e)})(this))),c(this,"show",(()=>{var e;(e=this).currentType?(e.HTMLElement.classList.remove(e.CSSClasses.calendarHidden),e.actions.showCalendar&&e.actions.showCalendar(e)):e.HTMLElement.click()})),c(this,"hide",(()=>{var e;(e=this).currentType&&(e.HTMLElement.classList.add(e.CSSClasses.calendarHidden),e.actions.hideCalendar&&e.actions.hideCalendar(e))})),this.HTMLElement="string"==typeof e?document.querySelector(e):e,!this.HTMLElement)throw new Error((e=>`${e} is not found, check the first argument passed to new VanillaCalendar.`)(e));if(!a)return;const t=(e,a)=>{Object.keys(a).forEach((n=>{"object"!=typeof e[n]||"object"!=typeof a[n]||a[n]instanceof Date?e[n]=a[n]:t(e[n],a[n])}))};t(this,a)}}var pe=t(5072),fe=t.n(pe),we=t(7825),ke=t.n(we),Me=t(7659),Se=t.n(Me),Ce=t(5056),xe=t.n(Ce),De=t(540),$e=t.n(De),Te=t(1113),Le=t.n(Te),He=t(7485),Ee={};Ee.styleTagTransform=Le(),Ee.setAttributes=xe(),Ee.insert=Se().bind(null,"head"),Ee.domAPI=ke(),Ee.insertStyleElement=$e(),fe()(He.A,Ee),He.A&&He.A.locals&&He.A.locals;var Ye=t(4353),Ne=t.n(Ye);function Ae(e){return function(a,t){if(t.HTMLInputElement)if(t.selectedDates[1]){t.selectedDates.sort(((e,a)=>+new Date(e)-+new Date(a)));var n=t.selectedDates.map((a=>(t?.selectedTime&&(a=a+" "+t.selectedTime),Ne()(a).format(e))));t.HTMLInputElement.value=`${n[0]} — ${n[n.length-1]}`}else if(t.selectedDates[0]){var l=t.selectedDates[0];t?.selectedTime&&(l=l+" "+t.selectedTime),t.HTMLInputElement.value=Ne()(l).format(e)}else t.HTMLInputElement.value=""}}const Ie=(e,...a)=>Object.fromEntries(a.filter((a=>a in e)).map((a=>[a,e[a]])));var je=new Shiny.InputBinding;a().extend(je,{store:[],updateStore:(e,a)=>{je.store[e.id]=a},value:[],updateValue:(e,a)=>{je.value[e.id]=a},type:[],updateType:(e,a)=>{je.type[e.id]=a},find:e=>a()(e).find(".vanilla-calendar-pro"),getValue:e=>je.value[e.id],setValue:(e,a)=>{},getType:e=>je.type[e.id],subscribe:(e,t)=>{a()(e).on("change.calendarProBinding",(function(e){t()}))},unsubscribe:e=>{a()(e).off(".calendarProBinding")},receiveMessage:(e,t)=>{if(t.hasOwnProperty("label")){var n=a()("#"+e.id+"-label");!function(e,a){if(void 0!==e){if(1!==a.length)throw new Error("labelNode must be of length 1");Array.isArray(e)&&0===e.length?a.addClass("shiny-label-null"):(a.html(e),a.removeClass("shiny-label-null"))}}(t.label,n)}},initialize:e=>{var t,n=e.querySelector(".calendar-pro-element"),l=e.querySelector('script[data-for="'+e.id+'"]');function r(t,n){je.updateValue(e,Ie(n,"selectedDates","selectedHolidays","selectedMonth","selectedYear","selectedHours","selectedMinutes","selectedTime","selectedKeeping")),a()(e).trigger("change")}(l=JSON.parse(l.text)).hasOwnProperty("actions")||(l.actions={}),l.actions.clickDay=r,l.actions.clickMonth=r,l.actions.clickYear=r,l.actions.changeTime=r,l.weekNumbersSelect&&(l.actions.clickWeekNumber=function(t,n,r,d,i){i.settings.selected.dates=r.map((e=>e.dataset.calendarDay)),i.update({dates:!0}),je.updateValue(e,Ie(i,"selectedDates","selectedHolidays","selectedMonth","selectedYear","selectedHours","selectedMinutes","selectedTime","selectedKeeping")),a()(e).trigger("change"),Ae(l.format)(t,i)}),"multiple"==l.type?"multiple-ranged"==l.settings.selection.day?l.actions.changeToInput=Ae(l.format):l.actions.changeToInput=(t=l.format,function(e,a){if(a.HTMLInputElement)if(a.selectedDates[0]){var n=a.selectedDates.map((e=>(a?.selectedTime&&(e=e+" "+a.selectedTime),Ne()(e).format(t))));a.HTMLInputElement.value=n.join(" — ")}else a.HTMLInputElement.value=""}):"month"==l.type?l.actions.onClickMonth=function(e){return function(a,t){if(a.HTMLInputElement)if(console.log(a),a.selectedMonth[0]){var n=a.selectedYear[0]+"-"+a.selectedMonth[0]+"-01";a.HTMLInputElement.value=Ne()(n).format(e)}else a.HTMLInputElement.value=""}}(l.format):l.actions.changeToInput=function(e){return function(a,t){if(t.HTMLInputElement)if(t.selectedDates[0]){var n=t.selectedDates[0];t?.selectedTime&&(n=n+" "+t.selectedTime),t.HTMLInputElement.value=Ne()(n).format(e)}else t.HTMLInputElement.value=""}}(l.format);const d=new be(n,l);d.init(),je.updateStore(e,d),je.updateValue(e,{selectedDates:l?.settings?.selected?.dates,selectedMonth:l?.settings?.selected?.month,selectedYear:l?.settings?.selected?.year,selectedTime:l?.settings?.selected?.time}),je.updateType(e,l.parseValue),a()(e).trigger("change")}}),Shiny.inputBindings.register(je,"shinyWidgets.calendarProBinding")})()})(); \ No newline at end of file +(()=>{var e={5051:(e,t,a)=>{"use strict";a.d(t,{A:()=>u});var d=a(1601),n=a.n(d),o=a(6314),c=a.n(o),r=a(4417),i=a.n(r),l=new URL(a(1),a.b),s=new URL(a(9293),a.b),v=c()(n()),h=i()(l),m=i()(s);v.push([e.id,'/*! name: vanilla-calendar-pro v3.0.3 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */[data-vc=calendar]{border-radius:.75rem;box-sizing:border-box;display:flex;flex-direction:column;min-width:272px;opacity:1;padding:1rem;position:relative;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}[data-vc=calendar] [tabindex="0"]:focus-visible,[data-vc=calendar] button:focus-visible,[data-vc=calendar]:focus-visible{border-radius:.5rem;outline-offset:-1px;outline-style:solid;outline-width:1px}[data-vc=calendar][data-vc-type=multiple] [data-vc=dates]{flex-grow:0}[data-vc=calendar][data-vc-calendar-hidden]{opacity:0;pointer-events:none}[data-vc=calendar][data-vc-calendar-hidden] *{pointer-events:none!important}[data-vc=calendar][data-vc-input]{position:absolute}[data-vc=calendar][data-vc-input][data-vc-position=bottom]{margin-top:.25rem}[data-vc=calendar][data-vc-input][data-vc-position=top]{margin-top:-.25rem}[data-vc=controls]{align-items:center;box-sizing:content-box;display:flex;justify-content:space-between;left:0;padding-left:1rem;padding-right:1rem;padding-top:1.25rem;pointer-events:none;position:absolute;right:0;top:0;z-index:20}[data-vc-arrow]{background-color:transparent;border-width:0;cursor:pointer;display:block;height:1.5rem;pointer-events:auto;position:relative;width:1.5rem}[data-vc-arrow]:before{background-position:50%;background-repeat:no-repeat;height:100%;left:0;position:absolute;top:0;width:100%;--tw-content:"";content:var(--tw-content)}[data-vc-arrow=prev]:before{transform:rotate(90deg)}[data-vc-arrow=next]:before{transform:rotate(-90deg)}[data-vc=grid]{display:flex;flex-grow:1;flex-wrap:wrap;gap:1.75rem}[data-vc=grid][data-vc-grid=hidden] [data-vc=column]{opacity:.3;pointer-events:none}[data-vc=grid][data-vc-grid=hidden] [data-vc=column][data-vc-column=month],[data-vc=grid][data-vc-grid=hidden] [data-vc=column][data-vc-column=year]{opacity:1;pointer-events:auto}[data-vc=column]{display:flex;flex-direction:column;flex-grow:1;min-width:240px}[data-vc=header]{align-items:center;display:flex;margin-bottom:.75rem;position:relative}[data-vc-header=content]{align-items:center;display:grid;flex-grow:1;grid-auto-columns:max-content;grid-auto-flow:column;justify-content:center;padding-left:1rem;padding-right:1rem;white-space:pre-wrap}[data-vc=month],[data-vc=year]{background-color:transparent;border-radius:.25rem;border-width:0;cursor:pointer;font-size:1rem;font-weight:700;line-height:1.5rem;padding:.25rem}[data-vc=month]:disabled,[data-vc=year]:disabled{pointer-events:none}[data-vc=content],[data-vc=wrapper]{display:flex;flex-grow:1}[data-vc=content]{flex-direction:column}[data-vc=months]{grid-template-columns:repeat(4,minmax(0,1fr))}[data-vc=months],[data-vc=years]{align-items:center;-moz-column-gap:.25rem;column-gap:.25rem;display:grid;flex-grow:1;row-gap:1rem}[data-vc=years]{grid-template-columns:repeat(5,minmax(0,1fr))}[data-vc-months-month],[data-vc-years-year]{align-items:center;border-radius:.5rem;border-width:0;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;height:2.5rem;justify-content:center;line-height:1rem;padding:.25rem;text-align:center;word-break:break-all}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{pointer-events:none}[data-vc-week=numbers]{display:flex;flex-direction:column}[data-vc-week-numbers=title]{align-items:center;display:flex;font-size:.75rem;font-weight:700;justify-content:center;line-height:1rem;margin-bottom:.5rem}[data-vc-week-numbers=content]{align-items:center;display:grid;grid-auto-flow:row;justify-items:center;row-gap:.25rem}[data-vc-week-number]{align-items:center;background-color:transparent;border-style:none;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;justify-content:center;line-height:1rem;margin:0;min-height:1.875rem;min-width:1.875rem;padding:0;width:100%}[data-vc=week]{display:grid;grid-template-columns:repeat(7,1fr);justify-items:center;margin-bottom:.5rem}[data-vc-week-day]{align-items:center;background-color:transparent;border-style:none;display:flex;font-size:.75rem;font-weight:700;justify-content:center;line-height:1rem;margin:0;min-width:1.875rem;padding:0;width:100%}button[data-vc-week-day]{cursor:pointer}[data-vc=dates]{align-items:center;display:grid;flex-grow:1;grid-template-columns:repeat(7,1fr);justify-items:center;pointer-events:none}[data-vc=dates][data-vc-dates-disabled] [data-vc-date-btn]{cursor:default}[data-vc-date]{align-items:center;display:flex;justify-content:center;padding-bottom:.125rem;padding-top:.125rem;pointer-events:auto;position:relative;width:100%}[data-vc-date]:not(:has([data-vc-date-btn])),[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date][data-vc-date-hover] [data-vc-date-btn]{border-radius:0}[data-vc-date][data-vc-date-hover=first] [data-vc-date-btn]{border-bottom-left-radius:.5rem;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-top-right-radius:0}[data-vc-date][data-vc-date-hover=last] [data-vc-date-btn]{border-bottom-left-radius:0;border-bottom-right-radius:.5rem;border-top-left-radius:0;border-top-right-radius:.5rem}[data-vc-date][data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:.5rem}[data-vc-date][data-vc-date-hover=first][data-vc-date-selected] [data-vc-date-btn]{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}[data-vc-date][data-vc-date-hover=last][data-vc-date-selected] [data-vc-date-btn]{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}[data-vc-date][data-vc-date-selected=first] [data-vc-date-btn]{border-bottom-left-radius:.5rem;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-top-right-radius:0}[data-vc-date][data-vc-date-selected=last] [data-vc-date-btn]{border-bottom-left-radius:0;border-bottom-right-radius:.5rem;border-top-left-radius:0;border-top-right-radius:.5rem}[data-vc-date][data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}[data-vc-date][data-vc-date-selected=middle] [data-vc-date-btn]{border-radius:0}[data-vc-date][data-vc-date-disabled]+[data-vc-date-hover] [data-vc-date-btn],[data-vc-date][data-vc-date-disabled]+[data-vc-date-selected] [data-vc-date-btn]{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}[data-vc-date][data-vc-date-hover]:has(+[data-vc-date-disabled]) [data-vc-date-btn],[data-vc-date][data-vc-date-selected]:has(+[data-vc-date-disabled]) [data-vc-date-btn]{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}[data-vc-date-btn]:focus-visible+[data-vc-date-popup],[data-vc-date-btn]:hover+[data-vc-date-popup],[data-vc-date-popup]:focus-visible,[data-vc-date-popup]:hover{opacity:1;pointer-events:auto}[data-vc-date-btn]{align-items:center;border-radius:.5rem;border-width:0;cursor:pointer;display:flex;font-size:.75rem;font-weight:400;height:100%;justify-content:center;line-height:1rem;min-height:1.875rem;min-width:1.875rem;padding:0;transition-duration:75ms;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}[data-vc-date][data-vc-date-today] [data-vc-date-btn]{font-weight:700}[data-vc-date-popup]{max-width:9rem;min-width:5rem;pointer-events:none;position:absolute;z-index:20;--tw-translate-x:-50%;border-radius:.5rem;font-size:.75rem;font-weight:400;line-height:1rem;opacity:0;padding:.25rem .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:75ms;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}[data-vc-date-popup]:hover{opacity:1;pointer-events:auto}[data-vc-date-range-tooltip]{max-width:9rem;pointer-events:none;position:absolute;z-index:30;--tw-translate-x:-50%;--tw-translate-y:-100%;border-radius:.375rem;font-size:.75rem;font-weight:400;line-height:1rem;padding:.25rem .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[data-vc-date-range-tooltip=hidden]{opacity:0}[data-vc-date-range-tooltip=visible]{opacity:1}[data-vc=time]{border-style:solid;border-width:1px 0 0;display:grid;gap:.75rem;grid-template-columns:auto 1fr;margin-top:.75rem;padding-top:.75rem}[data-vc-time=content]{align-items:center;display:grid;grid-auto-flow:column}[data-vc-time-input=hour]{margin-right:.35rem;position:relative;width:1.75rem}[data-vc-time-input=hour]:after{display:block;margin-top:calc(-50% + 1px);position:absolute;right:-5px;top:50%;--tw-content:":";content:var(--tw-content)}[data-vc-time-input=minute]{width:1.75rem}[data-vc-time-input=hour] input,[data-vc-time-input=minute] input{border-radius:.25rem;border-width:0;box-sizing:border-box;display:block;font-size:1.125rem;font-weight:600;line-height:1.125rem;margin:0;padding:.125rem;position:relative;text-align:center;width:100%}[data-vc-time-input=hour] input:focus-visible,[data-vc-time-input=minute] input:focus-visible{outline-style:solid;outline-width:1px}[data-vc-time-input=hour] input:disabled,[data-vc-time-input=minute] input:disabled{cursor:default}[data-vc-time-input=hour] input:hover:disabled,[data-vc-time-input=minute] input:hover:disabled,[data-vc-time=keeping]{background-color:transparent}[data-vc-time=keeping]{border-radius:.25rem;border-width:0;cursor:pointer;font-size:.69rem;margin-left:1px;margin-top:.25rem;padding:0;width:22px}[data-vc-time=keeping]:focus-visible{outline-style:solid;outline-width:1px}[data-vc-time=keeping]:disabled{cursor:default}[data-vc-time=keeping]:hover:disabled{background-color:transparent}[data-vc-time=ranges]{display:grid;grid-auto-flow:row}[data-vc-time-range]{font-size:0;position:relative;z-index:10}[data-vc-time-range]:before{content:var(--tw-content);left:0}[data-vc-time-range]:after{content:var(--tw-content);right:0}[data-vc-time-range]:after,[data-vc-time-range]:before{content:"";height:.5rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:1px;z-index:10}[data-vc-time-range] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;height:1.25rem;margin:0;outline-width:0;position:relative;width:100%}[data-vc-time-range] input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;border-radius:.25rem;border-style:solid;border-width:1px;box-sizing:border-box;cursor:pointer;height:1rem;margin-top:-.5rem;position:relative;width:.75rem;z-index:20;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-time-range] input::-moz-range-thumb{border-radius:.25rem;border-style:solid;border-width:1px;box-sizing:border-box;cursor:pointer;height:1rem;position:relative;width:.75rem;z-index:20;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-time-range] input::-webkit-slider-runnable-track{box-sizing:border-box;cursor:pointer;height:1px;margin-top:1px;width:100%;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-time-range] input::-moz-range-track{box-sizing:border-box;cursor:pointer;height:1px;margin-top:1px;width:100%;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-theme=light].vc{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:#0f172a}[data-vc-theme=light].vc[data-vc-input]{--tw-shadow:0 9px 20px rgba(0,0,0,.1);--tw-shadow-colored:0 9px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-theme=light].vc [tabindex="0"]:focus-visible,[data-vc-theme=light].vc button:focus-visible,[data-vc-theme=light].vc:focus-visible{outline-color:#fdba74}[data-vc-theme=light] .vc-arrow{background-color:transparent}[data-vc-theme=light] .vc-arrow:before{background-image:url('+h+');content:var(--tw-content)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-arrow:hover:before{content:var(--tw-content);opacity:.6}}[data-vc-theme=light] .vc-header__content,[data-vc-theme=light] .vc-month,[data-vc-theme=light] .vc-year{color:#0f172a}[data-vc-theme=light] .vc-month:disabled,[data-vc-theme=light] .vc-year:disabled{color:#cbd5e1}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-month:hover,[data-vc-theme=light] .vc-year:hover{color:#64748b}}[data-vc-theme=light] .vc-months__month,[data-vc-theme=light] .vc-years__year{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:#64748b}[data-vc-theme=light] .vc-months__month:disabled,[data-vc-theme=light] .vc-years__year:disabled{color:#cbd5e1}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-months__month:hover,[data-vc-theme=light] .vc-years__year:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-months__month:hover:disabled,[data-vc-theme=light] .vc-years__year:hover:disabled{color:#cbd5e1}}[data-vc-theme=light] .vc-months__month[data-vc-months-month-selected],[data-vc-theme=light] .vc-years__year[data-vc-years-year-selected]{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity));color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-months__month[data-vc-months-month-selected]:hover,[data-vc-theme=light] .vc-years__year[data-vc-years-year-selected]:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity));color:#fff}}[data-vc-theme=light] .vc-week-number,[data-vc-theme=light] .vc-week-numbers__title{color:#64748b}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-week-number:hover{color:#475569}}[data-vc-theme=light] .vc-week__day{color:#64748b}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] button.vc-week__day:hover{color:#475569}}[data-vc-theme=light] .vc-week__day[data-vc-week-day-off]{color:#f43f5e}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] button.vc-week__day[data-vc-week-day-off]:hover{color:#e11d48}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-selected] .vc-date__btn{background-color:rgb(244 63 94/var(--tw-bg-opacity));--tw-bg-opacity:0.7;color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-selected] .vc-date__btn:hover{background-color:rgb(244 63 94/var(--tw-bg-opacity));--tw-bg-opacity:0.7;color:#fff}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:#64748b}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:#64748b}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-selected] .vc-date__btn{background-color:rgb(6 182 212/var(--tw-bg-opacity));--tw-bg-opacity:0.7;color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-selected] .vc-date__btn:hover{background-color:rgb(6 182 212/var(--tw-bg-opacity));--tw-bg-opacity:0.7;color:#fff}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:#64748b}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:#64748b}}[data-vc-theme=light] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:#0f172a}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-date[data-vc-date-today] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity));color:#06b6d4}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-today] .vc-date__btn:hover{color:#06b6d4}}[data-vc-theme=light] .vc-date[data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-today][data-vc-date-month=prev] .vc-date__btn{color:#64748b}[data-vc-theme=light] .vc-date[data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-month=prev] .vc-date__btn{color:#94a3b8}[data-vc-theme=light] .vc-date[data-vc-date-disabled] .vc-date__btn{color:#cbd5e1}[data-vc-theme=light] .vc-date[data-vc-date-hover] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-date[data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-hover=last] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-hover=last] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-date[data-vc-date-holiday] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend] .vc-date__btn{color:#f43f5e}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=last] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=last] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=last] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=last] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-disabled] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-disabled] .vc-date__btn{color:#cbd5e1}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today] .vc-date__btn{color:#f43f5e}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-disabled] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-disabled] .vc-date__btn{color:#cbd5e1}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:#94a3b8}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-month=prev] .vc-date__btn{color:#94a3b8}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-disabled][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-disabled][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-disabled][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-disabled][data-vc-date-month=prev] .vc-date__btn{color:#cbd5e1}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity));color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity));color:#fff}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:#64748b}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:#64748b}}[data-vc-theme=light] .vc-date[data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity));color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity));color:#fff}}[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:#64748b}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:#64748b}}[data-vc-theme=light] .vc-date__popup{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:#0f172a;--tw-shadow:0 3px 15px rgba(85,85,85,.2);--tw-shadow-colored:0 3px 15px var(--tw-shadow-color)}[data-vc-theme=light] .vc-date-range-tooltip,[data-vc-theme=light] .vc-date__popup{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-theme=light] .vc-date-range-tooltip{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity));color:#64748b;--tw-shadow:0px 1px 4px rgba(85,85,85,.2);--tw-shadow-colored:0px 1px 4px var(--tw-shadow-color)}[data-vc-theme=light] .vc-time{border-color:#cbd5e1}[data-vc-theme=light] .vc-time__hour:after,[data-vc-theme=light] .vc-time__minute:after{color:#0f172a;content:var(--tw-content)}[data-vc-theme=light] .vc-time__hour input,[data-vc-theme=light] .vc-time__minute input{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:#0f172a}[data-vc-theme=light] .vc-time__hour input:focus-visible,[data-vc-theme=light] .vc-time__minute input:focus-visible{outline-color:#fdba74}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-time__hour input:hover,[data-vc-theme=light] .vc-time__minute input:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-time__hour input[data-vc-input-focus],[data-vc-theme=light] .vc-time__minute input[data-vc-input-focus]{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-time__keeping{color:#64748b}[data-vc-theme=light] .vc-time__keeping:focus-visible{outline-color:#fdba74}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-time__keeping:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}}[data-vc-theme=light] .vc-time__range input{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-time__range:after,[data-vc-theme=light] .vc-time__range:before{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-time__range:hover input::-webkit-slider-thumb{border-color:#94a3b8}[data-vc-theme=light] .vc-time__range:hover input::-moz-range-thumb{border-color:#94a3b8}[data-vc-theme=light] .vc-time__range input:focus-visible::-webkit-slider-thumb{border-color:#fdba74}[data-vc-theme=light] .vc-time__range input:focus-visible::-moz-range-thumb{border-color:#fdba74}[data-vc-theme=light] .vc-time__range input::-webkit-slider-thumb{border-color:#cbd5e1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-time__range input::-moz-range-thumb{border-color:#cbd5e1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-time__range input::-webkit-slider-runnable-track{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}[data-vc-theme=light] .vc-time__range input::-moz-range-track{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}[data-vc-theme=dark].vc{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));color:#fff}[data-vc-theme=dark].vc[data-vc-input]{--tw-shadow:0 9px 20px rgba(0,0,0,.1);--tw-shadow-colored:0 9px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-theme=dark].vc [tabindex="0"]:focus-visible,[data-vc-theme=dark].vc button:focus-visible,[data-vc-theme=dark].vc:focus-visible{outline-color:#fdba74}[data-vc-theme=dark] .vc-arrow{background-color:transparent}[data-vc-theme=dark] .vc-arrow:before{background-image:url('+m+");content:var(--tw-content)}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-arrow:hover:before{content:var(--tw-content);opacity:.6}}[data-vc-theme=dark] .vc-header__content,[data-vc-theme=dark] .vc-month,[data-vc-theme=dark] .vc-year{color:#fff}[data-vc-theme=dark] .vc-month:disabled,[data-vc-theme=dark] .vc-year:disabled{color:#334155;opacity:.8}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-month:hover,[data-vc-theme=dark] .vc-year:hover{color:#64748b}}[data-vc-theme=dark] .vc-months__month,[data-vc-theme=dark] .vc-years__year{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));color:#fff}[data-vc-theme=dark] .vc-months__month:disabled,[data-vc-theme=dark] .vc-years__year:disabled{color:#334155;opacity:.8}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-months__month:hover,[data-vc-theme=dark] .vc-years__year:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-months__month:hover:disabled,[data-vc-theme=dark] .vc-years__year:hover:disabled{color:#334155}}[data-vc-theme=dark] .vc-months__month[data-vc-months-month-selected],[data-vc-theme=dark] .vc-years__year[data-vc-years-year-selected]{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity));color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-months__month[data-vc-months-month-selected]:hover,[data-vc-theme=dark] .vc-years__year[data-vc-years-year-selected]:hover{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity));color:#fff}}[data-vc-theme=dark] .vc-week-number,[data-vc-theme=dark] .vc-week-numbers__title{color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-week-number:hover{color:#cbd5e1}}[data-vc-theme=dark] .vc-week__day{color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] button.vc-week__day:hover{color:#cbd5e1}}[data-vc-theme=dark] .vc-week__day[data-vc-week-day-off]{color:#f43f5e}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] button.vc-week__day[data-vc-week-day-off]:hover{color:#e11d48}}[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-selected] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-selected] .vc-date__btn{background-color:rgb(244 63 94/var(--tw-bg-opacity));--tw-bg-opacity:0.8;color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-selected] .vc-date__btn:hover{background-color:rgb(244 63 94/var(--tw-bg-opacity));--tw-bg-opacity:0.8;color:#fff}}[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#cbd5e1}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#cbd5e1}}[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-selected] .vc-date__btn{background-color:rgb(6 182 212/var(--tw-bg-opacity));--tw-bg-opacity:0.8;color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-selected] .vc-date__btn:hover{background-color:rgb(6 182 212/var(--tw-bg-opacity));--tw-bg-opacity:0.8;color:#fff}}[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#cbd5e1}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-selected=middle][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#cbd5e1}}[data-vc-theme=dark] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));color:#94a3b8}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#e2e8f0}}[data-vc-theme=dark] .vc-date[data-vc-date-today] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#06b6d4}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-today] .vc-date__btn:hover{color:#06b6d4}}[data-vc-theme=dark] .vc-date[data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-today][data-vc-date-month=prev] .vc-date__btn{color:#475569}[data-vc-theme=dark] .vc-date[data-vc-date-disabled] .vc-date__btn{color:#334155;opacity:.8}[data-vc-theme=dark] .vc-date[data-vc-date-hover] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-date[data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-hover=last] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-hover=last] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}}[data-vc-theme=dark] .vc-date[data-vc-date-holiday] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend] .vc-date__btn{color:#f43f5e}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-holiday] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#f43f5e}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover=last] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover=last] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover=last] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover=last] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-disabled] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-disabled] .vc-date__btn{color:#334155;opacity:.8}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-today] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-today] .vc-date__btn{color:#f43f5e}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-disabled] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-disabled] .vc-date__btn{color:#334155}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));color:#475569}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));color:#cbd5e1}}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-hover][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-hover][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-month=prev] .vc-date__btn{color:#94a3b8}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-disabled][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-disabled][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-disabled][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-disabled][data-vc-date-month=prev] .vc-date__btn{color:#334155;opacity:.8}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity));color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity));color:#fff}}[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity));color:#cbd5e1}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity));color:#cbd5e1}}[data-vc-theme=dark] .vc-date[data-vc-date-selected] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity));color:#fff}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-selected] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity));color:#fff}}[data-vc-theme=dark] .vc-date[data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=dark] .vc-date[data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity));color:#cbd5e1}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-date[data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=dark] .vc-date[data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity));color:#cbd5e1}}[data-vc-theme=dark] .vc-date__popup{color:#fff}[data-vc-theme=dark] .vc-date-range-tooltip,[data-vc-theme=dark] .vc-date__popup{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));--tw-shadow:inset 0 0 0 1px hsla(0,0%,100%,.05);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-theme=dark] .vc-date-range-tooltip{color:#94a3b8}[data-vc-theme=dark] .vc-time{border-color:#1e293b}[data-vc-theme=dark] .vc-time__hour:after,[data-vc-theme=dark] .vc-time__minute:after{color:#fff;content:var(--tw-content)}[data-vc-theme=dark] .vc-time__hour input,[data-vc-theme=dark] .vc-time__minute input{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));color:#fff}[data-vc-theme=dark] .vc-time__hour input:focus-visible,[data-vc-theme=dark] .vc-time__minute input:focus-visible{outline-color:#fdba74}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-time__hour input:hover,[data-vc-theme=dark] .vc-time__minute input:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}}[data-vc-theme=dark] .vc-time__hour input[data-vc-input-focus],[data-vc-theme=dark] .vc-time__minute input[data-vc-input-focus]{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-time__keeping{color:#64748b}[data-vc-theme=dark] .vc-time__keeping:focus-visible{outline-color:#fdba74}@media (hover:hover) and (pointer:fine){[data-vc-theme=dark] .vc-time__keeping:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity));color:#94a3b8}}[data-vc-theme=dark] .vc-time__range input{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-time__range:after,[data-vc-theme=dark] .vc-time__range:before{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-time__range:hover input::-webkit-slider-thumb{border-color:#94a3b8}[data-vc-theme=dark] .vc-time__range:hover input::-moz-range-thumb{border-color:#94a3b8}[data-vc-theme=dark] .vc-time__range input:focus-visible::-webkit-slider-thumb{border-color:#fdba74}[data-vc-theme=dark] .vc-time__range input:focus-visible::-moz-range-thumb{border-color:#fdba74}[data-vc-theme=dark] .vc-time__range input::-webkit-slider-thumb{border-color:#475569;--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-time__range input::-moz-range-thumb{border-color:#475569;--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-time__range input::-webkit-slider-runnable-track{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}[data-vc-theme=dark] .vc-time__range input::-moz-range-track{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}",""]);const u=v},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a="",d=void 0!==t[5];return t[4]&&(a+="@supports (".concat(t[4],") {")),t[2]&&(a+="@media ".concat(t[2]," {")),d&&(a+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),a+=e(t),d&&(a+="}"),t[2]&&(a+="}"),t[4]&&(a+="}"),a})).join("")},t.i=function(e,a,d,n,o){"string"==typeof e&&(e=[[null,e,void 0]]);var c={};if(d)for(var r=0;r0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=o),a&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=a):s[2]=a),n&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=n):s[4]="".concat(n)),t.push(s))}},t}},4417:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},4353:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,a="millisecond",d="second",n="minute",o="hour",c="day",r="week",i="month",l="quarter",s="year",v="date",h="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],a=e%100;return"["+e+(t[(a-20)%10]||t[a]||t[0])+"]"}},g=function(e,t,a){var d=String(e);return!d||d.length>=t?e:""+Array(t+1-d.length).join(a)+e},p={s:g,z:function(e){var t=-e.utcOffset(),a=Math.abs(t),d=Math.floor(a/60),n=a%60;return(t<=0?"+":"-")+g(d,2,"0")+":"+g(n,2,"0")},m:function e(t,a){if(t.date()1)return e(c[0])}else{var r=t.name;f[r]=t,n=r}return!d&&n&&(y=n),n||!d&&y},k=function(e,t){if(x(e))return e.clone();var a="object"==typeof t?t:{};return a.date=e,a.args=arguments,new D(a)},M=p;M.l=_,M.i=x,M.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function b(e){this.$L=_(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var g=b.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,a=e.utc;if(null===t)return new Date(NaN);if(M.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var d=t.match(m);if(d){var n=d[2]-1||0,o=(d[7]||"0").substring(0,3);return a?new Date(Date.UTC(d[1],n,d[3]||1,d[4]||0,d[5]||0,d[6]||0,o)):new Date(d[1],n,d[3]||1,d[4]||0,d[5]||0,d[6]||0,o)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return M},g.isValid=function(){return!(this.$d.toString()===h)},g.isSame=function(e,t){var a=k(e);return this.startOf(t)<=a&&a<=this.endOf(t)},g.isAfter=function(e,t){return k(e){"use strict";var t=[];function a(e){for(var a=-1,d=0;d{"use strict";var t={};e.exports=function(e,a){var d=function(e){if(void 0===t[e]){var a=document.querySelector(e);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(e){a=null}t[e]=a}return t[e]}(e);if(!d)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");d.appendChild(a)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,a)=>{"use strict";e.exports=function(e){var t=a.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(a){!function(e,t,a){var d="";a.supports&&(d+="@supports (".concat(a.supports,") {")),a.media&&(d+="@media ".concat(a.media," {"));var n=void 0!==a.layer;n&&(d+="@layer".concat(a.layer.length>0?" ".concat(a.layer):""," {")),d+=a.css,n&&(d+="}"),a.media&&(d+="}"),a.supports&&(d+="}");var o=a.sourceMap;o&&"undefined"!=typeof btoa&&(d+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(d,e,t.options)}(t,e,a)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},9293:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zIi8+PC9zdmc+"},1:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iIzBmMTcyYSIgZD0iTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zIi8+PC9zdmc+"}},t={};function a(d){var n=t[d];if(void 0!==n)return n.exports;var o=t[d]={id:d,exports:{}};return e[d].call(o.exports,o,o.exports,a),o.exports}a.m=e,a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var d in t)a.o(t,d)&&!a.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:t[d]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.b=document.baseURI||self.location.href,a.nc=void 0,(()=>{"use strict";const e=jQuery;var t=a.n(e);Shiny;var d=Object.defineProperty,n=Object.defineProperties,o=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,l=(e,t,a)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,s=(e,t)=>{for(var a in t||(t={}))r.call(t,a)&&l(e,a,t[a]);if(c)for(var a of c(t))i.call(t,a)&&l(e,a,t[a]);return e},v=(e,t,a)=>(l(e,"symbol"!=typeof t?t+"":t,a),a);const h='The calendar has not been initialized, please initialize it using the "init()" method first.',m="You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».",u="For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.",b=(e,t,a)=>{e.context[t]=a};function g(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),a=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-a.clientTop,left:t.left+window.scrollX-a.clientLeft}}function p(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function y(e,t,a=5){const d={top:!0,bottom:!0,left:!0,right:!0},n=[];if(!t||!e)return{canShow:d,parentPositions:n};const{bottom:o,top:c}=function(e){const{top:t,left:a}={left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0},{top:d,left:n}=g(e),{vh:o,vw:c}=p(),r=d-t,i=n-a;return{top:r,bottom:o-(r+e.clientHeight),left:i,right:c-(i+e.clientWidth)}}(e),{top:r,left:i}=g(e),{height:l,width:s}=t.getBoundingClientRect(),{vh:v,vw:h}=p(),m=h/2,u=v/2;return[{condition:ru,position:"bottom"},{condition:im,position:"right"}].forEach((({condition:e,position:t})=>{e&&n.push(t)})),Object.assign(d,{top:l<=c-a,bottom:l<=o-a,left:s<=i,right:s<=h-i}),{canShow:d,parentPositions:n}}const f=e=>new Date(`${e}T00:00:00`),w=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,x=e=>e.reduce(((e,t)=>{if(t instanceof Date||"number"==typeof t){const a=t instanceof Date?t:new Date(t);e.push(a.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,((t,a,d)=>{const n=f(a),o=f(d),c=new Date(n.getTime());for(;c<=o;c.setDate(c.getDate()+1))e.push(w(c));return t}));return e}),[]),_=(e,t,a,d="")=>{t?e.setAttribute(a,d):e.getAttribute(a)===d&&e.removeAttribute(a)},k=(e,t,a,d,n,o,c)=>{var r,i,l,s;const v=f(e.context.displayDateMin)>f(o)||f(e.context.displayDateMax)1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?a.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?a.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&a.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&a.setAttribute("data-vc-date-selected","middle"))):a.hasAttribute("data-vc-date-selected")&&(a.removeAttribute("data-vc-date-selected"),d&&d.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=f(e.context.selectedDates[0]),d=f(e.context.selectedDates[e.context.selectedDates.length-1]),n=f(o);_(a,n>t&&n{const a=f(e),d=(a.getDay()-t+7)%7;a.setDate(a.getDate()+4-d);const n=new Date(a.getFullYear(),0,1),o=Math.ceil(((+a-+n)/864e5+1)/7);return{year:a.getFullYear(),week:o}},D=(e,t,a,d,n,o)=>{const c=f(n).getDay(),r="string"==typeof e.locale&&e.locale.length?e.locale:"en",i=document.createElement("div");let l;i.className=e.styles.date,i.dataset.vcDate=n,i.dataset.vcDateMonth=o,i.dataset.vcDateWeekDay=String(c),("current"===o||e.displayDatesOutside)&&(l=document.createElement("button"),l.className=e.styles.dateBtn,l.type="button",l.role="gridcell",l.ariaLabel=((e,t)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,{dateStyle:"long",timeZone:"UTC"}))(n,r),l.dataset.vcDateBtn="",l.innerText=String(d),i.appendChild(l)),e.enableWeekNumbers&&((e,t,a)=>{const d=M(a,e.firstWeekday);d&&(t.dataset.vcDateWeekNumber=String(d.week))})(e,i,n),((e,t,a)=>{var d,n,o,c,r;const i=null==(d=e.disableWeekdays)?void 0:d.includes(a),l=e.disableAllDates&&!!(null==(n=e.context.enableDates)?void 0:n[0]);!i&&!l||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(c=e.context.disableDates)?void 0:c.includes(t))||(e.context.disableDates.push(t),null==(r=e.context.disableDates)||r.sort(((e,t)=>+new Date(e)-+new Date(t))))})(e,n,c),k(e,t,i,l,c,n,o),a.appendChild(i),e.onCreateDateEls&&e.onCreateDateEls(e,i)},E=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),a=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),d=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');a.forEach(((a,n)=>{e.selectionDatesMode||(a.dataset.vcDatesDisabled=""),a.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+n);const c=o.getMonth(),r=o.getFullYear(),i=(new Date(r,c,1).getDay()-e.firstWeekday+7)%7,l=new Date(r,c+1,0).getDate();((e,t,a,d,n)=>{let o=new Date(a,d,0).getDate()-(n-1);const c=0===d?a-1:a,r=0===d?12:d<10?`0${d}`:d;for(let d=n;d>0;d--,o++)D(e,a,t,o,`${c}-${r}-${o}`,"prev")})(e,a,r,c,i),((e,t,a,d,n)=>{for(let o=1;o<=a;o++){const a=new Date(d,n,o);D(e,d,t,o,w(a),"current")}})(e,a,l,r,c),((e,t,a,d,n,o)=>{const c=o+a,r=7*Math.ceil(c/7)-c,i=n+1===12?d+1:d,l=n+1===12?"01":n+2<10?`0${n+2}`:n+2;for(let a=1;a<=r;a++){const n=a<10?`0${a}`:String(a);D(e,d,t,a,`${i}-${l}-${n}`,"next")}})(e,a,l,r,c,i),((e,t)=>{var a;e.popups&&(null==(a=Object.entries(e.popups))||a.forEach((([a,d])=>((e,t,a,d)=>{var n;const o=d.querySelector(`[data-vc-date="${t}"]`),c=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!c)return;if((null==a?void 0:a.modifier)&&c.classList.add(...a.modifier.trim().split(" ")),!(null==a?void 0:a.html))return;const r=document.createElement("div");r.className=e.styles.datePopup,r.dataset.vcDatePopup="",r.innerHTML=e.sanitizerHTML(a.html),c.ariaExpanded="true",c.ariaLabel=`${c.ariaLabel}, ${null==(n=null==r?void 0:r.textContent)?void 0:n.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/ /g," ")}`,o.appendChild(r),requestAnimationFrame((()=>{if(!r)return;const{canShow:e}=y(o,r),t=e.bottom?o.offsetHeight:-r.offsetHeight,a=e.left&&!e.right?o.offsetWidth-r.offsetWidth/2:!e.left&&e.right?r.offsetWidth/2:0;Object.assign(r.style,{left:`${a}px`,top:`${t}px`})}))})(e,a,d,t))))})(e,a),((e,t,a,d,n)=>{if(!e.enableWeekNumbers)return;d.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",d.appendChild(o);const c=document.createElement("div");c.className=e.styles.weekNumbersContent,c.dataset.vcWeekNumbers="content",d.appendChild(c);const r=document.createElement("button");r.type="button",r.className=e.styles.weekNumber;const i=n.querySelectorAll("[data-vc-date]"),l=Math.ceil((t+a)/7);for(let t=0;t`\n \n
\n <#WeekNumbers />\n
\n <#Week />\n <#Dates />\n <#DateRangeTooltip />\n
\n
\n <#ControlTime />\n`,$=e=>`\n \n
\n
\n <#Months />\n
\n
\n`,S=e=>`\n \n
\n <#Multiple>\n
\n
\n
\n <#Month />\n <#Year />\n
\n
\n
\n <#WeekNumbers />\n
\n <#Week />\n <#Dates />\n
\n
\n
\n <#/Multiple>\n <#DateRangeTooltip />\n
\n <#ControlTime />\n`,C=e=>`\n \n
\n
\n <#Years />\n
\n
\n`,A={ArrowNext:(e,t)=>``,ArrowPrev:(e,t)=>``,ControlTime:e=>e.selectionTimeMode?`
`:"",Dates:e=>`
`,DateRangeTooltip:e=>e.onCreateDateRangeTooltip?`
`:"",Month:e=>``,Months:e=>`
`,Week:e=>`
`,WeekNumbers:e=>e.enableWeekNumbers?`
`:"",Year:e=>``,Years:e=>`
`},Y=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((t,a)=>{const d=(a.match(/\[(.*?)\]/)||[])[1],n=(e=>A[e])(a.replace(/[/\s\n\t]|\[(.*?)\]/g,"")),o=n?n(e,null!=d?d:null):"";return e.sanitizerHTML(o)})).replace(/[\n\t]/g,""),L=(e,t)=>{const a={default:T,month:$,year:C,multiple:S};if(Object.keys(a).forEach((t=>{const d=t;e.layouts[d].length||(e.layouts[d]=a[d](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const a=e.context.mainElement.querySelector('[data-vc="controls"]'),d=e.context.mainElement.querySelector('[data-vc="grid"]'),n=t.closest('[data-vc="column"]');return a&&e.context.mainElement.removeChild(a),d&&(d.dataset.vcGrid="hidden"),n&&(n.dataset.vcColumn=e.context.currentType),void(n&&(n.innerHTML=e.sanitizerHTML(Y(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(Y(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(((e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),((t,a)=>{const d=Array(e.context.displayMonthsCount).fill(a).join("");return e.sanitizerHTML(d)})).replace(/[\n\t]/g,""))(e,Y(e,e.layouts[e.context.currentType])))},N=(e,t,a,d)=>{e.style.visibility=a?"hidden":"",t.style.visibility=d?"hidden":""},H=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),a=e.context.mainElement.querySelector('[data-vc-arrow="next"]');t&&a&&{default:()=>((e,t,a)=>{const d=f(w(new Date(e.context.selectedYear,e.context.selectedMonth,1))),n=new Date(d.getTime()),o=new Date(d.getTime());n.setMonth(n.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const c=f(e.context.dateMin),r=f(e.context.dateMax);e.selectionYearsMode||(c.setFullYear(d.getFullYear()),r.setFullYear(d.getFullYear()));const i=!e.selectionMonthsMode||n.getFullYear()r.getFullYear()||o.getFullYear()===r.getFullYear()&&o.getMonth()>r.getMonth()-(e.context.displayMonthsCount-1);N(t,a,i,l)})(e,t,a),year:()=>((e,t,a)=>{const d=f(e.context.dateMin),n=f(e.context.dateMax),o=!!(d.getFullYear()&&e.context.displayYear-7<=d.getFullYear()),c=!!(n.getFullYear()&&e.context.displayYear+7>=n.getFullYear());N(t,a,o,c)})(e,t,a)}["multiple"===e.context.currentType?"default":e.context.currentType]()},z=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),a=e.context.mainElement.querySelectorAll('[data-vc="year"]'),d=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,a].forEach((t=>null==t?void 0:t.forEach(((t,a)=>((e,t,a,d,n)=>{const o=new Date(d.setFullYear(e.context.selectedYear,e.context.selectedMonth+a)).getFullYear(),c=new Date(d.setMonth(e.context.selectedMonth+a)).getMonth(),r=e.context.locale.months.long[c],i=t.closest('[data-vc="column"]');i&&(i.ariaLabel=`${r} ${o}`);const l={month:{id:c,label:r},year:{id:o,label:o}};t.innerText=String(l[n].label),t.dataset[`vc${n.charAt(0).toUpperCase()+n.slice(1)}`]=String(l[n].id),t.ariaLabel=`${e.labels[n]} ${l[n].label}`;const s={month:e.selectionMonthsMode,year:e.selectionYearsMode},v=!1===s[n]||"only-arrows"===s[n];v&&(t.tabIndex=-1),t.disabled=v})(e,t,a,d,t.dataset.vc)))))},I=(e,t,a,d,n)=>{var o;const c={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};n&&(null==(o=e.context.mainElement.querySelectorAll({month:"[data-vc-months-month]",year:"[data-vc-years-year]"}[a]))||o.forEach((e=>{e.removeAttribute(c[a].selected),e.removeAttribute(c[a].aria)})),b(e,c[a].selectedProperty,Number(t.dataset[c[a].value])),z(e),"year"===a&&H(e)),d&&(t.setAttribute(c[a].selected,""),t.setAttribute(c[a].aria,"true"))},W=(e,t)=>{var a;if("multiple"!==e.type)return{currentValue:null,columnID:0};const d=e.context.mainElement.querySelectorAll('[data-vc="column"]'),n=Array.from(d).findIndex((e=>e.closest(`[data-vc-column="${t}"]`)));return{currentValue:n>=0?Number(null==(a=d[n].querySelector(`[data-vc="${t}"]`))?void 0:a.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(n,0)}},j=(e,t,a,d,n,o,c)=>{const r=t.cloneNode(!1);return r.className=e.styles.monthsMonth,r.innerText=d,r.ariaLabel=n,r.role="gridcell",r.dataset.vcMonthsMonth=`${c}`,o&&(r.ariaDisabled="true"),o&&(r.tabIndex=-1),r.disabled=o,I(e,r,"month",a===c,!1),r},P=(e,t)=>{var a,d;const n=null==(a=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:a.querySelector('[data-vc="year"]'),o=n?Number(n.dataset.vcYear):e.context.selectedYear,c=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;b(e,"currentType","month"),L(e,t),z(e);const r=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!r)return;const i=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,a)=>c-e.monthsToSwitch*a)).concat(e.context.locale.months.long.map(((t,a)=>c+e.monthsToSwitch*a))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),l=document.createElement("button");l.type="button";for(let t=0;t<12;t++){const a=f(e.context.dateMin),d=f(e.context.dateMax),n=e.context.displayMonthsCount-1,{columnID:s}=W(e,"month"),v=o<=a.getFullYear()&&t=d.getFullYear()&&t>d.getMonth()-n+s||o>d.getFullYear()||t!==c&&!i.includes(t),h=j(e,l,c,e.context.locale.months.short[t],e.context.locale.months.long[t],v,t);r.appendChild(h),e.onCreateMonthEls&&e.onCreateMonthEls(e,h)}null==(d=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||d.focus()},O=(e,t,a,d,n)=>`\n \n`,q=(e,t,a,d,n,o,c)=>`\n \n`,F=(e,t,a,d)=>{({hour:()=>b(e,"selectedHours",a),minute:()=>b(e,"selectedMinutes",a)})[d](),b(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},R=(e,t)=>{var a;return(null==(a={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:a[t])||String(e)},Z=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),U=(e,t,a,d)=>{e.value=a,t.value=d},K=(e,t,a,d,n,o,c)=>{const r={hour:(r,i,l)=>{e.selectionTimeMode&&{12:()=>{if(!e.context.selectedKeeping)return;const s=Number(R(i,e.context.selectedKeeping));if(!(s<=o&&s>=c))return U(a,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,l,!0));U(a,t,Z(i),R(i,e.context.selectedKeeping)),r>12&&((e,t,a)=>{t&&a&&(b(e,"selectedKeeping",a),t.innerText=a)})(e,d,"PM"),F(e,l,Z(i),n)},24:()=>{if(!(r<=o&&r>=c))return U(a,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,l,!0));U(a,t,i,i),F(e,l,i,n)}}[e.selectionTimeMode]()},minute:(d,r,i)=>{if(!(d<=o&&d>=c))return a.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,i,!0));a.value=r,t.value=r,F(e,i,r,n)}},i=e=>{const t=Number(a.value),d=a.value.padStart(2,"0");r[n]&&r[n](t,d,e)};return a.addEventListener("change",i),()=>{a.removeEventListener("change",i)}},B=(e,t,a,d,n)=>{const o=o=>{const c=Number(t.value),r=t.value.padStart(2,"0"),i="hour"===n,l=24===e.selectionTimeMode,s=c>0&&c<12;i&&!l&&((e,t,a)=>{t&&(b(e,"selectedKeeping",a),t.innerText=a)})(e,d,0===c||s?"AM":"PM"),((e,t,a,d,n)=>{t.value=n,F(e,a,n,d)})(e,a,o,n,!i||l||s?r:Z(t.value))};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o)}},Q=e=>e.setAttribute("data-vc-input-focus",""),V=e=>e.removeAttribute("data-vc-input-focus"),G=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],a=[...e.context.locale.weekdays.long].reduce(((a,d,n)=>[...a,{id:n,titleShort:e.context.locale.weekdays.short[n],titleLong:d,isWeekend:t.includes(n)}]),[]),d=[...a.slice(e.firstWeekday),...a.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach((t=>{const a=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(a.type="button"),d.forEach((d=>{const n=a.cloneNode(!0);n.innerText=d.titleShort,n.className=e.styles.weekDay,n.role="columnheader",n.ariaLabel=d.titleLong,n.dataset.vcWeekDay=String(d.id),d.isWeekend&&(n.dataset.vcWeekDayOff=""),t.appendChild(n)}))}))},J=(e,t,a,d,n)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(n),o.ariaLabel=String(n),o.role="gridcell",o.dataset.vcYearsYear=`${n}`,d&&(o.ariaDisabled="true"),d&&(o.tabIndex=-1),o.disabled=d,I(e,o,"year",a===n,!1),o},X=(e,t)=>{var a;const d=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;b(e,"currentType","year"),L(e,t),z(e),H(e);const n=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!n)return;const o="multiple"!==e.type||e.context.selectedYear===d?0:1,c=document.createElement("button");c.type="button";for(let t=e.context.displayYear-7;tf(e.context.dateMax).getFullYear(),r=J(e,c,d,a,t);n.appendChild(r),e.onCreateYearEls&&e.onCreateYearEls(e,r)}null==(a=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||a.focus()},ee={value:!1,set:()=>ee.value=!0,check:()=>ee.value},te=(e,t)=>e.dataset.vcTheme=t,ae=(e,t)=>{if(te(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||ee.check())return;const a=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach((t=>te(t,e.matches?"dark":"light")))};t.addEventListener?t.addEventListener("change",a):t.addListener(a),ee.set()},de=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),ne=e=>{const t={default:()=>{G(e),E(e)},multiple:()=>{G(e),E(e)},month:()=>P(e),year:()=>X(e)};(e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?((e,t)=>{const a=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,d=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,((e,t)=>t));if(!a||"system"===a.getAttribute(d))return void ae(e,t);const n=a.getAttribute(d);n?(te(e.context.mainElement,n),((e,t,a)=>{new MutationObserver((e=>{for(let d=0;d{const t=a.getAttribute(d);t&&te(e.context.mainElement,t)}))):ae(e,t)})(e,window.matchMedia("(prefers-color-scheme: dark)")):te(e.context.mainElement,e.selectedTheme):te(e.context.mainElement,"light")})(e),(e=>{var t,a,d,n,o,c,r,i;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(m);Array.from({length:7},((t,a)=>((e,t,a)=>{const d=new Date(`1978-01-0${t+1}T00:00:00.000Z`),n=d.toLocaleString(a,{weekday:"short",timeZone:"UTC"}),o=d.toLocaleString(a,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(de(n)),e.context.locale.weekdays.long.push(de(o))})(e,a,e.locale))),Array.from({length:12},((t,a)=>((e,t,a)=>{const d=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),n=d.toLocaleString(a,{month:"short",timeZone:"UTC"}),o=d.toLocaleString(a,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(de(n)),e.context.locale.months.long.push(de(o))})(e,a,e.locale)))}else{if(!((null==(a=null==(t=e.locale)?void 0:t.weekdays)?void 0:a.short[6])&&(null==(n=null==(d=e.locale)?void 0:d.weekdays)?void 0:n.long[6])&&(null==(c=null==(o=e.locale)?void 0:o.months)?void 0:c.short[11])&&(null==(i=null==(r=e.locale)?void 0:r.months)?void 0:i.long[11])))throw new Error(m);b(e,"locale",s({},e.locale))}})(e),L(e),z(e),H(e),(e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[a,d]=[e.timeMinHour,e.timeMaxHour],[n,o]=[e.timeMinMinute,e.timeMaxMinute],c=e.context.selectedKeeping?R(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,r="range"===e.timeControls;var i;t.innerHTML=e.sanitizerHTML(`\n
\n ${O("hour",e.styles.timeHour,e.labels,e.context.selectedHours,r)}\n ${O("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,r)}\n ${12===e.selectionTimeMode?(i=e.context.selectedKeeping,``):""}\n
\n
\n ${q("hour",e.styles.timeRange,e.labels,a,d,e.timeStepHour,c)}\n ${q("minute",e.styles.timeRange,e.labels,n,o,e.timeStepMinute,e.context.selectedMinutes)}\n
\n `),((e,t)=>{const a=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),d=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),n=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),c=t.querySelector('[data-vc-time="keeping"]');if(!(a&&d&&n&&o))return;const r=e=>{e.target===a&&Q(n),e.target===d&&Q(o)},i=e=>{e.target===a&&V(n),e.target===d&&V(o)};t.addEventListener("mouseover",r),t.addEventListener("mouseout",i),K(e,a,n,c,"hour",e.timeMaxHour,e.timeMinHour),K(e,d,o,c,"minute",e.timeMaxMinute,e.timeMinMinute),B(e,a,n,c,"hour"),B(e,d,o,c,"minute"),c&&((e,t,a,d,n)=>{t.addEventListener("click",(o=>{const c="AM"===e.context.selectedKeeping?"PM":"AM",r=R(e.context.selectedHours,c);Number(r)<=d&&Number(r)>=n?(b(e,"selectedKeeping",c),a.value=r,F(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)}))})(e,c,a,e.timeMaxHour,e.timeMinHour)})(e,t)})(e),t[e.context.currentType]()},oe=e=>{const t=()=>Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button'));let a=0;const d={ArrowUp:(e,t)=>Math.max(0,e-t),ArrowDown:(e,a)=>Math.min(t().length-1,e+a),ArrowLeft:e=>Math.max(0,e-1),ArrowRight:e=>Math.min(t().length-1,e+1)},n=e=>{var n,o;if(!d[e.key]||"button"!==(null==(n=e.target)?void 0:n.localName))return;const c=t(),r=c[a].hasAttribute("data-vc-date-btn")?7:c[a].hasAttribute("data-vc-months-month")?4:c[a].hasAttribute("data-vc-years-year")?5:1;a=d[e.key](a,r),null==(o=c[a])||o.focus()};return e.context.mainElement.addEventListener("keydown",n),()=>{e.context.mainElement.removeEventListener("keydown",n)}},ce=(e,t)=>{const a=f(w(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>a.setMonth(a.getMonth()-e.monthsToSwitch),next:()=>a.setMonth(a.getMonth()+e.monthsToSwitch)})[t](),b(e,"selectedMonth",a.getMonth()),b(e,"selectedYear",a.getFullYear()),z(e),H(e),E(e)},re=e=>void 0===e.enableDateToggle||("function"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),ie=(e,t,a)=>{const d=t.dataset.vcDate,n=t.closest("[data-vc-date][data-vc-date-selected]"),o=re(e);if(n&&!o)return;const c=n?e.context.selectedDates.filter((e=>e!==d)):a?[...e.context.selectedDates,d]:[d];b(e,"selectedDates",c)},le=(e,t,a)=>{if(!t)return;if(!a)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const d=e.context.mainElement.getBoundingClientRect(),n=a.getBoundingClientRect();t.style.left=n.left-d.left+n.width/2+"px",t.style.top=n.bottom-d.top-n.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,a,t,n,d))},se={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},ve=(e,t,a)=>{var d,n,o;if(!(null==(n=null==(d=se.self)?void 0:d.context)?void 0:n.selectedDates[0]))return;const c=w(e);(null==(o=se.self.context.disableDates)?void 0:o.includes(c))||(se.self.context.mainElement.querySelectorAll(`[data-vc-date="${c}"]`).forEach((e=>e.dataset.vcDateHover="")),t.forEach((e=>e.dataset.vcDateHover="first")),a.forEach((e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last"})))},he=()=>{var e,t;(null==(t=null==(e=se.self)?void 0:e.context)?void 0:t.mainElement)&&se.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach((e=>e.removeAttribute("data-vc-date-hover")))},me=e=>t=>{se.isHovering||(se.isHovering=!0,requestAnimationFrame((()=>{e(t),se.isHovering=!1})))},ue=me((e=>{var t,a;if(!e.target||!(null==(a=null==(t=se.self)?void 0:t.context)?void 0:a.selectedDates[0]))return;if(!e.target.closest('[data-vc="dates"]'))return se.lastDateEl=null,le(se.self,se.tooltipEl,null),void he();const d=e.target.closest("[data-vc-date]");if(!d||se.lastDateEl===d)return;se.lastDateEl=d,le(se.self,se.tooltipEl,d),he();const n=d.dataset.vcDate,o=f(se.self.context.selectedDates[0]),c=f(n),r=se.self.context.mainElement.querySelectorAll(`[data-vc-date="${se.self.context.selectedDates[0]}"]`),i=se.self.context.mainElement.querySelectorAll(`[data-vc-date="${n}"]`),[l,s]=o{const t=e.target.closest("[data-vc-date-selected]");if(!t&&se.lastDateEl)return se.lastDateEl=null,void le(se.self,se.tooltipEl,null);t&&se.lastDateEl!==t&&(se.lastDateEl=t,le(se.self,se.tooltipEl,t))})),ge=e=>{se.self&&"Escape"===e.key&&(se.lastDateEl=null,b(se.self,"selectedDates",[]),se.self.context.mainElement.removeEventListener("mousemove",ue),se.self.context.mainElement.removeEventListener("keydown",ge),le(se.self,se.tooltipEl,null),he())},pe=()=>{null!==se.timeoutId&&clearTimeout(se.timeoutId),se.timeoutId=setTimeout((()=>{se.lastDateEl=null,le(se.self,se.tooltipEl,null),he()}),50)},ye=(e,t)=>{se.self=e,se.lastDateEl=t,he(),e.disableDatesGaps&&(se.rangeMin=se.rangeMin?se.rangeMin:e.context.displayDateMin,se.rangeMax=se.rangeMax?se.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(se.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const a=null==t?void 0:t.dataset.vcDate;if(a){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(a),d=t&&!re(e)?[a,a]:t&&re(e)?[]:e.context.selectedDates.length>1?[a]:[...e.context.selectedDates,a];b(e,"selectedDates",d),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&(()=>{var e,t,a,d;if(!(null==(a=null==(t=null==(e=se.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:a[0])||!(null==(d=se.self.context.disableDates)?void 0:d[0]))return;const n=f(se.self.context.selectedDates[0]),[o,c]=se.self.context.disableDates.map((e=>f(e))).reduce((([e,t],a)=>[n>=a?a:e,n{se.self.context.mainElement.removeEventListener("mousemove",ue),se.self.context.mainElement.removeEventListener("mouseleave",pe),se.self.context.mainElement.removeEventListener("keydown",ge)}),reset:()=>{const[a,d]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],n=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=x([`${a}:${d}`]).filter((t=>!e.context.disableDates.includes(t))),c=n?e.enableEdgeDatesOnly?[a,d]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(b(e,"selectedDates",c),e.disableDatesGaps&&(b(e,"displayDateMin",se.rangeMin),b(e,"displayDateMax",se.rangeMax)),se.self.context.mainElement.removeEventListener("mousemove",ue),se.self.context.mainElement.removeEventListener("mouseleave",pe),se.self.context.mainElement.removeEventListener("keydown",ge),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(se.self.context.mainElement.removeEventListener("mousemove",be),se.self.context.mainElement.removeEventListener("mouseleave",pe),le(se.self,se.tooltipEl,null)),e.context.selectedDates[0]&&(se.self.context.mainElement.addEventListener("mousemove",be),se.self.context.mainElement.addEventListener("mouseleave",pe),le(se.self,se.tooltipEl,t)),()=>{se.self.context.mainElement.removeEventListener("mousemove",be),se.self.context.mainElement.removeEventListener("mouseleave",pe)}}})[1===e.context.selectedDates.length?"set":"reset"]()},fe=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach((t=>{const a=t.querySelector("[data-vc-date-btn]"),d=t.dataset.vcDate,n=f(d).getDay();k(e,e.context.selectedYear,t,a,n,d,"current")}))},we=["month","year"],xe=(e,t,a)=>{const{currentValue:d,columnID:n}=W(e,t);return"month"===e.context.currentType&&n>=0?a-n:"year"===e.context.currentType&&e.context.selectedYear!==d?a-1:a},_e=(e,t)=>{const a={month:e.selectionMonthsMode,year:e.selectionYearsMode};we.forEach((d=>{a[d]&&t.target&&((e,t,a)=>{var d;const n=t.target,o=n.closest(`[data-vc="${a}"]`),c={year:()=>X(e,n),month:()=>P(e,n)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==a)return c[a]();const r=n.closest(`[data-vc-${a}s-${a}]`);if(r)return((e,t,a,d)=>{var n;({year:()=>{if("multiple"===e.type)return((e,t)=>{const a=xe(e,"year",Number(t.dataset.vcYearsYear)),d=f(e.context.dateMin),n=f(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:c}=W(e,"year"),r=e.context.selectedMonthn.getMonth()-o+c&&a>=n.getFullYear(),l=an.getFullYear(),v=r||l?d.getFullYear():i||s?n.getFullYear():a,h=r||l?d.getMonth():i||s?n.getMonth()-o+c:e.context.selectedMonth;b(e,"selectedYear",v),b(e,"selectedMonth",h)})(e,d);b(e,"selectedYear",Number(d.dataset.vcYearsYear))},month:()=>{if("multiple"===e.type)return((e,t)=>{const a=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),d=xe(e,"month",Number(t.dataset.vcMonthsMonth)),n=Number(a.dataset.vcYear),o=f(e.context.dateMin),c=f(e.context.dateMax),r=dc.getMonth()&&n>=c.getFullYear();b(e,"selectedYear",n),b(e,"selectedMonth",r?o.getMonth():i?c.getMonth():d)})(e,d);b(e,"selectedMonth",Number(d.dataset.vcMonthsMonth))}})[a](),{year:()=>{var a;return null==(a=e.onClickYear)?void 0:a.call(e,e,t)},month:()=>{var a;return null==(a=e.onClickMonth)?void 0:a.call(e,e,t)}}[a](),e.context.currentType!==e.type?(b(e,"currentType",e.type),ne(e),null==(n=e.context.mainElement.querySelector(`[data-vc="${a}"]`))||n.focus()):I(e,d,a,!0,!0)})(e,t,a,r);const i=n.closest('[data-vc="grid"]'),l=n.closest('[data-vc="column"]');(e.context.currentType===a&&o||"multiple"===e.type&&e.context.currentType===a&&i&&!l)&&(b(e,"currentType",e.type),ne(e),null==(d=e.context.mainElement.querySelector(`[data-vc="${a}"]`))||d.focus())})(e,t,d)}))},ke=e=>{const t=t=>{((e,t)=>{const a=t.target.closest("[data-vc-arrow]");if(a){if(["default","multiple"].includes(e.context.currentType))ce(e,a.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const d={prev:-15,next:15}[a.dataset.vcArrow];b(e,"displayYear",e.context.displayYear+d),X(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}})(e,t),((e,t)=>{if(!e.onClickWeekDay)return;const a=t.target.closest("[data-vc-week-day]"),d=t.target.closest('[data-vc="column"]'),n=d?d.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!a||!n[0])return;const o=Number(a.dataset.vcWeekDay),c=Array.from(n).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,c,t)})(e,t),((e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const a=t.target.closest("[data-vc-week-number]"),d=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!a||!d[0])return;const n=Number(a.innerText),o=Number(a.dataset.vcWeekYear),c=Array.from(d).filter((e=>Number(e.dataset.vcDateWeekNumber)===n));e.onClickWeekNumber(e,n,o,c,t)})(e,t),((e,t)=>{var a;const d=t.target,n=d.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!n)return;const o=n.closest("[data-vc-date]");({single:()=>ie(e,o,!1),multiple:()=>ie(e,o,!0),"multiple-ranged":()=>ye(e,o)})[e.selectionDatesMode](),null==(a=e.context.selectedDates)||a.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const c=d.closest('[data-vc-date-month="prev"]'),r=d.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?ce(e,"prev"):fe(e),next:()=>e.enableMonthChangeOnDayClick?ce(e,"next"):fe(e),current:()=>fe(e)})[c?"prev":r?"next":"current"]()})(e,t),_e(e,t)};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},Me=(e,t)=>"today"===e?(()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)})():e instanceof Date||"number"==typeof e||"string"==typeof e?x([e])[0]:t,De=(e,t,a)=>{b(e,"selectedMonth",t),b(e,"selectedYear",a),b(e,"displayYear",a)},Ee=e=>{b(e,"currentType",e.type),(e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(u);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(u);b(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1)})(e),(e=>{var t,a,d;const n=Me(e.dateMin,e.dateMin),o=Me(e.dateMax,e.dateMax),c=Me(e.displayDateMin,n),r=Me(e.displayDateMax,o);b(e,"dateToday",Me(e.dateToday,e.dateToday)),b(e,"displayDateMin",c?f(n)>=f(c)?n:c:n),b(e,"displayDateMax",r?f(o)<=f(r)?o:r:o);const i=e.disableDatesPast&&!e.disableAllDates&&f(c)1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),b(e,"enableDates",e.enableDates[0]?x(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(a=e.context.disableDates)?void 0:a[0])&&b(e,"disableDates",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(d=e.context.enableDates)?void 0:d[0])&&e.disableAllDates&&(b(e,"displayDateMin",e.context.enableDates[0]),b(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),b(e,"dateMin",e.displayDisabledDates?n:e.context.displayDateMin),b(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax)})(e),(e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=f(x(e.selectedDates)[0]);return void De(e,t.getMonth(),t.getFullYear())}const a=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,d=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;De(e,a?Number(e.selectedMonth):f(e.context.dateToday).getMonth(),d?Number(e.selectedYear):f(e.context.dateToday).getFullYear())})(e),(e=>{var t;b(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?x(e.selectedDates):[])})(e),(e=>{var t,a,d;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error("The value of the time property can be: false, 12 or 24.");const n=12===e.selectionTimeMode,o=n?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[c,r,i]=null!=(d=null==(a=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:a.slice(1))?d:[];c?n&&!i&&(i="AM"):(c=n?Z(String(e.timeMinHour)):String(e.timeMinHour),r=String(e.timeMinMinute),i=n?Number(Z(String(e.timeMinHour)))>=12?"PM":"AM":null),b(e,"selectedHours",c.padStart(2,"0")),b(e,"selectedMinutes",r.padStart(2,"0")),b(e,"selectedKeeping",i),b(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${i?` ${i}`:""}`)})(e)},Te=(e,{year:t,month:a,dates:d,time:n,locale:o},c=!0)=>{var r;const i={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};e.selectedYear=t?i.year:e.context.selectedYear,e.selectedMonth=a?i.month:e.context.selectedMonth,e.selectedTime=n?i.time:e.context.selectedTime,e.selectedDates="only-first"===d&&(null==(r=e.context.selectedDates)?void 0:r[0])?[e.context.selectedDates[0]]:!0===d?i.dates:e.context.selectedDates,o&&b(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}}),Ee(e),c&&ne(e),e.selectedYear=i.year,e.selectedMonth=i.month,e.selectedDates=i.dates,e.selectedTime=i.time,"multiple-ranged"===e.selectionDatesMode&&d&&ye(e,null)},$e=(e,t,a)=>{if(!e)return;const d="auto"===a?function(e,t){const a="left";if(!t||!e)return a;const{canShow:d,parentPositions:n}=y(e,t),o=d.left&&d.right;return(o&&d.bottom?"center":o&&d.top?["top","center"]:Array.isArray(n)?["bottom"===n[0]?"top":"bottom",...n.slice(1)]:n)||a}(e,t):a,n={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(d)?d[0]:"bottom",c=Array.isArray(d)?d[1]:d;t.dataset.vcPosition=o;const{top:r,left:i}=g(e),l=r+n[o];let s=i+n[c];const{vw:v}=p();if(s+t.clientWidth>v){const e=window.innerWidth-document.body.clientWidth;s=v-t.clientWidth-e}else s<0&&(s=0);Object.assign(t.style,{left:`${s}px`,top:`${l}px`})},Se=(e,t)=>{if(!e.context.isInit)throw new Error(h);Te(e,s(s({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},Ce=(e,t)=>{const a=Object.keys(t);for(let d=0;de)),v(this,"onClickDate"),v(this,"onClickWeekDay"),v(this,"onClickWeekNumber"),v(this,"onClickTitle"),v(this,"onClickMonth"),v(this,"onClickYear"),v(this,"onClickArrow"),v(this,"onChangeTime"),v(this,"onChangeToInput"),v(this,"onCreateDateRangeTooltip"),v(this,"onCreateDateEls"),v(this,"onCreateMonthEls"),v(this,"onCreateYearEls"),v(this,"onInit"),v(this,"onUpdate"),v(this,"onDestroy"),v(this,"onShow"),v(this,"onHide"),v(this,"popups",{}),v(this,"labels",s({},Ae)),v(this,"layouts",{default:"",multiple:"",month:"",year:""}),v(this,"styles",s({},Ye))}}const Ne=class e extends Le{constructor(t,a){var d;super(),v(this,"init",(()=>(e=>(b(e,"originalElement",e.context.mainElement.cloneNode(!0)),b(e,"isInit",!0),e.inputMode?(e=>{const t=[];b(e,"inputElement",e.context.mainElement);const a=()=>$e(e.context.inputElement,e.context.mainElement,e.positionToInput),d=t=>{var a,n;"Escape"===t.key&&((null==(a=null==e?void 0:e.context)?void 0:a.inputElement)&&(null==(n=null==e?void 0:e.context)?void 0:n.mainElement)&&e.hide(),document.removeEventListener("keydown",d))},n=t=>{e&&t.target!==e.context.inputElement&&!e.context.mainElement.contains(t.target)&&(e.context.inputElement&&e.context.mainElement&&e.hide(),window.removeEventListener("resize",a),document.removeEventListener("click",n,{capture:!0}))},o=()=>{e.context.inputModeInit?($e(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.style.visibility="visible",e.show()):t.push(((e,t=!0)=>{const a=document.createElement("div");return a.className=e.styles.calendar,a.dataset.vc="calendar",a.dataset.vcInput="",a.dataset.vcCalendarHidden="",a.style.visibility="hidden",b(e,"inputModeInit",!0),b(e,"mainElement",a),document.body.appendChild(e.context.mainElement),t&&queueMicrotask((()=>{$e(e.context.inputElement,a,e.positionToInput),e.context.mainElement.style.visibility="visible",e.show()})),Te(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),e.onInit&&e.onInit(e),oe(e),ke(e)})(e)),window.addEventListener("resize",a),document.addEventListener("click",n,{capture:!0}),document.addEventListener("keydown",d)};return e.context.inputElement.addEventListener("click",o),e.context.inputElement.addEventListener("focus",o),()=>{t.forEach((e=>e()))}})(e):(Ee(e),ne(e),e.onInit&&e.onInit(e),oe(e),ke(e))))(this))),v(this,"update",(e=>Se(this,e))),v(this,"destroy",(()=>(e=>{var t,a,d,n,o;if(!e.context.isInit)throw new Error(h);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(d=null==(a=e.context.inputElement)?void 0:a.replaceWith)||d.call(a,e.context.originalElement),b(e,"inputElement",void 0)):null==(o=(n=e.context.mainElement).replaceWith)||o.call(n,e.context.originalElement),b(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e)})(this))),v(this,"show",(()=>(e=>{e.context.currentType?(e.context.mainElement.removeAttribute("data-vc-calendar-hidden"),e.onShow&&e.onShow(e)):e.context.mainElement.click()})(this))),v(this,"hide",(()=>(e=>{e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",e.onHide&&e.onHide(e))})(this))),v(this,"set",((e,t)=>((e,t,a)=>{Ce(e,t),e.context.isInit&&Se(e,a)})(this,e,t))),v(this,"context"),this.context=(e=>n(e,o({locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}})))(s({},this.context)),b(this,"mainElement","string"==typeof t?null!=(d=e.memoizedElements.get(t))?d:this.queryAndMemoize(t):t),a&&Ce(this,a)}queryAndMemoize(t){const a=document.querySelector(t);if(!a)throw new Error((e=>`${e} is not found, check the first argument passed to new Calendar.`)(t));return e.memoizedElements.set(t,a),a}};v(Ne,"memoizedElements",new Map);let He=Ne;var ze=a(5072),Ie=a.n(ze),We=a(7825),je=a.n(We),Pe=a(7659),Oe=a.n(Pe),qe=a(5056),Fe=a.n(qe),Re=a(540),Ze=a.n(Re),Ue=a(1113),Ke=a.n(Ue),Be=a(5051),Qe={};Qe.styleTagTransform=Ke(),Qe.setAttributes=Fe(),Qe.insert=Oe().bind(null,"head"),Qe.domAPI=je(),Qe.insertStyleElement=Ze(),Ie()(Be.A,Qe),Be.A&&Be.A.locals&&Be.A.locals;var Ve=a(4353),Ge=a.n(Ve);function Je(e){return function(t){if(t.context.inputElement)if(t.context.selectedDates[1]){t.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)));var a=t.context.selectedDates.map((a=>(t.context?.selectedTime&&(a=a+" "+t.context.selectedTime),Ge()(a).format(e))));t.context.inputElement.value=`${a[0]} — ${a[a.length-1]}`}else if(t.context.selectedDates[0]){var d=t.context.selectedDates[0];t.context?.selectedTime&&(d=d+" "+t.context.selectedTime),t.context.inputElement.value=Ge()(d).format(e)}else t.context.inputElement.value=""}}const Xe=(e,...t)=>Object.fromEntries(t.filter((t=>t in e)).map((t=>[t,e[t]])));var et=new Shiny.InputBinding;t().extend(et,{store:[],updateStore:(e,t)=>{et.store[e.id]=t},value:[],updateValue:(e,t)=>{et.value[e.id]=t},type:[],updateType:(e,t)=>{et.type[e.id]=t},find:e=>t()(e).find(".vanilla-calendar-pro"),getValue:e=>et.value[e.id],setValue:(e,t)=>{},getType:e=>et.type[e.id],subscribe:(e,a)=>{t()(e).on("change.calendarProBinding",(function(e){a()}))},unsubscribe:e=>{t()(e).off(".calendarProBinding")},receiveMessage:(e,a)=>{if(a.hasOwnProperty("label")){var d=t()("#"+e.id+"-label");!function(e,t){if(void 0!==e){if(1!==t.length)throw new Error("labelNode must be of length 1");Array.isArray(e)&&0===e.length?t.addClass("shiny-label-null"):(t.html(e),t.removeClass("shiny-label-null"))}}(a.label,d)}},initialize:e=>{var a,d=e.querySelector(".calendar-pro-element"),n=e.querySelector('script[data-for="'+e.id+'"]'),o=(n=JSON.parse(n.text)).options;function c(a){et.updateValue(e,Xe(a.context,"selectedDates","selectedHolidays","selectedMonth","selectedYear","selectedHours","selectedMinutes","selectedTime","selectedKeeping")),t()(e).trigger("change")}"month"==o.type?o.onClickMonth=c:"year"==o.type?o.onClickYear=c:(o.onClickDate=c,o.onChangeTime=c),n.selectWeekNumbers&&(o.onClickWeekNumber=function(a,d,o,c){var r=c.map((e=>e.dataset.vcDate));a.set({selectedDates:r},{dates:!0}),et.updateValue(e,Xe(a.context,"selectedDates","selectedHolidays","selectedMonth","selectedYear","selectedHours","selectedMinutes","selectedTime","selectedKeeping")),t()(e).trigger("change"),Je(n.format)(a)}),"multiple-ranged"==o.selectionDatesMode?o.onChangeToInput=Je(n.format):"multiple"==o.selectionDatesMode?o.onChangeToInput=(a=n.format,function(e){if(e.context.inputElement)if(console.log(e),e.context.selectedDates[0]){var t=e.context.selectedDates.map((t=>(e.context?.selectedTime&&(t=t+" "+e.context.selectedTime),Ge()(t).format(a))));e.context.inputElement.value=t.join(" — ")}else e.context.inputElement.value=""}):o.onChangeToInput=function(e){return function(t){if(t.context.inputElement)if(t.context.selectedDates[0]){var a=t.context.selectedDates[0];t.context?.selectedTime&&(a=a+" "+t.context.selectedTime),console.log(a),t.context.inputElement.value=Ge()(a).format(e)}else t.context.inputElement.value=""}}(n.format);const r=new He(d,o);r.init(),et.updateStore(e,r),et.updateValue(e,{selectedDates:o?.selectedDates,selectedMonth:o?.selectedMonth,selectedYear:o?.selectedYear,selectedTime:o?.selectedTime}),et.updateType(e,n.parseValue),t()(e).trigger("change")}}),Shiny.inputBindings.register(et,"shinyWidgets.calendarProBinding")})()})(); \ No newline at end of file diff --git a/inst/packer/calendar-pro.js.LICENSE.txt b/inst/packer/calendar-pro.js.LICENSE.txt index 1aa9c4fe..08a98cd9 100644 --- a/inst/packer/calendar-pro.js.LICENSE.txt +++ b/inst/packer/calendar-pro.js.LICENSE.txt @@ -1 +1 @@ -/*! name: vanilla-calendar-pro v2.9.10 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */ +/*! name: vanilla-calendar-pro v3.0.3 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */ diff --git a/man/calendarProInput.Rd b/man/calendarProInput.Rd index 410516dd..5e49faf8 100644 --- a/man/calendarProInput.Rd +++ b/man/calendarProInput.Rd @@ -8,30 +8,30 @@ calendarProInput( inputId, label, value = NULL, - type = c("default", "multiple", "range", "month", "year"), - min = NULL, - max = NULL, - disablePast = FALSE, - disableAllDays = FALSE, - disableWeekday = NULL, - disableGaps = FALSE, - disabled = NULL, - enabled = NULL, - months = 2, - jumpMonths = 1, - jumpToSelectedDate = FALSE, - toggleSelected = TRUE, - weekNumbers = FALSE, - weekNumbersSelect = FALSE, - weekend = TRUE, - time = NULL, - timeValue = NULL, + mode = c("single", "multiple", "multiple-ranged", "false"), + type = c("default", "multiple", "month", "year"), + displayDateMin = NULL, + displayDateMax = NULL, + firstWeekday = NULL, + disableDatesPast = FALSE, + disableAllDates = FALSE, + disableWeekdays = NULL, + disableDatesGaps = FALSE, + disableDates = NULL, + enableDates = NULL, + displayMonthsCount = 1, + enableJumpToSelectedDate = FALSE, + enableDateToggle = TRUE, + enableWeekNumbers = FALSE, + selectWeekNumbers = FALSE, + selectionTimeMode = NULL, + selectedTime = NULL, ..., format = "\%Y-\%m-\%d", positionToInput = "auto", - theme = "light", + selectedTheme = "light", placeholder = NULL, - input = TRUE, + inputMode = TRUE, inline = FALSE, parseValue = TRUE, width = NULL @@ -44,43 +44,45 @@ calendarProInput( \item{value}{Initial value.} -\item{type}{Determines the type of calendar displayed and the selection process: 'default' | 'multiple' | 'range' | 'month' | 'year'.} +\item{mode}{This parameter determines whether selecting one or multiple days is allowed, or if date selection is completely disabled. +Possible values are: 'single' | 'multiple' | 'multiple-ranged' | false.} -\item{min}{This parameter sets the minimum date that the user can choose. Dates earlier than the specified date will be disabled and not available for selection.} +\item{type}{Determines the type of calendar displayed and the selection process: 'default' | 'multiple' | 'month' | 'year'.} -\item{max}{This parameter sets the maximum date that the user can choose. Dates later than the specified date will be disabled and not available for selection.} +\item{displayDateMin}{This parameter sets the minimum date that the user can choose. Dates earlier than the specified date will be disabled and not available for selection.} -\item{disablePast}{This parameter disables all past days.} +\item{displayDateMax}{This parameter sets the maximum date that the user can choose. Dates later than the specified date will be disabled and not available for selection.} -\item{disableAllDays}{This parameter disables all days and can be useful when using \code{enable} is set.} +\item{firstWeekday}{This parameter sets the first day of the week. Specify a number from 0 to 6, where the number represents the day of the week identifier. +According to JS standards, the days of the week start with 0, and 0 is Sunday.} -\item{disableWeekday}{This parameter allows you to disable specified weekdays. Specify an array with numbers, where each number represents a day of the week. For example, \code{0} is Sunday.} +\item{disableDatesPast}{This parameter disables all past days.} -\item{disableGaps}{This parameter disables the selection of days within a range with disabled dates. It only works when \code{type = "range"}.} +\item{disableAllDates}{This parameter disables all days and can be useful when using \code{enableDates} is set.} -\item{disabled}{This parameter allows you to disable specific dates regardless of the specified range.} +\item{disableWeekdays}{This parameter allows you to disable specified weekdays. Specify an array with numbers, where each number represents a day of the week. For example, \code{0} is Sunday.} -\item{enabled}{This parameter allows you to enable specific dates regardless of the range and disabled dates.} +\item{disableDatesGaps}{This parameter disables the selection of days within a range with disabled dates. It only works when \code{mode = "multiple-ranged"}.} -\item{months}{The months parameter specifies the number of displayed months when the calendar type is set to 'multiple'.} +\item{disableDates}{This parameter allows you to disable specific dates regardless of the specified range.} -\item{jumpMonths}{The jumpMonths parameter controls the number of months to jump.} +\item{enableDates}{This parameter allows you to enable specific dates regardless of the range and disabled dates.} -\item{jumpToSelectedDate}{When the option is enabled and 1 or more selected date(s) are provided but without providing +\item{displayMonthsCount}{The months parameter specifies the number of displayed months when the calendar type is set to 'multiple'.} + +\item{enableJumpToSelectedDate}{When the option is enabled and 1 or more selected date(s) are provided but without providing selected.month and selected.year, it will make the calendar jump to the first selected date. If set to false, the calendar will always open to the current month and year.} -\item{toggleSelected}{If toggleSelected parameter is true then clicking on the active cell will remove the selection from it.} - -\item{weekNumbers}{With this parameter, you can decide whether to display week numbers in the calendar.} +\item{enableDateToggle}{If true then clicking on a selected date again will deselect it.} -\item{weekNumbersSelect}{If \code{TRUE} select the week when week number is clicked.} +\item{enableWeekNumbers}{With this parameter, you can decide whether to display week numbers in the calendar.} -\item{weekend}{This parameter allows you to highlight weekends in the calendar.} +\item{selectWeekNumbers}{If \code{TRUE} select the week when week number is clicked.} -\item{time}{This parameter enables time selection. You can also specify the time format using a boolean value or a number: 24-hour or 12-hour format.} +\item{selectionTimeMode}{This parameter enables time selection. You can also specify the time format using a boolean value or a number: 24-hour or 12-hour format.} -\item{timeValue}{Initial time value.} +\item{selectedTime}{Initial time value.} \item{...}{Other settings passed to Slim Select JAvaScript method.} @@ -89,11 +91,11 @@ the calendar will always open to the current month and year.} \item{positionToInput}{This parameter specifies the position of the calendar relative to input, if the calendar is initialized with the input parameter. Possible values: 'auto' | 'center' | 'left' | 'right' | c('bottom' | 'top', 'center' | 'left' | 'right')} -\item{theme}{This parameter determines the theme of the calendar : 'light' or 'dark'.} +\item{selectedTheme}{This parameter determines the theme of the calendar : 'light' or 'dark'.} \item{placeholder}{A character string giving the user a hint as to what can be entered into the control.} -\item{input}{If \code{TRUE} (default), use an input and render calendar in a dropdown, otherwise calendar is rendered in the page.} +\item{inputMode}{If \code{TRUE} (default), use an input and render calendar in a dropdown, otherwise calendar is rendered in the page.} \item{inline}{Display calendar container inline.} @@ -141,15 +143,15 @@ ui <- fluidPage( calendarProInput( inputId = "cal5", label = "Calendar without input field:", - input = FALSE, - width = "100\%" + inputMode = FALSE, + width = "300px" ), verbatimTextOutput("res5"), calendarProInput( inputId = "cal7", label = "Calendar with week numbers:", placeholder = "Select a date", - weekNumbers = TRUE, + enableWeekNumbers = TRUE, width = "100\%" ), verbatimTextOutput("res7") @@ -159,7 +161,7 @@ ui <- fluidPage( calendarProInput( inputId = "cal2", label = "Calendar with multiple selection:", - type = "multiple", + mode = "multiple", placeholder = "Select multiple dates", width = "100\%" ), @@ -167,25 +169,26 @@ ui <- fluidPage( calendarProInput( inputId = "cal4", label = "Calendar with range selection:", - type = "range", + mode = "multiple-ranged", width = "100\%" ), verbatimTextOutput("res4"), calendarProInput( inputId = "cal6", label = "Calendar (range) without input field:", - type = "range", - months = 3, - input = FALSE, + mode = "multiple-ranged", + type = "multiple", + displayMonthsCount = 2, + inputMode = FALSE, width = "100\%" ), verbatimTextOutput("res6"), calendarProInput( inputId = "cal8", label = "Calendar select week:", - type = "range", - weekNumbers = TRUE, - weekNumbersSelect = TRUE, + mode = "multiple-ranged", + enableWeekNumbers = TRUE, + selectWeekNumbers = TRUE, width = "100\%" ), verbatimTextOutput("res8") diff --git a/package-lock.json b/package-lock.json index 91bea26e..ce6c3094 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "nouislider": "^15.7.1", "slim-select": "^2.9.2", "style-loader": "^3.3.1", - "vanilla-calendar-pro": "^2.9.10", + "vanilla-calendar-pro": "^3.0.3", "virtual-select-plugin": "^1.0.47", "webpack": "^5.95.0", "webpack-cli": "^4.9.1", @@ -1587,10 +1587,14 @@ "dev": true }, "node_modules/vanilla-calendar-pro": { - "version": "2.9.10", - "resolved": "https://registry.npmjs.org/vanilla-calendar-pro/-/vanilla-calendar-pro-2.9.10.tgz", - "integrity": "sha512-0yqWqlvitfQSRqjyVVr613whIgp62qC1JHgXyLalcJkNkMRZXRqEr+QQQvRdQavB2PBgB4HW+GM6VU4KU0K3Ng==", - "dev": true + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vanilla-calendar-pro/-/vanilla-calendar-pro-3.0.3.tgz", + "integrity": "sha512-bfmeGFaDeakk/OrwgM+22qDiRvIx1Zu+GG3+E/sCPjaKwbJR7AsDyRBfJQzVHRw3eeavU8jQQTRSFt8EPIPOGw==", + "dev": true, + "funding": { + "type": "individual", + "url": "https://ko-fi.com/uvarov_frontend" + } }, "node_modules/virtual-select-plugin": { "version": "1.0.47", @@ -2906,9 +2910,9 @@ "dev": true }, "vanilla-calendar-pro": { - "version": "2.9.10", - "resolved": "https://registry.npmjs.org/vanilla-calendar-pro/-/vanilla-calendar-pro-2.9.10.tgz", - "integrity": "sha512-0yqWqlvitfQSRqjyVVr613whIgp62qC1JHgXyLalcJkNkMRZXRqEr+QQQvRdQavB2PBgB4HW+GM6VU4KU0K3Ng==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vanilla-calendar-pro/-/vanilla-calendar-pro-3.0.3.tgz", + "integrity": "sha512-bfmeGFaDeakk/OrwgM+22qDiRvIx1Zu+GG3+E/sCPjaKwbJR7AsDyRBfJQzVHRw3eeavU8jQQTRSFt8EPIPOGw==", "dev": true }, "virtual-select-plugin": { diff --git a/package.json b/package.json index 04324996..97b1b24a 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "nouislider": "^15.7.1", "slim-select": "^2.9.2", "style-loader": "^3.3.1", - "vanilla-calendar-pro": "^2.9.10", + "vanilla-calendar-pro": "^3.0.3", "virtual-select-plugin": "^1.0.47", "webpack": "^5.95.0", "webpack-cli": "^4.9.1", diff --git a/srcjs/inputs/vanilla-calendar-pro.js b/srcjs/inputs/vanilla-calendar-pro.js index 4d3bfc5b..e2f98dac 100644 --- a/srcjs/inputs/vanilla-calendar-pro.js +++ b/srcjs/inputs/vanilla-calendar-pro.js @@ -1,79 +1,82 @@ import $ from "jquery"; import "shiny"; import { updateLabel } from "../modules/utils"; -import VanillaCalendar from "vanilla-calendar-pro"; -import "vanilla-calendar-pro/build/vanilla-calendar.min.css"; +import { Calendar } from 'vanilla-calendar-pro'; +import "vanilla-calendar-pro/styles/index.css"; import dayjs from "dayjs"; function changeToInputMonth(fmt) { - return function(self, event) { - if (!self.HTMLInputElement) return; + return function(self) { + if (!self.context.inputElement) return; console.log(self); - if (self.selectedMonth[0]) { - var date = self.selectedYear[0] + "-" + self.selectedMonth[0] + "-01"; - self.HTMLInputElement.value = dayjs(date).format(fmt); + if (self.context.selectedMonth[0]) { + var date = self.context.selectedYear[0] + "-" + self.context.selectedMonth[0] + "-01"; + self.context.inputElement.value = dayjs(date).format(fmt); //self.hide(); } else { - self.HTMLInputElement.value = ""; + self.context.inputElement.value = ""; } }; } function changeToInputSingle(fmt) { - return function(e, self) { - if (!self.HTMLInputElement) return; - if (self.selectedDates[0]) { - var date = self.selectedDates[0]; - if (self?.selectedTime) { - date = date + " " + self.selectedTime; + return function(self) { + if (!self.context.inputElement) return; + + if (self.context.selectedDates[0]) { + var date = self.context.selectedDates[0]; + if (self.context?.selectedTime) { + date = date + " " + self.context.selectedTime; } - self.HTMLInputElement.value = dayjs(date).format(fmt); + console.log(date); + self.context.inputElement.value = dayjs(date).format(fmt); //self.hide(); } else { - self.HTMLInputElement.value = ""; + self.context.inputElement.value = ""; } }; } function changeToInputRange(fmt) { - return function(e, self) { - if (!self.HTMLInputElement) return; - if (self.selectedDates[1]) { - self.selectedDates.sort((a, b) => +new Date(a) - +new Date(b)); - var fmtdates = self.selectedDates.map(x => { - if (self?.selectedTime) { - x = x + " " + self.selectedTime; + return function(self) { + if (!self.context.inputElement) return; + if (self.context.selectedDates[1]) { + self.context.selectedDates.sort((a, b) => +new Date(a) - +new Date(b)); + var fmtdates = self.context.selectedDates.map(x => { + if (self.context?.selectedTime) { + x = x + " " + self.context.selectedTime; } return dayjs(x).format(fmt); }); - self.HTMLInputElement.value = `${fmtdates[0]} \u2014 ${fmtdates[fmtdates.length - 1]}`; - } else if (self.selectedDates[0]) { - var date = self.selectedDates[0]; - if (self?.selectedTime) { - date = date + " " + self.selectedTime; + self.context.inputElement.value = `${fmtdates[0]} \u2014 ${fmtdates[fmtdates.length - 1]}`; + } else if (self.context.selectedDates[0]) { + var date = self.context.selectedDates[0]; + if (self.context?.selectedTime) { + date = date + " " + self.context.selectedTime; } - self.HTMLInputElement.value = dayjs(date).format(fmt); + self.context.inputElement.value = dayjs(date).format(fmt); } else { - self.HTMLInputElement.value = ""; + self.context.inputElement.value = ""; } }; } function changeToInputMultiple(fmt) { - return function(e, self) { - if (!self.HTMLInputElement) return; - if (self.selectedDates[0]) { - var fmtdates = self.selectedDates.map(x => { - if (self?.selectedTime) { - x = x + " " + self.selectedTime; + return function(self) { + if (!self.context.inputElement) return; + console.log(self); + if (self.context.selectedDates[0]) { + var fmtdates = self.context.selectedDates.map(x => { + if (self.context?.selectedTime) { + x = x + " " + self.context.selectedTime; } return dayjs(x).format(fmt); }); - self.HTMLInputElement.value = fmtdates.join(" \u2014 "); + self.context.inputElement.value = fmtdates.join(" \u2014 "); //self.hide(); } else { - self.HTMLInputElement.value = ""; + self.context.inputElement.value = ""; } }; } @@ -129,13 +132,12 @@ $.extend(calendarProBinding, { var input = el.querySelector(".calendar-pro-element"); var config = el.querySelector('script[data-for="' + el.id + '"]'); config = JSON.parse(config.text); - if (!config.hasOwnProperty("actions")) - config.actions = {}; - function updateValueOnChange(event, self) { + var options = config.options; + function updateValueOnChange(self) { calendarProBinding.updateValue( el, pick( - self, + self.context, "selectedDates", "selectedHolidays", "selectedMonth", @@ -148,18 +150,22 @@ $.extend(calendarProBinding, { ); $(el).trigger("change"); } - config.actions.clickDay = updateValueOnChange; - config.actions.clickMonth = updateValueOnChange; - config.actions.clickYear = updateValueOnChange; - config.actions.changeTime = updateValueOnChange; - if (config.weekNumbersSelect) { - config.actions.clickWeekNumber = function(event, number, days, year, self) { - self.settings.selected.dates = days.map((day) => day.dataset.calendarDay); - self.update({ dates: true }); + if (options.type == "month") { + options.onClickMonth = updateValueOnChange; + } else if (options.type == "year") { + options.onClickYear = updateValueOnChange; + } else { + options.onClickDate = updateValueOnChange; + options.onChangeTime = updateValueOnChange; + } + if (config.selectWeekNumbers) { + options.onClickWeekNumber = function(self, number, year, dateEls) { + var selectedDates = dateEls.map((dateEl) => dateEl.dataset.vcDate); + self.set({ selectedDates }, { dates: true }); calendarProBinding.updateValue( el, pick( - self, + self.context, "selectedDates", "selectedHolidays", "selectedMonth", @@ -171,28 +177,24 @@ $.extend(calendarProBinding, { ) ); $(el).trigger("change"); - changeToInputRange(config.format)(event, self); + changeToInputRange(config.format)(self); }; } - if (config.type == "multiple") { - if (config.settings.selection.day == "multiple-ranged") { - config.actions.changeToInput = changeToInputRange(config.format); - } else { - config.actions.changeToInput = changeToInputMultiple(config.format); - } - } else if (config.type == "month") { - config.actions.onClickMonth = changeToInputMonth(config.format); + if (options.selectionDatesMode == "multiple-ranged") { + options.onChangeToInput = changeToInputRange(config.format); + } else if (options.selectionDatesMode == "multiple") { + options.onChangeToInput = changeToInputMultiple(config.format); } else { - config.actions.changeToInput = changeToInputSingle(config.format); + options.onChangeToInput = changeToInputSingle(config.format); } - const calendar = new VanillaCalendar(input, config); + const calendar = new Calendar(input, options); calendar.init(); calendarProBinding.updateStore(el, calendar); calendarProBinding.updateValue(el, { - selectedDates: config?.settings?.selected?.dates, - selectedMonth: config?.settings?.selected?.month, - selectedYear: config?.settings?.selected?.year, - selectedTime: config?.settings?.selected?.time + selectedDates: options?.selectedDates, + selectedMonth: options?.selectedMonth, + selectedYear: options?.selectedYear, + selectedTime: options?.selectedTime }); calendarProBinding.updateType(el, config.parseValue); $(el).trigger("change");