diff --git a/R/calendar-pro-input.R b/R/calendar-pro-input.R index 5c051587..bb6d3721 100644 --- a/R/calendar-pro-input.R +++ b/R/calendar-pro-input.R @@ -36,6 +36,8 @@ html_dependency_calendar_pro <- function() { #' @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 ... Other settings passed to Slim Select JAvaScript method. #' @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') @@ -43,12 +45,16 @@ html_dependency_calendar_pro <- function() { #' @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 inline Display calendar container inline. +#' @param parseValue Convert input value to date/datetime in server or not. #' #' @return #' * UI: A `shiny.tag` object that can be used in a UI definition. #' * server: a **character** vector of dates selected #' @export #' +#' @importFrom utils modifyList +#' @importFrom htmltools tags +#' #' @example examples/calendar-pro.R calendarProInput <- function(inputId, label, @@ -69,15 +75,27 @@ calendarProInput <- function(inputId, weekNumbers = FALSE, weekNumbersSelect = FALSE, weekend = TRUE, + time = NULL, + timeValue = NULL, ..., positionToInput = "auto", theme = "light", placeholder = NULL, input = TRUE, inline = FALSE, + parseValue = TRUE, width = NULL) { # selected <- restoreInput(id = inputId, default = selected) type <- match.arg(type) + parseValue <- if (isTRUE(parseValue)) { + if (type %in% c("month", "year")) { + "calendarPro.monthyear" + } else { + "calendarPro.date" + } + } else { + "calendarPro.raw" + } config <- list( type = if (type == "range") "multiple" else type, months = months, @@ -85,9 +103,13 @@ calendarProInput <- function(inputId, jumpToSelectedDate = jumpToSelectedDate, toggleSelected = toggleSelected, weekNumbersSelect = weekNumbersSelect, - ... + parseValue = parseValue ) config$input <- input + config$settings$selection$time <- time + config$settings$selected$time <- timeValue + if (!is.null(value)) + value <- format(value, format = "%Y-%m-%d") config$settings$selected$dates <- list1(value) if (type == "multiple") config$settings$selection$day <- "multiple" @@ -105,6 +127,7 @@ calendarProInput <- function(inputId, config$settings$visibility$weekNumbers <- weekNumbers config$settings$visibility$weekend <- weekend config$settings$visibility$positionToInput <- positionToInput + config <- modifyList(config, list(...)) tag_el <- if (isTRUE(input)) { tags$input( type = "text", diff --git a/R/onLoad.R b/R/onLoad.R index 846f94af..96aef94a 100644 --- a/R/onLoad.R +++ b/R/onLoad.R @@ -5,7 +5,7 @@ #' @noRd #' .onLoad <- function(...) { - shiny::addResourcePath('shinyWidgets', system.file("assets", package = "shinyWidgets")) + shiny::addResourcePath("shinyWidgets", system.file("assets", package = "shinyWidgets")) shiny::registerInputHandler("sw.numericRange", function(data, ...) { if (is.null(data)) { NULL @@ -66,4 +66,50 @@ data } }, force = TRUE) + shiny::registerInputHandler("calendarPro.date", function(data, ...) { + if (length(data) < 1 || length(data$selectedDates) < 1) + return(NULL) + if (!is.null(data$selectedTime)) { + fmt <- if (grepl(pattern = "(A|P)M", x = data$selectedTime)) { + "%Y-%m-%d %I:%M %p" + } else { + "%Y-%m-%d %H:%M" + } + res <- try(as.POSIXct( + paste(unlist(data$selectedDates), data$selectedTime), + format = fmt + ), silent = TRUE) + } else { + res <- try(as.Date(unlist(data$selectedDates)), 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.monthyear", function(data, ...) { + if (length(data) < 1) + return(NULL) + res <- try(as.Date( + paste( + data$selectedYear, + data$selectedMonth + 1, + "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) + return(data) + }, force = TRUE) } diff --git a/inst/examples/calendar-pro/value/app.R b/inst/examples/calendar-pro/value/app.R new file mode 100644 index 00000000..41a7599a --- /dev/null +++ b/inst/examples/calendar-pro/value/app.R @@ -0,0 +1,103 @@ + +library(shiny) +library(shinyWidgets) + +parseValue <- TRUE + +ui <- fluidPage( + theme = bslib::bs_theme(5), + tags$h2("Calendar Pro Input"), + fluidRow( + column( + width = 6, + calendarProInput( + inputId = "cal1", + label = "Date selection:", + placeholder = "Select a date", + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res1"), + + calendarProInput( + inputId = "cal3", + label = "Date selection (with default):", + value = Sys.Date() + 2, + placeholder = "Select a date", + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res3"), + + calendarProInput( + inputId = "cal5", + label = "Month selection:", + placeholder = "Select a month", + type = "month", + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res5"), + + calendarProInput( + inputId = "cal7", + label = "Year selection:", + placeholder = "Select a year", + # settings = list(selection = list(month = FALSE)), + type = "year", + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res7") + ), + column( + width = 6, + calendarProInput( + inputId = "cal2", + label = "Multiple date selection:", + type = "multiple", + placeholder = "Select multiple date ", + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res2"), + + calendarProInput( + inputId = "cal4", + label = "Datetime selection:", + placeholder = "Select date and time", + time = 12, + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res4"), + + calendarProInput( + inputId = "cal6", + label = "Datetime selection (with default):", + value = Sys.Date(), + time = 24, + timeValue = "10:00", + placeholder = "Select date and time", + width = "100%", + parseValue = parseValue + ), + verbatimTextOutput("res6") + ) + ) +) + +server <- function(input, output, session) { + + output$res1 <- renderPrint(str(input$cal1)) + output$res2 <- renderPrint(str(input$cal2)) + output$res3 <- renderPrint(str(input$cal3)) + output$res4 <- renderPrint(str(input$cal4)) + output$res5 <- renderPrint(str(input$cal5)) + output$res6 <- renderPrint(str(input$cal6)) + output$res7 <- renderPrint(str(input$cal7)) + +} + +if (interactive()) + shinyApp(ui, server) diff --git a/inst/packer/calendar-pro.js b/inst/packer/calendar-pro.js index a215b759..9fcc2e2e 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 */ -(()=>{"use strict";var a={7485:(a,e,t)=>{t.d(e,{A:()=>m});var n=t(1601),l=t.n(n),r=t(6314),d=t.n(r),i=t(4417),c=t.n(i),s=new URL(t(3751),t.b),o=new URL(t(1771),t.b),_=d()(l()),v=c()(s),h=c()(o);_.push([a.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('+v+")}[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("+h+")}[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 m=_},6314:a=>{a.exports=function(a){var e=[];return e.toString=function(){return this.map((function(e){var t="",n=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),n&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=a(e),n&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(a,t,n,l,r){"string"==typeof a&&(a=[[null,a,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)),e.push(o))}},e}},4417:a=>{a.exports=function(a,e){return e||(e={}),a?(a=String(a.__esModule?a.default:a),/^['"].*['"]$/.test(a)&&(a=a.slice(1,-1)),e.hash&&(a+=e.hash),/["'() \t\n]|(%20)/.test(a)||e.needQuotes?'"'.concat(a.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):a):a}},1601:a=>{a.exports=function(a){return a[1]}},5072:a=>{var e=[];function t(a){for(var t=-1,n=0;n{var e={};a.exports=function(a,t){var n=function(a){if(void 0===e[a]){var t=document.querySelector(a);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(a){t=null}e[a]=t}return e[a]}(a);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:a=>{a.exports=function(a){var e=document.createElement("style");return a.setAttributes(e,a.attributes),a.insert(e,a.options),e}},5056:(a,e,t)=>{a.exports=function(a){var e=t.nc;e&&a.setAttribute("nonce",e)}},7825:a=>{a.exports=function(a){var e=a.insertStyleElement(a);return{update:function(t){!function(a,e,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))))," */")),e.styleTagTransform(n,a,e.options)}(e,a,t)},remove:function(){!function(a){if(null===a.parentNode)return!1;a.parentNode.removeChild(a)}(e)}}}},1113:a=>{a.exports=function(a,e){if(e.styleSheet)e.styleSheet.cssText=a;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(a))}}},1771:a=>{a.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nI2ZmZicgZD0nTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zeicvPjwvc3ZnPg=="},3751:a=>{a.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nIzBmMTcyYScgZD0nTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zeicvPjwvc3ZnPg=="}},e={};function t(n){var l=e[n];if(void 0!==l)return l.exports;var r=e[n]={id:n,exports:{}};return a[n](r,r.exports,t),r.exports}t.m=a,t.n=a=>{var e=a&&a.__esModule?()=>a.default:()=>a;return t.d(e,{a:e}),e},t.d=(a,e)=>{for(var n in e)t.o(e,n)&&!t.o(a,n)&&Object.defineProperty(a,n,{enumerable:!0,get:e[n]})},t.o=(a,e)=>Object.prototype.hasOwnProperty.call(a,e),t.b=document.baseURI||self.location.href,t.nc=void 0;const n=jQuery;var l=t.n(n);Shiny;var r=Object.defineProperty,d=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,s=(a,e,t)=>e in a?r(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,o=(a,e)=>{for(var t in e||(e={}))i.call(e,t)&&s(a,t,e[t]);if(d)for(var t of d(e))c.call(e,t)&&s(a,t,e[t]);return a},_=(a,e,t)=>(s(a,"symbol"!=typeof e?e+"":e,t),t);const v={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"},h=a=>`
<#ArrowPrev /><#ArrowNext />
<#Multiple>
<#Month /><#Year />
<#WeekNumbers />
<#Week /><#Days />
<#/Multiple>
<#ControlTime />`,m=a=>`
<#Month /><#Year />
<#Months />
`,y=a=>`
<#ArrowPrev />
<#Month /><#Year />
<#ArrowNext />
<#Years />
`;class b{constructor(){var a;_(this,"isInit",!1),_(this,"isInputInit",!1),_(this,"input",!1),_(this,"type","default"),_(this,"months",2),_(this,"jumpMonths",1),_(this,"jumpToSelectedDate",!1),_(this,"toggleSelected",!0),_(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),_(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"}}),_(this,"locale",{months:[],weekday:[]}),_(this,"sanitizer",(a=>a)),_(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}),_(this,"popups",{}),_(this,"CSSClasses",o({},v)),_(this,"DOMTemplates",{default:(a=this.CSSClasses,`
<#ArrowPrev />
<#Month /><#Year />
<#ArrowNext />
<#WeekNumbers />
<#Week /><#Days />
<#ControlTime />`),multiple:h(this.CSSClasses),month:m(this.CSSClasses),year:y(this.CSSClasses)}),_(this,"HTMLElement"),_(this,"HTMLOriginalElement"),_(this,"HTMLInputElement"),_(this,"rangeMin"),_(this,"rangeMax"),_(this,"rangeDisabled"),_(this,"rangeEnabled"),_(this,"selectedDates"),_(this,"selectedHolidays"),_(this,"selectedMonth"),_(this,"selectedYear"),_(this,"selectedHours"),_(this,"selectedMinutes"),_(this,"selectedKeeping"),_(this,"selectedTime"),_(this,"currentType"),_(this,"correctMonths"),_(this,"viewYear"),_(this,"dateMin"),_(this,"dateMax")}}const g=a=>`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=a=>new Date(`${a}T00:00:00`),p=a=>a.reduce(((a,e)=>{if(e instanceof Date||"number"==typeof e){const t=e instanceof Date?e:new Date(e);a.push(t.toISOString().substring(0,10))}else e.match(/^(\d{4}-\d{2}-\d{2})$/g)?a.push(e):e.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,((e,t,n)=>{const l=u(t),r=u(n),d=new Date(l.getTime());for(;d<=r;d.setDate(d.getDate()+1))a.push(g(d));return e}));return a}),[]),w=()=>{const a=new Date;return new Date(a.getTime()-6e4*a.getTimezoneOffset()).toISOString().substring(0,10)},f=a=>a?{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(a)]||String(a):"",k='The calendar has not been initialized, please initialize it using the "init()" method first.',M=a=>{a.currentType=a.type,(a=>{var e;if(a.jumpToSelectedDate&&(null==(e=a.settings.selected.dates)?void 0:e.length)&&void 0===a.settings.selected.month&&void 0===a.settings.selected.year){const e=u(p(a.settings.selected.dates)[0]);a.settings.selected.month=e.getMonth(),a.settings.selected.year=e.getFullYear()}const t=void 0!==a.settings.selected.month&&Number(a.settings.selected.month)>=0&&Number(a.settings.selected.month)<12,n=void 0!==a.settings.selected.year&&Number(a.settings.selected.year)>=0&&Number(a.settings.selected.year)<=9999;a.selectedMonth=t?Number(a.settings.selected.month):a.date.today.getMonth(),a.selectedYear=n?Number(a.settings.selected.year):a.date.today.getFullYear(),a.viewYear=a.selectedYear})(a),(a=>{var e,t,n;"today"===a.date.min&&(a.date.min=w()),"today"===a.date.max&&(a.date.max=w()),"today"===a.settings.range.min&&(a.settings.range.min=w()),"today"===a.settings.range.max&&(a.settings.range.max=w()),a.settings.range.min=a.settings.range.min?u(a.date.min)>=u(a.settings.range.min)?a.date.min:a.settings.range.min:a.date.min,a.settings.range.max=a.settings.range.max?u(a.date.max)<=u(a.settings.range.max)?a.date.max:a.settings.range.max:a.date.max;const l=a.settings.range.disablePast&&!a.settings.range.disableAllDays&&u(a.settings.range.min)1&&a.rangeDisabled.sort(((a,e)=>+new Date(a)-+new Date(e))),a.rangeEnabled=a.settings.range.enabled?p(a.settings.range.enabled):[],(null==(e=a.rangeEnabled)?void 0:e[0])&&(null==(t=a.rangeDisabled)?void 0:t[0])&&(a.rangeDisabled=a.rangeDisabled.filter((e=>!a.rangeEnabled.includes(e)))),a.rangeEnabled.length>1&&a.rangeEnabled.sort(((a,e)=>+new Date(a)-+new Date(e))),(null==(n=a.rangeEnabled)?void 0:n[0])&&a.settings.range.disableAllDays&&(a.rangeMin=a.rangeEnabled[0],a.rangeMax=a.rangeEnabled[a.rangeEnabled.length-1])})(a),(a=>{var e,t;a.selectedDates=(null==(e=a.settings.selected.dates)?void 0:e[0])?p(a.settings.selected.dates):[],a.selectedHolidays=(null==(t=a.settings.selected.holidays)?void 0:t[0])?p(a.settings.selected.holidays):[]})(a),(a=>{a.dateMin=a.settings.visibility.disabled?u(a.date.min):u(a.rangeMin),a.dateMax=a.settings.visibility.disabled?u(a.date.max):u(a.rangeMax)})(a),(a=>{const e=!0===a.settings.selection.time||12===a.settings.selection.time;if(e||24===a.settings.selection.time){let t=!1;if("string"==typeof a.settings.selected.time){const n=e?/^([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;a.settings.selected.time.replace(n,((n,l,r,d)=>(l&&r&&(t=!0,a.selectedHours=l,a.selectedMinutes=r),d&&e?a.selectedKeeping=d:e&&(a.selectedKeeping="AM"),"")))}!t&&e?(a.selectedHours=f(String(a.date.today.getHours())),a.selectedMinutes=String(a.date.today.getMinutes()),a.selectedKeeping=Number(a.date.today.getHours())>=12?"PM":"AM"):t||(a.selectedHours=String(a.date.today.getHours()),a.selectedMinutes=String(a.date.today.getMinutes())),a.selectedHours=Number(a.selectedHours)<10?`0${Number(a.selectedHours)}`:`${a.selectedHours}`,a.selectedMinutes=Number(a.selectedMinutes)<10?`0${Number(a.selectedMinutes)}`:`${a.selectedMinutes}`,a.selectedTime=`${a.selectedHours}:${a.selectedMinutes}${a.selectedKeeping?` ${a.selectedKeeping}`:""}`}else if(a.settings.selection.time)throw new Error("The value of the time property can be: false, true, 12 or 24.")})(a),(a=>{a.correctMonths="multiple"===a.type?1===a.months?2:a.months>12?12:a.months:1})(a)},S=({arrowPrev:a,arrowNext:e,isPrevHidden:t,isNextHidden:n})=>{a.style.visibility=t?"hidden":"",e.style.visibility=n?"hidden":""},C=a=>{var e,t;if("month"===a.currentType)return;const n=null==(e=a.HTMLElement)?void 0:e.querySelector(`.${a.CSSClasses.arrowPrev}`),l=null==(t=a.HTMLElement)?void 0:t.querySelector(`.${a.CSSClasses.arrowNext}`);n&&l&&{default:()=>{const e=u(g(new Date(a.selectedYear,a.selectedMonth,1))),t=new Date(e.getTime()),r=new Date(e.getTime());t.setMonth(t.getMonth()-a.jumpMonths),r.setMonth(r.getMonth()+a.jumpMonths),a.settings.selection.year||(a.dateMin.setFullYear(e.getFullYear()),a.dateMax.setFullYear(e.getFullYear()));const d=!a.settings.selection.month||t.getFullYear()a.dateMax.getFullYear()||r.getFullYear()===a.dateMax.getFullYear()&&r.getMonth()>a.dateMax.getMonth();S({arrowPrev:n,arrowNext:l,isPrevHidden:d,isNextHidden:i})},year:()=>{S({arrowPrev:n,arrowNext:l,isPrevHidden:a.dateMin.getFullYear()&&a.viewYear-7<=a.dateMin.getFullYear(),isNextHidden:a.dateMax.getFullYear()&&a.viewYear+7>=a.dateMax.getFullYear()})}}["multiple"===a.currentType?"default":a.currentType]()},x=(a,e)=>{if(!a)return null;const t=u(a),n=e?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 L(a){if(!a||!a.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const e=a.getBoundingClientRect(),t=document.documentElement;return{bottom:e.bottom,right:e.right,top:e.top+window.scrollY-t.clientTop,left:e.left+window.scrollX-t.clientLeft}}function D(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function T(a,e,t=5){const n={top:!0,bottom:!0,left:!0,right:!0},l=[];if(!e||!a)return{canShow:n,parentPositions:l};const{bottom:r,top:d}=function(a){const{top:e,left:t}={left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0},{top:n,left:l}=L(a),{vh:r,vw:d}=D(),i=n-e,c=l-t;return{top:i,bottom:r-(i+a.clientHeight),left:c,right:d-(c+a.clientWidth)}}(a),{top:i,left:c}=L(a),{height:s,width:o}=e.getBoundingClientRect(),{vh:_,vw:v}=D(),h=v/2,m=_/2;return[{condition:im,position:"bottom"},{condition:ch,position:"right"}].forEach((({condition:a,position:e})=>{a&&l.push(e)})),Object.assign(n,{top:s<=d-t,bottom:s<=r-t,left:o<=c,right:o<=v-c}),{canShow:n,parentPositions:l}}const E=(a,e,t,n)=>{if(a){const l="auto"===t?function(a,e){const t="left";if(!e||!a)return t;const{canShow:n,parentPositions:l}=T(a,e),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}(a,e):t,r={top:-e.offsetHeight,bottom:a.offsetHeight,left:0,center:a.offsetWidth/2-e.offsetWidth/2,right:a.offsetWidth-e.offsetWidth},d=Array.isArray(l)?l[0]:"bottom",i=Array.isArray(l)?l[1]:l;"bottom"===d?(e.classList.remove(n.calendarToInputTop),e.classList.add(n.calendarToInputBottom)):(e.classList.remove(n.calendarToInputBottom),e.classList.add(n.calendarToInputTop));const{top:c,left:s}=L(a),o=c+r[d];let _=s+r[i];const{vw:v}=D();if(_+e.clientWidth>v){const a=window.innerWidth-document.body.clientWidth;_=v-e.clientWidth-a}else _<0&&(_=0);Object.assign(e.style,{left:`${_}px`,top:`${o}px`})}},H=(a,e,t,n,l)=>{const r=e[t].querySelector(`.${a.CSSClasses.dayBtn}`),d=x(null==r?void 0:r.dataset.calendarDay,a.settings.iso8601);if(!d)return;const i=n.cloneNode(!0);i.innerText=String(d.week),i.dataset.calendarYearWeek=String(d.year),l.appendChild(i)},$=(a,e,t,n,l,r,d,i)=>{const c=document.createElement("div");c.className=a.CSSClasses.day;const s=document.createElement("button");s.className=`${a.CSSClasses.dayBtn}${i?` ${i}`:""}`,s.type="button",s.innerText=String(n),s.dataset.calendarDay=r,a.settings.visibility.weekNumbers&&(()=>{const e=x(r,a.settings.iso8601);e&&(s.dataset.calendarWeekNumber=String(e.week))})(),d?a.settings.visibility.daysOutside&&c.appendChild(s):c.appendChild(s),((a,e,t)=>{var n,l,r,d,i;const c=null==(n=a.settings.range.disableWeekday)?void 0:n.includes(t),s=a.settings.range.disableAllDays&&!!(null==(l=a.rangeEnabled)?void 0:l[0]);!c&&!s||(null==(r=a.rangeEnabled)?void 0:r.includes(e))||(null==(d=a.rangeDisabled)?void 0:d.includes(e))||(a.rangeDisabled.push(e),null==(i=a.rangeDisabled)||i.sort(((a,e)=>+new Date(a)-+new Date(e))))})(a,r,l),((a,e,t,n,l,r,d)=>{var i,c,s;if((u(a.rangeMin)>u(r)||u(a.rangeMax)1&&"multiple-ranged"===a.settings.selection.day&&(a.selectedDates[0]===r&&t.classList.add(a.CSSClasses.daySelectedFirst),a.selectedDates[a.selectedDates.length-1]===r&&t.classList.add(a.CSSClasses.daySelectedLast),a.selectedDates[0]!==r&&a.selectedDates[a.selectedDates.length-1]!==r&&t.classList.add(a.CSSClasses.daySelectedIntermediate))),a.settings.range.edgesOnly&&a.selectedDates.length>1&&"multiple-ranged"===a.settings.selection.day){const e=+new Date(a.selectedDates[0]),l=+new Date(a.selectedDates[a.selectedDates.length-1]),d=+new Date(r);d>e&&d{const e=a.HTMLElement.querySelectorAll(`.${a.CSSClasses.days}`),t=a.HTMLElement.querySelectorAll(`.${a.CSSClasses.weekNumbers}`),n=new Date(a.selectedYear,a.selectedMonth,1);e.forEach(((e,l)=>{const r=new Date(n);r.setMonth(r.getMonth()+l);const d=r.getMonth(),i=r.getFullYear(),c=new Date(i,d,1),s=new Date(i,d+1,0).getDate(),o=a.settings.iso8601?(0!==c.getDay()?c.getDay():7)-1:c.getDay();a.settings.selection.day&&e.classList.add(a.CSSClasses.daysSelecting),e.textContent="",((a,e,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=u(n).getDay();$(a,t,e,r,l,n,!0,a.CSSClasses.dayBtnPrev)}})(a,e,i,d,o),((a,e,t,n,l)=>{for(let r=1;r<=t;r++){const t=new Date(n,l,r),d=g(t),i=t.getDay();$(a,n,e,r,i,d,!1,null)}})(a,e,s,i,d),((a,e,t,n,l,r)=>{const d=r+t,i=7*Math.ceil(d/7)-d,c=l+1===12?n+1:n,s=l+1===12?"01":l+2<10?`0${l+2}`:l+2;for(let t=1;t<=i;t++){const l=`${c}-${s}-${t<10?`0${t}`:String(t)}`,r=u(l).getDay();$(a,n,e,t,r,l,!0,a.CSSClasses.dayBtnNext)}})(a,e,s,i,d,o),((a,e,t,n,l)=>{if(!a.settings.visibility.weekNumbers)return;n.textContent="";const r=document.createElement("b");r.className=a.CSSClasses.weekNumbersTitle,r.innerText="#",n.appendChild(r);const d=document.createElement("div");d.className=a.CSSClasses.weekNumbersContent,n.appendChild(d);const i=document.createElement("button");i.type="button",i.className=a.CSSClasses.weekNumber;const c=l.querySelectorAll(`.${a.CSSClasses.day}`),s=Math.ceil((e+t)/7);for(let e=0;e{var t;a.popups&&(null==(t=Object.entries(a.popups))||t.forEach((([t,n])=>((a,e,t,n)=>{const l=a.CSSClasses.dayPopup,r=n.querySelector(`[data-calendar-day="${e}"]`);if(r&&((null==t?void 0:t.modifier)&&r.classList.add(...t.modifier.trim().split(" ")),null==t?void 0:t.html)){const e=r.parentElement,n=document.createElement("div");n.className=l,n.innerHTML=a.sanitizer(t.html),e.appendChild(n),setTimeout((()=>{if(n){const{canShow:a}=T(e,n),t=5;let l=e.offsetHeight,r=0;a.bottom||(l=-n.offsetHeight-t),a.left&&!a.right&&(r=e.offsetWidth-n.offsetWidth/2),!a.left&&a.right&&(r=n.offsetWidth/2),Object.assign(n.style,{left:`${r}px`,top:`${l}px`})}}))}})(a,t,n,e))))})(a,e)}))},N=a=>{var e,t;const n=null==(e=a.HTMLElement)?void 0:e.querySelectorAll("[data-calendar-selected-month]"),l=null==(t=a.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(a.selectedYear,a.selectedMonth,1);null==n||n.forEach(((e,t)=>((a,e,t,n)=>{const l=new Date(n.setMonth(a.selectedMonth+t)).getMonth(),r=!1===a.settings.selection.month||"only-arrows"===a.settings.selection.month;e.tabIndex=r?-1:0,e.classList.toggle(a.CSSClasses.monthDisabled,r),e.setAttribute("data-calendar-selected-month",String(l)),e.innerText=a.locale.months[l]})(a,e,t,r))),null==l||l.forEach(((e,t)=>((a,e,t,n)=>{const l=new Date(n.setFullYear(a.selectedYear,a.selectedMonth+t)).getFullYear(),r=!1===a.settings.selection.year||"only-arrows"===a.settings.selection.year;e.tabIndex=r?-1:0,e.classList.toggle(a.CSSClasses.yearDisabled,r),e.setAttribute("data-calendar-selected-year",String(l)),e.innerText=String(l)})(a,e,t,r)))},A=(a,e)=>{const t=u(g(new Date(a.selectedYear,a.selectedMonth,1)));({prev:()=>t.setMonth(t.getMonth()-a.jumpMonths),next:()=>t.setMonth(t.getMonth()+a.jumpMonths)})[e](),[a.selectedMonth,a.selectedYear]=[t.getMonth(),t.getFullYear()],N(a),C(a),Y(a)},I=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:a=>``,ArrowPrev:a=>``,ControlTime:a=>a.settings.selection.time?`
`:"",Days:a=>`
`,Month:a=>``,Months:a=>`
`,Week:a=>`
`,WeekNumbers:a=>a.settings.visibility.weekNumbers?`
`:"",Year:a=>``,Years:a=>`
`},Symbol.toStringTag,{value:"Module"})),j=(a,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((e,t)=>{const n=(l=t.replace(/[/\s\n\t]/g,""),I[l]);var l;const r=n?n(a):"";return a.sanitizer(r)})).replace(/[\n\t]/g,""),z=(a,e)=>{const{HTMLElement:t,CSSClasses:n,DOMTemplates:l,type:r,currentType:d,correctMonths:i}=a,c=(l,r)=>{if(!e)return;const d=t.querySelector(`.${n.controls}`);d&&t.removeChild(d),t.querySelector(`.${n.grid}`).classList.add(n.gridDisabled);const i=e.closest(`.${n.column}`);i.classList.add(l),i.innerHTML=j(a,r)},s={default:()=>{t.classList.add(n.calendarDefault),t.classList.remove(n.calendarMonth,n.calendarYear),t.innerHTML=j(a,l.default)},multiple:()=>{i&&(t.classList.add(n.calendarMultiple),t.classList.remove(n.calendarMonth,n.calendarYear),t.innerHTML=((a,e)=>e.replace(/<#Multiple>(.*?)<#\/Multiple>/g,((e,t)=>{let n="";for(let e=0;e{"multiple"!==r?(t.classList.add(n.calendarMonth),t.classList.remove(n.calendarDefault,n.calendarYear),t.innerHTML=j(a,l.month)):c(n.columnMonth,l.month)},year:()=>{"multiple"!==r?(t.classList.add(n.calendarYear),t.classList.remove(n.calendarDefault,n.calendarMonth),t.innerHTML=j(a,l.year)):c(n.columnYear,l.year)}};t.classList.add(n.calendar),s[d]()},P=(a,e,t,n,l)=>{const r=e.cloneNode(!1);return r.className=`${a.CSSClasses.yearsYear}${t===l?` ${a.CSSClasses.yearsYearSelected}`:n?` ${a.CSSClasses.yearsYearDisabled}`:""}`,r.dataset.calendarYear=String(l),r.title=String(l),r.innerText=String(l),n&&(r.tabIndex=-1),r},F=(a,e)=>{const t=(null==e?void 0:e.dataset.calendarSelectedYear)?Number(null==e?void 0:e.dataset.calendarSelectedYear):a.selectedYear;a.currentType="year",z(a,e),N(a),C(a);const n=a.HTMLElement.querySelector(`.${a.CSSClasses.years}`);if(!a.settings.selection.year||!n)return;n.classList.add(a.CSSClasses.yearsSelecting);const l="multiple"!==a.type||a.selectedYear===t?0:1,r=document.createElement("button");r.type="button";for(let e=a.viewYear-7;ea.dateMax.getFullYear(),i=P(a,r,t,d,e);n.appendChild(i),a.actions.getYears&&a.actions.getYears(e,i,a)}},B=a=>`${a.charAt(0).toUpperCase()}${a.substring(1,a.length)}`.replace(/\./,""),W=(a,e)=>{const t=new Date(`1978-01-0${e+1}T00:00:00.000Z`).toLocaleString(a.settings.lang,{weekday:"short",timeZone:"UTC"});a.locale.weekday.push(B(t))},O=(a,e)=>{const t=new Date(`1978-${e+1<=9?`0${e+1}`:e+1}-01T00:00:00.000Z`).toLocaleString(a.settings.lang,{month:"long",timeZone:"UTC"});a.locale.months.push(B(t))},q=a=>{if("multiple"!==a.type)return 0;const e=a.HTMLElement.querySelectorAll(`.${a.CSSClasses.column}`),t=Array.from(e).findIndex((e=>e.classList.contains(`${a.CSSClasses.columnMonth}`)));return t>0?t:0},K=(a,e,t,n,l,r)=>{const d=e.cloneNode(!1);return d.className=`${a.CSSClasses.monthsMonth}${t===r?` ${a.CSSClasses.monthsMonthSelected}`:l?` ${a.CSSClasses.monthsMonthDisabled}`:""}`,d.title=n,d.innerText=`${a.settings.visibility.monthShort?n.substring(0,3):n}`,d.dataset.calendarMonth=String(r),l&&(d.tabIndex=-1),d},Z=(a,e)=>{var t,n;const l=(null==e?void 0:e.dataset.calendarSelectedMonth)?Number(e.dataset.calendarSelectedMonth):a.selectedMonth,r=null==(t=null==e?void 0:e.closest(`.${a.CSSClasses.column}`))?void 0:t.querySelector(`.${a.CSSClasses.year}`),d=r?Number(r.dataset.calendarSelectedYear):a.selectedYear;a.currentType="month",z(a,e),N(a);const i=null==(n=a.HTMLElement)?void 0:n.querySelector(`.${a.CSSClasses.months}`);if(!a.settings.selection.month||!i)return;i.classList.add(a.CSSClasses.monthsSelecting);const c=a.jumpMonths>1?a.locale.months.map(((e,t)=>l-a.jumpMonths*t)).concat(a.locale.months.map(((e,t)=>l+a.jumpMonths*t))).filter((a=>a>=0&&a<=12)):Array.from(Array(12).keys()),s=document.createElement("button");s.type="button";for(let e=0;e<12;e++){const t=a.locale.months[e],n=ea.dateMax.getMonth()+q(a)&&d>=a.dateMax.getFullYear()||e!==l&&!c.includes(e),r=K(a,s,l,t,n,e);i.appendChild(r),a.actions.getMonths&&a.actions.getMonths(e,r,a)}},R=(a,e)=>a&&e?{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(a)][e]:"",Q=(a,e,t)=>a.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),U=(a,e,t)=>{a.addEventListener("mouseover",(()=>e.classList.add(t))),a.addEventListener("mouseout",(()=>e.classList.remove(t)))},G=(a,e,t,n)=>{({hours:()=>{a.selectedHours=t},minutes:()=>{a.selectedMinutes=t}})[n](),a.selectedTime=`${a.selectedHours}:${a.selectedMinutes}${a.selectedKeeping?` ${a.selectedKeeping}`:""}`,a.actions.changeTime&&a.actions.changeTime(e,a),a.input&&a.HTMLInputElement&&a.actions.changeToInput&&a.actions.changeToInput(e,a)},V=(a,e,t,n,l,r)=>{e.addEventListener("input",(e=>{const d=e.target,i=Number(d.value),c=i<10?`0${i}`:`${i}`;if("hours"!==l||12!==r)return t.value=c,void G(a,e,c,l);i0?(t.value=c,a.selectedKeeping="AM",n.innerText=a.selectedKeeping,G(a,e,c,l)):(0===i?(a.selectedKeeping="AM",n.innerText="AM"):(a.selectedKeeping="PM",n.innerText="PM"),t.value=f(d.value),G(a,e,f(d.value),l))}))},J=(a,e,t,n,l,r)=>{t.addEventListener("change",(t=>{const d=t.target,i=Number(d.value),c=i<10?`0${i}`:`${i}`;"hours"===l&&12===r?d.value&&i<=r&&i>0?(d.value=c,e.value=R(c,a.selectedKeeping),G(a,t,c,l)):d.value&&i<24&&(i>r||0===i)?(0===i?(a.selectedKeeping="AM",n.innerText="AM"):(a.selectedKeeping="PM",n.innerText="PM"),d.value=f(d.value),e.value=c,G(a,t,f(d.value),l)):d.value=a.selectedHours:d.value&&i<=r&&i>=0?(d.value=c,e.value=c,G(a,t,c,l)):"hours"===l?d.value=a.selectedHours:"minutes"===l&&(d.value=a.selectedMinutes)}))},X=(a,e,t,n)=>``,aa=(a,e,t,n,l,r)=>``,ea=a=>{const e=[...a.locale.weekday];e[0]&&(a.settings.iso8601&&e.push(e.shift()),a.HTMLElement.querySelectorAll(`.${a.CSSClasses.week}`).forEach((t=>((a,e,t)=>{const n=document.createElement("b");e.textContent="";for(let l=0;l{na.value=!0},check:()=>na.value},la=(a,e)=>ta.find((t=>{var n;return"system"!==t&&(null==(n=a.getAttribute(e))?void 0:n.includes(t))})),ra=(a,e)=>{a.dataset.calendarTheme=e},da=(a,e)=>{var t;if(t=e,ra(a.HTMLElement,t.matches?"dark":"light"),"system"!==a.settings.visibility.theme||na.check())return;const n=e=>{const t=document.querySelectorAll(`.${a.CSSClasses.calendar}`);null==t||t.forEach((a=>ra(a,e.matches?"dark":"light")))};e.addEventListener?e.addEventListener("change",n):e.addListener(n),na.set()},ia=a=>{const e={default:()=>{ea(a),Y(a)},multiple:()=>{ea(a),Y(a)},month:()=>Z(a),year:()=>F(a)};(a=>{if(!ta.includes(a.settings.visibility.theme))throw new Error('Incorrect name of theme in "settings.visibility.theme".');"not all"!==window.matchMedia("(prefers-color-scheme)").media?{light:()=>ra(a.HTMLElement,"light"),dark:()=>ra(a.HTMLElement,"dark"),system:()=>((a,e)=>{const t=a.settings.visibility.themeDetect?document.querySelector(a.settings.visibility.themeDetect):null;if(!t)return void da(a,e);const n=a.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,((a,e)=>e)),l=la(t,n);l?(ra(a.HTMLElement,l),((a,e,t)=>{new MutationObserver((n=>{for(let l=0;l{if("define"!==a.settings.lang||!a.locale.weekday[6]||!a.locale.months[11]){if("define"===a.settings.lang)throw new Error('You specified "define" for "settings.lang" but did not provide the required values for "locale.weekday" or "locale.months".');a.locale.weekday=[],a.locale.months=[];for(let e=0;e<7;e++)W(a,e);for(let e=0;e<12;e++)O(a,e)}})(a),z(a),N(a),C(a),(a=>{const e=a.HTMLElement.querySelector(`.${a.CSSClasses.time}`);if(!e)return;const t=!0===a.settings.selection.time?12:a.settings.selection.time,n="range"===a.settings.selection.controlTime,[l,r]=[0,23],[d,i]=[0,59];e.innerHTML=a.sanitizer(`
${X("hours",a.CSSClasses.timeHours,a.selectedHours,n)}${X("minutes",a.CSSClasses.timeMinutes,a.selectedMinutes,n)}${12===t?``:""}
${aa("hours",a.CSSClasses.timeRange,l,r,a.settings.selection.stepHours,a.selectedKeeping?R(a.selectedHours,a.selectedKeeping):a.selectedHours)}${aa("minutes",a.CSSClasses.timeRange,d,i,a.settings.selection.stepMinutes,a.selectedMinutes)}
`),((a,e,t)=>{const n=24===t?23:t||12,l=Q(e,a.CSSClasses.timeRange,"hours"),r=Q(e,a.CSSClasses.timeRange,"minutes"),d=Q(e,a.CSSClasses.timeHours,"hours"),i=Q(e,a.CSSClasses.timeMinutes,"minutes"),c=e.querySelector(`.${a.CSSClasses.timeKeeping}`);U(l,d,a.CSSClasses.isFocus),U(r,i,a.CSSClasses.isFocus),V(a,l,d,c,"hours",n),V(a,r,i,c,"minutes",0),J(a,l,d,c,"hours",n),J(a,r,i,c,"minutes",59),c&&((a,e,t)=>{e.addEventListener("click",(n=>{a.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=a.selectedKeeping,t.value=R(a.selectedHours,a.selectedKeeping),G(a,n,a.selectedHours,"hours")}))})(a,c,l)})(a,e,t)})(a),e[a.currentType]()},ca={self:null,rangeMin:void 0,rangeMax:void 0},sa=()=>{var a;if(!(null==(a=ca.self)?void 0:a.HTMLElement))return;const{CSSClasses:e}=ca.self;ca.self.HTMLElement.querySelectorAll(`.${ca.self.CSSClasses.dayBtnHover}`).forEach((a=>{var t;a.classList.remove(ca.self.CSSClasses.dayBtnHover),null==(t=a.parentElement)||t.classList.remove(e.dayHoverIntermediate,e.dayHoverFirst,e.dayHoverLast)}))},oa=(a,e,t)=>{var n,l,r;if(!(null==(n=ca.self)?void 0:n.selectedDates))return;const d=g(a),{CSSClasses:i}=ca.self;if(null==(l=ca.self.rangeDisabled)?void 0:l.includes(d))return;const c=null==(r=ca.self.HTMLElement)?void 0:r.querySelectorAll(`[data-calendar-day="${d}"]`);null==c||c.forEach((a=>{var e;a.classList.add(i.dayBtnHover),null==(e=a.parentElement)||e.classList.add(i.dayHoverIntermediate)})),null==e||e.forEach((a=>{var e;return null==(e=a.parentElement)?void 0:e.classList.add(i.dayHoverFirst)})),null==t||t.forEach((a=>{var e;return null==(e=a.parentElement)?void 0:e.classList.add(i.dayHoverLast)}))},_a=a=>{var e;if(!a.target||!(null==(e=ca.self)?void 0:e.selectedDates))return;if(!a.target.closest(`.${ca.self.CSSClasses.days}`))return void sa();const t=a.target.closest("[data-calendar-day]");if(!t)return;const n=t.dataset.calendarDay,l=u(ca.self.selectedDates[0]),r=u(n),d=ca.self.HTMLElement.querySelectorAll(`[data-calendar-day="${ca.self.selectedDates[0]}"]`),i=ca.self.HTMLElement.querySelectorAll(`[data-calendar-day="${n}"]`),[c,s]=l{ca.self&&"Escape"===a.key&&(ca.self.selectedDates=[],ca.self.HTMLElement.removeEventListener("mousemove",_a),document.removeEventListener("keydown",va),ia(ca.self))},ha=(a,e)=>{var t;if(e){const n=1===a.selectedDates.length&&a.selectedDates[0].includes(e);a.selectedDates=n&&!a.settings.selection.cancelableDay?[e,e]:n&&a.settings.selection.cancelableDay?[]:a.selectedDates.length>1?[e]:[...a.selectedDates,e],null==(t=a.selectedDates)||t.sort(((a,e)=>+new Date(a)-+new Date(e)))}a.settings.range.disableGaps&&(ca.rangeMin=ca.rangeMin?ca.rangeMin:a.rangeMin,ca.rangeMax=ca.rangeMax?ca.rangeMax:a.rangeMax),ca.self=a,{set:()=>{a.HTMLElement.addEventListener("mousemove",_a),document.addEventListener("keydown",va),a.settings.range.disableGaps&&(()=>{var a,e,t;if(!(null==(e=null==(a=ca.self)?void 0:a.selectedDates)?void 0:e[0])||!(null==(t=ca.self.rangeDisabled)?void 0:t[0]))return;const n=u(ca.self.selectedDates[0]),[l,r]=ca.self.rangeDisabled.map((a=>u(a))).reduce((([a,e],t)=>[n>=t?t:a,n{const[e,t]=[a.selectedDates[0],a.selectedDates[a.selectedDates.length-1]];a.selectedDates=a.selectedDates[0]!==a.selectedDates[a.selectedDates.length-1]?a.settings.range.edgesOnly?[e,t]:p([`${e}:${t}`]):[a.selectedDates[0],a.selectedDates[0]],a.HTMLElement.removeEventListener("mousemove",_a),document.removeEventListener("keydown",va),a.settings.range.disableGaps&&ca.self&&(ca.self.rangeMin=ca.rangeMin,ca.self.rangeMax=ca.rangeMax)}}[1===a.selectedDates.length?"set":"reset"]()},ma=(a,e,t)=>{if(!e.dataset.calendarDay)return;const n=e.dataset.calendarDay,l=e.classList.contains(a.CSSClasses.dayBtnSelected);if(l&&!a.settings.selection.cancelableDay)return;let r=!0;void 0!==a.toggleSelected&&(r="function"==typeof a.toggleSelected?a.toggleSelected(a):a.toggleSelected),l&&!r||(a.selectedDates=l?a.selectedDates.filter((a=>a!==n)):t?[...a.selectedDates,n]:[n])},ya=(a,e,t,n,l)=>{const r=a.HTMLElement.querySelectorAll(`.${a.CSSClasses.column}`),d=Array.from(r).findIndex((a=>a.classList.contains(e))),i=Number(r[d].querySelector(`.${t}`).getAttribute(l));return"month"===a.currentType&&d>=0?n-d:"year"===a.currentType&&a.selectedYear!==i?n-1:n},ba=(a,e,t,n)=>{if(!a.settings.selection[t])return;const l=e.target,r=a=>l.closest(`.${a}`),d=r(n.header),i=r(n.item),c=r(a.CSSClasses.grid),s=r(a.CSSClasses.column);a.currentType!==t&&d?{year:()=>F(a,l),month:()=>Z(a,l)}[t]():i?((a,e,t,n,l)=>{const r={year:()=>{var t,n;return null==(n=(t=a.actions).clickYear)?void 0:n.call(t,e,a)},month:()=>{var t,n;return null==(n=(t=a.actions).clickMonth)?void 0:n.call(t,e,a)}};({year:()=>{if("multiple"===a.type){const e=ya(a,a.CSSClasses.columnYear,a.CSSClasses.year,Number(l.dataset.calendarYear),"data-calendar-selected-year"),t=a.selectedMontha.dateMax.getMonth()&&e>=a.dateMax.getFullYear(),r=ea.dateMax.getFullYear();t||r?(a.selectedYear=a.dateMin.getFullYear(),a.selectedMonth=a.dateMin.getMonth()):n||d?(a.selectedYear=a.dateMax.getFullYear(),a.selectedMonth=a.dateMax.getMonth()):a.selectedYear=e}else a.selectedYear=Number(l.dataset.calendarYear)},month:()=>{if("multiple"===a.type){const e=ya(a,a.CSSClasses.columnMonth,a.CSSClasses.month,Number(l.dataset.calendarMonth),"data-calendar-selected-month"),t=l.closest(`.${n.column}`).querySelector(`.${a.CSSClasses.year}`);a.selectedYear=Number(t.dataset.calendarSelectedYear);const r=ea.dateMax.getMonth()&&a.selectedYear>=a.dateMax.getFullYear();a.selectedMonth=r?a.dateMin.getMonth():d?a.dateMax.getMonth():e}else a.selectedMonth=Number(l.dataset.calendarMonth)}})[t](),r[t](),a.currentType=a.type,ia(a)})(a,e,t,n,i):(a.currentType===t&&d||"multiple"===a.type&&a.currentType===t&&c&&!s)&&(a.currentType=a.type,ia(a))},ga=a=>{const e=e=>{((a,e)=>{const t=e.target.closest(`.${a.CSSClasses.arrow}`);t&&(["default","multiple"].includes(a.currentType)?A(a,t.dataset.calendarArrow):"year"===a.currentType&&void 0!==a.viewYear&&(a.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],F(a,e.target)),a.actions.clickArrow&&a.actions.clickArrow(e,a))})(a,e),((a,e)=>{var t;if(!a.settings.visibility.weekNumbers||!a.actions.clickWeekNumber)return;const n=e.target.closest(`.${a.CSSClasses.weekNumber}`),l=null==(t=a.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((a=>Number(a.dataset.calendarWeekNumber)===r));a.actions.clickWeekNumber(e,r,i,d,a)})(a,e),((a,e)=>{var t;const n=e.target,l=a=>n.closest(`.${a}`),r=l(a.CSSClasses.dayBtn);if(!a.settings.selection.day||!["single","multiple","multiple-ranged"].includes(a.settings.selection.day)||!r)return;({single:()=>ma(a,r,!1),multiple:()=>ma(a,r,!0),"multiple-ranged":()=>ha(a,r.dataset.calendarDay)})[a.settings.selection.day](),null==(t=a.selectedDates)||t.sort(((a,e)=>+new Date(a)-+new Date(e))),a.actions.clickDay&&a.actions.clickDay(e,a),a.input&&a.HTMLInputElement&&a.HTMLElement&&a.actions.changeToInput&&a.actions.changeToInput(e,a);const d=l(a.CSSClasses.dayBtnPrev),i=l(a.CSSClasses.dayBtnNext);({prev:()=>A(a,"prev"),next:()=>A(a,"next"),default:()=>Y(a)})[d?"prev":i?"next":"default"]()})(a,e),ba(a,e,"month",{header:a.CSSClasses.month,item:a.CSSClasses.monthsMonth,column:a.CSSClasses.columnMonth}),ba(a,e,"year",{header:a.CSSClasses.year,item:a.CSSClasses.yearsYear,column:a.CSSClasses.columnYear})};return a.HTMLElement.addEventListener("click",e),()=>a.HTMLElement.removeEventListener("click",e)},ua=(a,{year:e,month:t,dates:n,holidays:l,time:r}={})=>{var d;const i=o({},a.settings.selected);a.settings.selected.year=e?i.year:a.selectedYear,a.settings.selected.month=t?i.month:a.selectedMonth,a.settings.selected.holidays=l?i.holidays:a.selectedHolidays,a.settings.selected.time=r?i.time:a.selectedTime,a.settings.selected.dates="only-first"===n&&(null==(d=a.selectedDates)?void 0:d[0])?[a.selectedDates[0]]:!0===n?i.dates:a.selectedDates,M(a),ia(a),a.settings.selected=i,"multiple-ranged"===a.settings.selection.day&&n&&ha(a)},pa=(a,e=!0)=>{a.isInputInit=!0;const t=document.createElement("div");return t.className=`${a.CSSClasses.calendar} ${a.CSSClasses.calendarToInput} ${a.CSSClasses.calendarHidden}`,a.HTMLElement=t,document.body.appendChild(a.HTMLElement),a.HTMLElement.style.visibility="hidden",e&&queueMicrotask((()=>{E(a.HTMLInputElement,t,a.settings.visibility.positionToInput,a.CSSClasses),a.HTMLElement.style.visibility="visible",a.show()})),ua(a,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),a.actions.initCalendar&&a.actions.initCalendar(a),ga(a)};class wa extends b{constructor(a,e){if(super(),_(this,"init",(()=>{return(a=this).HTMLOriginalElement=a.HTMLElement.cloneNode(!0),a.isInit=!0,a.input?(a=>{const e=[];a.HTMLInputElement=a.HTMLElement;const t=()=>E(a.HTMLInputElement,a.HTMLElement,a.settings.visibility.positionToInput,a.CSSClasses),n=e=>{"Escape"===e.key&&((null==a?void 0:a.HTMLInputElement)&&(null==a?void 0:a.HTMLElement)&&a.hide(),document.removeEventListener("keydown",n))},l=e=>{var n;a&&e.target!==a.HTMLInputElement&&!(null==(n=a.HTMLElement)?void 0:n.contains(e.target))&&(a.HTMLInputElement&&a.HTMLElement&&a.hide(),window.removeEventListener("resize",t),document.removeEventListener("click",l,{capture:!0}))},r=()=>{a.isInputInit?(E(a.HTMLInputElement,a.HTMLElement,a.settings.visibility.positionToInput,a.CSSClasses),a.HTMLElement.style.visibility="visible",a.show()):e.push(pa(a)),window.addEventListener("resize",t),document.addEventListener("click",l,{capture:!0}),document.addEventListener("keydown",n)};return a.HTMLInputElement.addEventListener("click",r),a.HTMLInputElement.addEventListener("focus",r),()=>{e.forEach((a=>a()))}})(a):(M(a),ia(a),a.actions.initCalendar&&a.actions.initCalendar(a),ga(a));var a})),_(this,"update",(a=>((a,{year:e,month:t,dates:n,holidays:l,time:r}={})=>{if(!a.isInit)throw new Error(k);a.input&&!a.isInputInit&&pa(a,!1),ua(a,{year:e,month:t,dates:n,holidays:l,time:r}),a.actions.updateCalendar&&a.actions.updateCalendar(a)})(this,a))),_(this,"destroy",(()=>(a=>{var e,t,n,l,r,d;if(!a.isInit)throw new Error(k);a.input?(null==(t=null==(e=a.HTMLElement)?void 0:e.parentElement)||t.removeChild(a.HTMLElement),null==(l=null==(n=a.HTMLInputElement)?void 0:n.replaceWith)||l.call(n,a.HTMLOriginalElement),a.HTMLInputElement=void 0):null==(d=null==(r=a.HTMLElement)?void 0:r.replaceWith)||d.call(r,a.HTMLOriginalElement),a.HTMLElement=a.HTMLOriginalElement,a.actions.destroyCalendar&&a.actions.destroyCalendar(a)})(this))),_(this,"show",(()=>{var a;(a=this).currentType?(a.HTMLElement.classList.remove(a.CSSClasses.calendarHidden),a.actions.showCalendar&&a.actions.showCalendar(a)):a.HTMLElement.click()})),_(this,"hide",(()=>{var a;(a=this).currentType&&(a.HTMLElement.classList.add(a.CSSClasses.calendarHidden),a.actions.hideCalendar&&a.actions.hideCalendar(a))})),this.HTMLElement="string"==typeof a?document.querySelector(a):a,!this.HTMLElement)throw new Error((a=>`${a} is not found, check the first argument passed to new VanillaCalendar.`)(a));if(!e)return;const t=(a,e)=>{Object.keys(e).forEach((n=>{"object"!=typeof a[n]||"object"!=typeof e[n]||e[n]instanceof Date?a[n]=e[n]:t(a[n],e[n])}))};t(this,e)}}var fa=t(5072),ka=t.n(fa),Ma=t(7825),Sa=t.n(Ma),Ca=t(7659),xa=t.n(Ca),La=t(5056),Da=t.n(La),Ta=t(540),Ea=t.n(Ta),Ha=t(1113),$a=t.n(Ha),Ya=t(7485),Na={};function Aa(a,e){e.HTMLInputElement&&(e.selectedDates[0]?e.HTMLInputElement.value=e.selectedDates[0]:e.HTMLInputElement.value="")}function Ia(a,e){e.HTMLInputElement&&(e.selectedDates[1]?(e.selectedDates.sort(((a,e)=>+new Date(a)-+new Date(e))),e.HTMLInputElement.value=`${e.selectedDates[0]} — ${e.selectedDates[e.selectedDates.length-1]}`):e.selectedDates[0]?e.HTMLInputElement.value=e.selectedDates[0]:e.HTMLInputElement.value="")}Na.styleTagTransform=$a(),Na.setAttributes=Da(),Na.insert=xa().bind(null,"head"),Na.domAPI=Sa(),Na.insertStyleElement=Ea(),ka()(Ya.A,Na),Ya.A&&Ya.A.locals&&Ya.A.locals;var ja=new Shiny.InputBinding;l().extend(ja,{store:[],updateStore:(a,e)=>{ja.store[a.id]=e},value:[],updateValue:(a,e)=>{ja.value[a.id]=e},find:a=>l()(a).find(".vanilla-calendar-pro"),getValue:a=>ja.value[a.id],setValue:(a,e)=>{},subscribe:(a,e)=>{l()(a).on("change.calendarProBinding",(function(a){e()}))},unsubscribe:a=>{l()(a).off(".calendarProBinding")},receiveMessage:(a,e)=>{if(e.hasOwnProperty("label")){var t=l()("#"+a.id+"-label");!function(a,e){if(void 0!==a){if(1!==e.length)throw new Error("labelNode must be of length 1");Array.isArray(a)&&0===a.length?e.addClass("shiny-label-null"):(e.html(a),e.removeClass("shiny-label-null"))}}(e.label,t)}},initialize:a=>{var e=a.querySelector(".calendar-pro-element"),t=a.querySelector('script[data-for="'+a.id+'"]');(t=JSON.parse(t.text)).hasOwnProperty("actions")||(t.actions={}),t.actions.clickDay=function(e,t){ja.updateValue(a,t.selectedDates),l()(a).trigger("change")},t.weekNumbersSelect&&(t.actions.clickWeekNumber=function(e,t,n,r,d){d.settings.selected.dates=n.map((a=>a.dataset.calendarDay)),d.update({dates:!0}),ja.updateValue(a,d.selectedDates),l()(a).trigger("change")}),"multiple"==t.type?t.actions.changeToInput=Ia:t.actions.changeToInput=Aa;const n=new wa(e,t);n.init(),ja.updateStore(a,n),ja.updateValue(a,t?.settings?.selected?.dates),l()(a).trigger("change")}}),Shiny.inputBindings.register(ja,"shinyWidgets.calendarProBinding")})(); \ No newline at end of file +(()=>{"use strict";var e={7485:(e,a,t)=>{t.d(a,{A:()=>m});var n=t(1601),l=t.n(n),d=t(6314),r=t.n(d),i=t(4417),c=t.n(i),s=new URL(t(3751),t.b),o=new URL(t(1771),t.b),_=r()(l()),v=c()(s),h=c()(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('+v+")}[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("+h+")}[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 m=_},6314:e=>{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,d){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var i=0;i0?" ".concat(o[5]):""," {").concat(o[1],"}")),o[5]=d),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=>{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=>{e.exports=function(e){return e[1]}},5072:e=>{var a=[];function t(e){for(var t=-1,n=0;n{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=>{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)=>{e.exports=function(e){var a=t.nc;a&&e.setAttribute("nonce",a)}},7825:e=>{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 d=t.sourceMap;d&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(d))))," */")),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=>{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=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nI2ZmZicgZD0nTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zeicvPjwvc3ZnPg=="},3751:e=>{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 d=a[n]={id:n,exports:{}};return e[n](d,d.exports,t),d.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;const n=jQuery;var l=t.n(n);Shiny;var d=Object.defineProperty,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,s=(e,a,t)=>a in e?d(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,o=(e,a)=>{for(var t in a||(a={}))i.call(a,t)&&s(e,t,a[t]);if(r)for(var t of r(a))c.call(a,t)&&s(e,t,a[t]);return e},_=(e,a,t)=>(s(e,"symbol"!=typeof a?a+"":a,t),t);const v={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"},h=e=>`
<#ArrowPrev /><#ArrowNext />
<#Multiple>
<#Month /><#Year />
<#WeekNumbers />
<#Week /><#Days />
<#/Multiple>
<#ControlTime />`,m=e=>`
<#Month /><#Year />
<#Months />
`,y=e=>`
<#ArrowPrev />
<#Month /><#Year />
<#ArrowNext />
<#Years />
`;class g{constructor(){var e;_(this,"isInit",!1),_(this,"isInputInit",!1),_(this,"input",!1),_(this,"type","default"),_(this,"months",2),_(this,"jumpMonths",1),_(this,"jumpToSelectedDate",!1),_(this,"toggleSelected",!0),_(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),_(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"}}),_(this,"locale",{months:[],weekday:[]}),_(this,"sanitizer",(e=>e)),_(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}),_(this,"popups",{}),_(this,"CSSClasses",o({},v)),_(this,"DOMTemplates",{default:(e=this.CSSClasses,`
<#ArrowPrev />
<#Month /><#Year />
<#ArrowNext />
<#WeekNumbers />
<#Week /><#Days />
<#ControlTime />`),multiple:h(this.CSSClasses),month:m(this.CSSClasses),year:y(this.CSSClasses)}),_(this,"HTMLElement"),_(this,"HTMLOriginalElement"),_(this,"HTMLInputElement"),_(this,"rangeMin"),_(this,"rangeMax"),_(this,"rangeDisabled"),_(this,"rangeEnabled"),_(this,"selectedDates"),_(this,"selectedHolidays"),_(this,"selectedMonth"),_(this,"selectedYear"),_(this,"selectedHours"),_(this,"selectedMinutes"),_(this,"selectedKeeping"),_(this,"selectedTime"),_(this,"currentType"),_(this,"correctMonths"),_(this,"viewYear"),_(this,"dateMin"),_(this,"dateMax")}}const b=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,u=e=>new Date(`${e}T00:00:00`),p=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=u(t),d=u(n),r=new Date(l.getTime());for(;r<=d;r.setDate(r.getDate()+1))e.push(b(r));return a}));return e}),[]),w=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},f=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):"",k='The calendar has not been initialized, please initialize it using the "init()" method first.',M=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=u(p(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=w()),"today"===e.date.max&&(e.date.max=w()),"today"===e.settings.range.min&&(e.settings.range.min=w()),"today"===e.settings.range.max&&(e.settings.range.max=w()),e.settings.range.min=e.settings.range.min?u(e.date.min)>=u(e.settings.range.min)?e.date.min:e.settings.range.min:e.date.min,e.settings.range.max=e.settings.range.max?u(e.date.max)<=u(e.settings.range.max)?e.date.max:e.settings.range.max:e.date.max;const l=e.settings.range.disablePast&&!e.settings.range.disableAllDays&&u(e.settings.range.min)1&&e.rangeDisabled.sort(((e,a)=>+new Date(e)-+new Date(a))),e.rangeEnabled=e.settings.range.enabled?p(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])?p(e.settings.selected.dates):[],e.selectedHolidays=(null==(t=e.settings.selected.holidays)?void 0:t[0])?p(e.settings.selected.holidays):[]})(e),(e=>{e.dateMin=e.settings.visibility.disabled?u(e.date.min):u(e.rangeMin),e.dateMax=e.settings.visibility.disabled?u(e.date.max):u(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,d,r)=>(l&&d&&(t=!0,e.selectedHours=l,e.selectedMinutes=d),r&&a?e.selectedKeeping=r:a&&(e.selectedKeeping="AM"),"")))}!t&&a?(e.selectedHours=f(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)},S=({arrowPrev:e,arrowNext:a,isPrevHidden:t,isNextHidden:n})=>{e.style.visibility=t?"hidden":"",a.style.visibility=n?"hidden":""},C=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=u(b(new Date(e.selectedYear,e.selectedMonth,1))),t=new Date(a.getTime()),d=new Date(a.getTime());t.setMonth(t.getMonth()-e.jumpMonths),d.setMonth(d.getMonth()+e.jumpMonths),e.settings.selection.year||(e.dateMin.setFullYear(a.getFullYear()),e.dateMax.setFullYear(a.getFullYear()));const r=!e.settings.selection.month||t.getFullYear()e.dateMax.getFullYear()||d.getFullYear()===e.dateMax.getFullYear()&&d.getMonth()>e.dateMax.getMonth();S({arrowPrev:n,arrowNext:l,isPrevHidden:r,isNextHidden:i})},year:()=>{S({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]()},x=(e,a)=>{if(!e)return null;const t=u(e),n=a?t.getDay()||7:t.getDay();t.setDate(t.getDate()+4-n);const l=new Date(t.getFullYear(),0,1),d=Math.ceil(((+t-+l)/864e5+1)/7);return{year:t.getFullYear(),week:d}};function D(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 L(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function T(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:d,top:r}=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}=D(e),{vh:d,vw:r}=L(),i=n-a,c=l-t;return{top:i,bottom:d-(i+e.clientHeight),left:c,right:r-(c+e.clientWidth)}}(e),{top:i,left:c}=D(e),{height:s,width:o}=a.getBoundingClientRect(),{vh:_,vw:v}=L(),h=v/2,m=_/2;return[{condition:im,position:"bottom"},{condition:ch,position:"right"}].forEach((({condition:e,position:a})=>{e&&l.push(a)})),Object.assign(n,{top:s<=r-t,bottom:s<=d-t,left:o<=c,right:o<=v-c}),{canShow:n,parentPositions:l}}const E=(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}=T(e,a),d=n.left&&n.right;return(d&&n.bottom?"center":d&&n.top?["top","center"]:Array.isArray(l)?["bottom"===l[0]?"top":"bottom",...l.slice(1)]:l)||t}(e,a):t,d={top:-a.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-a.offsetWidth/2,right:e.offsetWidth-a.offsetWidth},r=Array.isArray(l)?l[0]:"bottom",i=Array.isArray(l)?l[1]:l;"bottom"===r?(a.classList.remove(n.calendarToInputTop),a.classList.add(n.calendarToInputBottom)):(a.classList.remove(n.calendarToInputBottom),a.classList.add(n.calendarToInputTop));const{top:c,left:s}=D(e),o=c+d[r];let _=s+d[i];const{vw:v}=L();if(_+a.clientWidth>v){const e=window.innerWidth-document.body.clientWidth;_=v-a.clientWidth-e}else _<0&&(_=0);Object.assign(a.style,{left:`${_}px`,top:`${o}px`})}},H=(e,a,t,n,l)=>{const d=a[t].querySelector(`.${e.CSSClasses.dayBtn}`),r=x(null==d?void 0:d.dataset.calendarDay,e.settings.iso8601);if(!r)return;const i=n.cloneNode(!0);i.innerText=String(r.week),i.dataset.calendarYearWeek=String(r.year),l.appendChild(i)},$=(e,a,t,n,l,d,r,i)=>{const c=document.createElement("div");c.className=e.CSSClasses.day;const s=document.createElement("button");s.className=`${e.CSSClasses.dayBtn}${i?` ${i}`:""}`,s.type="button",s.innerText=String(n),s.dataset.calendarDay=d,e.settings.visibility.weekNumbers&&(()=>{const a=x(d,e.settings.iso8601);a&&(s.dataset.calendarWeekNumber=String(a.week))})(),r?e.settings.visibility.daysOutside&&c.appendChild(s):c.appendChild(s),((e,a,t)=>{var n,l,d,r,i;const c=null==(n=e.settings.range.disableWeekday)?void 0:n.includes(t),s=e.settings.range.disableAllDays&&!!(null==(l=e.rangeEnabled)?void 0:l[0]);!c&&!s||(null==(d=e.rangeEnabled)?void 0:d.includes(a))||(null==(r=e.rangeDisabled)?void 0:r.includes(a))||(e.rangeDisabled.push(a),null==(i=e.rangeDisabled)||i.sort(((e,a)=>+new Date(e)-+new Date(a))))})(e,d,l),((e,a,t,n,l,d,r)=>{var i,c,s;if((u(e.rangeMin)>u(d)||u(e.rangeMax)1&&"multiple-ranged"===e.settings.selection.day&&(e.selectedDates[0]===d&&t.classList.add(e.CSSClasses.daySelectedFirst),e.selectedDates[e.selectedDates.length-1]===d&&t.classList.add(e.CSSClasses.daySelectedLast),e.selectedDates[0]!==d&&e.selectedDates[e.selectedDates.length-1]!==d&&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]),r=+new Date(d);r>a&&r{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 d=new Date(n);d.setMonth(d.getMonth()+l);const r=d.getMonth(),i=d.getFullYear(),c=new Date(i,r,1),s=new Date(i,r+1,0).getDate(),o=e.settings.iso8601?(0!==c.getDay()?c.getDay():7)-1:c.getDay();e.settings.selection.day&&a.classList.add(e.CSSClasses.daysSelecting),a.textContent="",((e,a,t,n,l)=>{let d=new Date(t,n,0).getDate()-(l-1);const r=0===n?t-1:t,i=0===n?12:n<10?`0${n}`:n;for(let n=l;n>0;n--,d++){const n=`${r}-${i}-${d}`,l=u(n).getDay();$(e,t,a,d,l,n,!0,e.CSSClasses.dayBtnPrev)}})(e,a,i,r,o),((e,a,t,n,l)=>{for(let d=1;d<=t;d++){const t=new Date(n,l,d),r=b(t),i=t.getDay();$(e,n,a,d,i,r,!1,null)}})(e,a,s,i,r),((e,a,t,n,l,d)=>{const r=d+t,i=7*Math.ceil(r/7)-r,c=l+1===12?n+1:n,s=l+1===12?"01":l+2<10?`0${l+2}`:l+2;for(let t=1;t<=i;t++){const l=`${c}-${s}-${t<10?`0${t}`:String(t)}`,d=u(l).getDay();$(e,n,a,t,d,l,!0,e.CSSClasses.dayBtnNext)}})(e,a,s,i,r,o),((e,a,t,n,l)=>{if(!e.settings.visibility.weekNumbers)return;n.textContent="";const d=document.createElement("b");d.className=e.CSSClasses.weekNumbersTitle,d.innerText="#",n.appendChild(d);const r=document.createElement("div");r.className=e.CSSClasses.weekNumbersContent,n.appendChild(r);const i=document.createElement("button");i.type="button",i.className=e.CSSClasses.weekNumber;const c=l.querySelectorAll(`.${e.CSSClasses.day}`),s=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,d=n.querySelector(`[data-calendar-day="${a}"]`);if(d&&((null==t?void 0:t.modifier)&&d.classList.add(...t.modifier.trim().split(" ")),null==t?void 0:t.html)){const a=d.parentElement,n=document.createElement("div");n.className=l,n.innerHTML=e.sanitizer(t.html),a.appendChild(n),setTimeout((()=>{if(n){const{canShow:e}=T(a,n),t=5;let l=a.offsetHeight,d=0;e.bottom||(l=-n.offsetHeight-t),e.left&&!e.right&&(d=a.offsetWidth-n.offsetWidth/2),!e.left&&e.right&&(d=n.offsetWidth/2),Object.assign(n.style,{left:`${d}px`,top:`${l}px`})}}))}})(e,t,n,a))))})(e,a)}))},N=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 d=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(),d=!1===e.settings.selection.month||"only-arrows"===e.settings.selection.month;a.tabIndex=d?-1:0,a.classList.toggle(e.CSSClasses.monthDisabled,d),a.setAttribute("data-calendar-selected-month",String(l)),a.innerText=e.locale.months[l]})(e,a,t,d))),null==l||l.forEach(((a,t)=>((e,a,t,n)=>{const l=new Date(n.setFullYear(e.selectedYear,e.selectedMonth+t)).getFullYear(),d=!1===e.settings.selection.year||"only-arrows"===e.settings.selection.year;a.tabIndex=d?-1:0,a.classList.toggle(e.CSSClasses.yearDisabled,d),a.setAttribute("data-calendar-selected-year",String(l)),a.innerText=String(l)})(e,a,t,d)))},A=(e,a)=>{const t=u(b(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()],N(e),C(e),Y(e)},I=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"})),j=(e,a)=>a.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((a,t)=>{const n=(l=t.replace(/[/\s\n\t]/g,""),I[l]);var l;const d=n?n(e):"";return e.sanitizer(d)})).replace(/[\n\t]/g,""),z=(e,a)=>{const{HTMLElement:t,CSSClasses:n,DOMTemplates:l,type:d,currentType:r,correctMonths:i}=e,c=(l,d)=>{if(!a)return;const r=t.querySelector(`.${n.controls}`);r&&t.removeChild(r),t.querySelector(`.${n.grid}`).classList.add(n.gridDisabled);const i=a.closest(`.${n.column}`);i.classList.add(l),i.innerHTML=j(e,d)},s={default:()=>{t.classList.add(n.calendarDefault),t.classList.remove(n.calendarMonth,n.calendarYear),t.innerHTML=j(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"!==d?(t.classList.add(n.calendarMonth),t.classList.remove(n.calendarDefault,n.calendarYear),t.innerHTML=j(e,l.month)):c(n.columnMonth,l.month)},year:()=>{"multiple"!==d?(t.classList.add(n.calendarYear),t.classList.remove(n.calendarDefault,n.calendarMonth),t.innerHTML=j(e,l.year)):c(n.columnYear,l.year)}};t.classList.add(n.calendar),s[r]()},P=(e,a,t,n,l)=>{const d=a.cloneNode(!1);return d.className=`${e.CSSClasses.yearsYear}${t===l?` ${e.CSSClasses.yearsYearSelected}`:n?` ${e.CSSClasses.yearsYearDisabled}`:""}`,d.dataset.calendarYear=String(l),d.title=String(l),d.innerText=String(l),n&&(d.tabIndex=-1),d},F=(e,a)=>{const t=(null==a?void 0:a.dataset.calendarSelectedYear)?Number(null==a?void 0:a.dataset.calendarSelectedYear):e.selectedYear;e.currentType="year",z(e,a),N(e),C(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,d=document.createElement("button");d.type="button";for(let a=e.viewYear-7;ae.dateMax.getFullYear(),i=P(e,d,t,r,a);n.appendChild(i),e.actions.getYears&&e.actions.getYears(a,i,e)}},B=e=>`${e.charAt(0).toUpperCase()}${e.substring(1,e.length)}`.replace(/\./,""),W=(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(B(t))},O=(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(B(t))},q=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},K=(e,a,t,n,l,d)=>{const r=a.cloneNode(!1);return r.className=`${e.CSSClasses.monthsMonth}${t===d?` ${e.CSSClasses.monthsMonthSelected}`:l?` ${e.CSSClasses.monthsMonthDisabled}`:""}`,r.title=n,r.innerText=`${e.settings.visibility.monthShort?n.substring(0,3):n}`,r.dataset.calendarMonth=String(d),l&&(r.tabIndex=-1),r},Z=(e,a)=>{var t,n;const l=(null==a?void 0:a.dataset.calendarSelectedMonth)?Number(a.dataset.calendarSelectedMonth):e.selectedMonth,d=null==(t=null==a?void 0:a.closest(`.${e.CSSClasses.column}`))?void 0:t.querySelector(`.${e.CSSClasses.year}`),r=d?Number(d.dataset.calendarSelectedYear):e.selectedYear;e.currentType="month",z(e,a),N(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 c=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()),s=document.createElement("button");s.type="button";for(let a=0;a<12;a++){const t=e.locale.months[a],n=ae.dateMax.getMonth()+q(e)&&r>=e.dateMax.getFullYear()||a!==l&&!c.includes(a),d=K(e,s,l,t,n,a);i.appendChild(d),e.actions.getMonths&&e.actions.getMonths(a,d,e)}},R=(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]:"",Q=(e,a,t)=>e.querySelector(`.${a}${t?` input[name="${t}"]`:""}`),U=(e,a,t)=>{e.addEventListener("mouseover",(()=>a.classList.add(t))),e.addEventListener("mouseout",(()=>a.classList.remove(t)))},G=(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)},V=(e,a,t,n,l,d)=>{a.addEventListener("input",(a=>{const r=a.target,i=Number(r.value),c=i<10?`0${i}`:`${i}`;if("hours"!==l||12!==d)return t.value=c,void G(e,a,c,l);i0?(t.value=c,e.selectedKeeping="AM",n.innerText=e.selectedKeeping,G(e,a,c,l)):(0===i?(e.selectedKeeping="AM",n.innerText="AM"):(e.selectedKeeping="PM",n.innerText="PM"),t.value=f(r.value),G(e,a,f(r.value),l))}))},J=(e,a,t,n,l,d)=>{t.addEventListener("change",(t=>{const r=t.target,i=Number(r.value),c=i<10?`0${i}`:`${i}`;"hours"===l&&12===d?r.value&&i<=d&&i>0?(r.value=c,a.value=R(c,e.selectedKeeping),G(e,t,c,l)):r.value&&i<24&&(i>d||0===i)?(0===i?(e.selectedKeeping="AM",n.innerText="AM"):(e.selectedKeeping="PM",n.innerText="PM"),r.value=f(r.value),a.value=c,G(e,t,f(r.value),l)):r.value=e.selectedHours:r.value&&i<=d&&i>=0?(r.value=c,a.value=c,G(e,t,c,l)):"hours"===l?r.value=e.selectedHours:"minutes"===l&&(r.value=e.selectedMinutes)}))},X=(e,a,t,n)=>``,ee=(e,a,t,n,l,d)=>``,ae=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{ne.value=!0},check:()=>ne.value},le=(e,a)=>te.find((t=>{var n;return"system"!==t&&(null==(n=e.getAttribute(a))?void 0:n.includes(t))})),de=(e,a)=>{e.dataset.calendarTheme=a},re=(e,a)=>{var t;if(t=a,de(e.HTMLElement,t.matches?"dark":"light"),"system"!==e.settings.visibility.theme||ne.check())return;const n=a=>{const t=document.querySelectorAll(`.${e.CSSClasses.calendar}`);null==t||t.forEach((e=>de(e,a.matches?"dark":"light")))};a.addEventListener?a.addEventListener("change",n):a.addListener(n),ne.set()},ie=e=>{const a={default:()=>{ae(e),Y(e)},multiple:()=>{ae(e),Y(e)},month:()=>Z(e),year:()=>F(e)};(e=>{if(!te.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:()=>de(e.HTMLElement,"light"),dark:()=>de(e.HTMLElement,"dark"),system:()=>((e,a)=>{const t=e.settings.visibility.themeDetect?document.querySelector(e.settings.visibility.themeDetect):null;if(!t)return void re(e,a);const n=e.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,((e,a)=>a)),l=le(t,n);l?(de(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++)W(e,a);for(let a=0;a<12;a++)O(e,a)}})(e),z(e),N(e),C(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,d]=[0,23],[r,i]=[0,59];a.innerHTML=e.sanitizer(`
${X("hours",e.CSSClasses.timeHours,e.selectedHours,n)}${X("minutes",e.CSSClasses.timeMinutes,e.selectedMinutes,n)}${12===t?``:""}
${ee("hours",e.CSSClasses.timeRange,l,d,e.settings.selection.stepHours,e.selectedKeeping?R(e.selectedHours,e.selectedKeeping):e.selectedHours)}${ee("minutes",e.CSSClasses.timeRange,r,i,e.settings.selection.stepMinutes,e.selectedMinutes)}
`),((e,a,t)=>{const n=24===t?23:t||12,l=Q(a,e.CSSClasses.timeRange,"hours"),d=Q(a,e.CSSClasses.timeRange,"minutes"),r=Q(a,e.CSSClasses.timeHours,"hours"),i=Q(a,e.CSSClasses.timeMinutes,"minutes"),c=a.querySelector(`.${e.CSSClasses.timeKeeping}`);U(l,r,e.CSSClasses.isFocus),U(d,i,e.CSSClasses.isFocus),V(e,l,r,c,"hours",n),V(e,d,i,c,"minutes",0),J(e,l,r,c,"hours",n),J(e,d,i,c,"minutes",59),c&&((e,a,t)=>{a.addEventListener("click",(n=>{e.selectedKeeping=a.innerText.includes("AM")?"PM":"AM",a.innerText=e.selectedKeeping,t.value=R(e.selectedHours,e.selectedKeeping),G(e,n,e.selectedHours,"hours")}))})(e,c,l)})(e,a,t)})(e),a[e.currentType]()},ce={self:null,rangeMin:void 0,rangeMax:void 0},se=()=>{var e;if(!(null==(e=ce.self)?void 0:e.HTMLElement))return;const{CSSClasses:a}=ce.self;ce.self.HTMLElement.querySelectorAll(`.${ce.self.CSSClasses.dayBtnHover}`).forEach((e=>{var t;e.classList.remove(ce.self.CSSClasses.dayBtnHover),null==(t=e.parentElement)||t.classList.remove(a.dayHoverIntermediate,a.dayHoverFirst,a.dayHoverLast)}))},oe=(e,a,t)=>{var n,l,d;if(!(null==(n=ce.self)?void 0:n.selectedDates))return;const r=b(e),{CSSClasses:i}=ce.self;if(null==(l=ce.self.rangeDisabled)?void 0:l.includes(r))return;const c=null==(d=ce.self.HTMLElement)?void 0:d.querySelectorAll(`[data-calendar-day="${r}"]`);null==c||c.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)}))},_e=e=>{var a;if(!e.target||!(null==(a=ce.self)?void 0:a.selectedDates))return;if(!e.target.closest(`.${ce.self.CSSClasses.days}`))return void se();const t=e.target.closest("[data-calendar-day]");if(!t)return;const n=t.dataset.calendarDay,l=u(ce.self.selectedDates[0]),d=u(n),r=ce.self.HTMLElement.querySelectorAll(`[data-calendar-day="${ce.self.selectedDates[0]}"]`),i=ce.self.HTMLElement.querySelectorAll(`[data-calendar-day="${n}"]`),[c,s]=l{ce.self&&"Escape"===e.key&&(ce.self.selectedDates=[],ce.self.HTMLElement.removeEventListener("mousemove",_e),document.removeEventListener("keydown",ve),ie(ce.self))},he=(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&&(ce.rangeMin=ce.rangeMin?ce.rangeMin:e.rangeMin,ce.rangeMax=ce.rangeMax?ce.rangeMax:e.rangeMax),ce.self=e,{set:()=>{e.HTMLElement.addEventListener("mousemove",_e),document.addEventListener("keydown",ve),e.settings.range.disableGaps&&(()=>{var e,a,t;if(!(null==(a=null==(e=ce.self)?void 0:e.selectedDates)?void 0:a[0])||!(null==(t=ce.self.rangeDisabled)?void 0:t[0]))return;const n=u(ce.self.selectedDates[0]),[l,d]=ce.self.rangeDisabled.map((e=>u(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]:p([`${a}:${t}`]):[e.selectedDates[0],e.selectedDates[0]],e.HTMLElement.removeEventListener("mousemove",_e),document.removeEventListener("keydown",ve),e.settings.range.disableGaps&&ce.self&&(ce.self.rangeMin=ce.rangeMin,ce.self.rangeMax=ce.rangeMax)}}[1===e.selectedDates.length?"set":"reset"]()},me=(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 d=!0;void 0!==e.toggleSelected&&(d="function"==typeof e.toggleSelected?e.toggleSelected(e):e.toggleSelected),l&&!d||(e.selectedDates=l?e.selectedDates.filter((e=>e!==n)):t?[...e.selectedDates,n]:[n])},ye=(e,a,t,n,l)=>{const d=e.HTMLElement.querySelectorAll(`.${e.CSSClasses.column}`),r=Array.from(d).findIndex((e=>e.classList.contains(a))),i=Number(d[r].querySelector(`.${t}`).getAttribute(l));return"month"===e.currentType&&r>=0?n-r:"year"===e.currentType&&e.selectedYear!==i?n-1:n},ge=(e,a,t,n)=>{if(!e.settings.selection[t])return;const l=a.target,d=e=>l.closest(`.${e}`),r=d(n.header),i=d(n.item),c=d(e.CSSClasses.grid),s=d(e.CSSClasses.column);e.currentType!==t&&r?{year:()=>F(e,l),month:()=>Z(e,l)}[t]():i?((e,a,t,n,l)=>{const d={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=ye(e,e.CSSClasses.columnYear,e.CSSClasses.year,Number(l.dataset.calendarYear),"data-calendar-selected-year"),t=e.selectedMonthe.dateMax.getMonth()&&a>=e.dateMax.getFullYear(),d=ae.dateMax.getFullYear();t||d?(e.selectedYear=e.dateMin.getFullYear(),e.selectedMonth=e.dateMin.getMonth()):n||r?(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=ye(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 d=ae.dateMax.getMonth()&&e.selectedYear>=e.dateMax.getFullYear();e.selectedMonth=d?e.dateMin.getMonth():r?e.dateMax.getMonth():a}else e.selectedMonth=Number(l.dataset.calendarMonth)}})[t](),d[t](),e.currentType=e.type,ie(e)})(e,a,t,n,i):(e.currentType===t&&r||"multiple"===e.type&&e.currentType===t&&c&&!s)&&(e.currentType=e.type,ie(e))},be=e=>{const a=a=>{((e,a)=>{const t=a.target.closest(`.${e.CSSClasses.arrow}`);t&&(["default","multiple"].includes(e.currentType)?A(e,t.dataset.calendarArrow):"year"===e.currentType&&void 0!==e.viewYear&&(e.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],F(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 d=Number(n.innerText),r=Number(n.dataset.calendarYearWeek),i=Array.from(l).filter((e=>Number(e.dataset.calendarWeekNumber)===d));e.actions.clickWeekNumber(a,d,i,r,e)})(e,a),((e,a)=>{var t;const n=a.target,l=e=>n.closest(`.${e}`),d=l(e.CSSClasses.dayBtn);if(!e.settings.selection.day||!["single","multiple","multiple-ranged"].includes(e.settings.selection.day)||!d)return;({single:()=>me(e,d,!1),multiple:()=>me(e,d,!0),"multiple-ranged":()=>he(e,d.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 r=l(e.CSSClasses.dayBtnPrev),i=l(e.CSSClasses.dayBtnNext);({prev:()=>A(e,"prev"),next:()=>A(e,"next"),default:()=>Y(e)})[r?"prev":i?"next":"default"]()})(e,a),ge(e,a,"month",{header:e.CSSClasses.month,item:e.CSSClasses.monthsMonth,column:e.CSSClasses.columnMonth}),ge(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)},ue=(e,{year:a,month:t,dates:n,holidays:l,time:d}={})=>{var r;const i=o({},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=d?i.time:e.selectedTime,e.settings.selected.dates="only-first"===n&&(null==(r=e.selectedDates)?void 0:r[0])?[e.selectedDates[0]]:!0===n?i.dates:e.selectedDates,M(e),ie(e),e.settings.selected=i,"multiple-ranged"===e.settings.selection.day&&n&&he(e)},pe=(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(e.HTMLInputElement,t,e.settings.visibility.positionToInput,e.CSSClasses),e.HTMLElement.style.visibility="visible",e.show()})),ue(e,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),e.actions.initCalendar&&e.actions.initCalendar(e),be(e)};class we extends g{constructor(e,a){if(super(),_(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(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}))},d=()=>{e.isInputInit?(E(e.HTMLInputElement,e.HTMLElement,e.settings.visibility.positionToInput,e.CSSClasses),e.HTMLElement.style.visibility="visible",e.show()):a.push(pe(e)),window.addEventListener("resize",t),document.addEventListener("click",l,{capture:!0}),document.addEventListener("keydown",n)};return e.HTMLInputElement.addEventListener("click",d),e.HTMLInputElement.addEventListener("focus",d),()=>{a.forEach((e=>e()))}})(e):(M(e),ie(e),e.actions.initCalendar&&e.actions.initCalendar(e),be(e));var e})),_(this,"update",(e=>((e,{year:a,month:t,dates:n,holidays:l,time:d}={})=>{if(!e.isInit)throw new Error(k);e.input&&!e.isInputInit&&pe(e,!1),ue(e,{year:a,month:t,dates:n,holidays:l,time:d}),e.actions.updateCalendar&&e.actions.updateCalendar(e)})(this,e))),_(this,"destroy",(()=>(e=>{var a,t,n,l,d,r;if(!e.isInit)throw new Error(k);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==(r=null==(d=e.HTMLElement)?void 0:d.replaceWith)||r.call(d,e.HTMLOriginalElement),e.HTMLElement=e.HTMLOriginalElement,e.actions.destroyCalendar&&e.actions.destroyCalendar(e)})(this))),_(this,"show",(()=>{var e;(e=this).currentType?(e.HTMLElement.classList.remove(e.CSSClasses.calendarHidden),e.actions.showCalendar&&e.actions.showCalendar(e)):e.HTMLElement.click()})),_(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 fe=t(5072),ke=t.n(fe),Me=t(7825),Se=t.n(Me),Ce=t(7659),xe=t.n(Ce),De=t(5056),Le=t.n(De),Te=t(540),Ee=t.n(Te),He=t(1113),$e=t.n(He),Ye=t(7485),Ne={};function Ae(e,a){a.HTMLInputElement&&(a.selectedDates[0]?a.HTMLInputElement.value=a.selectedDates[0]:a.HTMLInputElement.value="")}function Ie(e,a){a.HTMLInputElement&&(a.selectedDates[1]?(a.selectedDates.sort(((e,a)=>+new Date(e)-+new Date(a))),a.HTMLInputElement.value=`${a.selectedDates[0]} — ${a.selectedDates[a.selectedDates.length-1]}`):a.selectedDates[0]?a.HTMLInputElement.value=a.selectedDates[0]:a.HTMLInputElement.value="")}Ne.styleTagTransform=$e(),Ne.setAttributes=Le(),Ne.insert=xe().bind(null,"head"),Ne.domAPI=Se(),Ne.insertStyleElement=Ee(),ke()(Ye.A,Ne),Ye.A&&Ye.A.locals&&Ye.A.locals;const je=(e,...a)=>Object.fromEntries(a.filter((a=>a in e)).map((a=>[a,e[a]])));var ze=new Shiny.InputBinding;l().extend(ze,{store:[],updateStore:(e,a)=>{ze.store[e.id]=a},value:[],updateValue:(e,a)=>{ze.value[e.id]=a},type:[],updateType:(e,a)=>{ze.type[e.id]=a},find:e=>l()(e).find(".vanilla-calendar-pro"),getValue:e=>ze.value[e.id],setValue:(e,a)=>{},getType:e=>ze.type[e.id],subscribe:(e,a)=>{l()(e).on("change.calendarProBinding",(function(e){a()}))},unsubscribe:e=>{l()(e).off(".calendarProBinding")},receiveMessage:(e,a)=>{if(a.hasOwnProperty("label")){var t=l()("#"+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"))}}(a.label,t)}},initialize:e=>{var a=e.querySelector(".calendar-pro-element"),t=e.querySelector('script[data-for="'+e.id+'"]');function n(a,t){ze.updateValue(e,je(t,"selectedDates","selectedHolidays","selectedMonth","selectedYear","selectedHours","selectedMinutes","selectedTime","selectedKeeping")),l()(e).trigger("change")}(t=JSON.parse(t.text)).hasOwnProperty("actions")||(t.actions={}),t.actions.clickDay=n,t.actions.clickMonth=n,t.actions.clickYear=n,t.actions.changeTime=n,t.weekNumbersSelect&&(t.actions.clickWeekNumber=function(a,t,n,d,r){r.settings.selected.dates=n.map((e=>e.dataset.calendarDay)),r.update({dates:!0}),ze.updateValue(e,je(r,"selectedDates","selectedHolidays","selectedMonth","selectedYear","selectedHours","selectedMinutes","selectedTime","selectedKeeping")),l()(e).trigger("change")}),"multiple"==t.type?t.actions.changeToInput=Ie:t.actions.changeToInput=Ae;const d=new we(a,t);d.init(),ze.updateStore(e,d),ze.updateValue(e,{selectedDates:t?.settings?.selected?.dates,selectedMonth:t?.settings?.selected?.month,selectedYear:t?.settings?.selected?.year,selectedTime:t?.settings?.selected?.time}),ze.updateType(e,t.parseValue),l()(e).trigger("change")}}),Shiny.inputBindings.register(ze,"shinyWidgets.calendarProBinding")})(); \ No newline at end of file diff --git a/man/calendarProInput.Rd b/man/calendarProInput.Rd index 7ddd79e2..5a081610 100644 --- a/man/calendarProInput.Rd +++ b/man/calendarProInput.Rd @@ -24,12 +24,15 @@ calendarProInput( weekNumbers = FALSE, weekNumbersSelect = FALSE, weekend = TRUE, + time = NULL, + timeValue = NULL, ..., positionToInput = "auto", theme = "light", placeholder = NULL, input = TRUE, inline = FALSE, + parseValue = TRUE, width = NULL ) } @@ -74,6 +77,10 @@ the calendar will always open to the current month and year.} \item{weekend}{This parameter allows you to highlight weekends in the calendar.} +\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{timeValue}{Initial time value.} + \item{...}{Other settings passed to Slim Select JAvaScript method.} \item{positionToInput}{This parameter specifies the position of the calendar relative to input, @@ -87,6 +94,8 @@ if the calendar is initialized with the input parameter. Possible values: 'auto' \item{inline}{Display calendar container inline.} +\item{parseValue}{Convert input value to date/datetime in server or not.} + \item{width}{The width of the input, e.g. \code{'400px'}, or \code{'100\%'}; see \code{\link[shiny:validateCssUnit]{validateCssUnit()}}.} } diff --git a/srcjs/inputs/vanilla-calendar-pro.js b/srcjs/inputs/vanilla-calendar-pro.js index e77b8a2b..e1abcdff 100644 --- a/srcjs/inputs/vanilla-calendar-pro.js +++ b/srcjs/inputs/vanilla-calendar-pro.js @@ -28,6 +28,13 @@ function changeToInputMultiple(e, self) { } } + +const pick = (obj, ...keys) => Object.fromEntries( + keys + .filter(key => key in obj) + .map(key => [key, obj[key]]) +); + var calendarProBinding = new Shiny.InputBinding(); $.extend(calendarProBinding, { store: [], @@ -35,8 +42,12 @@ $.extend(calendarProBinding, { calendarProBinding.store[el.id] = instance; }, value: [], - updateValue: (el, instance) => { - calendarProBinding.value[el.id] = instance; + updateValue: (el, value) => { + calendarProBinding.value[el.id] = value; + }, + type: [], + updateType: (el, type) => { + calendarProBinding.type[el.id] = type; }, find: scope => { return $(scope).find(".vanilla-calendar-pro"); @@ -46,6 +57,9 @@ $.extend(calendarProBinding, { }, setValue: (el, value) => { + }, + getType: el => { + return calendarProBinding.type[el.id]; }, subscribe: (el, callback) => { $(el).on("change.calendarProBinding", function(e) { @@ -67,15 +81,40 @@ $.extend(calendarProBinding, { config = JSON.parse(config.text); if (!config.hasOwnProperty("actions")) config.actions = {}; - config.actions.clickDay = function(event, self) { - calendarProBinding.updateValue(el, self.selectedDates); + function updateValueOnChange(event, self) { + calendarProBinding.updateValue( + el, + pick( + self, + "selectedDates", + "selectedHolidays", + "selectedMonth", + "selectedYear", + "selectedHours", + "selectedMinutes", + "selectedTime", + "selectedKeeping", + ), + ); $(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 }); - calendarProBinding.updateValue(el, self.selectedDates); + calendarProBinding.updateValue( + el, + pick( + self, + "selectedDates", "selectedHolidays", "selectedMonth", + "selectedYear", "selectedHours", "selectedMinutes", + "selectedTime", "selectedKeeping" + ) + ); $(el).trigger("change"); }; } @@ -87,7 +126,13 @@ $.extend(calendarProBinding, { const calendar = new VanillaCalendar(input, config); calendar.init(); calendarProBinding.updateStore(el, calendar); - calendarProBinding.updateValue(el, config?.settings?.selected?.dates); + calendarProBinding.updateValue(el, { + selectedDates: config?.settings?.selected?.dates, + selectedMonth: config?.settings?.selected?.month, + selectedYear: config?.settings?.selected?.year, + selectedTime: config?.settings?.selected?.time + }); + calendarProBinding.updateType(el, config.parseValue); $(el).trigger("change"); } });