@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
JavaScript
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