@phillips/seldon 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,947 @@
1
+ import { defaults as ue, HOOKS as me } from "./types/options.js";
2
+ import { english as ve } from "./l10n/default.js";
3
+ import { pad as N, int as _, arrayify as ge, debounce as Ne } from "./utils/index.js";
4
+ import { createElement as p, toggleClass as M, getEventTarget as w, clearNode as ee, createNumberInput as ne, findParent as yn } from "./utils/dom.js";
5
+ import { createDateParser as De, createDateFormatter as Ye, compareDates as E, getDefaultHours as pe, duration as wn, isBetween as En, calculateSecondsSinceMidnight as he, parseSeconds as xn } from "./utils/dates.js";
6
+ import { monthToStr as Ae, tokenRegex as R } from "./utils/formatting.js";
7
+ import "./utils/polyfills.js";
8
+ var b = globalThis && globalThis.__assign || function() {
9
+ return b = Object.assign || function(u) {
10
+ for (var v, e = 1, k = arguments.length; e < k; e++) {
11
+ v = arguments[e];
12
+ for (var x in v)
13
+ Object.prototype.hasOwnProperty.call(v, x) && (u[x] = v[x]);
14
+ }
15
+ return u;
16
+ }, b.apply(this, arguments);
17
+ }, Pe = globalThis && globalThis.__spreadArrays || function() {
18
+ for (var u = 0, v = 0, e = arguments.length; v < e; v++)
19
+ u += arguments[v].length;
20
+ for (var k = Array(u), x = 0, v = 0; v < e; v++)
21
+ for (var C = arguments[v], I = 0, W = C.length; I < W; I++, x++)
22
+ k[x] = C[I];
23
+ return k;
24
+ }, kn = 300;
25
+ function In(u, v) {
26
+ var e = {
27
+ config: b(b({}, ue), D.defaultConfig),
28
+ l10n: ve
29
+ };
30
+ e.parseDate = De({ config: e.config, l10n: e.l10n }), e._handlers = [], e.pluginElements = [], e.loadedPlugins = [], e._bind = m, e._setHoursFromDate = K, e._positionCalendar = X, e.changeMonth = re, e.changeYear = U, e.clear = Ue, e.close = $e, e.onMouseOver = Q, e._createElement = p, e.createDay = V, e.destroy = Qe, e.isEnabled = O, e.jumpToDate = q, e.updateValue = S, e.open = Ze, e.redraw = Ie, e.set = an, e.setDate = rn, e.toggle = cn;
31
+ function k() {
32
+ e.utils = {
33
+ getDaysInMonth: function(n, t) {
34
+ 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];
35
+ }
36
+ };
37
+ }
38
+ function x() {
39
+ e.element = e.input = u, e.isOpen = !1, en(), ke(), ln(), on(), k(), e.isMobile || We(), He(), (e.selectedDates.length || e.config.noCalendar) && (e.config.enableTime && K(e.config.noCalendar ? e.latestSelectedDateObj : void 0), S(!1)), W();
40
+ var n = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
41
+ !e.isMobile && n && X(), h("onReady");
42
+ }
43
+ function C() {
44
+ var n;
45
+ return ((n = e.calendarContainer) === null || n === void 0 ? void 0 : n.getRootNode()).activeElement || document.activeElement;
46
+ }
47
+ function I(n) {
48
+ return n.bind(e);
49
+ }
50
+ function W() {
51
+ var n = e.config;
52
+ n.weekNumbers === !1 && n.showMonths === 1 || n.noCalendar !== !0 && window.requestAnimationFrame(function() {
53
+ if (e.calendarContainer !== void 0 && (e.calendarContainer.style.visibility = "hidden", e.calendarContainer.style.display = "block"), e.daysContainer !== void 0) {
54
+ var t = (e.days.offsetWidth + 1) * n.showMonths;
55
+ 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");
56
+ }
57
+ });
58
+ }
59
+ function A(n) {
60
+ if (e.selectedDates.length === 0) {
61
+ var t = e.config.minDate === void 0 || E(/* @__PURE__ */ new Date(), e.config.minDate) >= 0 ? /* @__PURE__ */ new Date() : new Date(e.config.minDate.getTime()), a = pe(e.config);
62
+ t.setHours(a.hours, a.minutes, a.seconds, t.getMilliseconds()), e.selectedDates = [t], e.latestSelectedDateObj = t;
63
+ }
64
+ n !== void 0 && n.type !== "blur" && un(n);
65
+ var i = e._input.value;
66
+ B(), S(), e._input.value !== i && e._debouncedChange();
67
+ }
68
+ function Fe(n, t) {
69
+ return n % 12 + 12 * _(t === e.l10n.amPM[1]);
70
+ }
71
+ function Le(n) {
72
+ switch (n % 24) {
73
+ case 0:
74
+ case 12:
75
+ return 12;
76
+ default:
77
+ return n % 12;
78
+ }
79
+ }
80
+ function B() {
81
+ if (!(e.hourElement === void 0 || e.minuteElement === void 0)) {
82
+ var n = (parseInt(e.hourElement.value.slice(-2), 10) || 0) % 24, t = (parseInt(e.minuteElement.value, 10) || 0) % 60, a = e.secondElement !== void 0 ? (parseInt(e.secondElement.value, 10) || 0) % 60 : 0;
83
+ e.amPM !== void 0 && (n = Fe(n, e.amPM.textContent));
84
+ var i = e.config.minTime !== void 0 || e.config.minDate && e.minDateHasTime && e.latestSelectedDateObj && E(e.latestSelectedDateObj, e.config.minDate, !0) === 0, r = e.config.maxTime !== void 0 || e.config.maxDate && e.maxDateHasTime && e.latestSelectedDateObj && E(e.latestSelectedDateObj, e.config.maxDate, !0) === 0;
85
+ if (e.config.maxTime !== void 0 && e.config.minTime !== void 0 && e.config.minTime > e.config.maxTime) {
86
+ var o = he(e.config.minTime.getHours(), e.config.minTime.getMinutes(), e.config.minTime.getSeconds()), s = he(e.config.maxTime.getHours(), e.config.maxTime.getMinutes(), e.config.maxTime.getSeconds()), f = he(n, t, a);
87
+ if (f > s && f < o) {
88
+ var d = xn(o);
89
+ n = d[0], t = d[1], a = d[2];
90
+ }
91
+ } else {
92
+ if (r) {
93
+ var l = e.config.maxTime !== void 0 ? e.config.maxTime : e.config.maxDate;
94
+ n = Math.min(n, l.getHours()), n === l.getHours() && (t = Math.min(t, l.getMinutes())), t === l.getMinutes() && (a = Math.min(a, l.getSeconds()));
95
+ }
96
+ if (i) {
97
+ var c = e.config.minTime !== void 0 ? e.config.minTime : e.config.minDate;
98
+ n = Math.max(n, c.getHours()), n === c.getHours() && t < c.getMinutes() && (t = c.getMinutes()), t === c.getMinutes() && (a = Math.max(a, c.getSeconds()));
99
+ }
100
+ }
101
+ te(n, t, a);
102
+ }
103
+ }
104
+ function K(n) {
105
+ var t = n || e.latestSelectedDateObj;
106
+ t && t instanceof Date && te(t.getHours(), t.getMinutes(), t.getSeconds());
107
+ }
108
+ function te(n, t, a) {
109
+ e.latestSelectedDateObj !== void 0 && e.latestSelectedDateObj.setHours(n % 24, t, a || 0, 0), !(!e.hourElement || !e.minuteElement || e.isMobile) && (e.hourElement.value = N(e.config.time_24hr ? n : (12 + n) % 12 + 12 * _(n % 12 === 0)), e.minuteElement.value = N(t), e.amPM !== void 0 && (e.amPM.textContent = e.l10n.amPM[_(n >= 12)]), e.secondElement !== void 0 && (e.secondElement.value = N(a)));
110
+ }
111
+ function je(n) {
112
+ var t = w(n), a = parseInt(t.value) + (n.delta || 0);
113
+ (a / 1e3 > 1 || n.key === "Enter" && !/[^\d]/.test(a.toString())) && U(a);
114
+ }
115
+ function m(n, t, a, i) {
116
+ if (t instanceof Array)
117
+ return t.forEach(function(r) {
118
+ return m(n, r, a, i);
119
+ });
120
+ if (n instanceof Array)
121
+ return n.forEach(function(r) {
122
+ return m(r, t, a, i);
123
+ });
124
+ n.addEventListener(t, a, i), e._handlers.push({
125
+ remove: function() {
126
+ return n.removeEventListener(t, a, i);
127
+ }
128
+ });
129
+ }
130
+ function be() {
131
+ h("onChange");
132
+ }
133
+ function He() {
134
+ if (e.config.wrap && ["open", "close", "toggle", "clear"].forEach(function(a) {
135
+ Array.prototype.forEach.call(e.element.querySelectorAll("[data-" + a + "]"), function(i) {
136
+ return m(i, "click", e[a]);
137
+ });
138
+ }), e.isMobile) {
139
+ fn();
140
+ return;
141
+ }
142
+ var n = Ne(Ge, 50);
143
+ if (e._debouncedChange = Ne(be, kn), e.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent) && m(e.daysContainer, "mouseover", function(a) {
144
+ e.config.mode === "range" && Q(w(a));
145
+ }), m(e._input, "keydown", we), e.calendarContainer !== void 0 && m(e.calendarContainer, "keydown", we), !e.config.inline && !e.config.static && m(window, "resize", n), window.ontouchstart !== void 0 ? m(window.document, "touchstart", oe) : m(window.document, "mousedown", oe), m(window.document, "focus", oe, { capture: !0 }), e.config.clickOpens === !0 && (m(e._input, "focus", e.open), m(e._input, "click", e.open)), e.daysContainer !== void 0 && (m(e.monthNav, "click", dn), m(e.monthNav, ["keyup", "increment"], je), m(e.daysContainer, "click", Te)), e.timeContainer !== void 0 && e.minuteElement !== void 0 && e.hourElement !== void 0) {
146
+ var t = function(a) {
147
+ return w(a).select();
148
+ };
149
+ m(e.timeContainer, ["increment"], A), m(e.timeContainer, "blur", A, { capture: !0 }), m(e.timeContainer, "click", Re), m([e.hourElement, e.minuteElement], ["focus", "click"], t), e.secondElement !== void 0 && m(e.secondElement, "focus", function() {
150
+ return e.secondElement && e.secondElement.select();
151
+ }), e.amPM !== void 0 && m(e.amPM, "click", function(a) {
152
+ A(a);
153
+ });
154
+ }
155
+ e.config.allowInput && m(e._input, "blur", Xe);
156
+ }
157
+ function q(n, t) {
158
+ var a = 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), i = e.currentYear, r = e.currentMonth;
159
+ try {
160
+ a !== void 0 && (e.currentYear = a.getFullYear(), e.currentMonth = a.getMonth());
161
+ } catch (o) {
162
+ o.message = "Invalid date supplied: " + a, e.config.errorHandler(o);
163
+ }
164
+ t && e.currentYear !== i && (h("onYearChange"), P()), t && (e.currentYear !== i || e.currentMonth !== r) && h("onMonthChange"), e.redraw();
165
+ }
166
+ function Re(n) {
167
+ var t = w(n);
168
+ ~t.className.indexOf("arrow") && ae(n, t.classList.contains("arrowUp") ? 1 : -1);
169
+ }
170
+ function ae(n, t, a) {
171
+ var i = n && w(n), r = a || i && i.parentNode && i.parentNode.firstChild, o = fe("increment");
172
+ o.delta = t, r && r.dispatchEvent(o);
173
+ }
174
+ function We() {
175
+ var n = window.document.createDocumentFragment();
176
+ if (e.calendarContainer = p("div", "flatpickr-calendar"), e.calendarContainer.tabIndex = -1, !e.config.noCalendar) {
177
+ if (n.appendChild(Ve()), e.innerContainer = p("div", "flatpickr-innerContainer"), e.config.weekNumbers) {
178
+ var t = Je(), a = t.weekWrapper, i = t.weekNumbers;
179
+ e.innerContainer.appendChild(a), e.weekNumbers = i, e.weekWrapper = a;
180
+ }
181
+ e.rContainer = p("div", "flatpickr-rContainer"), e.rContainer.appendChild(Ce()), e.daysContainer || (e.daysContainer = p("div", "flatpickr-days"), e.daysContainer.tabIndex = -1), J(), e.rContainer.appendChild(e.daysContainer), e.innerContainer.appendChild(e.rContainer), n.appendChild(e.innerContainer);
182
+ }
183
+ e.config.enableTime && n.appendChild(ze()), M(e.calendarContainer, "rangeMode", e.config.mode === "range"), M(e.calendarContainer, "animate", e.config.animate === !0), M(e.calendarContainer, "multiMonth", e.config.showMonths > 1), e.calendarContainer.appendChild(n);
184
+ var r = e.config.appendTo !== void 0 && e.config.appendTo.nodeType !== void 0;
185
+ if ((e.config.inline || e.config.static) && (e.calendarContainer.classList.add(e.config.inline ? "inline" : "static"), e.config.inline && (!r && 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)) {
186
+ var o = p("div", "flatpickr-wrapper");
187
+ e.element.parentNode && e.element.parentNode.insertBefore(o, e.element), o.appendChild(e.element), e.altInput && o.appendChild(e.altInput), o.appendChild(e.calendarContainer);
188
+ }
189
+ !e.config.static && !e.config.inline && (e.config.appendTo !== void 0 ? e.config.appendTo : window.document.body).appendChild(e.calendarContainer);
190
+ }
191
+ function V(n, t, a, i) {
192
+ var r = O(t, !0), o = p("span", n, t.getDate().toString());
193
+ return o.dateObj = t, o.$i = i, o.setAttribute("aria-label", e.formatDate(t, e.config.ariaDateFormat)), n.indexOf("hidden") === -1 && E(t, e.now) === 0 && (e.todayDateElem = o, o.classList.add("today"), o.setAttribute("aria-current", "date")), r ? (o.tabIndex = -1, ce(t) && (o.classList.add("selected"), e.selectedDateElem = o, e.config.mode === "range" && (M(o, "startRange", e.selectedDates[0] && E(t, e.selectedDates[0], !0) === 0), M(o, "endRange", e.selectedDates[1] && E(t, e.selectedDates[1], !0) === 0), n === "nextMonthDay" && o.classList.add("inRange")))) : o.classList.add("flatpickr-disabled"), e.config.mode === "range" && sn(t) && !ce(t) && o.classList.add("inRange"), e.weekNumbers && e.config.showMonths === 1 && n !== "prevMonthDay" && i % 7 === 6 && e.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + e.config.getWeek(t) + "</span>"), h("onDayCreate", o), o;
194
+ }
195
+ function ie(n) {
196
+ n.focus(), e.config.mode === "range" && Q(n);
197
+ }
198
+ function z(n) {
199
+ for (var t = n > 0 ? 0 : e.config.showMonths - 1, a = n > 0 ? e.config.showMonths : -1, i = t; i != a; i += n)
200
+ for (var r = e.daysContainer.children[i], o = n > 0 ? 0 : r.children.length - 1, s = n > 0 ? r.children.length : -1, f = o; f != s; f += n) {
201
+ var d = r.children[f];
202
+ if (d.className.indexOf("hidden") === -1 && O(d.dateObj))
203
+ return d;
204
+ }
205
+ }
206
+ function Be(n, t) {
207
+ for (var a = n.className.indexOf("Month") === -1 ? n.dateObj.getMonth() : e.currentMonth, i = t > 0 ? e.config.showMonths : -1, r = t > 0 ? 1 : -1, o = a - e.currentMonth; o != i; o += r)
208
+ for (var s = e.daysContainer.children[o], f = a - e.currentMonth === o ? n.$i + t : t < 0 ? s.children.length - 1 : 0, d = s.children.length, l = f; l >= 0 && l < d && l != (t > 0 ? d : -1); l += r) {
209
+ var c = s.children[l];
210
+ if (c.className.indexOf("hidden") === -1 && O(c.dateObj) && Math.abs(n.$i - l) >= Math.abs(t))
211
+ return ie(c);
212
+ }
213
+ e.changeMonth(r), L(z(r), 0);
214
+ }
215
+ function L(n, t) {
216
+ var a = C(), i = $(a || document.body), r = n !== void 0 ? n : i ? a : e.selectedDateElem !== void 0 && $(e.selectedDateElem) ? e.selectedDateElem : e.todayDateElem !== void 0 && $(e.todayDateElem) ? e.todayDateElem : z(t > 0 ? 1 : -1);
217
+ r === void 0 ? e._input.focus() : i ? Be(r, t) : ie(r);
218
+ }
219
+ function Ke(n, t) {
220
+ for (var a = (new Date(n, t, 1).getDay() - e.l10n.firstDayOfWeek + 7) % 7, i = e.utils.getDaysInMonth((t - 1 + 12) % 12, n), r = e.utils.getDaysInMonth(t, n), o = window.document.createDocumentFragment(), s = e.config.showMonths > 1, f = s ? "prevMonthDay hidden" : "prevMonthDay", d = s ? "nextMonthDay hidden" : "nextMonthDay", l = i + 1 - a, c = 0; l <= i; l++, c++)
221
+ o.appendChild(V("flatpickr-day " + f, new Date(n, t - 1, l), l, c));
222
+ for (l = 1; l <= r; l++, c++)
223
+ o.appendChild(V("flatpickr-day", new Date(n, t, l), l, c));
224
+ for (var g = r + 1; g <= 42 - a && (e.config.showMonths === 1 || c % 7 !== 0); g++, c++)
225
+ o.appendChild(V("flatpickr-day " + d, new Date(n, t + 1, g % r), g, c));
226
+ var T = p("div", "dayContainer");
227
+ return T.appendChild(o), T;
228
+ }
229
+ function J() {
230
+ if (e.daysContainer !== void 0) {
231
+ ee(e.daysContainer), e.weekNumbers && ee(e.weekNumbers);
232
+ for (var n = document.createDocumentFragment(), t = 0; t < e.config.showMonths; t++) {
233
+ var a = new Date(e.currentYear, e.currentMonth, 1);
234
+ a.setMonth(e.currentMonth + t), n.appendChild(Ke(a.getFullYear(), a.getMonth()));
235
+ }
236
+ e.daysContainer.appendChild(n), e.days = e.daysContainer.firstChild, e.config.mode === "range" && e.selectedDates.length === 1 && Q();
237
+ }
238
+ }
239
+ function P() {
240
+ if (!(e.config.showMonths > 1 || e.config.monthSelectorType !== "dropdown")) {
241
+ var n = function(i) {
242
+ return e.config.minDate !== void 0 && e.currentYear === e.config.minDate.getFullYear() && i < e.config.minDate.getMonth() ? !1 : !(e.config.maxDate !== void 0 && e.currentYear === e.config.maxDate.getFullYear() && i > e.config.maxDate.getMonth());
243
+ };
244
+ e.monthsDropdownContainer.tabIndex = -1, e.monthsDropdownContainer.innerHTML = "";
245
+ for (var t = 0; t < 12; t++)
246
+ if (n(t)) {
247
+ var a = p("option", "flatpickr-monthDropdown-month");
248
+ a.value = new Date(e.currentYear, t).getMonth().toString(), a.textContent = Ae(t, e.config.shorthandCurrentMonth, e.l10n), a.tabIndex = -1, e.currentMonth === t && (a.selected = !0), e.monthsDropdownContainer.appendChild(a);
249
+ }
250
+ }
251
+ }
252
+ function qe() {
253
+ var n = p("div", "flatpickr-month"), t = window.document.createDocumentFragment(), a;
254
+ e.config.showMonths > 1 || e.config.monthSelectorType === "static" ? a = p("span", "cur-month") : (e.monthsDropdownContainer = p("select", "flatpickr-monthDropdown-months"), e.monthsDropdownContainer.setAttribute("aria-label", e.l10n.monthAriaLabel), m(e.monthsDropdownContainer, "change", function(s) {
255
+ var f = w(s), d = parseInt(f.value, 10);
256
+ e.changeMonth(d - e.currentMonth), h("onMonthChange");
257
+ }), P(), a = e.monthsDropdownContainer);
258
+ var i = ne("cur-year", { tabindex: "-1" }), r = i.getElementsByTagName("input")[0];
259
+ r.setAttribute("aria-label", e.l10n.yearAriaLabel), e.config.minDate && r.setAttribute("min", e.config.minDate.getFullYear().toString()), e.config.maxDate && (r.setAttribute("max", e.config.maxDate.getFullYear().toString()), r.disabled = !!e.config.minDate && e.config.minDate.getFullYear() === e.config.maxDate.getFullYear());
260
+ var o = p("div", "flatpickr-current-month");
261
+ return o.appendChild(a), o.appendChild(i), t.appendChild(o), n.appendChild(t), {
262
+ container: n,
263
+ yearElement: r,
264
+ monthElement: a
265
+ };
266
+ }
267
+ function Me() {
268
+ ee(e.monthNav), e.monthNav.appendChild(e.prevMonthNav), e.config.showMonths && (e.yearElements = [], e.monthElements = []);
269
+ for (var n = e.config.showMonths; n--; ) {
270
+ var t = qe();
271
+ e.yearElements.push(t.yearElement), e.monthElements.push(t.monthElement), e.monthNav.appendChild(t.container);
272
+ }
273
+ e.monthNav.appendChild(e.nextMonthNav);
274
+ }
275
+ function Ve() {
276
+ return e.monthNav = p("div", "flatpickr-months"), e.yearElements = [], e.monthElements = [], e.prevMonthNav = p("span", "flatpickr-prev-month"), e.prevMonthNav.innerHTML = e.config.prevArrow, e.nextMonthNav = p("span", "flatpickr-next-month"), e.nextMonthNav.innerHTML = e.config.nextArrow, Me(), Object.defineProperty(e, "_hidePrevMonthArrow", {
277
+ get: function() {
278
+ return e.__hidePrevMonthArrow;
279
+ },
280
+ set: function(n) {
281
+ e.__hidePrevMonthArrow !== n && (M(e.prevMonthNav, "flatpickr-disabled", n), e.__hidePrevMonthArrow = n);
282
+ }
283
+ }), Object.defineProperty(e, "_hideNextMonthArrow", {
284
+ get: function() {
285
+ return e.__hideNextMonthArrow;
286
+ },
287
+ set: function(n) {
288
+ e.__hideNextMonthArrow !== n && (M(e.nextMonthNav, "flatpickr-disabled", n), e.__hideNextMonthArrow = n);
289
+ }
290
+ }), e.currentYearElement = e.yearElements[0], Z(), e.monthNav;
291
+ }
292
+ function ze() {
293
+ e.calendarContainer.classList.add("hasTime"), e.config.noCalendar && e.calendarContainer.classList.add("noCalendar");
294
+ var n = pe(e.config);
295
+ e.timeContainer = p("div", "flatpickr-time"), e.timeContainer.tabIndex = -1;
296
+ var t = p("span", "flatpickr-time-separator", ":"), a = ne("flatpickr-hour", {
297
+ "aria-label": e.l10n.hourAriaLabel
298
+ });
299
+ e.hourElement = a.getElementsByTagName("input")[0];
300
+ var i = ne("flatpickr-minute", {
301
+ "aria-label": e.l10n.minuteAriaLabel
302
+ });
303
+ if (e.minuteElement = i.getElementsByTagName("input")[0], e.hourElement.tabIndex = e.minuteElement.tabIndex = -1, e.hourElement.value = N(e.latestSelectedDateObj ? e.latestSelectedDateObj.getHours() : e.config.time_24hr ? n.hours : Le(n.hours)), e.minuteElement.value = N(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(a), e.timeContainer.appendChild(t), e.timeContainer.appendChild(i), e.config.time_24hr && e.timeContainer.classList.add("time24hr"), e.config.enableSeconds) {
304
+ e.timeContainer.classList.add("hasSeconds");
305
+ var r = ne("flatpickr-second");
306
+ e.secondElement = r.getElementsByTagName("input")[0], e.secondElement.value = N(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(p("span", "flatpickr-time-separator", ":")), e.timeContainer.appendChild(r);
307
+ }
308
+ return e.config.time_24hr || (e.amPM = p("span", "flatpickr-am-pm", e.l10n.amPM[_((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;
309
+ }
310
+ function Ce() {
311
+ e.weekdayContainer ? ee(e.weekdayContainer) : e.weekdayContainer = p("div", "flatpickr-weekdays");
312
+ for (var n = e.config.showMonths; n--; ) {
313
+ var t = p("div", "flatpickr-weekdaycontainer");
314
+ e.weekdayContainer.appendChild(t);
315
+ }
316
+ return ye(), e.weekdayContainer;
317
+ }
318
+ function ye() {
319
+ if (e.weekdayContainer) {
320
+ var n = e.l10n.firstDayOfWeek, t = Pe(e.l10n.weekdays.shorthand);
321
+ n > 0 && n < t.length && (t = Pe(t.splice(n, t.length), t.splice(0, n)));
322
+ for (var a = e.config.showMonths; a--; )
323
+ e.weekdayContainer.children[a].innerHTML = `
324
+ <span class='flatpickr-weekday'>
325
+ ` + t.join("</span><span class='flatpickr-weekday'>") + `
326
+ </span>
327
+ `;
328
+ }
329
+ }
330
+ function Je() {
331
+ e.calendarContainer.classList.add("hasWeeks");
332
+ var n = p("div", "flatpickr-weekwrapper");
333
+ n.appendChild(p("span", "flatpickr-weekday", e.l10n.weekAbbreviation));
334
+ var t = p("div", "flatpickr-weeks");
335
+ return n.appendChild(t), {
336
+ weekWrapper: n,
337
+ weekNumbers: t
338
+ };
339
+ }
340
+ function re(n, t) {
341
+ t === void 0 && (t = !0);
342
+ var a = t ? n : n - e.currentMonth;
343
+ a < 0 && e._hidePrevMonthArrow === !0 || a > 0 && e._hideNextMonthArrow === !0 || (e.currentMonth += a, (e.currentMonth < 0 || e.currentMonth > 11) && (e.currentYear += e.currentMonth > 11 ? 1 : -1, e.currentMonth = (e.currentMonth + 12) % 12, h("onYearChange"), P()), J(), h("onMonthChange"), Z());
344
+ }
345
+ function Ue(n, t) {
346
+ 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) {
347
+ var a = pe(e.config), i = a.hours, r = a.minutes, o = a.seconds;
348
+ te(i, r, o);
349
+ }
350
+ e.redraw(), n && h("onChange");
351
+ }
352
+ function $e() {
353
+ e.isOpen = !1, e.isMobile || (e.calendarContainer !== void 0 && e.calendarContainer.classList.remove("open"), e._input !== void 0 && e._input.classList.remove("active")), h("onClose");
354
+ }
355
+ function Qe() {
356
+ e.config !== void 0 && h("onDestroy");
357
+ for (var n = e._handlers.length; n--; )
358
+ e._handlers[n].remove();
359
+ if (e._handlers = [], e.mobileInput)
360
+ e.mobileInput.parentNode && e.mobileInput.parentNode.removeChild(e.mobileInput), e.mobileInput = void 0;
361
+ else if (e.calendarContainer && e.calendarContainer.parentNode)
362
+ if (e.config.static && e.calendarContainer.parentNode) {
363
+ var t = e.calendarContainer.parentNode;
364
+ if (t.lastChild && t.removeChild(t.lastChild), t.parentNode) {
365
+ for (; t.firstChild; )
366
+ t.parentNode.insertBefore(t.firstChild, t);
367
+ t.parentNode.removeChild(t);
368
+ }
369
+ } else
370
+ e.calendarContainer.parentNode.removeChild(e.calendarContainer);
371
+ 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")), [
372
+ "_showTimeInput",
373
+ "latestSelectedDateObj",
374
+ "_hideNextMonthArrow",
375
+ "_hidePrevMonthArrow",
376
+ "__hideNextMonthArrow",
377
+ "__hidePrevMonthArrow",
378
+ "isMobile",
379
+ "isOpen",
380
+ "selectedDateElem",
381
+ "minDateHasTime",
382
+ "maxDateHasTime",
383
+ "days",
384
+ "daysContainer",
385
+ "_input",
386
+ "_positionElement",
387
+ "innerContainer",
388
+ "rContainer",
389
+ "monthNav",
390
+ "todayDateElem",
391
+ "calendarContainer",
392
+ "weekdayContainer",
393
+ "prevMonthNav",
394
+ "nextMonthNav",
395
+ "monthsDropdownContainer",
396
+ "currentMonthElement",
397
+ "currentYearElement",
398
+ "navigationCurrentMonth",
399
+ "selectedDateElem",
400
+ "config"
401
+ ].forEach(function(a) {
402
+ try {
403
+ delete e[a];
404
+ } catch {
405
+ }
406
+ });
407
+ }
408
+ function j(n) {
409
+ return e.calendarContainer.contains(n);
410
+ }
411
+ function oe(n) {
412
+ if (e.isOpen && !e.config.inline) {
413
+ var t = w(n), a = j(t), i = 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)), r = !i && !a && !j(n.relatedTarget), o = !e.config.ignoredFocusElements.some(function(s) {
414
+ return s.contains(t);
415
+ });
416
+ r && o && (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 && A(), e.close(), e.config && e.config.mode === "range" && e.selectedDates.length === 1 && e.clear(!1));
417
+ }
418
+ }
419
+ function U(n) {
420
+ if (!(!n || e.config.minDate && n < e.config.minDate.getFullYear() || e.config.maxDate && n > e.config.maxDate.getFullYear())) {
421
+ var t = n, a = e.currentYear !== t;
422
+ 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)), a && (e.redraw(), h("onYearChange"), P());
423
+ }
424
+ }
425
+ function O(n, t) {
426
+ var a;
427
+ t === void 0 && (t = !0);
428
+ var i = e.parseDate(n, void 0, t);
429
+ if (e.config.minDate && i && E(i, e.config.minDate, t !== void 0 ? t : !e.minDateHasTime) < 0 || e.config.maxDate && i && E(i, e.config.maxDate, t !== void 0 ? t : !e.maxDateHasTime) > 0)
430
+ return !1;
431
+ if (!e.config.enable && e.config.disable.length === 0)
432
+ return !0;
433
+ if (i === void 0)
434
+ return !1;
435
+ for (var r = !!e.config.enable, o = (a = e.config.enable) !== null && a !== void 0 ? a : e.config.disable, s = 0, f = void 0; s < o.length; s++) {
436
+ if (f = o[s], typeof f == "function" && f(i))
437
+ return r;
438
+ if (f instanceof Date && i !== void 0 && f.getTime() === i.getTime())
439
+ return r;
440
+ if (typeof f == "string") {
441
+ var d = e.parseDate(f, void 0, !0);
442
+ return d && d.getTime() === i.getTime() ? r : !r;
443
+ } else if (typeof f == "object" && i !== void 0 && f.from && f.to && i.getTime() >= f.from.getTime() && i.getTime() <= f.to.getTime())
444
+ return r;
445
+ }
446
+ return !r;
447
+ }
448
+ function $(n) {
449
+ return e.daysContainer !== void 0 ? n.className.indexOf("hidden") === -1 && n.className.indexOf("flatpickr-disabled") === -1 && e.daysContainer.contains(n) : !1;
450
+ }
451
+ function Xe(n) {
452
+ var t = n.target === e._input, a = e._input.value.trimEnd() !== se();
453
+ t && a && !(n.relatedTarget && j(n.relatedTarget)) && e.setDate(e._input.value, !0, n.target === e.altInput ? e.config.altFormat : e.config.dateFormat);
454
+ }
455
+ function we(n) {
456
+ var t = w(n), a = e.config.wrap ? u.contains(t) : t === e._input, i = e.config.allowInput, r = e.isOpen && (!i || !a), o = e.config.inline && a && !i;
457
+ if (n.keyCode === 13 && a) {
458
+ if (i)
459
+ return e.setDate(e._input.value, !0, t === e.altInput ? e.config.altFormat : e.config.dateFormat), e.close(), t.blur();
460
+ e.open();
461
+ } else if (j(t) || r || o) {
462
+ var s = !!e.timeContainer && e.timeContainer.contains(t);
463
+ switch (n.keyCode) {
464
+ case 13:
465
+ s ? (n.preventDefault(), A(), le()) : Te(n);
466
+ break;
467
+ case 27:
468
+ n.preventDefault(), le();
469
+ break;
470
+ case 8:
471
+ case 46:
472
+ a && !e.config.allowInput && (n.preventDefault(), e.clear());
473
+ break;
474
+ case 37:
475
+ case 39:
476
+ if (!s && !a) {
477
+ n.preventDefault();
478
+ var f = C();
479
+ if (e.daysContainer !== void 0 && (i === !1 || f && $(f))) {
480
+ var d = n.keyCode === 39 ? 1 : -1;
481
+ n.ctrlKey ? (n.stopPropagation(), re(d), L(z(1), 0)) : L(void 0, d);
482
+ }
483
+ } else
484
+ e.hourElement && e.hourElement.focus();
485
+ break;
486
+ case 38:
487
+ case 40:
488
+ n.preventDefault();
489
+ var l = n.keyCode === 40 ? 1 : -1;
490
+ e.daysContainer && t.$i !== void 0 || t === e.input || t === e.altInput ? n.ctrlKey ? (n.stopPropagation(), U(e.currentYear - l), L(z(1), 0)) : s || L(void 0, l * 7) : t === e.currentYearElement ? U(e.currentYear - l) : e.config.enableTime && (!s && e.hourElement && e.hourElement.focus(), A(n), e._debouncedChange());
491
+ break;
492
+ case 9:
493
+ if (s) {
494
+ var c = [
495
+ e.hourElement,
496
+ e.minuteElement,
497
+ e.secondElement,
498
+ e.amPM
499
+ ].concat(e.pluginElements).filter(function(y) {
500
+ return y;
501
+ }), g = c.indexOf(t);
502
+ if (g !== -1) {
503
+ var T = c[g + (n.shiftKey ? -1 : 1)];
504
+ n.preventDefault(), (T || e._input).focus();
505
+ }
506
+ } else
507
+ !e.config.noCalendar && e.daysContainer && e.daysContainer.contains(t) && n.shiftKey && (n.preventDefault(), e._input.focus());
508
+ break;
509
+ }
510
+ }
511
+ if (e.amPM !== void 0 && t === e.amPM)
512
+ switch (n.key) {
513
+ case e.l10n.amPM[0].charAt(0):
514
+ case e.l10n.amPM[0].charAt(0).toLowerCase():
515
+ e.amPM.textContent = e.l10n.amPM[0], B(), S();
516
+ break;
517
+ case e.l10n.amPM[1].charAt(0):
518
+ case e.l10n.amPM[1].charAt(0).toLowerCase():
519
+ e.amPM.textContent = e.l10n.amPM[1], B(), S();
520
+ break;
521
+ }
522
+ (a || j(t)) && h("onKeyDown", n);
523
+ }
524
+ function Q(n, t) {
525
+ if (t === void 0 && (t = "flatpickr-day"), !(e.selectedDates.length !== 1 || n && (!n.classList.contains(t) || n.classList.contains("flatpickr-disabled")))) {
526
+ for (var a = n ? n.dateObj.getTime() : e.days.firstElementChild.dateObj.getTime(), i = e.parseDate(e.selectedDates[0], void 0, !0).getTime(), r = Math.min(a, e.selectedDates[0].getTime()), o = Math.max(a, e.selectedDates[0].getTime()), s = !1, f = 0, d = 0, l = r; l < o; l += wn.DAY)
527
+ O(new Date(l), !0) || (s = s || l > r && l < o, l < i && (!f || l > f) ? f = l : l > i && (!d || l < d) && (d = l));
528
+ var c = Array.from(e.rContainer.querySelectorAll("*:nth-child(-n+" + e.config.showMonths + ") > ." + t));
529
+ c.forEach(function(g) {
530
+ var T = g.dateObj, y = T.getTime(), H = f > 0 && y < f || d > 0 && y > d;
531
+ if (H) {
532
+ g.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach(function(Y) {
533
+ g.classList.remove(Y);
534
+ });
535
+ return;
536
+ } else if (s && !H)
537
+ return;
538
+ ["startRange", "inRange", "endRange", "notAllowed"].forEach(function(Y) {
539
+ g.classList.remove(Y);
540
+ }), n !== void 0 && (n.classList.add(a <= e.selectedDates[0].getTime() ? "startRange" : "endRange"), i < a && y === i ? g.classList.add("startRange") : i > a && y === i && g.classList.add("endRange"), y >= f && (d === 0 || y <= d) && En(y, i, a) && g.classList.add("inRange"));
541
+ });
542
+ }
543
+ }
544
+ function Ge() {
545
+ e.isOpen && !e.config.static && !e.config.inline && X();
546
+ }
547
+ function Ze(n, t) {
548
+ if (t === void 0 && (t = e._positionElement), e.isMobile === !0) {
549
+ if (n) {
550
+ n.preventDefault();
551
+ var a = w(n);
552
+ a && a.blur();
553
+ }
554
+ e.mobileInput !== void 0 && (e.mobileInput.focus(), e.mobileInput.click()), h("onOpen");
555
+ return;
556
+ } else if (e._input.disabled || e.config.inline)
557
+ return;
558
+ var i = e.isOpen;
559
+ e.isOpen = !0, i || (e.calendarContainer.classList.add("open"), e._input.classList.add("active"), h("onOpen"), X(t)), e.config.enableTime === !0 && e.config.noCalendar === !0 && e.config.allowInput === !1 && (n === void 0 || !e.timeContainer.contains(n.relatedTarget)) && setTimeout(function() {
560
+ return e.hourElement.select();
561
+ }, 50);
562
+ }
563
+ function Ee(n) {
564
+ return function(t) {
565
+ var a = e.config["_" + n + "Date"] = e.parseDate(t, e.config.dateFormat), i = e.config["_" + (n === "min" ? "max" : "min") + "Date"];
566
+ a !== void 0 && (e[n === "min" ? "minDateHasTime" : "maxDateHasTime"] = a.getHours() > 0 || a.getMinutes() > 0 || a.getSeconds() > 0), e.selectedDates && (e.selectedDates = e.selectedDates.filter(function(r) {
567
+ return O(r);
568
+ }), !e.selectedDates.length && n === "min" && K(a), S()), e.daysContainer && (Ie(), a !== void 0 ? e.currentYearElement[n] = a.getFullYear().toString() : e.currentYearElement.removeAttribute(n), e.currentYearElement.disabled = !!i && a !== void 0 && i.getFullYear() === a.getFullYear());
569
+ };
570
+ }
571
+ function en() {
572
+ var n = [
573
+ "wrap",
574
+ "weekNumbers",
575
+ "allowInput",
576
+ "allowInvalidPreload",
577
+ "clickOpens",
578
+ "time_24hr",
579
+ "enableTime",
580
+ "noCalendar",
581
+ "altInput",
582
+ "shorthandCurrentMonth",
583
+ "inline",
584
+ "static",
585
+ "enableSeconds",
586
+ "disableMobile"
587
+ ], t = b(b({}, JSON.parse(JSON.stringify(u.dataset || {}))), v), a = {};
588
+ e.config.parseDate = t.parseDate, e.config.formatDate = t.formatDate, Object.defineProperty(e.config, "enable", {
589
+ get: function() {
590
+ return e.config._enable;
591
+ },
592
+ set: function(c) {
593
+ e.config._enable = Se(c);
594
+ }
595
+ }), Object.defineProperty(e.config, "disable", {
596
+ get: function() {
597
+ return e.config._disable;
598
+ },
599
+ set: function(c) {
600
+ e.config._disable = Se(c);
601
+ }
602
+ });
603
+ var i = t.mode === "time";
604
+ if (!t.dateFormat && (t.enableTime || i)) {
605
+ var r = D.defaultConfig.dateFormat || ue.dateFormat;
606
+ a.dateFormat = t.noCalendar || i ? "H:i" + (t.enableSeconds ? ":S" : "") : r + " H:i" + (t.enableSeconds ? ":S" : "");
607
+ }
608
+ if (t.altInput && (t.enableTime || i) && !t.altFormat) {
609
+ var o = D.defaultConfig.altFormat || ue.altFormat;
610
+ a.altFormat = t.noCalendar || i ? "h:i" + (t.enableSeconds ? ":S K" : " K") : o + (" h:i" + (t.enableSeconds ? ":S" : "") + " K");
611
+ }
612
+ Object.defineProperty(e.config, "minDate", {
613
+ get: function() {
614
+ return e.config._minDate;
615
+ },
616
+ set: Ee("min")
617
+ }), Object.defineProperty(e.config, "maxDate", {
618
+ get: function() {
619
+ return e.config._maxDate;
620
+ },
621
+ set: Ee("max")
622
+ });
623
+ var s = function(c) {
624
+ return function(g) {
625
+ e.config[c === "min" ? "_minTime" : "_maxTime"] = e.parseDate(g, "H:i:S");
626
+ };
627
+ };
628
+ Object.defineProperty(e.config, "minTime", {
629
+ get: function() {
630
+ return e.config._minTime;
631
+ },
632
+ set: s("min")
633
+ }), Object.defineProperty(e.config, "maxTime", {
634
+ get: function() {
635
+ return e.config._maxTime;
636
+ },
637
+ set: s("max")
638
+ }), t.mode === "time" && (e.config.noCalendar = !0, e.config.enableTime = !0), Object.assign(e.config, a, t);
639
+ for (var f = 0; f < n.length; f++)
640
+ e.config[n[f]] = e.config[n[f]] === !0 || e.config[n[f]] === "true";
641
+ me.filter(function(c) {
642
+ return e.config[c] !== void 0;
643
+ }).forEach(function(c) {
644
+ e.config[c] = ge(e.config[c] || []).map(I);
645
+ }), 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);
646
+ for (var f = 0; f < e.config.plugins.length; f++) {
647
+ var d = e.config.plugins[f](e) || {};
648
+ for (var l in d)
649
+ me.indexOf(l) > -1 ? e.config[l] = ge(d[l]).map(I).concat(e.config[l]) : typeof t[l] > "u" && (e.config[l] = d[l]);
650
+ }
651
+ t.altInputClass || (e.config.altInputClass = xe().className + " " + e.config.altInputClass), h("onParseConfig");
652
+ }
653
+ function xe() {
654
+ return e.config.wrap ? u.querySelector("[data-input]") : u;
655
+ }
656
+ function ke() {
657
+ typeof e.config.locale != "object" && typeof D.l10ns[e.config.locale] > "u" && e.config.errorHandler(new Error("flatpickr: invalid locale " + e.config.locale)), e.l10n = b(b({}, D.l10ns.default), typeof e.config.locale == "object" ? e.config.locale : e.config.locale !== "default" ? D.l10ns[e.config.locale] : void 0), R.D = "(" + e.l10n.weekdays.shorthand.join("|") + ")", R.l = "(" + e.l10n.weekdays.longhand.join("|") + ")", R.M = "(" + e.l10n.months.shorthand.join("|") + ")", R.F = "(" + e.l10n.months.longhand.join("|") + ")", R.K = "(" + e.l10n.amPM[0] + "|" + e.l10n.amPM[1] + "|" + e.l10n.amPM[0].toLowerCase() + "|" + e.l10n.amPM[1].toLowerCase() + ")";
658
+ var n = b(b({}, v), JSON.parse(JSON.stringify(u.dataset || {})));
659
+ n.time_24hr === void 0 && D.defaultConfig.time_24hr === void 0 && (e.config.time_24hr = e.l10n.time_24hr), e.formatDate = Ye(e), e.parseDate = De({ config: e.config, l10n: e.l10n });
660
+ }
661
+ function X(n) {
662
+ if (typeof e.config.position == "function")
663
+ return void e.config.position(e, n);
664
+ if (e.calendarContainer !== void 0) {
665
+ h("onPreCalendarPosition");
666
+ var t = n || e._positionElement, a = Array.prototype.reduce.call(e.calendarContainer.children, function(Mn, Cn) {
667
+ return Mn + Cn.offsetHeight;
668
+ }, 0), i = e.calendarContainer.offsetWidth, r = e.config.position.split(" "), o = r[0], s = r.length > 1 ? r[1] : null, f = t.getBoundingClientRect(), d = window.innerHeight - f.bottom, l = o === "above" || o !== "below" && d < a && f.top > a, c = window.pageYOffset + f.top + (l ? -a - 2 : t.offsetHeight + 2);
669
+ if (M(e.calendarContainer, "arrowTop", !l), M(e.calendarContainer, "arrowBottom", l), !e.config.inline) {
670
+ var g = window.pageXOffset + f.left, T = !1, y = !1;
671
+ s === "center" ? (g -= (i - f.width) / 2, T = !0) : s === "right" && (g -= i - f.width, y = !0), M(e.calendarContainer, "arrowLeft", !T && !y), M(e.calendarContainer, "arrowCenter", T), M(e.calendarContainer, "arrowRight", y);
672
+ var H = window.document.body.offsetWidth - (window.pageXOffset + f.right), Y = g + i > window.document.body.offsetWidth, mn = H + i > window.document.body.offsetWidth;
673
+ if (M(e.calendarContainer, "rightMost", Y), !e.config.static)
674
+ if (e.calendarContainer.style.top = c + "px", !Y)
675
+ e.calendarContainer.style.left = g + "px", e.calendarContainer.style.right = "auto";
676
+ else if (!mn)
677
+ e.calendarContainer.style.left = "auto", e.calendarContainer.style.right = H + "px";
678
+ else {
679
+ var de = nn();
680
+ if (de === void 0)
681
+ return;
682
+ var gn = window.document.body.offsetWidth, pn = Math.max(0, gn / 2 - i / 2), hn = ".flatpickr-calendar.centerMost:before", vn = ".flatpickr-calendar.centerMost:after", Dn = de.cssRules.length, bn = "{left:" + f.left + "px;right:auto;}";
683
+ M(e.calendarContainer, "rightMost", !1), M(e.calendarContainer, "centerMost", !0), de.insertRule(hn + "," + vn + bn, Dn), e.calendarContainer.style.left = pn + "px", e.calendarContainer.style.right = "auto";
684
+ }
685
+ }
686
+ }
687
+ }
688
+ function nn() {
689
+ for (var n = null, t = 0; t < document.styleSheets.length; t++) {
690
+ var a = document.styleSheets[t];
691
+ if (a.cssRules) {
692
+ try {
693
+ a.cssRules;
694
+ } catch {
695
+ continue;
696
+ }
697
+ n = a;
698
+ break;
699
+ }
700
+ }
701
+ return n ?? tn();
702
+ }
703
+ function tn() {
704
+ var n = document.createElement("style");
705
+ return document.head.appendChild(n), n.sheet;
706
+ }
707
+ function Ie() {
708
+ e.config.noCalendar || e.isMobile || (P(), Z(), J());
709
+ }
710
+ function le() {
711
+ e._input.focus(), window.navigator.userAgent.indexOf("MSIE") !== -1 || navigator.msMaxTouchPoints !== void 0 ? setTimeout(e.close, 0) : e.close();
712
+ }
713
+ function Te(n) {
714
+ n.preventDefault(), n.stopPropagation();
715
+ var t = function(c) {
716
+ return c.classList && c.classList.contains("flatpickr-day") && !c.classList.contains("flatpickr-disabled") && !c.classList.contains("notAllowed");
717
+ }, a = yn(w(n), t);
718
+ if (a !== void 0) {
719
+ var i = a, r = e.latestSelectedDateObj = new Date(i.dateObj.getTime()), o = (r.getMonth() < e.currentMonth || r.getMonth() > e.currentMonth + e.config.showMonths - 1) && e.config.mode !== "range";
720
+ if (e.selectedDateElem = i, e.config.mode === "single")
721
+ e.selectedDates = [r];
722
+ else if (e.config.mode === "multiple") {
723
+ var s = ce(r);
724
+ s ? e.selectedDates.splice(parseInt(s), 1) : e.selectedDates.push(r);
725
+ } else
726
+ e.config.mode === "range" && (e.selectedDates.length === 2 && e.clear(!1, !1), e.latestSelectedDateObj = r, e.selectedDates.push(r), E(r, e.selectedDates[0], !0) !== 0 && e.selectedDates.sort(function(c, g) {
727
+ return c.getTime() - g.getTime();
728
+ }));
729
+ if (B(), o) {
730
+ var f = e.currentYear !== r.getFullYear();
731
+ e.currentYear = r.getFullYear(), e.currentMonth = r.getMonth(), f && (h("onYearChange"), P()), h("onMonthChange");
732
+ }
733
+ if (Z(), J(), S(), !o && e.config.mode !== "range" && e.config.showMonths === 1 ? ie(i) : e.selectedDateElem !== void 0 && e.hourElement === void 0 && e.selectedDateElem && e.selectedDateElem.focus(), e.hourElement !== void 0 && e.hourElement !== void 0 && e.hourElement.focus(), e.config.closeOnSelect) {
734
+ var d = e.config.mode === "single" && !e.config.enableTime, l = e.config.mode === "range" && e.selectedDates.length === 2 && !e.config.enableTime;
735
+ (d || l) && le();
736
+ }
737
+ be();
738
+ }
739
+ }
740
+ var G = {
741
+ locale: [ke, ye],
742
+ showMonths: [Me, W, Ce],
743
+ minDate: [q],
744
+ maxDate: [q],
745
+ positionElement: [Oe],
746
+ clickOpens: [
747
+ function() {
748
+ e.config.clickOpens === !0 ? (m(e._input, "focus", e.open), m(e._input, "click", e.open)) : (e._input.removeEventListener("focus", e.open), e._input.removeEventListener("click", e.open));
749
+ }
750
+ ]
751
+ };
752
+ function an(n, t) {
753
+ if (n !== null && typeof n == "object") {
754
+ Object.assign(e.config, n);
755
+ for (var a in n)
756
+ G[a] !== void 0 && G[a].forEach(function(i) {
757
+ return i();
758
+ });
759
+ } else
760
+ e.config[n] = t, G[n] !== void 0 ? G[n].forEach(function(i) {
761
+ return i();
762
+ }) : me.indexOf(n) > -1 && (e.config[n] = ge(t));
763
+ e.redraw(), S(!0);
764
+ }
765
+ function _e(n, t) {
766
+ var a = [];
767
+ if (n instanceof Array)
768
+ a = n.map(function(i) {
769
+ return e.parseDate(i, t);
770
+ });
771
+ else if (n instanceof Date || typeof n == "number")
772
+ a = [e.parseDate(n, t)];
773
+ else if (typeof n == "string")
774
+ switch (e.config.mode) {
775
+ case "single":
776
+ case "time":
777
+ a = [e.parseDate(n, t)];
778
+ break;
779
+ case "multiple":
780
+ a = n.split(e.config.conjunction).map(function(i) {
781
+ return e.parseDate(i, t);
782
+ });
783
+ break;
784
+ case "range":
785
+ a = n.split(e.l10n.rangeSeparator).map(function(i) {
786
+ return e.parseDate(i, t);
787
+ });
788
+ break;
789
+ }
790
+ else
791
+ e.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(n)));
792
+ e.selectedDates = e.config.allowInvalidPreload ? a : a.filter(function(i) {
793
+ return i instanceof Date && O(i, !1);
794
+ }), e.config.mode === "range" && e.selectedDates.sort(function(i, r) {
795
+ return i.getTime() - r.getTime();
796
+ });
797
+ }
798
+ function rn(n, t, a) {
799
+ if (t === void 0 && (t = !1), a === void 0 && (a = e.config.dateFormat), n !== 0 && !n || n instanceof Array && n.length === 0)
800
+ return e.clear(t);
801
+ _e(n, a), e.latestSelectedDateObj = e.selectedDates[e.selectedDates.length - 1], e.redraw(), q(void 0, t), K(), e.selectedDates.length === 0 && e.clear(!1), S(t), t && h("onChange");
802
+ }
803
+ function Se(n) {
804
+ return n.slice().map(function(t) {
805
+ return typeof t == "string" || typeof t == "number" || t instanceof Date ? e.parseDate(t, void 0, !0) : t && typeof t == "object" && t.from && t.to ? {
806
+ from: e.parseDate(t.from, void 0),
807
+ to: e.parseDate(t.to, void 0)
808
+ } : t;
809
+ }).filter(function(t) {
810
+ return t;
811
+ });
812
+ }
813
+ function on() {
814
+ e.selectedDates = [], e.now = e.parseDate(e.config.now) || /* @__PURE__ */ new Date();
815
+ var n = e.config.defaultDate || ((e.input.nodeName === "INPUT" || e.input.nodeName === "TEXTAREA") && e.input.placeholder && e.input.value === e.input.placeholder ? null : e.input.value);
816
+ n && _e(n, e.config.dateFormat), e._initialDate = e.selectedDates.length > 0 ? e.selectedDates[0] : e.config.minDate && e.config.minDate.getTime() > e.now.getTime() ? e.config.minDate : e.config.maxDate && e.config.maxDate.getTime() < e.now.getTime() ? e.config.maxDate : e.now, e.currentYear = e._initialDate.getFullYear(), e.currentMonth = e._initialDate.getMonth(), e.selectedDates.length > 0 && (e.latestSelectedDateObj = e.selectedDates[0]), e.config.minTime !== void 0 && (e.config.minTime = e.parseDate(e.config.minTime, "H:i")), e.config.maxTime !== void 0 && (e.config.maxTime = e.parseDate(e.config.maxTime, "H:i")), e.minDateHasTime = !!e.config.minDate && (e.config.minDate.getHours() > 0 || e.config.minDate.getMinutes() > 0 || e.config.minDate.getSeconds() > 0), e.maxDateHasTime = !!e.config.maxDate && (e.config.maxDate.getHours() > 0 || e.config.maxDate.getMinutes() > 0 || e.config.maxDate.getSeconds() > 0);
817
+ }
818
+ function ln() {
819
+ if (e.input = xe(), !e.input) {
820
+ e.config.errorHandler(new Error("Invalid input element specified"));
821
+ return;
822
+ }
823
+ e.input._type = e.input.type, e.input.type = "text", e.input.classList.add("flatpickr-input"), e._input = e.input, e.config.altInput && (e.altInput = p(e.input.nodeName, e.config.altInputClass), e._input = e.altInput, e.altInput.placeholder = e.input.placeholder, e.altInput.disabled = e.input.disabled, e.altInput.required = e.input.required, e.altInput.tabIndex = e.input.tabIndex, e.altInput.type = "text", e.input.setAttribute("type", "hidden"), !e.config.static && e.input.parentNode && e.input.parentNode.insertBefore(e.altInput, e.input.nextSibling)), e.config.allowInput || e._input.setAttribute("readonly", "readonly"), Oe();
824
+ }
825
+ function Oe() {
826
+ e._positionElement = e.config.positionElement || e._input;
827
+ }
828
+ function fn() {
829
+ var n = e.config.enableTime ? e.config.noCalendar ? "time" : "datetime-local" : "date";
830
+ e.mobileInput = p("input", e.input.className + " flatpickr-mobile"), e.mobileInput.tabIndex = 1, e.mobileInput.type = n, e.mobileInput.disabled = e.input.disabled, e.mobileInput.required = e.input.required, e.mobileInput.placeholder = e.input.placeholder, e.mobileFormatStr = n === "datetime-local" ? "Y-m-d\\TH:i:S" : n === "date" ? "Y-m-d" : "H:i:S", e.selectedDates.length > 0 && (e.mobileInput.defaultValue = e.mobileInput.value = e.formatDate(e.selectedDates[0], e.mobileFormatStr)), e.config.minDate && (e.mobileInput.min = e.formatDate(e.config.minDate, "Y-m-d")), e.config.maxDate && (e.mobileInput.max = e.formatDate(e.config.maxDate, "Y-m-d")), e.input.getAttribute("step") && (e.mobileInput.step = String(e.input.getAttribute("step"))), e.input.type = "hidden", e.altInput !== void 0 && (e.altInput.type = "hidden");
831
+ try {
832
+ e.input.parentNode && e.input.parentNode.insertBefore(e.mobileInput, e.input.nextSibling);
833
+ } catch {
834
+ }
835
+ m(e.mobileInput, "change", function(t) {
836
+ e.setDate(w(t).value, !1, e.mobileFormatStr), h("onChange"), h("onClose");
837
+ });
838
+ }
839
+ function cn(n) {
840
+ if (e.isOpen === !0)
841
+ return e.close();
842
+ e.open(n);
843
+ }
844
+ function h(n, t) {
845
+ if (e.config !== void 0) {
846
+ var a = e.config[n];
847
+ if (a !== void 0 && a.length > 0)
848
+ for (var i = 0; a[i] && i < a.length; i++)
849
+ a[i](e.selectedDates, e.input.value, e, t);
850
+ n === "onChange" && (e.input.dispatchEvent(fe("change")), e.input.dispatchEvent(fe("input")));
851
+ }
852
+ }
853
+ function fe(n) {
854
+ var t = document.createEvent("Event");
855
+ return t.initEvent(n, !0, !0), t;
856
+ }
857
+ function ce(n) {
858
+ for (var t = 0; t < e.selectedDates.length; t++) {
859
+ var a = e.selectedDates[t];
860
+ if (a instanceof Date && E(a, n) === 0)
861
+ return "" + t;
862
+ }
863
+ return !1;
864
+ }
865
+ function sn(n) {
866
+ return e.config.mode !== "range" || e.selectedDates.length < 2 ? !1 : E(n, e.selectedDates[0]) >= 0 && E(n, e.selectedDates[1]) <= 0;
867
+ }
868
+ function Z() {
869
+ e.config.noCalendar || e.isMobile || !e.monthNav || (e.yearElements.forEach(function(n, t) {
870
+ var a = new Date(e.currentYear, e.currentMonth, 1);
871
+ a.setMonth(e.currentMonth + t), e.config.showMonths > 1 || e.config.monthSelectorType === "static" ? e.monthElements[t].textContent = Ae(a.getMonth(), e.config.shorthandCurrentMonth, e.l10n) + " " : e.monthsDropdownContainer.value = a.getMonth().toString(), n.value = a.getFullYear().toString();
872
+ }), e._hidePrevMonthArrow = e.config.minDate !== void 0 && (e.currentYear === e.config.minDate.getFullYear() ? e.currentMonth <= e.config.minDate.getMonth() : e.currentYear < e.config.minDate.getFullYear()), e._hideNextMonthArrow = e.config.maxDate !== void 0 && (e.currentYear === e.config.maxDate.getFullYear() ? e.currentMonth + 1 > e.config.maxDate.getMonth() : e.currentYear > e.config.maxDate.getFullYear()));
873
+ }
874
+ function se(n) {
875
+ var t = n || (e.config.altInput ? e.config.altFormat : e.config.dateFormat);
876
+ return e.selectedDates.map(function(a) {
877
+ return e.formatDate(a, t);
878
+ }).filter(function(a, i, r) {
879
+ return e.config.mode !== "range" || e.config.enableTime || r.indexOf(a) === i;
880
+ }).join(e.config.mode !== "range" ? e.config.conjunction : e.l10n.rangeSeparator);
881
+ }
882
+ function S(n) {
883
+ n === void 0 && (n = !0), e.mobileInput !== void 0 && e.mobileFormatStr && (e.mobileInput.value = e.latestSelectedDateObj !== void 0 ? e.formatDate(e.latestSelectedDateObj, e.mobileFormatStr) : ""), e.input.value = se(e.config.dateFormat), e.altInput !== void 0 && (e.altInput.value = se(e.config.altFormat)), n !== !1 && h("onValueUpdate");
884
+ }
885
+ function dn(n) {
886
+ var t = w(n), a = e.prevMonthNav.contains(t), i = e.nextMonthNav.contains(t);
887
+ a || i ? re(a ? -1 : 1) : e.yearElements.indexOf(t) >= 0 ? t.select() : t.classList.contains("arrowUp") ? e.changeYear(e.currentYear + 1) : t.classList.contains("arrowDown") && e.changeYear(e.currentYear - 1);
888
+ }
889
+ function un(n) {
890
+ n.preventDefault();
891
+ var t = n.type === "keydown", a = w(n), i = a;
892
+ e.amPM !== void 0 && a === e.amPM && (e.amPM.textContent = e.l10n.amPM[_(e.amPM.textContent === e.l10n.amPM[0])]);
893
+ var r = parseFloat(i.getAttribute("min")), o = parseFloat(i.getAttribute("max")), s = parseFloat(i.getAttribute("step")), f = parseInt(i.value, 10), d = n.delta || (t ? n.which === 38 ? 1 : -1 : 0), l = f + s * d;
894
+ if (typeof i.value < "u" && i.value.length === 2) {
895
+ var c = i === e.hourElement, g = i === e.minuteElement;
896
+ l < r ? (l = o + l + _(!c) + (_(c) && _(!e.amPM)), g && ae(void 0, -1, e.hourElement)) : l > o && (l = i === e.hourElement ? l - o - _(!e.amPM) : r, g && ae(void 0, 1, e.hourElement)), e.amPM && c && (s === 1 ? l + f === 23 : Math.abs(l - f) > s) && (e.amPM.textContent = e.l10n.amPM[_(e.amPM.textContent === e.l10n.amPM[0])]), i.value = N(l);
897
+ }
898
+ }
899
+ return x(), e;
900
+ }
901
+ function F(u, v) {
902
+ for (var e = Array.prototype.slice.call(u).filter(function(I) {
903
+ return I instanceof HTMLElement;
904
+ }), k = [], x = 0; x < e.length; x++) {
905
+ var C = e[x];
906
+ try {
907
+ if (C.getAttribute("data-fp-omit") !== null)
908
+ continue;
909
+ C._flatpickr !== void 0 && (C._flatpickr.destroy(), C._flatpickr = void 0), C._flatpickr = In(C, v || {}), k.push(C._flatpickr);
910
+ } catch (I) {
911
+ console.error(I);
912
+ }
913
+ }
914
+ return k.length === 1 ? k[0] : k;
915
+ }
916
+ typeof HTMLElement < "u" && typeof HTMLCollection < "u" && typeof NodeList < "u" && (HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function(u) {
917
+ return F(this, u);
918
+ }, HTMLElement.prototype.flatpickr = function(u) {
919
+ return F([this], u);
920
+ });
921
+ var D = function(u, v) {
922
+ return typeof u == "string" ? F(window.document.querySelectorAll(u), v) : u instanceof Node ? F([u], v) : F(u, v);
923
+ };
924
+ D.defaultConfig = {};
925
+ D.l10ns = {
926
+ en: b({}, ve),
927
+ default: b({}, ve)
928
+ };
929
+ D.localize = function(u) {
930
+ D.l10ns.default = b(b({}, D.l10ns.default), u);
931
+ };
932
+ D.setDefaults = function(u) {
933
+ D.defaultConfig = b(b({}, D.defaultConfig), u);
934
+ };
935
+ D.parseDate = De({});
936
+ D.formatDate = Ye({});
937
+ D.compareDates = E;
938
+ typeof jQuery < "u" && typeof jQuery.fn < "u" && (jQuery.fn.flatpickr = function(u) {
939
+ return F(this, u);
940
+ });
941
+ Date.prototype.fp_incr = function(u) {
942
+ return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof u == "string" ? parseInt(u, 10) : u));
943
+ };
944
+ typeof window < "u" && (window.flatpickr = D);
945
+ export {
946
+ D as default
947
+ };