vendor: 70,126 bytes, lines 1-1380
1/* flatpickr v4.6.13,, @license MIT */ 2! function (e, n) { 3 "object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define(n) : (e = "undefined" != typeof globalThis ? globalThis : e || self).flatpickr = n() 4}(this, (function () { 5 "use strict"; 6 var e = function () { 7 return (e = Object.assign || function (e) { 8 for (var n, t = 1, a = arguments.length; t < a; t++) 9 for (var i in n = arguments[t]) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]); 10 return e 11 }).apply(this, arguments) 12 }; 13 14 function n() { 15 for (var e = 0, n = 0, t = arguments.length; n < t; n++) e += arguments[n].length; 16 var a = Array(e), 17 i = 0; 18 for (n = 0; n < t; n++) 19 for (var o = arguments[n], r = 0, l = o.length; r < l; r++, i++) a[i] = o[r]; 20 return a 21 } 22 var t = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"], 23 a = { 24 _disable: [], 25 allowInput: !1, 26 allowInvalidPreload: !1, 27 altFormat: "F j, Y", 28 altInput: !1, 29 altInputClass: "form-control input", 30 animate: "object" == typeof window && -1 === window.navigator.userAgent.indexOf("MSIE"), 31 ariaDateFormat: "F j, Y", 32 autoFillDefaultTime: !0, 33 clickOpens: !0, 34 closeOnSelect: !0, 35 conjunction: ", ", 36 dateFormat: "d.m.Y", 37 defaultHour: 12, 38 defaultMinute: 0, 39 defaultSeconds: 0, 40 disable: [], 41 disableMobile: !1, 42 enableSeconds: !1, 43 enableTime: !1, 44 errorHandler: function (e) { 45 return "undefined" != typeof console && console.warn(e) 46 }, 47 getWeek: function (e) { 48 var n = new Date(e.getTime()); 49 n.setHours(0, 0, 0, 0), n.setDate(n.getDate() + 3 - (n.getDay() + 6) % 7); 50 var t = new Date(n.getFullYear(), 0, 4); 51 return 1 + Math.round(((n.getTime() - t.getTime()) / 864e5 - 3 + (t.getDay() + 6) % 7) / 7) 52 }, 53 hourIncrement: 1, 54 ignoredFocusElements: [], 55 inline: !1, 56 locale: "default", 57 minuteIncrement: 5, 58 mode: "single", 59 monthSelectorType: "dropdown", 60 nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>", 61 noCalendar: !1, 62 now: new Date, 63 onChange: [], 64 onClose: [], 65 onDayCreate: [], 66 onDestroy: [], 67 onKeyDown: [], 68 onMonthChange: [], 69 onOpen: [], 70 onParseConfig: [], 71 onReady: [], 72 onValueUpdate: [], 73 onYearChange: [], 74 onPreCalendarPosition: [], 75 plugins: [], 76 position: "auto", 77 positionElement: void 0, 78 prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>", 79 shorthandCurrentMonth: !1, 80 showMonths: 1, 81 static: !1, 82 time_24hr: !1, 83 weekNumbers: !1, 84 wrap: !1 85 }, 86 i = { 87 weekdays: { 88 shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 89 longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 90 }, 91 months: { 92 shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 93 longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 94 }, 95 daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], 96 firstDayOfWeek: 0, 97 ordinal: function (e) { 98 var n = e % 100; 99 if (n > 3 && n < 21) return "th"; 100 switch (n % 10) { 101 case 1: 102 return "st"; 103 case 2: 104 return "nd"; 105 case 3: 106 return "rd"; 107 default: 108 return "th" 109 } 110 }, 111 rangeSeparator: " to ", 112 weekAbbreviation: "Wk", 113 scrollTitle: "Scroll to increment", 114 toggleTitle: "Click to toggle", 115 amPM: ["AM", "PM"], 116 yearAriaLabel: "Year", 117 monthAriaLabel: "Month", 118 hourAriaLabel: "Hour", 119 minuteAriaLabel: "Minute", 120 time_24hr: !1 121 }, 122 o = function (e, n) { 123 return void 0 === n && (n = 2), ("000" + e).slice(-1 * n) 124 }, 125 r = function (e) { 126 return !0 === e ? 1 : 0 127 }; 128 129 function l(e, n) { 130 var t; 131 return function () { 132 var a = this, 133 i = arguments; 134 clearTimeout(t), t = setTimeout((function () { 135 return e.apply(a, i) 136 }), n) 137 } 138 } 139 var c = function (e) { 140 return e instanceof Array ? e : [e] 141 }; 142 143 function s(e, n, t) { 144 if (!0 === t) return e.classList.add(n); 145 e.classList.remove(n) 146 } 147 148 function d(e, n, t) { 149 var a = window.document.createElement(e); 150 return n = n || "", t = t || "", a.className = n, void 0 !== t && (a.textContent = t), a 151 } 152 153 function u(e) { 154 for (; e.firstChild;) e.removeChild(e.firstChild) 155 } 156 157 function f(e, n) { 158 return n(e) ? e : e.parentNode ? f(e.parentNode, n) : void 0 159 } 160 161 function m(e, n) { 162 var t = d("div", "numInputWrapper"), 163 a = d("input", "numInput " + e), 164 i = d("span", "arrowUp"), 165 o = d("span", "arrowDown"); 166 if (-1 === navigator.userAgent.indexOf("MSIE 9.0") ? a.type = "number" : (a.type = "text", a.pattern = "\\d*"), void 0 !== n) 167 for (var r in n) a.setAttribute(r, n[r]); 168 return t.appendChild(a), t.appendChild(i), t.appendChild(o), t 169 } 170 171 function g(e) { 172 try { 173 return "function" == typeof e.composedPath ? e.composedPath()[0] : e.target 174 } catch (n) { 175 return e.target 176 } 177 } 178 var p = function () {}, 179 h = function (e, n, t) { 180 return t.months[n ? "shorthand" : "longhand"][e] 181 }, 182 v = { 183 D: p, 184 F: function (e, n, t) { 185 e.setMonth(t.months.longhand.indexOf(n)) 186 }, 187 G: function (e, n) { 188 e.setHours((e.getHours() >= 12 ? 12 : 0) + parseFloat(n)) 189 }, 190 H: function (e, n) { 191 e.setHours(parseFloat(n)) 192 }, 193 J: function (e, n) { 194 e.setDate(parseFloat(n)) 195 }, 196 K: function (e, n, t) { 197 e.setHours(e.getHours() % 12 + 12 * r(new RegExp(t.amPM[1], "i").test(n))) 198 }, 199 M: function (e, n, t) { 200 e.setMonth(t.months.shorthand.indexOf(n)) 201 }, 202 S: function (e, n) { 203 e.setSeconds(parseFloat(n)) 204 }, 205 U: function (e, n) { 206 return new Date(1e3 * parseFloat(n)) 207 }, 208 W: function (e, n, t) { 209 var a = parseInt(n), 210 i = new Date(e.getFullYear(), 0, 2 + 7 * (a - 1), 0, 0, 0, 0); 211 return i.setDate(i.getDate() - i.getDay() + t.firstDayOfWeek), i 212 }, 213 Y: function (e, n) { 214 e.setFullYear(parseFloat(n)) 215 }, 216 Z: function (e, n) { 217 return new Date(n) 218 }, 219 d: function (e, n) { 220 e.setDate(parseFloat(n)) 221 }, 222 h: function (e, n) { 223 e.setHours((e.getHours() >= 12 ? 12 : 0) + parseFloat(n)) 224 }, 225 i: function (e, n) { 226 e.setMinutes(parseFloat(n)) 227 }, 228 j: function (e, n) { 229 e.setDate(parseFloat(n)) 230 }, 231 l: p, 232 m: function (e, n) { 233 e.setMonth(parseFloat(n) - 1) 234 }, 235 n: function (e, n) { 236 e.setMonth(parseFloat(n) - 1) 237 }, 238 s: function (e, n) { 239 e.setSeconds(parseFloat(n)) 240 }, 241 u: function (e, n) { 242 return new Date(parseFloat(n)) 243 }, 244 w: p, 245 y: function (e, n) { 246 e.setFullYear(2e3 + parseFloat(n)) 247 } 248 }, 249 D = { 250 D: "", 251 F: "", 252 G: "(\\d\\d|\\d)", 253 H: "(\\d\\d|\\d)", 254 J: "(\\d\\d|\\d)\\w+", 255 K: "", 256 M: "", 257 S: "(\\d\\d|\\d)", 258 U: "(.+)", 259 W: "(\\d\\d|\\d)", 260 Y: "(\\d{4})", 261 Z: "(.+)", 262 d: "(\\d\\d|\\d)", 263 h: "(\\d\\d|\\d)", 264 i: "(\\d\\d|\\d)", 265 j: "(\\d\\d|\\d)", 266 l: "", 267 m: "(\\d\\d|\\d)", 268 n: "(\\d\\d|\\d)", 269 s: "(\\d\\d|\\d)", 270 u: "(.+)", 271 w: "(\\d\\d|\\d)", 272 y: "(\\d{2})" 273 }, 274 w = { 275 Z: function (e) { 276 return e.toISOString() 277 }, 278 D: function (e, n, t) { 279 return n.weekdays.shorthand[w.w(e, n, t)] 280 }, 281 F: function (e, n, t) { 282 return h(w.n(e, n, t) - 1, !1, n) 283 }, 284 G: function (e, n, t) { 285 return o(w.h(e, n, t)) 286 }, 287 H: function (e) { 288 return o(e.getHours()) 289 }, 290 J: function (e, n) { 291 return void 0 !== n.ordinal ? e.getDate() + n.ordinal(e.getDate()) : e.getDate() 292 }, 293 K: function (e, n) { 294 return n.amPM[r(e.getHours() > 11)] 295 }, 296 M: function (e, n) { 297 return h(e.getMonth(), !0, n) 298 }, 299 S: function (e) { 300 return o(e.getSeconds()) 301 }, 302 U: function (e) { 303 return e.getTime() / 1e3 304 }, 305 W: function (e, n, t) { 306 return t.getWeek(e) 307 }, 308 Y: function (e) { 309 return o(e.getFullYear(), 4) 310 }, 311 d: function (e) { 312 return o(e.getDate()) 313 }, 314 h: function (e) { 315 return e.getHours() % 12 ? e.getHours() % 12 : 12 316 }, 317 i: function (e) { 318 return o(e.getMinutes()) 319 }, 320 j: function (e) { 321 return e.getDate() 322 }, 323 l: function (e, n) { 324 return n.weekdays.longhand[e.getDay()] 325 }, 326 m: function (e) { 327 return o(e.getMonth() + 1) 328 }, 329 n: function (e) { 330 return e.getMonth() + 1 331 }, 332 s: function (e) { 333 return e.getSeconds() 334 }, 335 u: function (e) { 336 return e.getTime() 337 }, 338 w: function (e) { 339 return e.getDay() 340 }, 341 y: function (e) { 342 return String(e.getFullYear()).substring(2) 343 } 344 }, 345 b = function (e) { 346 var n = e.config, 347 t = void 0 === n ? a : n, 348 o = e.l10n, 349 r = void 0 === o ? i : o, 350 l = e.isMobile, 351 c = void 0 !== l && l; 352 return function (e, n, a) { 353 var i = a || r; 354 return void 0 === t.formatDate || c ? n.split("").map((function (n, a, o) { 355 return w[n] && "\\" !== o[a - 1] ? w[n](e, i, t) : "\\" !== n ? n : "" 356 })).join("") : t.formatDate(e, n, i) 357 } 358 }, 359 C = function (e) { 360 var n = e.config, 361 t = void 0 === n ? a : n, 362 o = e.l10n, 363 r = void 0 === o ? i : o; 364 return function (e, n, i, o) { 365 if (0 === e || e) { 366 var l, c = o || r, 367 s = e; 368 if (e instanceof Date) l = new Date(e.getTime()); 369 else if ("string" != typeof e && void 0 !== e.toFixed) l = new Date(e); 370 else if ("string" == typeof e) { 371 var d = n || (t || a).dateFormat, 372 u = String(e).trim(); 373 if ("today" === u) l = new Date, i = !0; 374 else if (t && t.parseDate) l = t.parseDate(e, d); 375 else if (/Z$/.test(u) || /GMT$/.test(u)) l = new Date(e); 376 else { 377 for (var f = void 0, m = [], g = 0, p = 0, h = ""; g < d.length; g++) { 378 var w = d[g], 379 b = "\\" === w, 380 C = "\\" === d[g - 1] || b; 381 if (D[w] && !C) { 382 h += D[w]; 383 var M = new RegExp(h).exec(e); 384 M && (f = !0) && m["Y" !== w ? "push" : "unshift"]({ 385 fn: v[w], 386 val: M[++p] 387 }) 388 } else b || (h += ".") 389 } 390 l = t && t.noCalendar ? new Date((new Date).setHours(0, 0, 0, 0)) : new Date((new Date).getFullYear(), 0, 1, 0, 0, 0, 0), m.forEach((function (e) { 391 var n = e.fn, 392 t = e.val; 393 return l = n(l, t, c) || l 394 })), l = f ? l : void 0 395 } 396 } 397 if (l instanceof Date && !isNaN(l.getTime())) return !0 === i && l.setHours(0, 0, 0, 0), l; 398 t.errorHandler(new Error("Invalid date provided: " + s)) 399 } 400 } 401 }; 402 403 function M(e, n, t) { 404 return void 0 === t && (t = !0), !1 !== t ? new Date(e.getTime()).setHours(0, 0, 0, 0) - new Date(n.getTime()).setHours(0, 0, 0, 0) : e.getTime() - n.getTime() 405 } 406 var y = function (e, n, t) { 407 return 3600 * e + 60 * n + t 408 }, 409 x = 864e5; 410 411 function E(e) { 412 var n = e.defaultHour, 413 t = e.defaultMinute, 414 a = e.defaultSeconds; 415 if (void 0 !== e.minDate) { 416 var i = e.minDate.getHours(), 417 o = e.minDate.getMinutes(), 418 r = e.minDate.getSeconds(); 419 n < i && (n = i), n === i && t < o && (t = o), n === i && t === o && a < r && (a = e.minDate.getSeconds()) 420 } 421 if (void 0 !== e.maxDate) { 422 var l = e.maxDate.getHours(), 423 c = e.maxDate.getMinutes(); 424 (n = Math.min(n, l)) === l && (t = Math.min(c, t)), n === l && t === c && (a = e.maxDate.getSeconds()) 425 } 426 return { 427 hours: n, 428 minutes: t, 429 seconds: a 430 } 431 } 432 "function" != typeof Object.assign && (Object.assign = function (e) { 433 for (var n = [], t = 1; t < arguments.length; t++) n[t - 1] = arguments[t]; 434 if (!e) throw TypeError("Cannot convert undefined or null to object"); 435 for (var a = function (n) { 436 n && Object.keys(n).forEach((function (t) { 437 return e[t] = n[t] 438 })) 439 }, i = 0, o = n; i < o.length; i++) { 440 var r = o[i]; 441 a(r) 442 } 443 return e 444 }); 445 446 function k(p, v) { 447 var w = { 448 config: e(e({}, a), I.defaultConfig), 449 l10n: i 450 }; 451 452 function k() { 453 var e; 454 return (null === (e = w.calendarContainer) || void 0 === e ? void 0 : e.getRootNode()).activeElement || document.activeElement 455 } 456 457 function T(e) { 458 return e.bind(w) 459 } 460 461 function S() { 462 var e = w.config; 463 !1 === e.weekNumbers && 1 === e.showMonths || !0 !== e.noCalendar && window.requestAnimationFrame((function () { 464 if (void 0 !== w.calendarContainer && (w.calendarContainer.style.visibility = "hidden", w.calendarContainer.style.display = "block"), void 0 !== w.daysContainer) { 465 var n = (w.days.offsetWidth + 1) * e.showMonths; 466 w.daysContainer.style.width = n + "px", w.calendarContainer.style.width = n + (void 0 !== w.weekWrapper ? w.weekWrapper.offsetWidth : 0) + "px", w.calendarContainer.style.removeProperty("visibility"), w.calendarContainer.style.removeProperty("display") 467 } 468 })) 469 } 470 471 function _(e) { 472 if (0 === w.selectedDates.length) { 473 var n = void 0 === w.config.minDate || M(new Date, w.config.minDate) >= 0 ? new Date : new Date(w.config.minDate.getTime()), 474 t = E(w.config); 475 n.setHours(t.hours, t.minutes, t.seconds, n.getMilliseconds()), w.selectedDates = [n], w.latestSelectedDateObj = n 476 } 477 void 0 !== e && "blur" !== e.type && function (e) { 478 e.preventDefault(); 479 var n = "keydown" === e.type, 480 t = g(e), 481 a = t; 482 void 0 !== w.amPM && t === w.amPM && (w.amPM.textContent = w.l10n.amPM[r(w.amPM.textContent === w.l10n.amPM[0])]); 483 var i = parseFloat(a.getAttribute("min")), 484 l = parseFloat(a.getAttribute("max")), 485 c = parseFloat(a.getAttribute("step")), 486 s = parseInt(a.value, 10), 487 d = e.delta || (n ? 38 === e.which ? 1 : -1 : 0), 488 u = s + c * d; 489 if (void 0 !== a.value && 2 === a.value.length) { 490 var f = a === w.hourElement, 491 m = a === w.minuteElement; 492 u < i ? (u = l + u + r(!f) + (r(f) && r(!w.amPM)), m && L(void 0, -1, w.hourElement)) : u > l && (u = a === w.hourElement ? u - l - r(!w.amPM) : i, m && L(void 0, 1, w.hourElement)), w.amPM && f && (1 === c ? u + s === 23 : Math.abs(u - s) > c) && (w.amPM.textContent = w.l10n.amPM[r(w.amPM.textContent === w.l10n.amPM[0])]), a.value = o(u) 493 } 494 }(e); 495 var a = w._input.value; 496 O(), ye(), w._input.value !== a && w._debouncedChange() 497 } 498 499 function O() { 500 if (void 0 !== w.hourElement && void 0 !== w.minuteElement) { 501 var e, n, t = (parseInt(w.hourElement.value.slice(-2), 10) || 0) % 24, 502 a = (parseInt(w.minuteElement.value, 10) || 0) % 60, 503 i = void 0 !== w.secondElement ? (parseInt(w.secondElement.value, 10) || 0) % 60 : 0; 504 void 0 !== w.amPM && (e = t, n = w.amPM.textContent, t = e % 12 + 12 * r(n === w.l10n.amPM[1])); 505 var o = void 0 !== w.config.minTime || w.config.minDate && w.minDateHasTime && w.latestSelectedDateObj && 0 === M(w.latestSelectedDateObj, w.config.minDate, !0), 506 l = void 0 !== w.config.maxTime || w.config.maxDate && w.maxDateHasTime && w.latestSelectedDateObj && 0 === M(w.latestSelectedDateObj, w.config.maxDate, !0); 507 if (void 0 !== w.config.maxTime && void 0 !== w.config.minTime && w.config.minTime > w.config.maxTime) { 508 var c = y(w.config.minTime.getHours(), w.config.minTime.getMinutes(), w.config.minTime.getSeconds()), 509 s = y(w.config.maxTime.getHours(), w.config.maxTime.getMinutes(), w.config.maxTime.getSeconds()), 510 d = y(t, a, i); 511 if (d > s && d < c) { 512 var u = function (e) { 513 var n = Math.floor(e / 3600), 514 t = (e - 3600 * n) / 60; 515 return [n, t, e - 3600 * n - 60 * t] 516 }(c); 517 t = u[0], a = u[1], i = u[2] 518 } 519 } else { 520 if (l) { 521 var f = void 0 !== w.config.maxTime ? w.config.maxTime : w.config.maxDate; 522 (t = Math.min(t, f.getHours())) === f.getHours() && (a = Math.min(a, f.getMinutes())), a === f.getMinutes() && (i = Math.min(i, f.getSeconds())) 523 } 524 if (o) { 525 var m = void 0 !== w.config.minTime ? w.config.minTime : w.config.minDate; 526 (t = Math.max(t, m.getHours())) === m.getHours() && a < m.getMinutes() && (a = m.getMinutes()), a === m.getMinutes() && (i = Math.max(i, m.getSeconds())) 527 } 528 } 529 A(t, a, i) 530 } 531 } 532 533 function F(e) { 534 var n = e || w.latestSelectedDateObj; 535 n && n instanceof Date && A(n.getHours(), n.getMinutes(), n.getSeconds()) 536 } 537 538 function A(e, n, t) { 539 void 0 !== w.latestSelectedDateObj && w.latestSelectedDateObj.setHours(e % 24, n, t || 0, 0), w.hourElement && w.minuteElement && !w.isMobile && (w.hourElement.value = o(w.config.time_24hr ? e : (12 + e) % 12 + 12 * r(e % 12 == 0)), w.minuteElement.value = o(n), void 0 !== w.amPM && (w.amPM.textContent = w.l10n.amPM[r(e >= 12)]), void 0 !== w.secondElement && (w.secondElement.value = o(t))) 540 } 541 542 function N(e) { 543 var n = g(e), 544 t = parseInt(n.value) + (e.delta || 0); 545 (t / 1e3 > 1 || "Enter" === e.key && !/[^\d]/.test(t.toString())) && ee(t) 546 } 547 548 function P(e, n, t, a) { 549 return n instanceof Array ? n.forEach((function (n) { 550 return P(e, n, t, a) 551 })) : e instanceof Array ? e.forEach((function (e) { 552 return P(e, n, t, a) 553 })) : (e.addEventListener(n, t, a), void w._handlers.push({ 554 remove: function () { 555 return e.removeEventListener(n, t, a) 556 } 557 })) 558 } 559 560 function Y() { 561 De("onChange") 562 } 563 564 function j(e, n) { 565 var t = void 0 !== e ? w.parseDate(e) : w.latestSelectedDateObj || (w.config.minDate && w.config.minDate > w.now ? w.config.minDate : w.config.maxDate && w.config.maxDate < w.now ? w.config.maxDate : w.now), 566 a = w.currentYear, 567 i = w.currentMonth; 568 try { 569 void 0 !== t && (w.currentYear = t.getFullYear(), w.currentMonth = t.getMonth()) 570 } catch (e) { 571 e.message = "Invalid date supplied: " + t, w.config.errorHandler(e) 572 } 573 n && w.currentYear !== a && (De("onYearChange"), q()), !n || w.currentYear === a && w.currentMonth === i || De("onMonthChange"), w.redraw() 574 } 575 576 function H(e) { 577 var n = g(e); 578 ~n.className.indexOf("arrow") && L(e, n.classList.contains("arrowUp") ? 1 : -1) 579 } 580 581 function L(e, n, t) { 582 var a = e && g(e), 583 i = t || a && a.parentNode && a.parentNode.firstChild, 584 o = we("increment"); 585 o.delta = n, i && i.dispatchEvent(o) 586 } 587 588 function R(e, n, t, a) { 589 var i = ne(n, !0), 590 o = d("span", e, n.getDate().toString()); 591 return o.dateObj = n, o.$i = a, o.setAttribute("aria-label", w.formatDate(n, w.config.ariaDateFormat)), -1 === e.indexOf("hidden") && 0 === M(n, w.now) && (w.todayDateElem = o, o.classList.add("today"), o.setAttribute("aria-current", "date")), i ? (o.tabIndex = -1, be(n) && (o.classList.add("selected"), w.selectedDateElem = o, "range" === w.config.mode && (s(o, "startRange", w.selectedDates[0] && 0 === M(n, w.selectedDates[0], !0)), s(o, "endRange", w.selectedDates[1] && 0 === M(n, w.selectedDates[1], !0)), "nextMonthDay" === e && o.classList.add("inRange")))) : o.classList.add("flatpickr-disabled"), "range" === w.config.mode && function (e) { 592 return !("range" !== w.config.mode || w.selectedDates.length < 2) && (M(e, w.selectedDates[0]) >= 0 && M(e, w.selectedDates[1]) <= 0) 593 }(n) && !be(n) && o.classList.add("inRange"), w.weekNumbers && 1 === w.config.showMonths && "prevMonthDay" !== e && a % 7 == 6 && w.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + w.config.getWeek(n) + "</span>"), De("onDayCreate", o), o 594 } 595 596 function W(e) { 597 e.focus(), "range" === w.config.mode && oe(e) 598 } 599 600 function B(e) { 601 for (var n = e > 0 ? 0 : w.config.showMonths - 1, t = e > 0 ? w.config.showMonths : -1, a = n; a != t; a += e) 602 for (var i = w.daysContainer.children[a], o = e > 0 ? 0 : i.children.length - 1, r = e > 0 ? i.children.length : -1, l = o; l != r; l += e) { 603 var c = i.children[l]; 604 if (-1 === c.className.indexOf("hidden") && ne(c.dateObj)) return c 605 } 606 } 607 608 function J(e, n) { 609 var t = k(), 610 a = te(t || document.body), 611 i = void 0 !== e ? e : a ? t : void 0 !== w.selectedDateElem && te(w.selectedDateElem) ? w.selectedDateElem : void 0 !== w.todayDateElem && te(w.todayDateElem) ? w.todayDateElem : B(n > 0 ? 1 : -1); 612 void 0 === i ? w._input.focus() : a ? function (e, n) { 613 for (var t = -1 === e.className.indexOf("Month") ? e.dateObj.getMonth() : w.currentMonth, a = n > 0 ? w.config.showMonths : -1, i = n > 0 ? 1 : -1, o = t - w.currentMonth; o != a; o += i) 614 for (var r = w.daysContainer.children[o], l = t - w.currentMonth === o ? e.$i + n : n < 0 ? r.children.length - 1 : 0, c = r.children.length, s = l; s >= 0 && s < c && s != (n > 0 ? c : -1); s += i) { 615 var d = r.children[s]; 616 if (-1 === d.className.indexOf("hidden") && ne(d.dateObj) && Math.abs(e.$i - s) >= Math.abs(n)) return W(d) 617 } 618 w.changeMonth(i), J(B(i), 0) 619 }(i, n) : W(i) 620 } 621 622 function K(e, n) { 623 for (var t = (new Date(e, n, 1).getDay() - w.l10n.firstDayOfWeek + 7) % 7, a = w.utils.getDaysInMonth((n - 1 + 12) % 12, e), i = w.utils.getDaysInMonth(n, e), o = window.document.createDocumentFragment(), r = w.config.showMonths > 1, l = r ? "prevMonthDay hidden" : "prevMonthDay", c = r ? "nextMonthDay hidden" : "nextMonthDay", s = a + 1 - t, u = 0; s <= a; s++, u++) o.appendChild(R("flatpickr-day " + l, new Date(e, n - 1, s), 0, u)); 624 for (s = 1; s <= i; s++, u++) o.appendChild(R("flatpickr-day", new Date(e, n, s), 0, u)); 625 for (var f = i + 1; f <= 42 - t && (1 === w.config.showMonths || u % 7 != 0); f++, u++) o.appendChild(R("flatpickr-day " + c, new Date(e, n + 1, f % i), 0, u)); 626 var m = d("div", "dayContainer"); 627 return m.appendChild(o), m 628 } 629 630 function U() { 631 if (void 0 !== w.daysContainer) { 632 u(w.daysContainer), w.weekNumbers && u(w.weekNumbers); 633 for (var e = document.createDocumentFragment(), n = 0; n < w.config.showMonths; n++) { 634 var t = new Date(w.currentYear, w.currentMonth, 1); 635 t.setMonth(w.currentMonth + n), e.appendChild(K(t.getFullYear(), t.getMonth())) 636 } 637 w.daysContainer.appendChild(e), w.days = w.daysContainer.firstChild, "range" === w.config.mode && 1 === w.selectedDates.length && oe() 638 } 639 } 640 641 function q() { 642 if (!(w.config.showMonths > 1 || "dropdown" !== w.config.monthSelectorType)) { 643 var e = function (e) { 644 return !(void 0 !== w.config.minDate && w.currentYear === w.config.minDate.getFullYear() && e < w.config.minDate.getMonth()) && !(void 0 !== w.config.maxDate && w.currentYear === w.config.maxDate.getFullYear() && e > w.config.maxDate.getMonth()) 645 }; 646 w.monthsDropdownContainer.tabIndex = -1, w.monthsDropdownContainer.innerHTML = ""; 647 for (var n = 0; n < 12; n++) 648 if (e(n)) { 649 var t = d("option", "flatpickr-monthDropdown-month"); 650 t.value = new Date(w.currentYear, n).getMonth().toString(), t.textContent = h(n, w.config.shorthandCurrentMonth, w.l10n), t.tabIndex = -1, w.currentMonth === n && (t.selected = !0), w.monthsDropdownContainer.appendChild(t) 651 } 652 } 653 } 654 655 function $() { 656 var e, n = d("div", "flatpickr-month"), 657 t = window.document.createDocumentFragment(); 658 w.config.showMonths > 1 || "static" === w.config.monthSelectorType ? e = d("span", "cur-month") : (w.monthsDropdownContainer = d("select", "flatpickr-monthDropdown-months"), w.monthsDropdownContainer.setAttribute("aria-label", w.l10n.monthAriaLabel), P(w.monthsDropdownContainer, "change", (function (e) { 659 var n = g(e), 660 t = parseInt(n.value, 10); 661 w.changeMonth(t - w.currentMonth), De("onMonthChange") 662 })), q(), e = w.monthsDropdownContainer); 663 var a = m("cur-year", { 664 tabindex: "-1" 665 }), 666 i = a.getElementsByTagName("input")[0]; 667 i.setAttribute("aria-label", w.l10n.yearAriaLabel), w.config.minDate && i.setAttribute("min", w.config.minDate.getFullYear().toString()), w.config.maxDate && (i.setAttribute("max", w.config.maxDate.getFullYear().toString()), i.disabled = !!w.config.minDate && w.config.minDate.getFullYear() === w.config.maxDate.getFullYear()); 668 var o = d("div", "flatpickr-current-month"); 669 return o.appendChild(e), o.appendChild(a), t.appendChild(o), n.appendChild(t), { 670 container: n, 671 yearElement: i, 672 monthElement: e 673 } 674 } 675 676 function V() { 677 u(w.monthNav), w.monthNav.appendChild(w.prevMonthNav), w.config.showMonths && (w.yearElements = [], w.monthElements = []); 678 for (var e = w.config.showMonths; e--;) { 679 var n = $(); 680 w.yearElements.push(n.yearElement), w.monthElements.push(n.monthElement), w.monthNav.appendChild(n.container) 681 } 682 w.monthNav.appendChild(w.nextMonthNav) 683 } 684 685 function z() { 686 w.weekdayContainer ? u(w.weekdayContainer) : w.weekdayContainer = d("div", "flatpickr-weekdays"); 687 for (var e = w.config.showMonths; e--;) { 688 var n = d("div", "flatpickr-weekdaycontainer"); 689 w.weekdayContainer.appendChild(n) 690 } 691 return G(), w.weekdayContainer 692 } 693 694 function G() { 695 if (w.weekdayContainer) { 696 var e = w.l10n.firstDayOfWeek, 697 t = n(w.l10n.weekdays.shorthand); 698 e > 0 && e < t.length && (t = n(t.splice(e, t.length), t.splice(0, e))); 699 for (var a = w.config.showMonths; a--;) w.weekdayContainer.children[a].innerHTML = "\n <span class='flatpickr-weekday'>\n " + t.join("</span><span class='flatpickr-weekday'>") + "\n </span>\n " 700 } 701 } 702 703 function Z(e, n) { 704 void 0 === n && (n = !0); 705 var t = n ? e : e - w.currentMonth; 706 t < 0 && !0 === w._hidePrevMonthArrow || t > 0 && !0 === w._hideNextMonthArrow || (w.currentMonth += t, (w.currentMonth < 0 || w.currentMonth > 11) && (w.currentYear += w.currentMonth > 11 ? 1 : -1, w.currentMonth = (w.currentMonth + 12) % 12, De("onYearChange"), q()), U(), De("onMonthChange"), Ce()) 707 } 708 709 function Q(e) { 710 return w.calendarContainer.contains(e) 711 } 712 713 function X(e) { 714 if (w.isOpen && !w.config.inline) { 715 var n = g(e), 716 t = Q(n), 717 a = !(n === w.input || n === w.altInput || w.element.contains(n) || e.path && e.path.indexOf && (~e.path.indexOf(w.input) || ~e.path.indexOf(w.altInput))) && !t && !Q(e.relatedTarget), 718 i = !w.config.ignoredFocusElements.some((function (e) { 719 return e.contains(n) 720 })); 721 a && i && (w.config.allowInput && w.setDate(w._input.value, !1, w.config.altInput ? w.config.altFormat : w.config.dateFormat), void 0 !== w.timeContainer && void 0 !== w.minuteElement && void 0 !== w.hourElement && "" !== w.input.value && void 0 !== w.input.value && _(), w.close(), w.config && "range" === w.config.mode && 1 === w.selectedDates.length && w.clear(!1)) 722 } 723 } 724 725 function ee(e) { 726 if (!(!e || w.config.minDate && e < w.config.minDate.getFullYear() || w.config.maxDate && e > w.config.maxDate.getFullYear())) { 727 var n = e, 728 t = w.currentYear !== n; 729 w.currentYear = n || w.currentYear, w.config.maxDate && w.currentYear === w.config.maxDate.getFullYear() ? w.currentMonth = Math.min(w.config.maxDate.getMonth(), w.currentMonth) : w.config.minDate && w.currentYear === w.config.minDate.getFullYear() && (w.currentMonth = Math.max(w.config.minDate.getMonth(), w.currentMonth)), t && (w.redraw(), De("onYearChange"), q()) 730 } 731 } 732 733 function ne(e, n) { 734 var t; 735 void 0 === n && (n = !0); 736 var a = w.parseDate(e, void 0, n); 737 if (w.config.minDate && a && M(a, w.config.minDate, void 0 !== n ? n : !w.minDateHasTime) < 0 || w.config.maxDate && a && M(a, w.config.maxDate, void 0 !== n ? n : !w.maxDateHasTime) > 0) return !1; 738 if (!w.config.enable && 0 === w.config.disable.length) return !0; 739 if (void 0 === a) return !1; 740 for (var i = !!w.config.enable, o = null !== (t = w.config.enable) && void 0 !== t ? t : w.config.disable, r = 0, l = void 0; r < o.length; r++) { 741 if ("function" == typeof (l = o[r]) && l(a)) return i; 742 if (l instanceof Date && void 0 !== a && l.getTime() === a.getTime()) return i; 743 if ("string" == typeof l) { 744 var c = w.parseDate(l, void 0, !0); 745 return c && c.getTime() === a.getTime() ? i : !i 746 } 747 if ("object" == typeof l && void 0 !== a && l.from && l.to && a.getTime() >= l.from.getTime() && a.getTime() <= l.to.getTime()) return i 748 } 749 return !i 750 } 751 752 function te(e) { 753 return void 0 !== w.daysContainer && (-1 === e.className.indexOf("hidden") && -1 === e.className.indexOf("flatpickr-disabled") && w.daysContainer.contains(e)) 754 } 755 756 function ae(e) { 757 var n = e.target === w._input, 758 t = w._input.value.trimEnd() !== Me(); 759 !n || !t || e.relatedTarget && Q(e.relatedTarget) || w.setDate(w._input.value, !0, e.target === w.altInput ? w.config.altFormat : w.config.dateFormat) 760 } 761 762 function ie(e) { 763 var n = g(e), 764 t = w.config.wrap ? p.contains(n) : n === w._input, 765 a = w.config.allowInput, 766 i = w.isOpen && (!a || !t), 767 o = w.config.inline && t && !a; 768 if (13 === e.keyCode && t) { 769 if (a) return w.setDate(w._input.value, !0, n === w.altInput ? w.config.altFormat : w.config.dateFormat), w.close(), n.blur(); 770 w.open() 771 } else if (Q(n) || i || o) { 772 var r = !!w.timeContainer && w.timeContainer.contains(n); 773 switch (e.keyCode) { 774 case 13: 775 r ? (e.preventDefault(), _(), fe()) : me(e); 776 break; 777 case 27: 778 e.preventDefault(), fe(); 779 break; 780 case 8: 781 case 46: 782 t && !w.config.allowInput && (e.preventDefault(), w.clear()); 783 break; 784 case 37: 785 case 39: 786 if (r || t) w.hourElement && w.hourElement.focus(); 787 else { 788 e.preventDefault(); 789 var l = k(); 790 if (void 0 !== w.daysContainer && (!1 === a || l && te(l))) { 791 var c = 39 === e.keyCode ? 1 : -1; 792 e.ctrlKey ? (e.stopPropagation(), Z(c), J(B(1), 0)) : J(void 0, c) 793 } 794 } 795 break; 796 case 38: 797 case 40: 798 e.preventDefault(); 799 var s = 40 === e.keyCode ? 1 : -1; 800 w.daysContainer && void 0 !== n.$i || n === w.input || n === w.altInput ? e.ctrlKey ? (e.stopPropagation(), ee(w.currentYear - s), J(B(1), 0)) : r || J(void 0, 7 * s) : n === w.currentYearElement ? ee(w.currentYear - s) : w.config.enableTime && (!r && w.hourElement && w.hourElement.focus(), _(e), w._debouncedChange()); 801 break; 802 case 9: 803 if (r) { 804 var d = [w.hourElement, w.minuteElement, w.secondElement, w.amPM].concat(w.pluginElements).filter((function (e) { 805 return e 806 })), 807 u = d.indexOf(n); 808 if (-1 !== u) { 809 var f = d[u + (e.shiftKey ? -1 : 1)]; 810 e.preventDefault(), (f || w._input).focus() 811 } 812 } else !w.config.noCalendar && w.daysContainer && w.daysContainer.contains(n) && e.shiftKey && (e.preventDefault(), w._input.focus()) 813 } 814 } 815 if (void 0 !== w.amPM && n === w.amPM) switch (e.key) { 816 case w.l10n.amPM[0].charAt(0): 817 case w.l10n.amPM[0].charAt(0).toLowerCase(): 818 w.amPM.textContent = w.l10n.amPM[0], O(), ye(); 819 break; 820 case w.l10n.amPM[1].charAt(0): 821 case w.l10n.amPM[1].charAt(0).toLowerCase(): 822 w.amPM.textContent = w.l10n.amPM[1], O(), ye() 823 }(t || Q(n)) && De("onKeyDown", e) 824 } 825 826 function oe(e, n) { 827 if (void 0 === n && (n = "flatpickr-day"), 1 === w.selectedDates.length && (!e || e.classList.contains(n) && !e.classList.contains("flatpickr-disabled"))) { 828 for (var t = e ? e.dateObj.getTime() : w.days.firstElementChild.dateObj.getTime(), a = w.parseDate(w.selectedDates[0], void 0, !0).getTime(), i = Math.min(t, w.selectedDates[0].getTime()), o = Math.max(t, w.selectedDates[0].getTime()), r = !1, l = 0, c = 0, s = i; s < o; s += x) ne(new Date(s), !0) || (r = r || s > i && s < o, s < a && (!l || s > l) ? l = s : s > a && (!c || s < c) && (c = s)); 829 Array.from(w.rContainer.querySelectorAll("*:nth-child(-n+" + w.config.showMonths + ") > ." + n)).forEach((function (n) { 830 var i, o, s, d = n.dateObj.getTime(), 831 u = l > 0 && d < l || c > 0 && d > c; 832 if (u) return n.classList.add("notAllowed"), void["inRange", "startRange", "endRange"].forEach((function (e) { 833 n.classList.remove(e) 834 })); 835 r && !u || (["startRange", "inRange", "endRange", "notAllowed"].forEach((function (e) { 836 n.classList.remove(e) 837 })), void 0 !== e && (e.classList.add(t <= w.selectedDates[0].getTime() ? "startRange" : "endRange"), a < t && d === a ? n.classList.add("startRange") : a > t && d === a && n.classList.add("endRange"), d >= l && (0 === c || d <= c) && (o = a, s = t, (i = d) > Math.min(o, s) && i < Math.max(o, s)) && n.classList.add("inRange"))) 838 })) 839 } 840 } 841 842 function re() { 843 !w.isOpen || w.config.static || w.config.inline || de() 844 } 845 846 function le(e) { 847 return function (n) { 848 var t = w.config["_" + e + "Date"] = w.parseDate(n, w.config.dateFormat), 849 a = w.config["_" + ("min" === e ? "max" : "min") + "Date"]; 850 void 0 !== t && (w["min" === e ? "minDateHasTime" : "maxDateHasTime"] = t.getHours() > 0 || t.getMinutes() > 0 || t.getSeconds() > 0), w.selectedDates && (w.selectedDates = w.selectedDates.filter((function (e) { 851 return ne(e) 852 })), w.selectedDates.length || "min" !== e || F(t), ye()), w.daysContainer && (ue(), void 0 !== t ? w.currentYearElement[e] = t.getFullYear().toString() : w.currentYearElement.removeAttribute(e), w.currentYearElement.disabled = !!a && void 0 !== t && a.getFullYear() === t.getFullYear()) 853 } 854 } 855 856 function ce() { 857 return w.config.wrap ? p.querySelector("[data-input]") : p 858 } 859 860 function se() { 861 "object" != typeof w.config.locale && void 0 === I.l10ns[w.config.locale] && w.config.errorHandler(new Error("flatpickr: invalid locale " + w.config.locale)), w.l10n = e(e({}, I.l10ns.default), "object" == typeof w.config.locale ? w.config.locale : "default" !== w.config.locale ? I.l10ns[w.config.locale] : void 0), D.D = "(" + w.l10n.weekdays.shorthand.join("|") + ")", D.l = "(" + w.l10n.weekdays.longhand.join("|") + ")", D.M = "(" + w.l10n.months.shorthand.join("|") + ")", D.F = "(" + w.l10n.months.longhand.join("|") + ")", D.K = "(" + w.l10n.amPM[0] + "|" + w.l10n.amPM[1] + "|" + w.l10n.amPM[0].toLowerCase() + "|" + w.l10n.amPM[1].toLowerCase() + ")", void 0 === e(e({}, v), JSON.parse(JSON.stringify(p.dataset || {}))).time_24hr && void 0 === I.defaultConfig.time_24hr && (w.config.time_24hr = w.l10n.time_24hr), w.formatDate = b(w), w.parseDate = C({ 862 config: w.config, 863 l10n: w.l10n 864 }) 865 } 866 867 function de(e) { 868 if ("function" != typeof w.config.position) { 869 if (void 0 !== w.calendarContainer) { 870 De("onPreCalendarPosition"); 871 var n = e || w._positionElement, 872 t = Array.prototype.reduce.call(w.calendarContainer.children, (function (e, n) { 873 return e + n.offsetHeight 874 }), 0), 875 a = w.calendarContainer.offsetWidth, 876 i = w.config.position.split(" "), 877 o = i[0], 878 r = i.length > 1 ? i[1] : null, 879 l = n.getBoundingClientRect(), 880 c = window.innerHeight - l.bottom, 881 d = "above" === o || "below" !== o && c < t && l.top > t, 882 u = window.pageYOffset + l.top + (d ? -t - 33 : n.offsetHeight + 40); 883 if (s(w.calendarContainer, "arrowTop", !d), s(w.calendarContainer, "arrowBottom", d), !w.config.inline) { 884 var f = window.pageXOffset + l.left, 885 m = !1, 886 g = !1; 887 "center" === r ? (f -= (a - l.width) / 2, m = !0) : "right" === r && (f -= a - l.width, g = !0), s(w.calendarContainer, "arrowLeft", !m && !g), s(w.calendarContainer, "arrowCenter", m), s(w.calendarContainer, "arrowRight", g); 888 var p = window.document.body.offsetWidth - (window.pageXOffset + l.right), 889 h = f + a > window.document.body.offsetWidth, 890 v = p + a > window.document.body.offsetWidth; 891 if (s(w.calendarContainer, "rightMost", h), !w.config.static) 892 if (w.calendarContainer.style.top = u + "px", h) 893 if (v) { 894 var D = function () { 895 for (var e = null, n = 0; n < document.styleSheets.length; n++) { 896 var t = document.styleSheets[n]; 897 if (t.cssRules) { 898 try { 899 t.cssRules 900 } catch (e) { 901 continue 902 } 903 e = t; 904 break 905 } 906 } 907 return null != e ? e : (a = document.createElement("style"), document.head.appendChild(a), a.sheet); 908 var a 909 }(); 910 if (void 0 === D) return; 911 var b = window.document.body.offsetWidth, 912 C = Math.max(0, b / 2 - a / 2), 913 M = D.cssRules.length, 914 y = "{left:" + l.left + "px;right:auto;}"; 915 s(w.calendarContainer, "rightMost", !1), s(w.calendarContainer, "centerMost", !0), D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after" + y, M), w.calendarContainer.style.left = C + "px", w.calendarContainer.style.right = "auto" 916 } else w.calendarContainer.style.left = "auto", w.calendarContainer.style.right = p + "px"; 917 else w.calendarContainer.style.left = f + "px", w.calendarContainer.style.right = "auto" 918 } 919 } 920 } else w.config.position(w, e) 921 } 922 923 function ue() { 924 w.config.noCalendar || w.isMobile || (q(), Ce(), U()) 925 } 926 927 function fe() { 928 w._input.focus(), -1 !== window.navigator.userAgent.indexOf("MSIE") || void 0 !== navigator.msMaxTouchPoints ? setTimeout(w.close, 0) : w.close() 929 } 930 931 function me(e) { 932 e.preventDefault(), e.stopPropagation(); 933 var n = f(g(e), (function (e) { 934 return e.classList && e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled") && !e.classList.contains("notAllowed") 935 })); 936 if (void 0 !== n) { 937 var t = n, 938 a = w.latestSelectedDateObj = new Date(t.dateObj.getTime()), 939 i = (a.getMonth() < w.currentMonth || a.getMonth() > w.currentMonth + w.config.showMonths - 1) && "range" !== w.config.mode; 940 if (w.selectedDateElem = t, "single" === w.config.mode) w.selectedDates = [a]; 941 else if ("multiple" === w.config.mode) { 942 var o = be(a); 943 o ? w.selectedDates.splice(parseInt(o), 1) : w.selectedDates.push(a) 944 } else "range" === w.config.mode && (2 === w.selectedDates.length && w.clear(!1, !1), w.latestSelectedDateObj = a, w.selectedDates.push(a), 0 !== M(a, w.selectedDates[0], !0) && w.selectedDates.sort((function (e, n) { 945 return e.getTime() - n.getTime() 946 }))); 947 if (O(), i) { 948 var r = w.currentYear !== a.getFullYear(); 949 w.currentYear = a.getFullYear(), w.currentMonth = a.getMonth(), r && (De("onYearChange"), q()), De("onMonthChange") 950 } 951 if (Ce(), U(), ye(), i || "range" === w.config.mode || 1 !== w.config.showMonths ? void 0 !== w.selectedDateElem && void 0 === w.hourElement && w.selectedDateElem && w.selectedDateElem.focus() : W(t), void 0 !== w.hourElement && void 0 !== w.hourElement && w.hourElement.focus(), w.config.closeOnSelect) { 952 var l = "single" === w.config.mode && !w.config.enableTime, 953 c = "range" === w.config.mode && 2 === w.selectedDates.length && !w.config.enableTime; 954 (l || c) && fe() 955 } 956 Y() 957 } 958 } 959 w.parseDate = C({ 960 config: w.config, 961 l10n: w.l10n 962 }), w._handlers = [], w.pluginElements = [], w.loadedPlugins = [], w._bind = P, w._setHoursFromDate = F, w._positionCalendar = de, w.changeMonth = Z, w.changeYear = ee, w.clear = function (e, n) { 963 void 0 === e && (e = !0); 964 void 0 === n && (n = !0); 965 w.input.value = "", void 0 !== w.altInput && (w.altInput.value = ""); 966 void 0 !== w.mobileInput && (w.mobileInput.value = ""); 967 w.selectedDates = [], w.latestSelectedDateObj = void 0, !0 === n && (w.currentYear = w._initialDate.getFullYear(), w.currentMonth = w._initialDate.getMonth()); 968 if (!0 === w.config.enableTime) { 969 var t = E(w.config), 970 a = t.hours, 971 i = t.minutes, 972 o = t.seconds; 973 A(a, i, o) 974 } 975 w.redraw(), e && De("onChange") 976 }, w.close = function () { 977 w.isOpen = !1, w.isMobile || (void 0 !== w.calendarContainer && w.calendarContainer.classList.remove("open"), void 0 !== w._input && w._input.classList.remove("active")); 978 De("onClose") 979 }, w.onMouseOver = oe, w._createElement = d, w.createDay = R, w.destroy = function () { 980 void 0 !== w.config && De("onDestroy"); 981 for (var e = w._handlers.length; e--;) w._handlers[e].remove(); 982 if (w._handlers = [], w.mobileInput) w.mobileInput.parentNode && w.mobileInput.parentNode.removeChild(w.mobileInput), w.mobileInput = void 0; 983 else if (w.calendarContainer && w.calendarContainer.parentNode) 984 if (w.config.static && w.calendarContainer.parentNode) { 985 var n = w.calendarContainer.parentNode; 986 if (n.lastChild && n.removeChild(n.lastChild), n.parentNode) { 987 for (; n.firstChild;) n.parentNode.insertBefore(n.firstChild, n); 988 n.parentNode.removeChild(n) 989 } 990 } else w.calendarContainer.parentNode.removeChild(w.calendarContainer); 991 w.altInput && (w.input.type = "text", w.altInput.parentNode && w.altInput.parentNode.removeChild(w.altInput), delete w.altInput); 992 w.input && (w.input.type = w.input._type, w.input.classList.remove("flatpickr-input"), w.input.removeAttribute("readonly")); 993 ["_showTimeInput", "latestSelectedDateObj", "_hideNextMonthArrow", "_hidePrevMonthArrow", "__hideNextMonthArrow", "__hidePrevMonthArrow", "isMobile", "isOpen", "selectedDateElem", "minDateHasTime", "maxDateHasTime", "days", "daysContainer", "_input", "_positionElement", "innerContainer", "rContainer", "monthNav", "todayDateElem", "calendarContainer", "weekdayContainer", "prevMonthNav", "nextMonthNav", "monthsDropdownContainer", "currentMonthElement", "currentYearElement", "navigationCurrentMonth", "selectedDateElem", "config"].forEach((function (e) { 994 try { 995 delete w[e] 996 } catch (e) {} 997 })) 998 }, w.isEnabled = ne, w.jumpToDate = j, w.updateValue = ye, w.open = function (e, n) { 999 void 0 === n && (n = w._positionElement); 1000 if (!0 === w.isMobile) { 1001 if (e) { 1002 e.preventDefault(); 1003 var t = g(e); 1004 t && t.blur() 1005 } 1006 return void 0 !== w.mobileInput && (w.mobileInput.focus(), w.mobileInput.click()), void De("onOpen") 1007 } 1008 if (w._input.disabled || w.config.inline) return; 1009 var a = w.isOpen; 1010 w.isOpen = !0, a || (w.calendarContainer.classList.add("open"), w._input.classList.add("active"), De("onOpen"), de(n)); 1011 !0 === w.config.enableTime && !0 === w.config.noCalendar && (!1 !== w.config.allowInput || void 0 !== e && w.timeContainer.contains(e.relatedTarget) || setTimeout((function () { 1012 return w.hourElement.select() 1013 }), 50)) 1014 }, w.redraw = ue, w.set = function (e, n) { 1015 if (null !== e && "object" == typeof e) 1016 for (var a in Object.assign(w.config, e), e) void 0 !== ge[a] && ge[a].forEach((function (e) { 1017 return e() 1018 })); 1019 else w.config[e] = n, void 0 !== ge[e] ? ge[e].forEach((function (e) { 1020 return e() 1021 })) : t.indexOf(e) > -1 && (w.config[e] = c(n)); 1022 w.redraw(), ye(!0) 1023 }, w.setDate = function (e, n, t) { 1024 void 0 === n && (n = !1); 1025 void 0 === t && (t = w.config.dateFormat); 1026 if (0 !== e && !e || e instanceof Array && 0 === e.length) return w.clear(n); 1027 pe(e, t), w.latestSelectedDateObj = w.selectedDates[w.selectedDates.length - 1], w.redraw(), j(void 0, n), F(), 0 === w.selectedDates.length && w.clear(!1); 1028 ye(n), n && De("onChange") 1029 }, w.toggle = function (e) { 1030 if (!0 === w.isOpen) return w.close(); 1031 w.open(e) 1032 }; 1033 var ge = { 1034 locale: [se, G], 1035 showMonths: [V, S, z], 1036 minDate: [j], 1037 maxDate: [j], 1038 positionElement: [ve], 1039 clickOpens: [function () { 1040 !0 === w.config.clickOpens ? (P(w._input, "focus", w.open), P(w._input, "click", w.open)) : (w._input.removeEventListener("focus", w.open), w._input.removeEventListener("click", w.open)) 1041 }] 1042 }; 1043 1044 function pe(e, n) { 1045 var t = []; 1046 if (e instanceof Array) t = e.map((function (e) { 1047 return w.parseDate(e, n) 1048 })); 1049 else if (e instanceof Date || "number" == typeof e) t = [w.parseDate(e, n)]; 1050 else if ("string" == typeof e) switch (w.config.mode) { 1051 case "single": 1052 case "time": 1053 t = [w.parseDate(e, n)]; 1054 break; 1055 case "multiple": 1056 t = e.split(w.config.conjunction).map((function (e) { 1057 return w.parseDate(e, n) 1058 })); 1059 break; 1060 case "range": 1061 t = e.split(w.l10n.rangeSeparator).map((function (e) { 1062 return w.parseDate(e, n) 1063 })) 1064 } else w.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(e))); 1065 w.selectedDates = w.config.allowInvalidPreload ? t : t.filter((function (e) { 1066 return e instanceof Date && ne(e, !1) 1067 })), "range" === w.config.mode && w.selectedDates.sort((function (e, n) { 1068 return e.getTime() - n.getTime() 1069 })) 1070 } 1071 1072 function he(e) { 1073 return e.slice().map((function (e) { 1074 return "string" == typeof e || "number" == typeof e || e instanceof Date ? w.parseDate(e, void 0, !0) : e && "object" == typeof e && e.from && e.to ? { 1075 from: w.parseDate(e.from, void 0), 1076 to: w.parseDate(e.to, void 0) 1077 } : e 1078 })).filter((function (e) { 1079 return e 1080 })) 1081 } 1082 1083 function ve() { 1084 w._positionElement = w.config.positionElement || w._input 1085 } 1086 1087 function De(e, n) { 1088 if (void 0 !== w.config) { 1089 var t = w.config[e]; 1090 if (void 0 !== t && t.length > 0) 1091 for (var a = 0; t[a] && a < t.length; a++) t[a](w.selectedDates, w.input.value, w, n); 1092 "onChange" === e && (w.input.dispatchEvent(we("change")), w.input.dispatchEvent(we("input"))) 1093 } 1094 } 1095 1096 function we(e) { 1097 var n = document.createEvent("Event"); 1098 return n.initEvent(e, !0, !0), n 1099 } 1100 1101 function be(e) { 1102 for (var n = 0; n < w.selectedDates.length; n++) { 1103 var t = w.selectedDates[n]; 1104 if (t instanceof Date && 0 === M(t, e)) return "" + n 1105 } 1106 return !1 1107 } 1108 1109 function Ce() { 1110 w.config.noCalendar || w.isMobile || !w.monthNav || (w.yearElements.forEach((function (e, n) { 1111 var t = new Date(w.currentYear, w.currentMonth, 1); 1112 t.setMonth(w.currentMonth + n), w.config.showMonths > 1 || "static" === w.config.monthSelectorType ? w.monthElements[n].textContent = h(t.getMonth(), w.config.shorthandCurrentMonth, w.l10n) + " " : w.monthsDropdownContainer.value = t.getMonth().toString(), e.value = t.getFullYear().toString() 1113 })), w._hidePrevMonthArrow = void 0 !== w.config.minDate && (w.currentYear === w.config.minDate.getFullYear() ? w.currentMonth <= w.config.minDate.getMonth() : w.currentYear < w.config.minDate.getFullYear()), w._hideNextMonthArrow = void 0 !== w.config.maxDate && (w.currentYear === w.config.maxDate.getFullYear() ? w.currentMonth + 1 > w.config.maxDate.getMonth() : w.currentYear > w.config.maxDate.getFullYear())) 1114 } 1115 1116 function Me(e) { 1117 var n = e || (w.config.altInput ? w.config.altFormat : w.config.dateFormat); 1118 return w.selectedDates.map((function (e) { 1119 return w.formatDate(e, n) 1120 })).filter((function (e, n, t) { 1121 return "range" !== w.config.mode || w.config.enableTime || t.indexOf(e) === n 1122 })).join("range" !== w.config.mode ? w.config.conjunction : w.l10n.rangeSeparator) 1123 } 1124 1125 function ye(e) { 1126 void 0 === e && (e = !0), void 0 !== w.mobileInput && w.mobileFormatStr && (w.mobileInput.value = void 0 !== w.latestSelectedDateObj ? w.formatDate(w.latestSelectedDateObj, w.mobileFormatStr) : ""), w.input.value = Me(w.config.dateFormat), void 0 !== w.altInput && (w.altInput.value = Me(w.config.altFormat)), !1 !== e && De("onValueUpdate") 1127 } 1128 1129 function xe(e) { 1130 var n = g(e), 1131 t = w.prevMonthNav.contains(n), 1132 a = w.nextMonthNav.contains(n); 1133 t || a ? Z(t ? -1 : 1) : w.yearElements.indexOf(n) >= 0 ? n.select() : n.classList.contains("arrowUp") ? w.changeYear(w.currentYear + 1) : n.classList.contains("arrowDown") && w.changeYear(w.currentYear - 1) 1134 } 1135 return function () { 1136 w.element = w.input = p, w.isOpen = !1, 1137 function () { 1138 var n = ["wrap", "weekNumbers", "allowInput", "allowInvalidPreload", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"], 1139 i = e(e({}, JSON.parse(JSON.stringify(p.dataset || {}))), v), 1140 o = {}; 1141 w.config.parseDate = i.parseDate, w.config.formatDate = i.formatDate, Object.defineProperty(w.config, "enable", { 1142 get: function () { 1143 return w.config._enable 1144 }, 1145 set: function (e) { 1146 w.config._enable = he(e) 1147 } 1148 }), Object.defineProperty(w.config, "disable", { 1149 get: function () { 1150 return w.config._disable 1151 }, 1152 set: function (e) { 1153 w.config._disable = he(e) 1154 } 1155 }); 1156 var r = "time" === i.mode; 1157 if (!i.dateFormat && (i.enableTime || r)) { 1158 var l = I.defaultConfig.dateFormat || a.dateFormat; 1159 o.dateFormat = i.noCalendar || r ? "H:i" + (i.enableSeconds ? ":S" : "") : l + " H:i" + (i.enableSeconds ? ":S" : "") 1160 } 1161 if (i.altInput && (i.enableTime || r) && !i.altFormat) { 1162 var s = I.defaultConfig.altFormat || a.altFormat; 1163 o.altFormat = i.noCalendar || r ? "h:i" + (i.enableSeconds ? ":S K" : " K") : s + " h:i" + (i.enableSeconds ? ":S" : "") + " K" 1164 } 1165 Object.defineProperty(w.config, "minDate", { 1166 get: function () { 1167 return w.config._minDate 1168 }, 1169 set: le("min") 1170 }), Object.defineProperty(w.config, "maxDate", { 1171 get: function () { 1172 return w.config._maxDate 1173 }, 1174 set: le("max") 1175 }); 1176 var d = function (e) { 1177 return function (n) { 1178 w.config["min" === e ? "_minTime" : "_maxTime"] = w.parseDate(n, "H:i:S") 1179 } 1180 }; 1181 Object.defineProperty(w.config, "minTime", { 1182 get: function () { 1183 return w.config._minTime 1184 }, 1185 set: d("min") 1186 }), Object.defineProperty(w.config, "maxTime", { 1187 get: function () { 1188 return w.config._maxTime 1189 }, 1190 set: d("max") 1191 }), "time" === i.mode && (w.config.noCalendar = !0, w.config.enableTime = !0); 1192 Object.assign(w.config, o, i); 1193 for (var u = 0; u < n.length; u++) w.config[n[u]] = !0 === w.config[n[u]] || "true" === w.config[n[u]]; 1194 t.filter((function (e) { 1195 return void 0 !== w.config[e] 1196 })).forEach((function (e) { 1197 w.config[e] = c(w.config[e] || []).map(T) 1198 })), w.isMobile = !w.config.disableMobile && !w.config.inline && "single" === w.config.mode && !w.config.disable.length && !w.config.enable && !w.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); 1199 for (u = 0; u < w.config.plugins.length; u++) { 1200 var f = w.config.plugins[u](w) || {}; 1201 for (var m in f) t.indexOf(m) > -1 ? w.config[m] = c(f[m]).map(T).concat(w.config[m]) : void 0 === i[m] && (w.config[m] = f[m]) 1202 } 1203 i.altInputClass || (w.config.altInputClass = ce().className + " " + w.config.altInputClass); 1204 De("onParseConfig") 1205 }(), se(), 1206 function () { 1207 if (w.input = ce(), !w.input) return void w.config.errorHandler(new Error("Invalid input element specified")); 1208 w.input._type = w.input.type, w.input.type = "text", w.input.classList.add("flatpickr-input"), w._input = w.input, w.config.altInput && (w.altInput = d(w.input.nodeName, w.config.altInputClass), w._input = w.altInput, w.altInput.placeholder = w.input.placeholder, w.altInput.disabled = w.input.disabled, w.altInput.required = w.input.required, w.altInput.tabIndex = w.input.tabIndex, w.altInput.type = "text", w.input.setAttribute("type", "hidden"), !w.config.static && w.input.parentNode && w.input.parentNode.insertBefore(w.altInput, w.input.nextSibling)); 1209 w.config.allowInput || w._input.setAttribute("readonly", "readonly"); 1210 ve() 1211 }(), 1212 function () { 1213 w.selectedDates = [], w.now = w.parseDate(w.config.now) || new Date; 1214 var e = w.config.defaultDate || ("INPUT" !== w.input.nodeName && "TEXTAREA" !== w.input.nodeName || !w.input.placeholder || w.input.value !== w.input.placeholder ? w.input.value : null); 1215 e && pe(e, w.config.dateFormat); 1216 w._initialDate = w.selectedDates.length > 0 ? w.selectedDates[0] : w.config.minDate && w.config.minDate.getTime() > w.now.getTime() ? w.config.minDate : w.config.maxDate && w.config.maxDate.getTime() < w.now.getTime() ? w.config.maxDate : w.now, w.currentYear = w._initialDate.getFullYear(), w.currentMonth = w._initialDate.getMonth(), w.selectedDates.length > 0 && (w.latestSelectedDateObj = w.selectedDates[0]); 1217 void 0 !== w.config.minTime && (w.config.minTime = w.parseDate(w.config.minTime, "H:i")); 1218 void 0 !== w.config.maxTime && (w.config.maxTime = w.parseDate(w.config.maxTime, "H:i")); 1219 w.minDateHasTime = !!w.config.minDate && (w.config.minDate.getHours() > 0 || w.config.minDate.getMinutes() > 0 || w.config.minDate.getSeconds() > 0), w.maxDateHasTime = !!w.config.maxDate && (w.config.maxDate.getHours() > 0 || w.config.maxDate.getMinutes() > 0 || w.config.maxDate.getSeconds() > 0) 1220 }(), w.utils = { 1221 getDaysInMonth: function (e, n) { 1222 return void 0 === e && (e = w.currentMonth), void 0 === n && (n = w.currentYear), 1 === e && (n % 4 == 0 && n % 100 != 0 || n % 400 == 0) ? 29 : w.l10n.daysInMonth[e] 1223 } 1224 }, w.isMobile || function () { 1225 var e = window.document.createDocumentFragment(); 1226 if (w.calendarContainer = d("div", "flatpickr-calendar"), w.calendarContainer.tabIndex = -1, !w.config.noCalendar) { 1227 if (e.appendChild((w.monthNav = d("div", "flatpickr-months"), w.yearElements = [], w.monthElements = [], w.prevMonthNav = d("span", "flatpickr-prev-month"), w.prevMonthNav.innerHTML = w.config.prevArrow, w.nextMonthNav = d("span", "flatpickr-next-month"), w.nextMonthNav.innerHTML = w.config.nextArrow, V(), Object.defineProperty(w, "_hidePrevMonthArrow", { 1228 get: function () { 1229 return w.__hidePrevMonthArrow 1230 }, 1231 set: function (e) { 1232 w.__hidePrevMonthArrow !== e && (s(w.prevMonthNav, "flatpickr-disabled", e), w.__hidePrevMonthArrow = e) 1233 } 1234 }), Object.defineProperty(w, "_hideNextMonthArrow", { 1235 get: function () { 1236 return w.__hideNextMonthArrow 1237 }, 1238 set: function (e) { 1239 w.__hideNextMonthArrow !== e && (s(w.nextMonthNav, "flatpickr-disabled", e), w.__hideNextMonthArrow = e) 1240 } 1241 }), w.currentYearElement = w.yearElements[0], Ce(), w.monthNav)), w.innerContainer = d("div", "flatpickr-innerContainer"), w.config.weekNumbers) { 1242 var n = function () { 1243 w.calendarContainer.classList.add("hasWeeks"); 1244 var e = d("div", "flatpickr-weekwrapper"); 1245 e.appendChild(d("span", "flatpickr-weekday", w.l10n.weekAbbreviation)); 1246 var n = d("div", "flatpickr-weeks"); 1247 return e.appendChild(n), { 1248 weekWrapper: e, 1249 weekNumbers: n 1250 } 1251 }(), 1252 t = n.weekWrapper, 1253 a = n.weekNumbers; 1254 w.innerContainer.appendChild(t), w.weekNumbers = a, w.weekWrapper = t 1255 } 1256 w.rContainer = d("div", "flatpickr-rContainer"), w.rContainer.appendChild(z()), w.daysContainer || (w.daysContainer = d("div", "flatpickr-days"), w.daysContainer.tabIndex = -1), U(), w.rContainer.appendChild(w.daysContainer), w.innerContainer.appendChild(w.rContainer), e.appendChild(w.innerContainer) 1257 } 1258 w.config.enableTime && e.appendChild(function () { 1259 w.calendarContainer.classList.add("hasTime"), w.config.noCalendar && w.calendarContainer.classList.add("noCalendar"); 1260 var e = E(w.config); 1261 w.timeContainer = d("div", "flatpickr-time"), w.timeContainer.tabIndex = -1; 1262 var n = d("span", "flatpickr-time-separator", ":"), 1263 t = m("flatpickr-hour", { 1264 "aria-label": w.l10n.hourAriaLabel 1265 }); 1266 w.hourElement = t.getElementsByTagName("input")[0]; 1267 var a = m("flatpickr-minute", { 1268 "aria-label": w.l10n.minuteAriaLabel 1269 }); 1270 w.minuteElement = a.getElementsByTagName("input")[0], w.hourElement.tabIndex = w.minuteElement.tabIndex = -1, w.hourElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getHours() : w.config.time_24hr ? e.hours : function (e) { 1271 switch (e % 24) { 1272 case 0: 1273 case 12: 1274 return 12; 1275 default: 1276 return e % 12 1277 } 1278 }(e.hours)), w.minuteElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getMinutes() : e.minutes), w.hourElement.setAttribute("step", w.config.hourIncrement.toString()), w.minuteElement.setAttribute("step", w.config.minuteIncrement.toString()), w.hourElement.setAttribute("min", w.config.time_24hr ? "0" : "1"), w.hourElement.setAttribute("max", w.config.time_24hr ? "23" : "12"), w.hourElement.setAttribute("maxlength", "2"), w.minuteElement.setAttribute("min", "0"), w.minuteElement.setAttribute("max", "59"), w.minuteElement.setAttribute("maxlength", "2"), w.timeContainer.appendChild(t), w.timeContainer.appendChild(n), w.timeContainer.appendChild(a), w.config.time_24hr && w.timeContainer.classList.add("time24hr"); 1279 if (w.config.enableSeconds) { 1280 w.timeContainer.classList.add("hasSeconds"); 1281 var i = m("flatpickr-second"); 1282 w.secondElement = i.getElementsByTagName("input")[0], w.secondElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getSeconds() : e.seconds), w.secondElement.setAttribute("step", w.minuteElement.getAttribute("step")), w.secondElement.setAttribute("min", "0"), w.secondElement.setAttribute("max", "59"), w.secondElement.setAttribute("maxlength", "2"), w.timeContainer.appendChild(d("span", "flatpickr-time-separator", ":")), w.timeContainer.appendChild(i) 1283 } 1284 w.config.time_24hr || (w.amPM = d("span", "flatpickr-am-pm", w.l10n.amPM[r((w.latestSelectedDateObj ? w.hourElement.value : w.config.defaultHour) > 11)]), w.amPM.title = w.l10n.toggleTitle, w.amPM.tabIndex = -1, w.timeContainer.appendChild(w.amPM)); 1285 return w.timeContainer 1286 }()); 1287 s(w.calendarContainer, "rangeMode", "range" === w.config.mode), s(w.calendarContainer, "animate", !0 === w.config.animate), s(w.calendarContainer, "multiMonth", w.config.showMonths > 1), w.calendarContainer.appendChild(e); 1288 var i = void 0 !== w.config.appendTo && void 0 !== w.config.appendTo.nodeType; 1289 if ((w.config.inline || w.config.static) && (w.calendarContainer.classList.add(w.config.inline ? "inline" : "static"), w.config.inline && (!i && w.element.parentNode ? w.element.parentNode.insertBefore(w.calendarContainer, w._input.nextSibling) : void 0 !== w.config.appendTo && w.config.appendTo.appendChild(w.calendarContainer)), w.config.static)) { 1290 var l = d("div", "flatpickr-wrapper"); 1291 w.element.parentNode && w.element.parentNode.insertBefore(l, w.element), l.appendChild(w.element), w.altInput && l.appendChild(w.altInput), l.appendChild(w.calendarContainer) 1292 } 1293 w.config.static || w.config.inline || (void 0 !== w.config.appendTo ? w.config.appendTo : window.document.body).appendChild(w.calendarContainer) 1294 }(), 1295 function () { 1296 w.config.wrap && ["open", "close", "toggle", "clear"].forEach((function (e) { 1297 Array.prototype.forEach.call(w.element.querySelectorAll("[data-" + e + "]"), (function (n) { 1298 return P(n, "click", w[e]) 1299 })) 1300 })); 1301 if (w.isMobile) return void 1302 function () { 1303 var e = w.config.enableTime ? w.config.noCalendar ? "time" : "datetime-local" : "date"; 1304 w.mobileInput = d("input", w.input.className + " flatpickr-mobile"), w.mobileInput.tabIndex = 1, w.mobileInput.type = e, w.mobileInput.disabled = w.input.disabled, w.mobileInput.required = w.input.required, w.mobileInput.placeholder = w.input.placeholder, w.mobileFormatStr = "datetime-local" === e ? "Y-m-d\\TH:i:S" : "date" === e ? "Y-m-d" : "H:i:S", w.selectedDates.length > 0 && (w.mobileInput.defaultValue = w.mobileInput.value = w.formatDate(w.selectedDates[0], w.mobileFormatStr)); 1305 w.config.minDate && (w.mobileInput.min = w.formatDate(w.config.minDate, "Y-m-d")); 1306 w.config.maxDate && (w.mobileInput.max = w.formatDate(w.config.maxDate, "Y-m-d")); 1307 w.input.getAttribute("step") && (w.mobileInput.step = String(w.input.getAttribute("step"))); 1308 w.input.type = "hidden", void 0 !== w.altInput && (w.altInput.type = "hidden"); 1309 try { 1310 w.input.parentNode && w.input.parentNode.insertBefore(w.mobileInput, w.input.nextSibling) 1311 } catch (e) {} 1312 P(w.mobileInput, "change", (function (e) { 1313 w.setDate(g(e).value, !1, w.mobileFormatStr), De("onChange"), De("onClose") 1314 })) 1315 }(); 1316 var e = l(re, 50); 1317 w._debouncedChange = l(Y, 300), w.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent) && P(w.daysContainer, "mouseover", (function (e) { 1318 "range" === w.config.mode && oe(g(e)) 1319 })); 1320 P(w._input, "keydown", ie), void 0 !== w.calendarContainer && P(w.calendarContainer, "keydown", ie); 1321 w.config.inline || w.config.static || P(window, "resize", e); 1322 void 0 !== window.ontouchstart ? P(window.document, "touchstart", X) : P(window.document, "mousedown", X); 1323 P(window.document, "focus", X, { 1324 capture: !0 1325 }), !0 === w.config.clickOpens && (P(w._input, "focus", w.open), P(w._input, "click", w.open)); 1326 void 0 !== w.daysContainer && (P(w.monthNav, "click", xe), P(w.monthNav, ["keyup", "increment"], N), P(w.daysContainer, "click", me)); 1327 if (void 0 !== w.timeContainer && void 0 !== w.minuteElement && void 0 !== w.hourElement) { 1328 var n = function (e) { 1329 return g(e).select() 1330 }; 1331 P(w.timeContainer, ["increment"], _), P(w.timeContainer, "blur", _, { 1332 capture: !0 1333 }), P(w.timeContainer, "click", H), P([w.hourElement, w.minuteElement], ["focus", "click"], n), void 0 !== w.secondElement && P(w.secondElement, "focus", (function () { 1334 return w.secondElement && w.secondElement.select() 1335 })), void 0 !== w.amPM && P(w.amPM, "click", (function (e) { 1336 _(e) 1337 })) 1338 } 1339 w.config.allowInput && P(w._input, "blur", ae) 1340 }(), (w.selectedDates.length || w.config.noCalendar) && (w.config.enableTime && F(w.config.noCalendar ? w.latestSelectedDateObj : void 0), ye(!1)), S(); 1341 var n = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 1342 !w.isMobile && n && de(), De("onReady") 1343 }(), w 1344 } 1345 1346 function T(e, n) { 1347 for (var t = Array.prototype.slice.call(e).filter((function (e) { 1348 return e instanceof HTMLElement 1349 })), a = [], i = 0; i < t.length; i++) { 1350 var o = t[i]; 1351 try { 1352 if (null !== o.getAttribute("data-fp-omit")) continue; 1353 void 0 !== o._flatpickr && (o._flatpickr.destroy(), o._flatpickr = void 0), o._flatpickr = k(o, n || {}), a.push(o._flatpickr) 1354 } catch (e) { 1355 console.error(e) 1356 } 1357 } 1358 return 1 === a.length ? a[0] : a 1359 } 1360 "undefined" != typeof HTMLElement && "undefined" != typeof HTMLCollection && "undefined" != typeof NodeList && (HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (e) { 1361 return T(this, e) 1362 }, HTMLElement.prototype.flatpickr = function (e) { 1363 return T([this], e) 1364 }); 1365 var I = function (e, n) { 1366 return "string" == typeof e ? T(window.document.querySelectorAll(e), n) : e instanceof Node ? T([e], n) : T(e, n) 1367 }; 1368 return I.defaultConfig = {}, I.l10ns = { 1369 en: e({}, i), 1370 default: e({}, i) 1371 }, I.localize = function (n) { 1372 I.l10ns.default = e(e({}, I.l10ns.default), n) 1373 }, I.setDefaults = function (n) { 1374 I.defaultConfig = e(e({}, I.defaultConfig), n) 1375 }, I.parseDate = C({}), I.formatDate = b({}), I.compareDates = M, "undefined" != typeof jQuery && void 0 !== jQuery.fn && (jQuery.fn.flatpickr = function (e) { 1376 return T(this, e) 1377 }), Date.prototype.fp_incr = function (e) { 1378 return new Date(this.getFullYear(), this.getMonth(), this.getDate() + ("string" == typeof e ? parseInt(e, 10) : e)) 1379 }, "undefined" != typeof window && (window.flatpickr = I), I 1380}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.