UNPKG

@xuda.io/xuda-widget-plugin-flatpickr

Version:

Xuda Flatpickr plugin implementation is a library for customizable date and time pickers. It offers features like date range selection, multiple date picking, localization, and accessibility, making it user-friendly, visually appealing, and suitable for m

1,113 lines 65.3 kB
var ke = [ "onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition" ], Z = { _disable: [], allowInput: !1, allowInvalidPreload: !1, altFormat: "F j, Y", altInput: !1, altInputClass: "form-control input", animate: typeof window == "object" && window.navigator.userAgent.indexOf("MSIE") === -1, ariaDateFormat: "F j, Y", autoFillDefaultTime: !0, clickOpens: !0, closeOnSelect: !0, conjunction: ", ", dateFormat: "Y-m-d", defaultHour: 12, defaultMinute: 0, defaultSeconds: 0, disable: [], disableMobile: !1, enableSeconds: !1, enableTime: !1, errorHandler: function(a) { return typeof console < "u" && console.warn(a); }, getWeek: function(a) { var r = new Date(a.getTime()); r.setHours(0, 0, 0, 0), r.setDate(r.getDate() + 3 - (r.getDay() + 6) % 7); var e = new Date(r.getFullYear(), 0, 4); return 1 + Math.round(((r.getTime() - e.getTime()) / 864e5 - 3 + (e.getDay() + 6) % 7) / 7); }, hourIncrement: 1, ignoredFocusElements: [], inline: !1, locale: "default", minuteIncrement: 5, mode: "single", monthSelectorType: "dropdown", 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>", noCalendar: !1, now: /* @__PURE__ */ new Date(), onChange: [], onClose: [], onDayCreate: [], onDestroy: [], onKeyDown: [], onMonthChange: [], onOpen: [], onParseConfig: [], onReady: [], onValueUpdate: [], onYearChange: [], onPreCalendarPosition: [], plugins: [], position: "auto", positionElement: void 0, 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>", shorthandCurrentMonth: !1, showMonths: 1, static: !1, time_24hr: !1, weekNumbers: !1, wrap: !1 }, ie = { weekdays: { shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], longhand: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ] }, months: { shorthand: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], longhand: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ] }, daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], firstDayOfWeek: 0, ordinal: function(a) { var r = a % 100; if (r > 3 && r < 21) return "th"; switch (r % 10) { case 1: return "st"; case 2: return "nd"; case 3: return "rd"; default: return "th"; } }, rangeSeparator: " to ", weekAbbreviation: "Wk", scrollTitle: "Scroll to increment", toggleTitle: "Click to toggle", amPM: ["AM", "PM"], yearAriaLabel: "Year", monthAriaLabel: "Month", hourAriaLabel: "Hour", minuteAriaLabel: "Minute", time_24hr: !1 }, I = function(a, r) { return r === void 0 && (r = 2), ("000" + a).slice(r * -1); }, A = function(a) { return a === !0 ? 1 : 0; }; function Je(a, r) { var e; return function() { var g = this, h = arguments; clearTimeout(e), e = setTimeout(function() { return a.apply(g, h); }, r); }; } var Te = function(a) { return a instanceof Array ? a : [a]; }; function T(a, r, e) { if (e === !0) return a.classList.add(r); a.classList.remove(r); } function v(a, r, e) { var g = window.document.createElement(a); return r = r || "", e = e || "", g.className = r, e !== void 0 && (g.textContent = e), g; } function ge(a) { for (; a.firstChild; ) a.removeChild(a.firstChild); } function Ve(a, r) { if (r(a)) return a; if (a.parentNode) return Ve(a.parentNode, r); } function me(a, r) { var e = v("div", "numInputWrapper"), g = v("input", "numInput " + a), h = v("span", "arrowUp"), m = v("span", "arrowDown"); if (navigator.userAgent.indexOf("MSIE 9.0") === -1 ? g.type = "number" : (g.type = "text", g.pattern = "\\d*"), r !== void 0) for (var w in r) g.setAttribute(w, r[w]); return e.appendChild(g), e.appendChild(h), e.appendChild(m), e; } function F(a) { try { if (typeof a.composedPath == "function") { var r = a.composedPath(); return r[0]; } return a.target; } catch { return a.target; } } var Ie = function() { }, pe = function(a, r, e) { return e.months[r ? "shorthand" : "longhand"][a]; }, Tn = { D: Ie, F: function(a, r, e) { a.setMonth(e.months.longhand.indexOf(r)); }, G: function(a, r) { a.setHours((a.getHours() >= 12 ? 12 : 0) + parseFloat(r)); }, H: function(a, r) { a.setHours(parseFloat(r)); }, J: function(a, r) { a.setDate(parseFloat(r)); }, K: function(a, r, e) { a.setHours(a.getHours() % 12 + 12 * A(new RegExp(e.amPM[1], "i").test(r))); }, M: function(a, r, e) { a.setMonth(e.months.shorthand.indexOf(r)); }, S: function(a, r) { a.setSeconds(parseFloat(r)); }, U: function(a, r) { return new Date(parseFloat(r) * 1e3); }, W: function(a, r, e) { var g = parseInt(r), h = new Date(a.getFullYear(), 0, 2 + (g - 1) * 7, 0, 0, 0, 0); return h.setDate(h.getDate() - h.getDay() + e.firstDayOfWeek), h; }, Y: function(a, r) { a.setFullYear(parseFloat(r)); }, Z: function(a, r) { return new Date(r); }, d: function(a, r) { a.setDate(parseFloat(r)); }, h: function(a, r) { a.setHours((a.getHours() >= 12 ? 12 : 0) + parseFloat(r)); }, i: function(a, r) { a.setMinutes(parseFloat(r)); }, j: function(a, r) { a.setDate(parseFloat(r)); }, l: Ie, m: function(a, r) { a.setMonth(parseFloat(r) - 1); }, n: function(a, r) { a.setMonth(parseFloat(r) - 1); }, s: function(a, r) { a.setSeconds(parseFloat(r)); }, u: function(a, r) { return new Date(parseFloat(r)); }, w: Ie, y: function(a, r) { a.setFullYear(2e3 + parseFloat(r)); } }, J = { D: "", F: "", G: "(\\d\\d|\\d)", H: "(\\d\\d|\\d)", J: "(\\d\\d|\\d)\\w+", K: "", M: "", S: "(\\d\\d|\\d)", U: "(.+)", W: "(\\d\\d|\\d)", Y: "(\\d{4})", Z: "(.+)", d: "(\\d\\d|\\d)", h: "(\\d\\d|\\d)", i: "(\\d\\d|\\d)", j: "(\\d\\d|\\d)", l: "", m: "(\\d\\d|\\d)", n: "(\\d\\d|\\d)", s: "(\\d\\d|\\d)", u: "(.+)", w: "(\\d\\d|\\d)", y: "(\\d{2})" }, ae = { Z: function(a) { return a.toISOString(); }, D: function(a, r, e) { return r.weekdays.shorthand[ae.w(a, r, e)]; }, F: function(a, r, e) { return pe(ae.n(a, r, e) - 1, !1, r); }, G: function(a, r, e) { return I(ae.h(a, r, e)); }, H: function(a) { return I(a.getHours()); }, J: function(a, r) { return r.ordinal !== void 0 ? a.getDate() + r.ordinal(a.getDate()) : a.getDate(); }, K: function(a, r) { return r.amPM[A(a.getHours() > 11)]; }, M: function(a, r) { return pe(a.getMonth(), !0, r); }, S: function(a) { return I(a.getSeconds()); }, U: function(a) { return a.getTime() / 1e3; }, W: function(a, r, e) { return e.getWeek(a); }, Y: function(a) { return I(a.getFullYear(), 4); }, d: function(a) { return I(a.getDate()); }, h: function(a) { return a.getHours() % 12 ? a.getHours() % 12 : 12; }, i: function(a) { return I(a.getMinutes()); }, j: function(a) { return a.getDate(); }, l: function(a, r) { return r.weekdays.longhand[a.getDay()]; }, m: function(a) { return I(a.getMonth() + 1); }, n: function(a) { return a.getMonth() + 1; }, s: function(a) { return a.getSeconds(); }, u: function(a) { return a.getTime(); }, w: function(a) { return a.getDay(); }, y: function(a) { return String(a.getFullYear()).substring(2); } }, qe = function(a) { var r = a.config, e = r === void 0 ? Z : r, g = a.l10n, h = g === void 0 ? ie : g, m = a.isMobile, w = m === void 0 ? !1 : m; return function(x, E, X) { var C = X || h; return e.formatDate !== void 0 && !w ? e.formatDate(x, E, C) : E.split("").map(function(N, P, H) { return ae[N] && H[P - 1] !== "\\" ? ae[N](x, C, e) : N !== "\\" ? N : ""; }).join(""); }; }, Fe = function(a) { var r = a.config, e = r === void 0 ? Z : r, g = a.l10n, h = g === void 0 ? ie : g; return function(m, w, x, E) { if (!(m !== 0 && !m)) { var X = E || h, C, N = m; if (m instanceof Date) C = new Date(m.getTime()); else if (typeof m != "string" && m.toFixed !== void 0) C = new Date(m); else if (typeof m == "string") { var P = w || (e || Z).dateFormat, H = String(m).trim(); if (H === "today") C = /* @__PURE__ */ new Date(), x = !0; else if (e && e.parseDate) C = e.parseDate(m, P); else if (/Z$/.test(H) || /GMT$/.test(H)) C = new Date(m); else { for (var re = void 0, D = [], R = 0, he = 0, j = ""; R < P.length; R++) { var W = P[R], U = W === "\\", ve = P[R - 1] === "\\" || U; if (J[W] && !ve) { j += J[W]; var B = new RegExp(j).exec(m); B && (re = !0) && D[W !== "Y" ? "push" : "unshift"]({ fn: Tn[W], val: B[++he] }); } else U || (j += "."); } C = !e || !e.noCalendar ? new Date((/* @__PURE__ */ new Date()).getFullYear(), 0, 1, 0, 0, 0, 0) : new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0)), D.forEach(function(V) { var q = V.fn, De = V.val; return C = q(C, De, X) || C; }), C = re ? C : void 0; } } if (!(C instanceof Date && !isNaN(C.getTime()))) { e.errorHandler(new Error("Invalid date provided: " + N)); return; } return x === !0 && C.setHours(0, 0, 0, 0), C; } }; }; function O(a, r, e) { return e === void 0 && (e = !0), e !== !1 ? new Date(a.getTime()).setHours(0, 0, 0, 0) - new Date(r.getTime()).setHours(0, 0, 0, 0) : a.getTime() - r.getTime(); } var In = function(a, r, e) { return a > Math.min(r, e) && a < Math.max(r, e); }, _e = function(a, r, e) { return a * 3600 + r * 60 + e; }, _n = function(a) { var r = Math.floor(a / 3600), e = (a - r * 3600) / 60; return [r, e, a - r * 3600 - e * 60]; }, Sn = { DAY: 864e5 }; function Se(a) { var r = a.defaultHour, e = a.defaultMinute, g = a.defaultSeconds; if (a.minDate !== void 0) { var h = a.minDate.getHours(), m = a.minDate.getMinutes(), w = a.minDate.getSeconds(); r < h && (r = h), r === h && e < m && (e = m), r === h && e === m && g < w && (g = a.minDate.getSeconds()); } if (a.maxDate !== void 0) { var x = a.maxDate.getHours(), E = a.maxDate.getMinutes(); r = Math.min(r, x), r === x && (e = Math.min(E, e)), r === x && e === E && (g = a.maxDate.getSeconds()); } return { hours: r, minutes: e, seconds: g }; } typeof Object.assign != "function" && (Object.assign = function(a) { for (var r = [], e = 1; e < arguments.length; e++) r[e - 1] = arguments[e]; if (!a) throw TypeError("Cannot convert undefined or null to object"); for (var g = function(x) { x && Object.keys(x).forEach(function(E) { return a[E] = x[E]; }); }, h = 0, m = r; h < m.length; h++) { var w = m[h]; g(w); } return a; }); var k = function() { return k = Object.assign || function(a) { for (var r, e = 1, g = arguments.length; e < g; e++) { r = arguments[e]; for (var h in r) Object.prototype.hasOwnProperty.call(r, h) && (a[h] = r[h]); } return a; }, k.apply(this, arguments); }, Ue = function() { for (var a = 0, r = 0, e = arguments.length; r < e; r++) a += arguments[r].length; for (var g = Array(a), h = 0, r = 0; r < e; r++) for (var m = arguments[r], w = 0, x = m.length; w < x; w++, h++) g[h] = m[w]; return g; }, Fn = 300; function On(a, r) { var e = { config: k(k({}, Z), y.defaultConfig), l10n: ie }; e.parseDate = Fe({ config: e.config, l10n: e.l10n }), e._handlers = [], e.pluginElements = [], e.loadedPlugins = [], e._bind = D, e._setHoursFromDate = P, e._positionCalendar = ce, e.changeMonth = be, e.changeYear = le, e.clear = Xe, e.close = en, e.onMouseOver = ue, e._createElement = v, e.createDay = B, e.destroy = nn, e.isEnabled = K, e.jumpToDate = j, e.updateValue = L, e.open = rn, e.redraw = je, e.set = un, e.setDate = cn, e.toggle = mn; function g() { e.utils = { getDaysInMonth: function(n, t) { return n === void 0 && (n = e.currentMonth), t === void 0 && (t = e.currentYear), n === 1 && (t % 4 === 0 && t % 100 !== 0 || t % 400 === 0) ? 29 : e.l10n.daysInMonth[n]; } }; } function h() { e.element = e.input = a, e.isOpen = !1, on(), Le(), dn(), sn(), g(), e.isMobile || ve(), he(), (e.selectedDates.length || e.config.noCalendar) && (e.config.enableTime && P(e.config.noCalendar ? e.latestSelectedDateObj : void 0), L(!1)), x(); var n = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); !e.isMobile && n && ce(), M("onReady"); } function m() { var n; return ((n = e.calendarContainer) === null || n === void 0 ? void 0 : n.getRootNode()).activeElement || document.activeElement; } function w(n) { return n.bind(e); } function x() { var n = e.config; n.weekNumbers === !1 && n.showMonths === 1 || n.noCalendar !== !0 && window.requestAnimationFrame(function() { if (e.calendarContainer !== void 0 && (e.calendarContainer.style.visibility = "hidden", e.calendarContainer.style.display = "block"), e.daysContainer !== void 0) { var t = (e.days.offsetWidth + 1) * n.showMonths; e.daysContainer.style.width = t + "px", e.calendarContainer.style.width = t + (e.weekWrapper !== void 0 ? e.weekWrapper.offsetWidth : 0) + "px", e.calendarContainer.style.removeProperty("visibility"), e.calendarContainer.style.removeProperty("display"); } }); } function E(n) { if (e.selectedDates.length === 0) { var t = e.config.minDate === void 0 || O(/* @__PURE__ */ new Date(), e.config.minDate) >= 0 ? /* @__PURE__ */ new Date() : new Date(e.config.minDate.getTime()), i = Se(e.config); t.setHours(i.hours, i.minutes, i.seconds, t.getMilliseconds()), e.selectedDates = [t], e.latestSelectedDateObj = t; } n !== void 0 && n.type !== "blur" && vn(n); var o = e._input.value; N(), L(), e._input.value !== o && e._debouncedChange(); } function X(n, t) { return n % 12 + 12 * A(t === e.l10n.amPM[1]); } function C(n) { switch (n % 24) { case 0: case 12: return 12; default: return n % 12; } } function N() { if (!(e.hourElement === void 0 || e.minuteElement === void 0)) { var n = (parseInt(e.hourElement.value.slice(-2), 10) || 0) % 24, t = (parseInt(e.minuteElement.value, 10) || 0) % 60, i = e.secondElement !== void 0 ? (parseInt(e.secondElement.value, 10) || 0) % 60 : 0; e.amPM !== void 0 && (n = X(n, e.amPM.textContent)); var o = e.config.minTime !== void 0 || e.config.minDate && e.minDateHasTime && e.latestSelectedDateObj && O(e.latestSelectedDateObj, e.config.minDate, !0) === 0, l = e.config.maxTime !== void 0 || e.config.maxDate && e.maxDateHasTime && e.latestSelectedDateObj && O(e.latestSelectedDateObj, e.config.maxDate, !0) === 0; if (e.config.maxTime !== void 0 && e.config.minTime !== void 0 && e.config.minTime > e.config.maxTime) { var f = _e(e.config.minTime.getHours(), e.config.minTime.getMinutes(), e.config.minTime.getSeconds()), d = _e(e.config.maxTime.getHours(), e.config.maxTime.getMinutes(), e.config.maxTime.getSeconds()), c = _e(n, t, i); if (c > d && c < f) { var p = _n(f); n = p[0], t = p[1], i = p[2]; } } else { if (l) { var u = e.config.maxTime !== void 0 ? e.config.maxTime : e.config.maxDate; n = Math.min(n, u.getHours()), n === u.getHours() && (t = Math.min(t, u.getMinutes())), t === u.getMinutes() && (i = Math.min(i, u.getSeconds())); } if (o) { var s = e.config.minTime !== void 0 ? e.config.minTime : e.config.minDate; n = Math.max(n, s.getHours()), n === s.getHours() && t < s.getMinutes() && (t = s.getMinutes()), t === s.getMinutes() && (i = Math.max(i, s.getSeconds())); } } H(n, t, i); } } function P(n) { var t = n || e.latestSelectedDateObj; t && t instanceof Date && H(t.getHours(), t.getMinutes(), t.getSeconds()); } function H(n, t, i) { e.latestSelectedDateObj !== void 0 && e.latestSelectedDateObj.setHours(n % 24, t, i || 0, 0), !(!e.hourElement || !e.minuteElement || e.isMobile) && (e.hourElement.value = I(e.config.time_24hr ? n : (12 + n) % 12 + 12 * A(n % 12 === 0)), e.minuteElement.value = I(t), e.amPM !== void 0 && (e.amPM.textContent = e.l10n.amPM[A(n >= 12)]), e.secondElement !== void 0 && (e.secondElement.value = I(i))); } function re(n) { var t = F(n), i = parseInt(t.value) + (n.delta || 0); (i / 1e3 > 1 || n.key === "Enter" && !/[^\d]/.test(i.toString())) && le(i); } function D(n, t, i, o) { if (t instanceof Array) return t.forEach(function(l) { return D(n, l, i, o); }); if (n instanceof Array) return n.forEach(function(l) { return D(l, t, i, o); }); n.addEventListener(t, i, o), e._handlers.push({ remove: function() { return n.removeEventListener(t, i, o); } }); } function R() { M("onChange"); } function he() { if (e.config.wrap && ["open", "close", "toggle", "clear"].forEach(function(i) { Array.prototype.forEach.call(e.element.querySelectorAll("[data-" + i + "]"), function(o) { return D(o, "click", e[i]); }); }), e.isMobile) { gn(); return; } var n = Je(an, 50); if (e._debouncedChange = Je(R, Fn), e.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent) && D(e.daysContainer, "mouseover", function(i) { e.config.mode === "range" && ue(F(i)); }), D(e._input, "keydown", Pe), e.calendarContainer !== void 0 && D(e.calendarContainer, "keydown", Pe), !e.config.inline && !e.config.static && D(window, "resize", n), window.ontouchstart !== void 0 ? D(window.document, "touchstart", Me) : D(window.document, "mousedown", Me), D(window.document, "focus", Me, { capture: !0 }), e.config.clickOpens === !0 && (D(e._input, "focus", e.open), D(e._input, "click", e.open)), e.daysContainer !== void 0 && (D(e.monthNav, "click", hn), D(e.monthNav, ["keyup", "increment"], re), D(e.daysContainer, "click", Re)), e.timeContainer !== void 0 && e.minuteElement !== void 0 && e.hourElement !== void 0) { var t = function(i) { return F(i).select(); }; D(e.timeContainer, ["increment"], E), D(e.timeContainer, "blur", E, { capture: !0 }), D(e.timeContainer, "click", W), D([e.hourElement, e.minuteElement], ["focus", "click"], t), e.secondElement !== void 0 && D(e.secondElement, "focus", function() { return e.secondElement && e.secondElement.select(); }), e.amPM !== void 0 && D(e.amPM, "click", function(i) { E(i); }); } e.config.allowInput && D(e._input, "blur", tn); } function j(n, t) { var i = n !== void 0 ? e.parseDate(n) : e.latestSelectedDateObj || (e.config.minDate && e.config.minDate > e.now ? e.config.minDate : e.config.maxDate && e.config.maxDate < e.now ? e.config.maxDate : e.now), o = e.currentYear, l = e.currentMonth; try { i !== void 0 && (e.currentYear = i.getFullYear(), e.currentMonth = i.getMonth()); } catch (f) { f.message = "Invalid date supplied: " + i, e.config.errorHandler(f); } t && e.currentYear !== o && (M("onYearChange"), z()), t && (e.currentYear !== o || e.currentMonth !== l) && M("onMonthChange"), e.redraw(); } function W(n) { var t = F(n); ~t.className.indexOf("arrow") && U(n, t.classList.contains("arrowUp") ? 1 : -1); } function U(n, t, i) { var o = n && F(n), l = i || o && o.parentNode && o.parentNode.firstChild, f = Ce("increment"); f.delta = t, l && l.dispatchEvent(f); } function ve() { var n = window.document.createDocumentFragment(); if (e.calendarContainer = v("div", "flatpickr-calendar"), e.calendarContainer.tabIndex = -1, !e.config.noCalendar) { if (n.appendChild(Ge()), e.innerContainer = v("div", "flatpickr-innerContainer"), e.config.weekNumbers) { var t = Qe(), i = t.weekWrapper, o = t.weekNumbers; e.innerContainer.appendChild(i), e.weekNumbers = o, e.weekWrapper = i; } e.rContainer = v("div", "flatpickr-rContainer"), e.rContainer.appendChild(Ae()), e.daysContainer || (e.daysContainer = v("div", "flatpickr-days"), e.daysContainer.tabIndex = -1), oe(), e.rContainer.appendChild(e.daysContainer), e.innerContainer.appendChild(e.rContainer), n.appendChild(e.innerContainer); } e.config.enableTime && n.appendChild(Ze()), T(e.calendarContainer, "rangeMode", e.config.mode === "range"), T(e.calendarContainer, "animate", e.config.animate === !0), T(e.calendarContainer, "multiMonth", e.config.showMonths > 1), e.calendarContainer.appendChild(n); var l = e.config.appendTo !== void 0 && e.config.appendTo.nodeType !== void 0; if ((e.config.inline || e.config.static) && (e.calendarContainer.classList.add(e.config.inline ? "inline" : "static"), e.config.inline && (!l && e.element.parentNode ? e.element.parentNode.insertBefore(e.calendarContainer, e._input.nextSibling) : e.config.appendTo !== void 0 && e.config.appendTo.appendChild(e.calendarContainer)), e.config.static)) { var f = v("div", "flatpickr-wrapper"); e.element.parentNode && e.element.parentNode.insertBefore(f, e.element), f.appendChild(e.element), e.altInput && f.appendChild(e.altInput), f.appendChild(e.calendarContainer); } !e.config.static && !e.config.inline && (e.config.appendTo !== void 0 ? e.config.appendTo : window.document.body).appendChild(e.calendarContainer); } function B(n, t, i, o) { var l = K(t, !0), f = v("span", n, t.getDate().toString()); return f.dateObj = t, f.$i = o, f.setAttribute("aria-label", e.formatDate(t, e.config.ariaDateFormat)), n.indexOf("hidden") === -1 && O(t, e.now) === 0 && (e.todayDateElem = f, f.classList.add("today"), f.setAttribute("aria-current", "date")), l ? (f.tabIndex = -1, ye(t) && (f.classList.add("selected"), e.selectedDateElem = f, e.config.mode === "range" && (T(f, "startRange", e.selectedDates[0] && O(t, e.selectedDates[0], !0) === 0), T(f, "endRange", e.selectedDates[1] && O(t, e.selectedDates[1], !0) === 0), n === "nextMonthDay" && f.classList.add("inRange")))) : f.classList.add("flatpickr-disabled"), e.config.mode === "range" && pn(t) && !ye(t) && f.classList.add("inRange"), e.weekNumbers && e.config.showMonths === 1 && n !== "prevMonthDay" && o % 7 === 6 && e.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + e.config.getWeek(t) + "</span>"), M("onDayCreate", f), f; } function V(n) { n.focus(), e.config.mode === "range" && ue(n); } function q(n) { for (var t = n > 0 ? 0 : e.config.showMonths - 1, i = n > 0 ? e.config.showMonths : -1, o = t; o != i; o += n) for (var l = e.daysContainer.children[o], f = n > 0 ? 0 : l.children.length - 1, d = n > 0 ? l.children.length : -1, c = f; c != d; c += n) { var p = l.children[c]; if (p.className.indexOf("hidden") === -1 && K(p.dateObj)) return p; } } function De(n, t) { for (var i = n.className.indexOf("Month") === -1 ? n.dateObj.getMonth() : e.currentMonth, o = t > 0 ? e.config.showMonths : -1, l = t > 0 ? 1 : -1, f = i - e.currentMonth; f != o; f += l) for (var d = e.daysContainer.children[f], c = i - e.currentMonth === f ? n.$i + t : t < 0 ? d.children.length - 1 : 0, p = d.children.length, u = c; u >= 0 && u < p && u != (t > 0 ? p : -1); u += l) { var s = d.children[u]; if (s.className.indexOf("hidden") === -1 && K(s.dateObj) && Math.abs(n.$i - u) >= Math.abs(t)) return V(s); } e.changeMonth(l), ee(q(l), 0); } function ee(n, t) { var i = m(), o = fe(i || document.body), l = n !== void 0 ? n : o ? i : e.selectedDateElem !== void 0 && fe(e.selectedDateElem) ? e.selectedDateElem : e.todayDateElem !== void 0 && fe(e.todayDateElem) ? e.todayDateElem : q(t > 0 ? 1 : -1); l === void 0 ? e._input.focus() : o ? De(l, t) : V(l); } function $e(n, t) { for (var i = (new Date(n, t, 1).getDay() - e.l10n.firstDayOfWeek + 7) % 7, o = e.utils.getDaysInMonth((t - 1 + 12) % 12, n), l = e.utils.getDaysInMonth(t, n), f = window.document.createDocumentFragment(), d = e.config.showMonths > 1, c = d ? "prevMonthDay hidden" : "prevMonthDay", p = d ? "nextMonthDay hidden" : "nextMonthDay", u = o + 1 - i, s = 0; u <= o; u++, s++) f.appendChild(B("flatpickr-day " + c, new Date(n, t - 1, u), u, s)); for (u = 1; u <= l; u++, s++) f.appendChild(B("flatpickr-day", new Date(n, t, u), u, s)); for (var b = l + 1; b <= 42 - i && (e.config.showMonths === 1 || s % 7 !== 0); b++, s++) f.appendChild(B("flatpickr-day " + p, new Date(n, t + 1, b % l), b, s)); var Y = v("div", "dayContainer"); return Y.appendChild(f), Y; } function oe() { if (e.daysContainer !== void 0) { ge(e.daysContainer), e.weekNumbers && ge(e.weekNumbers); for (var n = document.createDocumentFragment(), t = 0; t < e.config.showMonths; t++) { var i = new Date(e.currentYear, e.currentMonth, 1); i.setMonth(e.currentMonth + t), n.appendChild($e(i.getFullYear(), i.getMonth())); } e.daysContainer.appendChild(n), e.days = e.daysContainer.firstChild, e.config.mode === "range" && e.selectedDates.length === 1 && ue(); } } function z() { if (!(e.config.showMonths > 1 || e.config.monthSelectorType !== "dropdown")) { var n = function(o) { return e.config.minDate !== void 0 && e.currentYear === e.config.minDate.getFullYear() && o < e.config.minDate.getMonth() ? !1 : !(e.config.maxDate !== void 0 && e.currentYear === e.config.maxDate.getFullYear() && o > e.config.maxDate.getMonth()); }; e.monthsDropdownContainer.tabIndex = -1, e.monthsDropdownContainer.innerHTML = ""; for (var t = 0; t < 12; t++) if (n(t)) { var i = v("option", "flatpickr-monthDropdown-month"); i.value = new Date(e.currentYear, t).getMonth().toString(), i.textContent = pe(t, e.config.shorthandCurrentMonth, e.l10n), i.tabIndex = -1, e.currentMonth === t && (i.selected = !0), e.monthsDropdownContainer.appendChild(i); } } } function ze() { var n = v("div", "flatpickr-month"), t = window.document.createDocumentFragment(), i; e.config.showMonths > 1 || e.config.monthSelectorType === "static" ? i = v("span", "cur-month") : (e.monthsDropdownContainer = v("select", "flatpickr-monthDropdown-months"), e.monthsDropdownContainer.setAttribute("aria-label", e.l10n.monthAriaLabel), D(e.monthsDropdownContainer, "change", function(d) { var c = F(d), p = parseInt(c.value, 10); e.changeMonth(p - e.currentMonth), M("onMonthChange"); }), z(), i = e.monthsDropdownContainer); var o = me("cur-year", { tabindex: "-1" }), l = o.getElementsByTagName("input")[0]; l.setAttribute("aria-label", e.l10n.yearAriaLabel), e.config.minDate && l.setAttribute("min", e.config.minDate.getFullYear().toString()), e.config.maxDate && (l.setAttribute("max", e.config.maxDate.getFullYear().toString()), l.disabled = !!e.config.minDate && e.config.minDate.getFullYear() === e.config.maxDate.getFullYear()); var f = v("div", "flatpickr-current-month"); return f.appendChild(i), f.appendChild(o), t.appendChild(f), n.appendChild(t), { container: n, yearElement: l, monthElement: i }; } function Oe() { ge(e.monthNav), e.monthNav.appendChild(e.prevMonthNav), e.config.showMonths && (e.yearElements = [], e.monthElements = []); for (var n = e.config.showMonths; n--; ) { var t = ze(); e.yearElements.push(t.yearElement), e.monthElements.push(t.monthElement), e.monthNav.appendChild(t.container); } e.monthNav.appendChild(e.nextMonthNav); } function Ge() { return e.monthNav = v("div", "flatpickr-months"), e.yearElements = [], e.monthElements = [], e.prevMonthNav = v("span", "flatpickr-prev-month"), e.prevMonthNav.innerHTML = e.config.prevArrow, e.nextMonthNav = v("span", "flatpickr-next-month"), e.nextMonthNav.innerHTML = e.config.nextArrow, Oe(), Object.defineProperty(e, "_hidePrevMonthArrow", { get: function() { return e.__hidePrevMonthArrow; }, set: function(n) { e.__hidePrevMonthArrow !== n && (T(e.prevMonthNav, "flatpickr-disabled", n), e.__hidePrevMonthArrow = n); } }), Object.defineProperty(e, "_hideNextMonthArrow", { get: function() { return e.__hideNextMonthArrow; }, set: function(n) { e.__hideNextMonthArrow !== n && (T(e.nextMonthNav, "flatpickr-disabled", n), e.__hideNextMonthArrow = n); } }), e.currentYearElement = e.yearElements[0], de(), e.monthNav; } function Ze() { e.calendarContainer.classList.add("hasTime"), e.config.noCalendar && e.calendarContainer.classList.add("noCalendar"); var n = Se(e.config); e.timeContainer = v("div", "flatpickr-time"), e.timeContainer.tabIndex = -1; var t = v("span", "flatpickr-time-separator", ":"), i = me("flatpickr-hour", { "aria-label": e.l10n.hourAriaLabel }); e.hourElement = i.getElementsByTagName("input")[0]; var o = me("flatpickr-minute", { "aria-label": e.l10n.minuteAriaLabel }); if (e.minuteElement = o.getElementsByTagName("input")[0], e.hourElement.tabIndex = e.minuteElement.tabIndex = -1, e.hourElement.value = I(e.latestSelectedDateObj ? e.latestSelectedDateObj.getHours() : e.config.time_24hr ? n.hours : C(n.hours)), e.minuteElement.value = I(e.latestSelectedDateObj ? e.latestSelectedDateObj.getMinutes() : n.minutes), e.hourElement.setAttribute("step", e.config.hourIncrement.toString()), e.minuteElement.setAttribute("step", e.config.minuteIncrement.toString()), e.hourElement.setAttribute("min", e.config.time_24hr ? "0" : "1"), e.hourElement.setAttribute("max", e.config.time_24hr ? "23" : "12"), e.hourElement.setAttribute("maxlength", "2"), e.minuteElement.setAttribute("min", "0"), e.minuteElement.setAttribute("max", "59"), e.minuteElement.setAttribute("maxlength", "2"), e.timeContainer.appendChild(i), e.timeContainer.appendChild(t), e.timeContainer.appendChild(o), e.config.time_24hr && e.timeContainer.classList.add("time24hr"), e.config.enableSeconds) { e.timeContainer.classList.add("hasSeconds"); var l = me("flatpickr-second"); e.secondElement = l.getElementsByTagName("input")[0], e.secondElement.value = I(e.latestSelectedDateObj ? e.latestSelectedDateObj.getSeconds() : n.seconds), e.secondElement.setAttribute("step", e.minuteElement.getAttribute("step")), e.secondElement.setAttribute("min", "0"), e.secondElement.setAttribute("max", "59"), e.secondElement.setAttribute("maxlength", "2"), e.timeContainer.appendChild(v("span", "flatpickr-time-separator", ":")), e.timeContainer.appendChild(l); } return e.config.time_24hr || (e.amPM = v("span", "flatpickr-am-pm", e.l10n.amPM[A((e.latestSelectedDateObj ? e.hourElement.value : e.config.defaultHour) > 11)]), e.amPM.title = e.l10n.toggleTitle, e.amPM.tabIndex = -1, e.timeContainer.appendChild(e.amPM)), e.timeContainer; } function Ae() { e.weekdayContainer ? ge(e.weekdayContainer) : e.weekdayContainer = v("div", "flatpickr-weekdays"); for (var n = e.config.showMonths; n--; ) { var t = v("div", "flatpickr-weekdaycontainer"); e.weekdayContainer.appendChild(t); } return Ne(), e.weekdayContainer; } function Ne() { if (e.weekdayContainer) { var n = e.l10n.firstDayOfWeek, t = Ue(e.l10n.weekdays.shorthand); n > 0 && n < t.length && (t = Ue(t.splice(n, t.length), t.splice(0, n))); for (var i = e.config.showMonths; i--; ) e.weekdayContainer.children[i].innerHTML = ` <span class='flatpickr-weekday'> ` + t.join("</span><span class='flatpickr-weekday'>") + ` </span> `; } } function Qe() { e.calendarContainer.classList.add("hasWeeks"); var n = v("div", "flatpickr-weekwrapper"); n.appendChild(v("span", "flatpickr-weekday", e.l10n.weekAbbreviation)); var t = v("div", "flatpickr-weeks"); return n.appendChild(t), { weekWrapper: n, weekNumbers: t }; } function be(n, t) { t === void 0 && (t = !0); var i = t ? n : n - e.currentMonth; i < 0 && e._hidePrevMonthArrow === !0 || i > 0 && e._hideNextMonthArrow === !0 || (e.currentMonth += i, (e.currentMonth < 0 || e.currentMonth > 11) && (e.currentYear += e.currentMonth > 11 ? 1 : -1, e.currentMonth = (e.currentMonth + 12) % 12, M("onYearChange"), z()), oe(), M("onMonthChange"), de()); } function Xe(n, t) { if (n === void 0 && (n = !0), t === void 0 && (t = !0), e.input.value = "", e.altInput !== void 0 && (e.altInput.value = ""), e.mobileInput !== void 0 && (e.mobileInput.value = ""), e.selectedDates = [], e.latestSelectedDateObj = void 0, t === !0 && (e.currentYear = e._initialDate.getFullYear(), e.currentMonth = e._initialDate.getMonth()), e.config.enableTime === !0) { var i = Se(e.config), o = i.hours, l = i.minutes, f = i.seconds; H(o, l, f); } e.redraw(), n && M("onChange"); } function en() { e.isOpen = !1, e.isMobile || (e.calendarContainer !== void 0 && e.calendarContainer.classList.remove("open"), e._input !== void 0 && e._input.classList.remove("active")), M("onClose"); } function nn() { e.config !== void 0 && M("onDestroy"); for (var n = e._handlers.length; n--; ) e._handlers[n].remove(); if (e._handlers = [], e.mobileInput) e.mobileInput.parentNode && e.mobileInput.parentNode.removeChild(e.mobileInput), e.mobileInput = void 0; else if (e.calendarContainer && e.calendarContainer.parentNode) if (e.config.static && e.calendarContainer.parentNode) { var t = e.calendarContainer.parentNode; if (t.lastChild && t.removeChild(t.lastChild), t.parentNode) { for (; t.firstChild; ) t.parentNode.insertBefore(t.firstChild, t); t.parentNode.removeChild(t); } } else e.calendarContainer.parentNode.removeChild(e.calendarContainer); e.altInput && (e.input.type = "text", e.altInput.parentNode && e.altInput.parentNode.removeChild(e.altInput), delete e.altInput), e.input && (e.input.type = e.input._type, e.input.classList.remove("flatpickr-input"), e.input.removeAttribute("readonly")), [ "_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(i) { try { delete e[i]; } catch { } }); } function ne(n) { return e.calendarContainer.contains(n); } function Me(n) { if (e.isOpen && !e.config.inline) { var t = F(n), i = ne(t), o = t === e.input || t === e.altInput || e.element.contains(t) || n.path && n.path.indexOf && (~n.path.indexOf(e.input) || ~n.path.indexOf(e.altInput)), l = !o && !i && !ne(n.relatedTarget), f = !e.config.ignoredFocusElements.some(function(d) { return d.contains(t); }); l && f && (e.config.allowInput && e.setDate(e._input.value, !1, e.config.altInput ? e.config.altFormat : e.config.dateFormat), e.timeContainer !== void 0 && e.minuteElement !== void 0 && e.hourElement !== void 0 && e.input.value !== "" && e.input.value !== void 0 && E(), e.close(), e.config && e.config.mode === "range" && e.selectedDates.length === 1 && e.clear(!1)); } } function le(n) { if (!(!n || e.config.minDate && n < e.config.minDate.getFullYear() || e.config.maxDate && n > e.config.maxDate.getFullYear())) { var t = n, i = e.currentYear !== t; e.currentYear = t || e.currentYear, e.config.maxDate && e.currentYear === e.config.maxDate.getFullYear() ? e.currentMonth = Math.min(e.config.maxDate.getMonth(), e.currentMonth) : e.config.minDate && e.currentYear === e.config.minDate.getFullYear() && (e.currentMonth = Math.max(e.config.minDate.getMonth(), e.currentMonth)), i && (e.redraw(), M("onYearChange"), z()); } } function K(n, t) { var i; t === void 0 && (t = !0); var o = e.parseDate(n, void 0, t); if (e.config.minDate && o && O(o, e.config.minDate, t !== void 0 ? t : !e.minDateHasTime) < 0 || e.config.maxDate && o && O(o, e.config.maxDate, t !== void 0 ? t : !e.maxDateHasTime) > 0) return !1; if (!e.config.enable && e.config.disable.length === 0) return !0; if (o === void 0) return !1; for (var l = !!e.config.enable, f = (i = e.config.enable) !== null && i !== void 0 ? i : e.config.disable, d = 0, c = void 0; d < f.length; d++) { if (c = f[d], typeof c == "function" && c(o)) return l; if (c instanceof Date && o !== void 0 && c.getTime() === o.getTime()) return l; if (typeof c == "string") { var p = e.parseDate(c, void 0, !0); return p && p.getTime() === o.getTime() ? l : !l; } else if (typeof c == "object" && o !== void 0 && c.from && c.to && o.getTime() >= c.from.getTime() && o.getTime() <= c.to.getTime()) return l; } return !l; } function fe(n) { return e.daysContainer !== void 0 ? n.className.indexOf("hidden") === -1 && n.className.indexOf("flatpickr-disabled") === -1 && e.daysContainer.contains(n) : !1; } function tn(n) { var t = n.target === e._input, i = e._input.value.trimEnd() !== xe(); t && i && !(n.relatedTarget && ne(n.relatedTarget)) && e.setDate(e._input.value, !0, n.target === e.altInput ? e.config.altFormat : e.config.dateFormat); } function Pe(n) { var t = F(n), i = e.config.wrap ? a.contains(t) : t === e._input, o = e.config.allowInput, l = e.isOpen && (!o || !i), f = e.config.inline && i && !o; if (n.keyCode === 13 && i) { if (o) return e.setDate(e._input.value, !0, t === e.altInput ? e.config.altFormat : e.config.dateFormat), e.close(), t.blur(); e.open(); } else if (ne(t) || l || f) { var d = !!e.timeContainer && e.timeContainer.contains(t); switch (n.keyCode) { case 13: d ? (n.preventDefault(), E(), we()) : Re(n); break; case 27: n.preventDefault(), we(); break; case 8: case 46: i && !e.config.allowInput && (n.preventDefault(), e.clear()); break; case 37: case 39: if (!d && !i) { n.preventDefault(); var c = m(); if (e.daysContainer !== void 0 && (o === !1 || c && fe(c))) { var p = n.keyCode === 39 ? 1 : -1; n.ctrlKey ? (n.stopPropagation(), be(p), ee(q(1), 0)) : ee(void 0, p); } } else e.hourElement && e.hourElement.focus(); break; case 38: case 40: n.preventDefault(); var u = n.keyCode === 40 ? 1 : -1; e.daysContainer && t.$i !== void 0 || t === e.input || t === e.altInput ? n.ctrlKey ? (n.stopPropagation(), le(e.currentYear - u), ee(q(1), 0)) : d || ee(void 0, u * 7) : t === e.currentYearElement ? le(e.currentYear - u) : e.config.enableTime && (!d && e.hourElement && e.hourElement.focus(), E(n), e._debouncedChange()); break; case 9: if (d) { var s = [ e.hourElement, e.minuteElement, e.secondElement, e.amPM ].concat(e.pluginElements).filter(function(S) { return S; }), b = s.indexOf(t); if (b !== -1) { var Y = s[b + (n.shiftKey ? -1 : 1)]; n.preventDefault(), (Y || e._input).focus(); } } else !e.config.noCalendar && e.daysContainer && e.daysContainer.contains(t) && n.shiftKey && (n.preventDefault(), e._input.focus()); break; } } if (e.amPM !== void 0 && t === e.amPM) switch (n.key) { case e.l10n.amPM[0].charAt(0): case e.l10n.amPM[0].charAt(0).toLowerCase(): e.amPM.textContent = e.l10n.amPM[0], N(), L(); break; case e.l10n.amPM[1].charAt(0): case e.l10n.amPM[1].charAt(0).toLowerCase(): e.amPM.textContent = e.l10n.amPM[1], N(), L(); break; } (i || ne(t)) && M("onKeyDown", n); } function ue(n, t) { if (t === void 0 && (t = "flatpickr-day"), !(e.selectedDates.length !== 1 || n && (!n.classList.contains(t) || n.classList.contains("flatpickr-disabled")))) { for (var i = n ? n.dateObj.getTime() : e.days.firstElementChild.dateObj.getTime(), o = e.parseDate(e.selectedDates[0], void 0, !0).getTime(), l = Math.min(i, e.selectedDates[0].getTime()), f = Math.max(i, e.selectedDates[0].getTime()), d = !1, c = 0, p = 0, u = l; u < f; u += Sn.DAY) K(new Date(u), !0) || (d = d || u > l && u < f, u < o && (!c || u > c) ? c = u : u > o && (!p || u < p) && (p = u)); var s = Array.from(e.rContainer.querySelectorAll("*:nth-child(-n+" + e.config.showMonths + ") > ." + t)); s.forEach(function(b) { var Y = b.dateObj, S = Y.getTime(), te = c > 0 && S < c || p > 0 && S > p; if (te) { b.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach(function(G) { b.classList.remove(G); }); return; } else if (d && !te) return; ["startRange", "inRange", "endRange", "notAllowed"].forEach(function(G) { b.classList.remove(G); }), n !== void 0 && (n.classList.add(i <= e.selectedDates[0].getTime() ? "startRange" : "endRange"), o < i && S === o ? b.classList.add("startRange") : o > i && S === o && b.classList.add("endRange"), S >= c && (p === 0 || S <= p) && In(S, o, i) && b.classList.add("inRange")); }); } } function an() { e.isOpen && !e.config.static && !e.config.inline && ce(); } function rn(n, t) { if (t === void 0 && (t = e._positionElement), e.isMobile === !0) { if (n) { n.preventDefault(); var i = F(n); i && i.blur(); } e.mobileInput !== void 0 && (e.mobileInput.focus(), e.mobileInput.click()), M("onOpen"); return; } else if (e._input.disabled || e.config.inline) return; var o = e.isOpen; e.isOpen = !0, o || (e.calendarContainer.classList.add("open"), e._input.classList.add("active"), M("onOpen"), ce(t)), e.config.enableTime === !0 && e.config.noCalendar === !0 && e.config.allowInput === !1 && (n === void 0 || !e.timeContainer.contains(n.relatedTarget)) && setTimeout(function() { return e.hourElement.select(); }, 50); } function Ye(n) { return function(t) { var i = e.config["_" + n + "Date"] = e.parseDate(t, e.config.dateFormat), o = e.config["_" + (n === "min" ? "max" : "min") + "Date"]; i !== void 0 && (e[n === "min" ? "minDateHasTime" : "maxDateHasTime"] = i.getHours() > 0 || i.getMinutes() > 0 || i.getSeconds() > 0), e.selectedDates && (e.selectedDates = e.selectedDates.filter(function(l) { return K(l); }), !e.selectedDates.length && n === "min" && P(i), L()), e.daysContainer && (je(), i !== void 0 ? e.currentYearElement[n] = i.getFullYear().toString() : e.currentYearElement.removeAttribute(n), e.currentYearElement.disabled = !!o && i !== void 0 && o.getFullYear() === i.getFullYear()); }; } function on() { var n = [ "wrap", "weekNumbers", "allowInput", "allowInvalidPreload", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile" ], t = k(k({}, JSON.parse(JSON.stringify(a.dataset || {}))), r), i = {}; e.config.parseDate = t.parseDate, e.config.formatDate = t.formatDate, Object.defineProperty(e.config, "enable", { get: function() { return e.config._enable; }, set: function(s) { e.config._enable = Be(s); } }), Object.defineProperty(e.config, "disable", { get: function() { return e.config._disable; }, set: function(s) { e.config._disable = Be(s); } }); var o = t.mode === "time"; if (!t.dateFormat && (t.enableTime || o)) { var l = y.defaultConfig.dateFormat || Z.dateFormat; i.dateFormat = t.noCalendar || o ? "H:i" + (t.enableSeconds ? ":S" : "") : l + " H:i" + (t.enableSeconds ? ":S" : ""); } if (t.altInput && (t.enableTime || o) && !t.altFormat) { var f = y.defaultConfig.altFormat || Z.altFormat; i.altFormat = t.noCalendar || o ? "h:i" + (t.enableSeconds ? ":S K" : " K") : f + (" h:i" + (t.enableSeconds ? ":S" : "") + " K"); } Object.defineProperty(e.config, "minDate", { get: function() { return e.config._minDate; }, set: Ye("min") }), Object.defineProperty(e.config, "maxDate", { get: function() { return e.config._maxDate; }, set: Ye("max") }); var d = function(s) { return function(b) { e.config[s === "min" ? "_minTime" : "_maxTime"] = e.parseDate(b, "H:i:S"); }; }; Object.defineProperty(e.config, "minTime", { get: function() { return e.config._minTime; }, set: d("min") }), Object.defineProperty(e.config, "maxTime", { get: function() { return e.config._maxTime; }, set: d("max") }), t.mode === "time" && (e.config.noCalendar = !0, e.config.enableTime = !0), Object.assign(e.config, i, t); for (var c = 0; c < n.length; c++) e.config[n[c]] = e.config[n[c]] === !0 || e.config[n[c]] === "true"; ke.filter(function(s) { return e.config[s] !== void 0; }).forEach(function(s) { e.config[s] = Te(e.config[s] || []).map(w); }), e.isMobile = !e.config.disableMobile && !e.config.inline && e.config.mode === "single" && !e.config.disable.length && !e.config.enable && !e.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); for (var c = 0; c < e.config.plugins.length; c++) { var p = e.config.plugins[c](e) || {}; for (var u in p) ke.indexOf(u) > -1 ? e.config[u] = Te(p[u]).map(w).concat(e.config[u]) : typeof t[u] > "u" && (e.config[u] = p[u]); } t.altInputClass || (e.config.altInputClass = He().className + " " + e.config.altInputClass), M("onParseConfig"); } function He() { return e.config.wrap ? a.querySelector("[data-input]") : a; } function Le() { typeof e.config.locale != "object" && typeof y.l10ns[e.config.locale] > "u" && e.config.errorHandler(new Error("flatpickr: invalid locale " + e.config.locale)), e.l10n = k(k({}, y.l10ns.default), typeof e.config.locale == "object" ? e.config.locale : e.config.locale !== "default" ? y.l10ns[e.config.locale] : void 0), J.D = "(" + e.l10n.weekdays.shorthand.join("|") + ")", J.l = "(" + e.l10n.weekdays.longhand.join("|") + ")", J.M = "(" + e.l10n.months.shorthand.join("|") + ")", J.F = "(" + e.l10n.months.longhand.join("|") + ")", J.K = "(" + e.l10n.amPM[0] + "|" + e.l10n.amPM[1] + "|" + e.l10n.amPM[0].toLowerCase() + "|" + e.l10n.amPM[1].toLowerCase() + ")"; var n = k(k({}, r), JSON.parse(JSON.stringify(a.dataset || {}))); n.time_24hr === void 0 && y.defaultConfig.time_24hr === void 0 && (e.config.time_24hr = e.l10n.time_24hr), e.formatDate = qe(e), e.parseDate = Fe({ config: e.config, l10n: e.l10n }); } function ce(n) { if (typeof e.config.position == "function") return void e.config.position(e, n); if (e.calendarContainer !== void 0) { M("onPreCalendarPosition"); var t = n || e._positionElement, i = Array.prototype.reduce.call(e.calendarContainer.children, function(En, kn) { return En + kn.offsetHeight; }, 0), o = e.calendarContainer.offsetWidth, l = e.config.position.split(" "), f = l[0], d = l.length > 1 ? l[1] : null, c = t.getBoundingClientRect(), p = window.innerHeight - c.bottom, u = f === "above" || f !== "below" && p < i && c.top > i, s = window.pageYOffset + c.top + (u ? -i - 2 : t.offsetHeight + 2); if (T(e.calendarContainer, "arrowTop", !u), T(e.calendarContainer, "arrowBottom", u), !e.config.inline) { var b = window.pageXOffset + c.left, Y = !1, S = !1; d === "center" ? (b -= (o - c.width) / 2, Y = !0) : d === "right" && (b -= o - c.width, S = !0), T(e.calendarContainer, "arrowLeft", !Y && !S), T(e.calendarContainer, "arrowCenter", Y), T(e.calendarContainer, "arrowRight", S); var te = window.document.body.offsetWi