flatpickr 4.6.3.0 → 4.6.9.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/LICENSE.txt +1 -1
- data/Rakefile +14 -15
- data/flatpickr.gemspec +1 -1
- data/lib/flatpickr/version.rb +1 -1
- data/package.json +5 -0
- data/vendor/assets/javascripts/flatpickr/l10n/ar.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/at.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/az.js +8 -8
- data/vendor/assets/javascripts/flatpickr/l10n/be.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/bg.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/bn.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/bs.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/cat.js +8 -8
- data/vendor/assets/javascripts/flatpickr/l10n/cs.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/cy.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/da.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/de.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/default.js +7 -6
- data/vendor/assets/javascripts/flatpickr/l10n/eo.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/es.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/et.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/fa.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/fi.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/fo.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/fr.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ga.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/gr.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/he.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/hi.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/hr.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/hu.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/id.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/index.js +394 -259
- data/vendor/assets/javascripts/flatpickr/l10n/is.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/it.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ja.js +11 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ka.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/km.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ko.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/kz.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/lt.js +8 -7
- data/vendor/assets/javascripts/flatpickr/l10n/lv.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/mk.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/mn.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ms.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/my.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/nl.js +8 -8
- data/vendor/assets/javascripts/flatpickr/l10n/no.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/pa.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/pl.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/pt.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ro.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/ru.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/si.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/sk.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/sl.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/sq.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/sr-cyr.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/sr.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/sv.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/th.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/tr.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/uk.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/uz.js +75 -0
- data/vendor/assets/javascripts/flatpickr/l10n/uz_latn.js +75 -0
- data/vendor/assets/javascripts/flatpickr/l10n/vn.js +9 -9
- data/vendor/assets/javascripts/flatpickr/l10n/zh-tw.js +7 -7
- data/vendor/assets/javascripts/flatpickr/l10n/zh.js +7 -7
- data/vendor/assets/javascripts/flatpickr/plugins/confirmDate/confirmDate.js +34 -18
- data/vendor/assets/javascripts/flatpickr/plugins/labelPlugin/labelPlugin.js +4 -4
- data/vendor/assets/javascripts/flatpickr/plugins/minMaxTimePlugin.js +24 -20
- data/vendor/assets/javascripts/flatpickr/plugins/momentPlugin.js +69 -0
- data/vendor/assets/javascripts/flatpickr/plugins/monthSelect/index.js +53 -29
- data/vendor/assets/javascripts/flatpickr/plugins/rangePlugin.js +167 -142
- data/vendor/assets/javascripts/flatpickr/plugins/scrollPlugin.js +33 -6
- data/vendor/assets/javascripts/flatpickr/plugins/weekSelect/weekSelect.js +18 -5
- data/vendor/assets/javascripts/flatpickr.js +295 -227
- data/vendor/assets/stylesheets/flatpickr/themes/airbnb.css +9 -2
- data/vendor/assets/stylesheets/flatpickr/themes/confetti.css +11 -4
- data/vendor/assets/stylesheets/flatpickr/themes/dark.css +9 -2
- data/vendor/assets/stylesheets/flatpickr/themes/light.css +11 -4
- data/vendor/assets/stylesheets/flatpickr/themes/material_blue.css +11 -4
- data/vendor/assets/stylesheets/flatpickr/themes/material_green.css +11 -4
- data/vendor/assets/stylesheets/flatpickr/themes/material_orange.css +11 -4
- data/vendor/assets/stylesheets/flatpickr/themes/material_red.css +11 -4
- data/vendor/assets/stylesheets/flatpickr.css +9 -2
- metadata +12 -8
@@ -1,23 +1,23 @@
|
|
1
|
-
/* flatpickr v4.6.
|
1
|
+
/* flatpickr v4.6.9, @license MIT */
|
2
2
|
(function (global, factory) {
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
4
4
|
typeof define === 'function' && define.amd ? define(factory) :
|
5
|
-
(global = global || self, global.flatpickr = factory());
|
6
|
-
}(this, function () { 'use strict';
|
5
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.flatpickr = factory());
|
6
|
+
}(this, (function () { 'use strict';
|
7
7
|
|
8
8
|
/*! *****************************************************************************
|
9
|
-
Copyright (c) Microsoft Corporation.
|
10
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
11
|
-
this file except in compliance with the License. You may obtain a copy of the
|
12
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
Copyright (c) Microsoft Corporation.
|
13
10
|
|
14
|
-
|
15
|
-
|
16
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
17
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
11
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
12
|
+
purpose with or without fee is hereby granted.
|
18
13
|
|
19
|
-
|
20
|
-
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
15
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
16
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
17
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
18
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
19
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
20
|
+
PERFORMANCE OF THIS SOFTWARE.
|
21
21
|
***************************************************************************** */
|
22
22
|
|
23
23
|
var __assign = function() {
|
@@ -29,7 +29,15 @@
|
|
29
29
|
return t;
|
30
30
|
};
|
31
31
|
return __assign.apply(this, arguments);
|
32
|
-
};
|
32
|
+
};
|
33
|
+
|
34
|
+
function __spreadArrays() {
|
35
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
36
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
37
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
38
|
+
r[k] = a[j];
|
39
|
+
return r;
|
40
|
+
}
|
33
41
|
|
34
42
|
var HOOKS = [
|
35
43
|
"onChange",
|
@@ -47,14 +55,15 @@
|
|
47
55
|
];
|
48
56
|
var defaults = {
|
49
57
|
_disable: [],
|
50
|
-
_enable: [],
|
51
58
|
allowInput: false,
|
59
|
+
allowInvalidPreload: false,
|
52
60
|
altFormat: "F j, Y",
|
53
61
|
altInput: false,
|
54
62
|
altInputClass: "form-control input",
|
55
63
|
animate: typeof window === "object" &&
|
56
64
|
window.navigator.userAgent.indexOf("MSIE") === -1,
|
57
65
|
ariaDateFormat: "F j, Y",
|
66
|
+
autoFillDefaultTime: true,
|
58
67
|
clickOpens: true,
|
59
68
|
closeOnSelect: true,
|
60
69
|
conjunction: ", ",
|
@@ -64,7 +73,6 @@
|
|
64
73
|
defaultSeconds: 0,
|
65
74
|
disable: [],
|
66
75
|
disableMobile: false,
|
67
|
-
enable: [],
|
68
76
|
enableSeconds: false,
|
69
77
|
enableTime: false,
|
70
78
|
errorHandler: function (err) {
|
@@ -115,7 +123,7 @@
|
|
115
123
|
static: false,
|
116
124
|
time_24hr: false,
|
117
125
|
weekNumbers: false,
|
118
|
-
wrap: false
|
126
|
+
wrap: false,
|
119
127
|
};
|
120
128
|
|
121
129
|
var english = {
|
@@ -129,7 +137,7 @@
|
|
129
137
|
"Thursday",
|
130
138
|
"Friday",
|
131
139
|
"Saturday",
|
132
|
-
]
|
140
|
+
],
|
133
141
|
},
|
134
142
|
months: {
|
135
143
|
shorthand: [
|
@@ -159,7 +167,7 @@
|
|
159
167
|
"October",
|
160
168
|
"November",
|
161
169
|
"December",
|
162
|
-
]
|
170
|
+
],
|
163
171
|
},
|
164
172
|
daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
|
165
173
|
firstDayOfWeek: 0,
|
@@ -184,27 +192,24 @@
|
|
184
192
|
toggleTitle: "Click to toggle",
|
185
193
|
amPM: ["AM", "PM"],
|
186
194
|
yearAriaLabel: "Year",
|
195
|
+
monthAriaLabel: "Month",
|
187
196
|
hourAriaLabel: "Hour",
|
188
197
|
minuteAriaLabel: "Minute",
|
189
|
-
time_24hr: false
|
198
|
+
time_24hr: false,
|
190
199
|
};
|
191
200
|
|
192
|
-
var pad = function (number) {
|
201
|
+
var pad = function (number, length) {
|
202
|
+
if (length === void 0) { length = 2; }
|
203
|
+
return ("000" + number).slice(length * -1);
|
204
|
+
};
|
193
205
|
var int = function (bool) { return (bool === true ? 1 : 0); };
|
194
206
|
/* istanbul ignore next */
|
195
|
-
function debounce(
|
196
|
-
|
197
|
-
var timeout;
|
207
|
+
function debounce(fn, wait) {
|
208
|
+
var t;
|
198
209
|
return function () {
|
199
|
-
var
|
200
|
-
|
201
|
-
|
202
|
-
timeout = null;
|
203
|
-
if (!immediate)
|
204
|
-
func.apply(context, args);
|
205
|
-
}, wait);
|
206
|
-
if (immediate && !timeout)
|
207
|
-
func.apply(context, args);
|
210
|
+
var _this = this;
|
211
|
+
clearTimeout(t);
|
212
|
+
t = setTimeout(function () { return fn.apply(_this, arguments); }, wait);
|
208
213
|
};
|
209
214
|
}
|
210
215
|
var arrayify = function (obj) {
|
@@ -254,11 +259,16 @@
|
|
254
259
|
return wrapper;
|
255
260
|
}
|
256
261
|
function getEventTarget(event) {
|
257
|
-
|
258
|
-
|
259
|
-
|
262
|
+
try {
|
263
|
+
if (typeof event.composedPath === "function") {
|
264
|
+
var path = event.composedPath();
|
265
|
+
return path[0];
|
266
|
+
}
|
267
|
+
return event.target;
|
268
|
+
}
|
269
|
+
catch (error) {
|
270
|
+
return event.target;
|
260
271
|
}
|
261
|
-
return event.target;
|
262
272
|
}
|
263
273
|
|
264
274
|
var doNothing = function () { return undefined; };
|
@@ -326,7 +336,7 @@
|
|
326
336
|
w: doNothing,
|
327
337
|
y: function (dateObj, year) {
|
328
338
|
dateObj.setFullYear(2000 + parseFloat(year));
|
329
|
-
}
|
339
|
+
},
|
330
340
|
};
|
331
341
|
var tokenRegex = {
|
332
342
|
D: "(\\w+)",
|
@@ -351,7 +361,7 @@
|
|
351
361
|
s: "(\\d\\d|\\d)",
|
352
362
|
u: "(.+)",
|
353
363
|
w: "(\\d\\d|\\d)",
|
354
|
-
y: "(\\d{2})"
|
364
|
+
y: "(\\d{2})",
|
355
365
|
};
|
356
366
|
var formats = {
|
357
367
|
// get the date in UTC
|
@@ -389,8 +399,8 @@
|
|
389
399
|
W: function (date, _, options) {
|
390
400
|
return options.getWeek(date);
|
391
401
|
},
|
392
|
-
// full year e.g. 2016
|
393
|
-
Y: function (date) { return date.getFullYear(); },
|
402
|
+
// full year e.g. 2016, padded (0001-9999)
|
403
|
+
Y: function (date) { return pad(date.getFullYear(), 4); },
|
394
404
|
// day in month, padded (01-30)
|
395
405
|
d: function (date) { return pad(date.getDate()); },
|
396
406
|
// hour from 1-12 (am/pm)
|
@@ -414,14 +424,14 @@
|
|
414
424
|
// number of the day of the week
|
415
425
|
w: function (date) { return date.getDay(); },
|
416
426
|
// last two digits of year e.g. 16 for 2016
|
417
|
-
y: function (date) { return String(date.getFullYear()).substring(2); }
|
427
|
+
y: function (date) { return String(date.getFullYear()).substring(2); },
|
418
428
|
};
|
419
429
|
|
420
430
|
var createDateFormatter = function (_a) {
|
421
|
-
var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;
|
431
|
+
var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;
|
422
432
|
return function (dateObj, frmt, overrideLocale) {
|
423
433
|
var locale = overrideLocale || l10n;
|
424
|
-
if (config.formatDate !== undefined) {
|
434
|
+
if (config.formatDate !== undefined && !isMobile) {
|
425
435
|
return config.formatDate(dateObj, frmt, locale);
|
426
436
|
}
|
427
437
|
return frmt
|
@@ -481,7 +491,7 @@
|
|
481
491
|
if (match && (matched = true)) {
|
482
492
|
ops[token_1 !== "Y" ? "push" : "unshift"]({
|
483
493
|
fn: revFormat[token_1],
|
484
|
-
val: match[++matchIndex]
|
494
|
+
val: match[++matchIndex],
|
485
495
|
});
|
486
496
|
}
|
487
497
|
}
|
@@ -520,8 +530,36 @@
|
|
520
530
|
return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);
|
521
531
|
};
|
522
532
|
var duration = {
|
523
|
-
DAY: 86400000
|
533
|
+
DAY: 86400000,
|
524
534
|
};
|
535
|
+
function getDefaultHours(config) {
|
536
|
+
var hours = config.defaultHour;
|
537
|
+
var minutes = config.defaultMinute;
|
538
|
+
var seconds = config.defaultSeconds;
|
539
|
+
if (config.minDate !== undefined) {
|
540
|
+
var minHour = config.minDate.getHours();
|
541
|
+
var minMinutes = config.minDate.getMinutes();
|
542
|
+
var minSeconds = config.minDate.getSeconds();
|
543
|
+
if (hours < minHour) {
|
544
|
+
hours = minHour;
|
545
|
+
}
|
546
|
+
if (hours === minHour && minutes < minMinutes) {
|
547
|
+
minutes = minMinutes;
|
548
|
+
}
|
549
|
+
if (hours === minHour && minutes === minMinutes && seconds < minSeconds)
|
550
|
+
seconds = config.minDate.getSeconds();
|
551
|
+
}
|
552
|
+
if (config.maxDate !== undefined) {
|
553
|
+
var maxHr = config.maxDate.getHours();
|
554
|
+
var maxMinutes = config.maxDate.getMinutes();
|
555
|
+
hours = Math.min(hours, maxHr);
|
556
|
+
if (hours === maxHr)
|
557
|
+
minutes = Math.min(maxMinutes, minutes);
|
558
|
+
if (hours === maxHr && minutes === maxMinutes)
|
559
|
+
seconds = config.maxDate.getSeconds();
|
560
|
+
}
|
561
|
+
return { hours: hours, minutes: minutes, seconds: seconds };
|
562
|
+
}
|
525
563
|
|
526
564
|
if (typeof Object.assign !== "function") {
|
527
565
|
Object.assign = function (target) {
|
@@ -548,8 +586,8 @@
|
|
548
586
|
var DEBOUNCED_CHANGE_MS = 300;
|
549
587
|
function FlatpickrInstance(element, instanceConfig) {
|
550
588
|
var self = {
|
551
|
-
config: __assign({}, defaults, flatpickr.defaultConfig),
|
552
|
-
l10n: english
|
589
|
+
config: __assign(__assign({}, defaults), flatpickr.defaultConfig),
|
590
|
+
l10n: english,
|
553
591
|
};
|
554
592
|
self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });
|
555
593
|
self._handlers = [];
|
@@ -579,7 +617,7 @@
|
|
579
617
|
if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))
|
580
618
|
return 29;
|
581
619
|
return self.l10n.daysInMonth[month];
|
582
|
-
}
|
620
|
+
},
|
583
621
|
};
|
584
622
|
}
|
585
623
|
function init() {
|
@@ -595,15 +633,11 @@
|
|
595
633
|
bindEvents();
|
596
634
|
if (self.selectedDates.length || self.config.noCalendar) {
|
597
635
|
if (self.config.enableTime) {
|
598
|
-
setHoursFromDate(self.config.noCalendar
|
599
|
-
? self.latestSelectedDateObj || self.config.minDate
|
600
|
-
: undefined);
|
636
|
+
setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);
|
601
637
|
}
|
602
638
|
updateValue(false);
|
603
639
|
}
|
604
640
|
setCalendarWidth();
|
605
|
-
self.showTimeInput =
|
606
|
-
self.selectedDates.length > 0 || self.config.noCalendar;
|
607
641
|
var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
608
642
|
/* TODO: investigate this further
|
609
643
|
|
@@ -623,8 +657,9 @@
|
|
623
657
|
}
|
624
658
|
function setCalendarWidth() {
|
625
659
|
var config = self.config;
|
626
|
-
if (config.weekNumbers === false && config.showMonths === 1)
|
660
|
+
if (config.weekNumbers === false && config.showMonths === 1) {
|
627
661
|
return;
|
662
|
+
}
|
628
663
|
else if (config.noCalendar !== true) {
|
629
664
|
window.requestAnimationFrame(function () {
|
630
665
|
if (self.calendarContainer !== undefined) {
|
@@ -651,7 +686,14 @@
|
|
651
686
|
*/
|
652
687
|
function updateTime(e) {
|
653
688
|
if (self.selectedDates.length === 0) {
|
654
|
-
|
689
|
+
var defaultDate = self.config.minDate === undefined ||
|
690
|
+
compareDates(new Date(), self.config.minDate) >= 0
|
691
|
+
? new Date()
|
692
|
+
: new Date(self.config.minDate.getTime());
|
693
|
+
var defaults = getDefaultHours(self.config);
|
694
|
+
defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());
|
695
|
+
self.selectedDates = [defaultDate];
|
696
|
+
self.latestSelectedDateObj = defaultDate;
|
655
697
|
}
|
656
698
|
if (e !== undefined && e.type !== "blur") {
|
657
699
|
timeWrapper(e);
|
@@ -714,8 +756,8 @@
|
|
714
756
|
? self.config.minTime
|
715
757
|
: self.config.minDate;
|
716
758
|
hours = Math.max(hours, minTime.getHours());
|
717
|
-
if (hours === minTime.getHours())
|
718
|
-
minutes =
|
759
|
+
if (hours === minTime.getHours() && minutes < minTime.getMinutes())
|
760
|
+
minutes = minTime.getMinutes();
|
719
761
|
if (minutes === minTime.getMinutes())
|
720
762
|
seconds = Math.max(seconds, minTime.getSeconds());
|
721
763
|
}
|
@@ -726,32 +768,9 @@
|
|
726
768
|
*/
|
727
769
|
function setHoursFromDate(dateObj) {
|
728
770
|
var date = dateObj || self.latestSelectedDateObj;
|
729
|
-
if (date)
|
771
|
+
if (date) {
|
730
772
|
setHours(date.getHours(), date.getMinutes(), date.getSeconds());
|
731
|
-
}
|
732
|
-
function setDefaultHours() {
|
733
|
-
var hours = self.config.defaultHour;
|
734
|
-
var minutes = self.config.defaultMinute;
|
735
|
-
var seconds = self.config.defaultSeconds;
|
736
|
-
if (self.config.minDate !== undefined) {
|
737
|
-
var minHr = self.config.minDate.getHours();
|
738
|
-
var minMinutes = self.config.minDate.getMinutes();
|
739
|
-
hours = Math.max(hours, minHr);
|
740
|
-
if (hours === minHr)
|
741
|
-
minutes = Math.max(minMinutes, minutes);
|
742
|
-
if (hours === minHr && minutes === minMinutes)
|
743
|
-
seconds = self.config.minDate.getSeconds();
|
744
|
-
}
|
745
|
-
if (self.config.maxDate !== undefined) {
|
746
|
-
var maxHr = self.config.maxDate.getHours();
|
747
|
-
var maxMinutes = self.config.maxDate.getMinutes();
|
748
|
-
hours = Math.min(hours, maxHr);
|
749
|
-
if (hours === maxHr)
|
750
|
-
minutes = Math.min(maxMinutes, minutes);
|
751
|
-
if (hours === maxHr && minutes === maxMinutes)
|
752
|
-
seconds = self.config.maxDate.getSeconds();
|
753
773
|
}
|
754
|
-
setHours(hours, minutes, seconds);
|
755
774
|
}
|
756
775
|
/**
|
757
776
|
* Sets the hours, minutes, and optionally seconds
|
@@ -782,7 +801,8 @@
|
|
782
801
|
* @param {Event} event the keyup or increment event
|
783
802
|
*/
|
784
803
|
function onYearInput(event) {
|
785
|
-
var
|
804
|
+
var eventTarget = getEventTarget(event);
|
805
|
+
var year = parseInt(eventTarget.value) + (event.delta || 0);
|
786
806
|
if (year / 1000 > 1 ||
|
787
807
|
(event.key === "Enter" && !/[^\d]/.test(year.toString()))) {
|
788
808
|
changeYear(year);
|
@@ -801,24 +821,9 @@
|
|
801
821
|
return element.forEach(function (el) { return bind(el, event, handler, options); });
|
802
822
|
element.addEventListener(event, handler, options);
|
803
823
|
self._handlers.push({
|
804
|
-
|
805
|
-
event: event,
|
806
|
-
handler: handler,
|
807
|
-
options: options
|
824
|
+
remove: function () { return element.removeEventListener(event, handler); },
|
808
825
|
});
|
809
826
|
}
|
810
|
-
/**
|
811
|
-
* A mousedown handler which mimics click.
|
812
|
-
* Minimizes latency, since we don't need to wait for mouseup in most cases.
|
813
|
-
* Also, avoids handling right clicks.
|
814
|
-
*
|
815
|
-
* @param {Function} handler the event handler
|
816
|
-
*/
|
817
|
-
function onClick(handler) {
|
818
|
-
return function (evt) {
|
819
|
-
evt.which === 1 && handler(evt);
|
820
|
-
};
|
821
|
-
}
|
822
827
|
function triggerChange() {
|
823
828
|
triggerEvent("onChange");
|
824
829
|
}
|
@@ -842,7 +847,7 @@
|
|
842
847
|
if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))
|
843
848
|
bind(self.daysContainer, "mouseover", function (e) {
|
844
849
|
if (self.config.mode === "range")
|
845
|
-
onMouseOver(e
|
850
|
+
onMouseOver(getEventTarget(e));
|
846
851
|
});
|
847
852
|
bind(window.document.body, "keydown", onKeyDown);
|
848
853
|
if (!self.config.inline && !self.config.static)
|
@@ -850,36 +855,39 @@
|
|
850
855
|
if (window.ontouchstart !== undefined)
|
851
856
|
bind(window.document, "touchstart", documentClick);
|
852
857
|
else
|
853
|
-
bind(window.document, "mousedown",
|
858
|
+
bind(window.document, "mousedown", documentClick);
|
854
859
|
bind(window.document, "focus", documentClick, { capture: true });
|
855
860
|
if (self.config.clickOpens === true) {
|
856
861
|
bind(self._input, "focus", self.open);
|
857
|
-
bind(self._input, "
|
862
|
+
bind(self._input, "click", self.open);
|
858
863
|
}
|
859
864
|
if (self.daysContainer !== undefined) {
|
860
|
-
bind(self.monthNav, "
|
865
|
+
bind(self.monthNav, "click", onMonthNavClick);
|
861
866
|
bind(self.monthNav, ["keyup", "increment"], onYearInput);
|
862
|
-
bind(self.daysContainer, "
|
867
|
+
bind(self.daysContainer, "click", selectDate);
|
863
868
|
}
|
864
869
|
if (self.timeContainer !== undefined &&
|
865
870
|
self.minuteElement !== undefined &&
|
866
871
|
self.hourElement !== undefined) {
|
867
872
|
var selText = function (e) {
|
868
|
-
return e.
|
873
|
+
return getEventTarget(e).select();
|
869
874
|
};
|
870
875
|
bind(self.timeContainer, ["increment"], updateTime);
|
871
876
|
bind(self.timeContainer, "blur", updateTime, { capture: true });
|
872
|
-
bind(self.timeContainer, "
|
877
|
+
bind(self.timeContainer, "click", timeIncrement);
|
873
878
|
bind([self.hourElement, self.minuteElement], ["focus", "click"], selText);
|
874
879
|
if (self.secondElement !== undefined)
|
875
880
|
bind(self.secondElement, "focus", function () { return self.secondElement && self.secondElement.select(); });
|
876
881
|
if (self.amPM !== undefined) {
|
877
|
-
bind(self.amPM, "
|
882
|
+
bind(self.amPM, "click", function (e) {
|
878
883
|
updateTime(e);
|
879
884
|
triggerChange();
|
880
|
-
})
|
885
|
+
});
|
881
886
|
}
|
882
887
|
}
|
888
|
+
if (self.config.allowInput) {
|
889
|
+
bind(self._input, "blur", onBlur);
|
890
|
+
}
|
883
891
|
}
|
884
892
|
/**
|
885
893
|
* Set the calendar view to a particular date.
|
@@ -923,8 +931,9 @@
|
|
923
931
|
* @param {Event} e the click event
|
924
932
|
*/
|
925
933
|
function timeIncrement(e) {
|
926
|
-
|
927
|
-
|
934
|
+
var eventTarget = getEventTarget(e);
|
935
|
+
if (~eventTarget.className.indexOf("arrow"))
|
936
|
+
incrementNumInput(e, eventTarget.classList.contains("arrowUp") ? 1 : -1);
|
928
937
|
}
|
929
938
|
/**
|
930
939
|
* Increments/decrements the value of input associ-
|
@@ -936,7 +945,7 @@
|
|
936
945
|
* @param {Element} inputElem the input element
|
937
946
|
*/
|
938
947
|
function incrementNumInput(e, delta, inputElem) {
|
939
|
-
var target = e && e
|
948
|
+
var target = e && getEventTarget(e);
|
940
949
|
var input = inputElem ||
|
941
950
|
(target && target.parentNode && target.parentNode.firstChild);
|
942
951
|
var event = createEvent("increment");
|
@@ -1098,16 +1107,20 @@
|
|
1098
1107
|
: self.todayDateElem !== undefined && isInView(self.todayDateElem)
|
1099
1108
|
? self.todayDateElem
|
1100
1109
|
: getFirstAvailableDay(offset > 0 ? 1 : -1);
|
1101
|
-
if (startElem === undefined)
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1110
|
+
if (startElem === undefined) {
|
1111
|
+
self._input.focus();
|
1112
|
+
}
|
1113
|
+
else if (!dayFocused) {
|
1114
|
+
focusOnDayElem(startElem);
|
1115
|
+
}
|
1116
|
+
else {
|
1117
|
+
getNextAvailableDay(startElem, offset);
|
1118
|
+
}
|
1106
1119
|
}
|
1107
1120
|
function buildMonthDays(year, month) {
|
1108
1121
|
var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;
|
1109
|
-
var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12);
|
1110
|
-
var daysInMonth = self.utils.getDaysInMonth(month), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay";
|
1122
|
+
var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);
|
1123
|
+
var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay";
|
1111
1124
|
var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;
|
1112
1125
|
// prepend days from the ending of previous month
|
1113
1126
|
for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {
|
@@ -1186,8 +1199,9 @@
|
|
1186
1199
|
}
|
1187
1200
|
else {
|
1188
1201
|
self.monthsDropdownContainer = createElement("select", "flatpickr-monthDropdown-months");
|
1202
|
+
self.monthsDropdownContainer.setAttribute("aria-label", self.l10n.monthAriaLabel);
|
1189
1203
|
bind(self.monthsDropdownContainer, "change", function (e) {
|
1190
|
-
var target = e
|
1204
|
+
var target = getEventTarget(e);
|
1191
1205
|
var selectedMonth = parseInt(target.value, 10);
|
1192
1206
|
self.changeMonth(selectedMonth - self.currentMonth);
|
1193
1207
|
triggerEvent("onMonthChange");
|
@@ -1215,7 +1229,7 @@
|
|
1215
1229
|
return {
|
1216
1230
|
container: container,
|
1217
1231
|
yearElement: yearElement,
|
1218
|
-
monthElement: monthElement
|
1232
|
+
monthElement: monthElement,
|
1219
1233
|
};
|
1220
1234
|
}
|
1221
1235
|
function buildMonths() {
|
@@ -1249,7 +1263,7 @@
|
|
1249
1263
|
toggleClass(self.prevMonthNav, "flatpickr-disabled", bool);
|
1250
1264
|
self.__hidePrevMonthArrow = bool;
|
1251
1265
|
}
|
1252
|
-
}
|
1266
|
+
},
|
1253
1267
|
});
|
1254
1268
|
Object.defineProperty(self, "_hideNextMonthArrow", {
|
1255
1269
|
get: function () { return self.__hideNextMonthArrow; },
|
@@ -1258,7 +1272,7 @@
|
|
1258
1272
|
toggleClass(self.nextMonthNav, "flatpickr-disabled", bool);
|
1259
1273
|
self.__hideNextMonthArrow = bool;
|
1260
1274
|
}
|
1261
|
-
}
|
1275
|
+
},
|
1262
1276
|
});
|
1263
1277
|
self.currentYearElement = self.yearElements[0];
|
1264
1278
|
updateNavigationCurrentMonth();
|
@@ -1268,32 +1282,35 @@
|
|
1268
1282
|
self.calendarContainer.classList.add("hasTime");
|
1269
1283
|
if (self.config.noCalendar)
|
1270
1284
|
self.calendarContainer.classList.add("noCalendar");
|
1285
|
+
var defaults = getDefaultHours(self.config);
|
1271
1286
|
self.timeContainer = createElement("div", "flatpickr-time");
|
1272
1287
|
self.timeContainer.tabIndex = -1;
|
1273
1288
|
var separator = createElement("span", "flatpickr-time-separator", ":");
|
1274
1289
|
var hourInput = createNumberInput("flatpickr-hour", {
|
1275
|
-
"aria-label": self.l10n.hourAriaLabel
|
1290
|
+
"aria-label": self.l10n.hourAriaLabel,
|
1276
1291
|
});
|
1277
1292
|
self.hourElement = hourInput.getElementsByTagName("input")[0];
|
1278
1293
|
var minuteInput = createNumberInput("flatpickr-minute", {
|
1279
|
-
"aria-label": self.l10n.minuteAriaLabel
|
1294
|
+
"aria-label": self.l10n.minuteAriaLabel,
|
1280
1295
|
});
|
1281
1296
|
self.minuteElement = minuteInput.getElementsByTagName("input")[0];
|
1282
1297
|
self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;
|
1283
1298
|
self.hourElement.value = pad(self.latestSelectedDateObj
|
1284
1299
|
? self.latestSelectedDateObj.getHours()
|
1285
1300
|
: self.config.time_24hr
|
1286
|
-
?
|
1287
|
-
: military2ampm(
|
1301
|
+
? defaults.hours
|
1302
|
+
: military2ampm(defaults.hours));
|
1288
1303
|
self.minuteElement.value = pad(self.latestSelectedDateObj
|
1289
1304
|
? self.latestSelectedDateObj.getMinutes()
|
1290
|
-
:
|
1305
|
+
: defaults.minutes);
|
1291
1306
|
self.hourElement.setAttribute("step", self.config.hourIncrement.toString());
|
1292
1307
|
self.minuteElement.setAttribute("step", self.config.minuteIncrement.toString());
|
1293
1308
|
self.hourElement.setAttribute("min", self.config.time_24hr ? "0" : "1");
|
1294
1309
|
self.hourElement.setAttribute("max", self.config.time_24hr ? "23" : "12");
|
1310
|
+
self.hourElement.setAttribute("maxlength", "2");
|
1295
1311
|
self.minuteElement.setAttribute("min", "0");
|
1296
1312
|
self.minuteElement.setAttribute("max", "59");
|
1313
|
+
self.minuteElement.setAttribute("maxlength", "2");
|
1297
1314
|
self.timeContainer.appendChild(hourInput);
|
1298
1315
|
self.timeContainer.appendChild(separator);
|
1299
1316
|
self.timeContainer.appendChild(minuteInput);
|
@@ -1305,10 +1322,11 @@
|
|
1305
1322
|
self.secondElement = secondInput.getElementsByTagName("input")[0];
|
1306
1323
|
self.secondElement.value = pad(self.latestSelectedDateObj
|
1307
1324
|
? self.latestSelectedDateObj.getSeconds()
|
1308
|
-
:
|
1325
|
+
: defaults.seconds);
|
1309
1326
|
self.secondElement.setAttribute("step", self.minuteElement.getAttribute("step"));
|
1310
1327
|
self.secondElement.setAttribute("min", "0");
|
1311
1328
|
self.secondElement.setAttribute("max", "59");
|
1329
|
+
self.secondElement.setAttribute("maxlength", "2");
|
1312
1330
|
self.timeContainer.appendChild(createElement("span", "flatpickr-time-separator", ":"));
|
1313
1331
|
self.timeContainer.appendChild(secondInput);
|
1314
1332
|
}
|
@@ -1340,9 +1358,9 @@
|
|
1340
1358
|
return;
|
1341
1359
|
}
|
1342
1360
|
var firstDayOfWeek = self.l10n.firstDayOfWeek;
|
1343
|
-
var weekdays = self.l10n.weekdays.shorthand
|
1361
|
+
var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);
|
1344
1362
|
if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {
|
1345
|
-
weekdays = weekdays.splice(firstDayOfWeek, weekdays.length)
|
1363
|
+
weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));
|
1346
1364
|
}
|
1347
1365
|
for (var i = self.config.showMonths; i--;) {
|
1348
1366
|
self.weekdayContainer.children[i].innerHTML = "\n <span class='flatpickr-weekday'>\n " + weekdays.join("</span><span class='flatpickr-weekday'>") + "\n </span>\n ";
|
@@ -1357,7 +1375,7 @@
|
|
1357
1375
|
weekWrapper.appendChild(weekNumbers);
|
1358
1376
|
return {
|
1359
1377
|
weekWrapper: weekWrapper,
|
1360
|
-
weekNumbers: weekNumbers
|
1378
|
+
weekNumbers: weekNumbers,
|
1361
1379
|
};
|
1362
1380
|
}
|
1363
1381
|
function changeMonth(value, isOffset) {
|
@@ -1391,9 +1409,9 @@
|
|
1391
1409
|
self.currentYear = self._initialDate.getFullYear();
|
1392
1410
|
self.currentMonth = self._initialDate.getMonth();
|
1393
1411
|
}
|
1394
|
-
self.showTimeInput = false;
|
1395
1412
|
if (self.config.enableTime === true) {
|
1396
|
-
|
1413
|
+
var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;
|
1414
|
+
setHours(hours, minutes, seconds);
|
1397
1415
|
}
|
1398
1416
|
self.redraw();
|
1399
1417
|
if (triggerChangeEvent)
|
@@ -1416,8 +1434,7 @@
|
|
1416
1434
|
if (self.config !== undefined)
|
1417
1435
|
triggerEvent("onDestroy");
|
1418
1436
|
for (var i = self._handlers.length; i--;) {
|
1419
|
-
|
1420
|
-
h.element.removeEventListener(h.event, h.handler, h.options);
|
1437
|
+
self._handlers[i].remove();
|
1421
1438
|
}
|
1422
1439
|
self._handlers = [];
|
1423
1440
|
if (self.mobileInput) {
|
@@ -1448,7 +1465,6 @@
|
|
1448
1465
|
self.input.type = self.input._type;
|
1449
1466
|
self.input.classList.remove("flatpickr-input");
|
1450
1467
|
self.input.removeAttribute("readonly");
|
1451
|
-
self.input.value = "";
|
1452
1468
|
}
|
1453
1469
|
[
|
1454
1470
|
"_showTimeInput",
|
@@ -1518,11 +1534,15 @@
|
|
1518
1534
|
if (lostFocus && isIgnored) {
|
1519
1535
|
if (self.timeContainer !== undefined &&
|
1520
1536
|
self.minuteElement !== undefined &&
|
1521
|
-
self.hourElement !== undefined
|
1537
|
+
self.hourElement !== undefined &&
|
1538
|
+
self.input.value !== "" &&
|
1539
|
+
self.input.value !== undefined) {
|
1522
1540
|
updateTime();
|
1523
1541
|
}
|
1524
1542
|
self.close();
|
1525
|
-
if (self.config
|
1543
|
+
if (self.config &&
|
1544
|
+
self.config.mode === "range" &&
|
1545
|
+
self.selectedDates.length === 1) {
|
1526
1546
|
self.clear(false);
|
1527
1547
|
self.redraw();
|
1528
1548
|
}
|
@@ -1551,6 +1571,7 @@
|
|
1551
1571
|
}
|
1552
1572
|
}
|
1553
1573
|
function isEnabled(date, timeless) {
|
1574
|
+
var _a;
|
1554
1575
|
if (timeless === void 0) { timeless = true; }
|
1555
1576
|
var dateToCheck = self.parseDate(date, undefined, timeless); // timeless
|
1556
1577
|
if ((self.config.minDate &&
|
@@ -1560,11 +1581,11 @@
|
|
1560
1581
|
dateToCheck &&
|
1561
1582
|
compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))
|
1562
1583
|
return false;
|
1563
|
-
if (self.config.enable
|
1584
|
+
if (!self.config.enable && self.config.disable.length === 0)
|
1564
1585
|
return true;
|
1565
1586
|
if (dateToCheck === undefined)
|
1566
1587
|
return false;
|
1567
|
-
var bool = self.config.enable
|
1588
|
+
var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;
|
1568
1589
|
for (var i = 0, d = void 0; i < array.length; i++) {
|
1569
1590
|
d = array[i];
|
1570
1591
|
if (typeof d === "function" &&
|
@@ -1576,7 +1597,7 @@
|
|
1576
1597
|
d.getTime() === dateToCheck.getTime())
|
1577
1598
|
// disabled by date
|
1578
1599
|
return bool;
|
1579
|
-
else if (typeof d === "string"
|
1600
|
+
else if (typeof d === "string") {
|
1580
1601
|
// disabled by date string
|
1581
1602
|
var parsed = self.parseDate(d, undefined, true);
|
1582
1603
|
return parsed && parsed.getTime() === dateToCheck.getTime()
|
@@ -1598,9 +1619,20 @@
|
|
1598
1619
|
function isInView(elem) {
|
1599
1620
|
if (self.daysContainer !== undefined)
|
1600
1621
|
return (elem.className.indexOf("hidden") === -1 &&
|
1622
|
+
elem.className.indexOf("flatpickr-disabled") === -1 &&
|
1601
1623
|
self.daysContainer.contains(elem));
|
1602
1624
|
return false;
|
1603
1625
|
}
|
1626
|
+
function onBlur(e) {
|
1627
|
+
var isInput = e.target === self._input;
|
1628
|
+
if (isInput &&
|
1629
|
+
(self.selectedDates.length > 0 || self._input.value.length > 0) &&
|
1630
|
+
!(e.relatedTarget && isCalendarElem(e.relatedTarget))) {
|
1631
|
+
self.setDate(self._input.value, true, e.target === self.altInput
|
1632
|
+
? self.config.altFormat
|
1633
|
+
: self.config.dateFormat);
|
1634
|
+
}
|
1635
|
+
}
|
1604
1636
|
function onKeyDown(e) {
|
1605
1637
|
// e.key e.keyCode
|
1606
1638
|
// "Backspace" 8
|
@@ -1612,26 +1644,29 @@
|
|
1612
1644
|
// "ArrowRight" (IE "Right") 39
|
1613
1645
|
// "ArrowDown" (IE "Down") 40
|
1614
1646
|
// "Delete" (IE "Del") 46
|
1615
|
-
var
|
1647
|
+
var eventTarget = getEventTarget(e);
|
1648
|
+
var isInput = self.config.wrap
|
1649
|
+
? element.contains(eventTarget)
|
1650
|
+
: eventTarget === self._input;
|
1616
1651
|
var allowInput = self.config.allowInput;
|
1617
1652
|
var allowKeydown = self.isOpen && (!allowInput || !isInput);
|
1618
1653
|
var allowInlineKeydown = self.config.inline && isInput && !allowInput;
|
1619
1654
|
if (e.keyCode === 13 && isInput) {
|
1620
1655
|
if (allowInput) {
|
1621
|
-
self.setDate(self._input.value, true,
|
1656
|
+
self.setDate(self._input.value, true, eventTarget === self.altInput
|
1622
1657
|
? self.config.altFormat
|
1623
1658
|
: self.config.dateFormat);
|
1624
|
-
return
|
1659
|
+
return eventTarget.blur();
|
1625
1660
|
}
|
1626
1661
|
else {
|
1627
1662
|
self.open();
|
1628
1663
|
}
|
1629
1664
|
}
|
1630
|
-
else if (isCalendarElem(
|
1665
|
+
else if (isCalendarElem(eventTarget) ||
|
1631
1666
|
allowKeydown ||
|
1632
1667
|
allowInlineKeydown) {
|
1633
1668
|
var isTimeObj = !!self.timeContainer &&
|
1634
|
-
self.timeContainer.contains(
|
1669
|
+
self.timeContainer.contains(eventTarget);
|
1635
1670
|
switch (e.keyCode) {
|
1636
1671
|
case 13:
|
1637
1672
|
if (isTimeObj) {
|
@@ -1677,9 +1712,10 @@
|
|
1677
1712
|
case 40:
|
1678
1713
|
e.preventDefault();
|
1679
1714
|
var delta = e.keyCode === 40 ? 1 : -1;
|
1680
|
-
if ((self.daysContainer &&
|
1681
|
-
|
1682
|
-
|
1715
|
+
if ((self.daysContainer &&
|
1716
|
+
eventTarget.$i !== undefined) ||
|
1717
|
+
eventTarget === self.input ||
|
1718
|
+
eventTarget === self.altInput) {
|
1683
1719
|
if (e.ctrlKey) {
|
1684
1720
|
e.stopPropagation();
|
1685
1721
|
changeYear(self.currentYear - delta);
|
@@ -1688,7 +1724,7 @@
|
|
1688
1724
|
else if (!isTimeObj)
|
1689
1725
|
focusOnDay(undefined, delta * 7);
|
1690
1726
|
}
|
1691
|
-
else if (
|
1727
|
+
else if (eventTarget === self.currentYearElement) {
|
1692
1728
|
changeYear(self.currentYear - delta);
|
1693
1729
|
}
|
1694
1730
|
else if (self.config.enableTime) {
|
@@ -1708,7 +1744,7 @@
|
|
1708
1744
|
]
|
1709
1745
|
.concat(self.pluginElements)
|
1710
1746
|
.filter(function (x) { return x; });
|
1711
|
-
var i = elems.indexOf(
|
1747
|
+
var i = elems.indexOf(eventTarget);
|
1712
1748
|
if (i !== -1) {
|
1713
1749
|
var target = elems[i + (e.shiftKey ? -1 : 1)];
|
1714
1750
|
e.preventDefault();
|
@@ -1717,17 +1753,15 @@
|
|
1717
1753
|
}
|
1718
1754
|
else if (!self.config.noCalendar &&
|
1719
1755
|
self.daysContainer &&
|
1720
|
-
self.daysContainer.contains(
|
1756
|
+
self.daysContainer.contains(eventTarget) &&
|
1721
1757
|
e.shiftKey) {
|
1722
1758
|
e.preventDefault();
|
1723
1759
|
self._input.focus();
|
1724
1760
|
}
|
1725
1761
|
break;
|
1726
|
-
default:
|
1727
|
-
break;
|
1728
1762
|
}
|
1729
1763
|
}
|
1730
|
-
if (self.amPM !== undefined &&
|
1764
|
+
if (self.amPM !== undefined && eventTarget === self.amPM) {
|
1731
1765
|
switch (e.key) {
|
1732
1766
|
case self.l10n.amPM[0].charAt(0):
|
1733
1767
|
case self.l10n.amPM[0].charAt(0).toLowerCase():
|
@@ -1743,7 +1777,7 @@
|
|
1743
1777
|
break;
|
1744
1778
|
}
|
1745
1779
|
}
|
1746
|
-
if (isInput || isCalendarElem(
|
1780
|
+
if (isInput || isCalendarElem(eventTarget)) {
|
1747
1781
|
triggerEvent("onKeyDown", e);
|
1748
1782
|
}
|
1749
1783
|
}
|
@@ -1810,19 +1844,15 @@
|
|
1810
1844
|
if (self.isOpen && !self.config.static && !self.config.inline)
|
1811
1845
|
positionCalendar();
|
1812
1846
|
}
|
1813
|
-
function setDefaultTime() {
|
1814
|
-
self.setDate(self.config.minDate !== undefined
|
1815
|
-
? new Date(self.config.minDate.getTime())
|
1816
|
-
: new Date(), true);
|
1817
|
-
setDefaultHours();
|
1818
|
-
updateValue();
|
1819
|
-
}
|
1820
1847
|
function open(e, positionElement) {
|
1821
1848
|
if (positionElement === void 0) { positionElement = self._positionElement; }
|
1822
1849
|
if (self.isMobile === true) {
|
1823
1850
|
if (e) {
|
1824
1851
|
e.preventDefault();
|
1825
|
-
|
1852
|
+
var eventTarget = getEventTarget(e);
|
1853
|
+
if (eventTarget) {
|
1854
|
+
eventTarget.blur();
|
1855
|
+
}
|
1826
1856
|
}
|
1827
1857
|
if (self.mobileInput !== undefined) {
|
1828
1858
|
self.mobileInput.focus();
|
@@ -1831,8 +1861,9 @@
|
|
1831
1861
|
triggerEvent("onOpen");
|
1832
1862
|
return;
|
1833
1863
|
}
|
1834
|
-
if (self._input.disabled || self.config.inline)
|
1864
|
+
else if (self._input.disabled || self.config.inline) {
|
1835
1865
|
return;
|
1866
|
+
}
|
1836
1867
|
var wasOpen = self.isOpen;
|
1837
1868
|
self.isOpen = true;
|
1838
1869
|
if (!wasOpen) {
|
@@ -1842,9 +1873,6 @@
|
|
1842
1873
|
positionCalendar(positionElement);
|
1843
1874
|
}
|
1844
1875
|
if (self.config.enableTime === true && self.config.noCalendar === true) {
|
1845
|
-
if (self.selectedDates.length === 0) {
|
1846
|
-
setDefaultTime();
|
1847
|
-
}
|
1848
1876
|
if (self.config.allowInput === false &&
|
1849
1877
|
(e === undefined ||
|
1850
1878
|
!self.timeContainer.contains(e.relatedTarget))) {
|
@@ -1886,6 +1914,7 @@
|
|
1886
1914
|
"wrap",
|
1887
1915
|
"weekNumbers",
|
1888
1916
|
"allowInput",
|
1917
|
+
"allowInvalidPreload",
|
1889
1918
|
"clickOpens",
|
1890
1919
|
"time_24hr",
|
1891
1920
|
"enableTime",
|
@@ -1897,7 +1926,7 @@
|
|
1897
1926
|
"enableSeconds",
|
1898
1927
|
"disableMobile",
|
1899
1928
|
];
|
1900
|
-
var userConfig = __assign({},
|
1929
|
+
var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);
|
1901
1930
|
var formats = {};
|
1902
1931
|
self.config.parseDate = userConfig.parseDate;
|
1903
1932
|
self.config.formatDate = userConfig.formatDate;
|
@@ -1905,13 +1934,13 @@
|
|
1905
1934
|
get: function () { return self.config._enable; },
|
1906
1935
|
set: function (dates) {
|
1907
1936
|
self.config._enable = parseDateRules(dates);
|
1908
|
-
}
|
1937
|
+
},
|
1909
1938
|
});
|
1910
1939
|
Object.defineProperty(self.config, "disable", {
|
1911
1940
|
get: function () { return self.config._disable; },
|
1912
1941
|
set: function (dates) {
|
1913
1942
|
self.config._disable = parseDateRules(dates);
|
1914
|
-
}
|
1943
|
+
},
|
1915
1944
|
});
|
1916
1945
|
var timeMode = userConfig.mode === "time";
|
1917
1946
|
if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {
|
@@ -1930,28 +1959,24 @@
|
|
1930
1959
|
? "h:i" + (userConfig.enableSeconds ? ":S K" : " K")
|
1931
1960
|
: defaultAltFormat + (" h:i" + (userConfig.enableSeconds ? ":S" : "") + " K");
|
1932
1961
|
}
|
1933
|
-
if (!userConfig.altInputClass) {
|
1934
|
-
self.config.altInputClass =
|
1935
|
-
self.input.className + " " + self.config.altInputClass;
|
1936
|
-
}
|
1937
1962
|
Object.defineProperty(self.config, "minDate", {
|
1938
1963
|
get: function () { return self.config._minDate; },
|
1939
|
-
set: minMaxDateSetter("min")
|
1964
|
+
set: minMaxDateSetter("min"),
|
1940
1965
|
});
|
1941
1966
|
Object.defineProperty(self.config, "maxDate", {
|
1942
1967
|
get: function () { return self.config._maxDate; },
|
1943
|
-
set: minMaxDateSetter("max")
|
1968
|
+
set: minMaxDateSetter("max"),
|
1944
1969
|
});
|
1945
1970
|
var minMaxTimeSetter = function (type) { return function (val) {
|
1946
1971
|
self.config[type === "min" ? "_minTime" : "_maxTime"] = self.parseDate(val, "H:i:S");
|
1947
1972
|
}; };
|
1948
1973
|
Object.defineProperty(self.config, "minTime", {
|
1949
1974
|
get: function () { return self.config._minTime; },
|
1950
|
-
set: minMaxTimeSetter("min")
|
1975
|
+
set: minMaxTimeSetter("min"),
|
1951
1976
|
});
|
1952
1977
|
Object.defineProperty(self.config, "maxTime", {
|
1953
1978
|
get: function () { return self.config._maxTime; },
|
1954
|
-
set: minMaxTimeSetter("max")
|
1979
|
+
set: minMaxTimeSetter("max"),
|
1955
1980
|
});
|
1956
1981
|
if (userConfig.mode === "time") {
|
1957
1982
|
self.config.noCalendar = true;
|
@@ -1959,6 +1984,7 @@
|
|
1959
1984
|
}
|
1960
1985
|
Object.assign(self.config, formats, userConfig);
|
1961
1986
|
for (var i = 0; i < boolOpts.length; i++)
|
1987
|
+
// https://github.com/microsoft/TypeScript/issues/31663
|
1962
1988
|
self.config[boolOpts[i]] =
|
1963
1989
|
self.config[boolOpts[i]] === true ||
|
1964
1990
|
self.config[boolOpts[i]] === "true";
|
@@ -1970,7 +1996,7 @@
|
|
1970
1996
|
!self.config.inline &&
|
1971
1997
|
self.config.mode === "single" &&
|
1972
1998
|
!self.config.disable.length &&
|
1973
|
-
!self.config.enable
|
1999
|
+
!self.config.enable &&
|
1974
2000
|
!self.config.weekNumbers &&
|
1975
2001
|
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
1976
2002
|
for (var i = 0; i < self.config.plugins.length; i++) {
|
@@ -1985,19 +2011,28 @@
|
|
1985
2011
|
self.config[key] = pluginConf[key];
|
1986
2012
|
}
|
1987
2013
|
}
|
2014
|
+
if (!userConfig.altInputClass) {
|
2015
|
+
self.config.altInputClass =
|
2016
|
+
getInputElem().className + " " + self.config.altInputClass;
|
2017
|
+
}
|
1988
2018
|
triggerEvent("onParseConfig");
|
1989
2019
|
}
|
2020
|
+
function getInputElem() {
|
2021
|
+
return self.config.wrap
|
2022
|
+
? element.querySelector("[data-input]")
|
2023
|
+
: element;
|
2024
|
+
}
|
1990
2025
|
function setupLocale() {
|
1991
2026
|
if (typeof self.config.locale !== "object" &&
|
1992
2027
|
typeof flatpickr.l10ns[self.config.locale] === "undefined")
|
1993
2028
|
self.config.errorHandler(new Error("flatpickr: invalid locale " + self.config.locale));
|
1994
|
-
self.l10n = __assign({}, flatpickr.l10ns
|
2029
|
+
self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === "object"
|
1995
2030
|
? self.config.locale
|
1996
2031
|
: self.config.locale !== "default"
|
1997
2032
|
? flatpickr.l10ns[self.config.locale]
|
1998
2033
|
: undefined));
|
1999
2034
|
tokenRegex.K = "(" + self.l10n.amPM[0] + "|" + self.l10n.amPM[1] + "|" + self.l10n.amPM[0].toLowerCase() + "|" + self.l10n.amPM[1].toLowerCase() + ")";
|
2000
|
-
var userConfig = __assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {})));
|
2035
|
+
var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));
|
2001
2036
|
if (userConfig.time_24hr === undefined &&
|
2002
2037
|
flatpickr.defaultConfig.time_24hr === undefined) {
|
2003
2038
|
self.config.time_24hr = self.l10n.time_24hr;
|
@@ -2006,6 +2041,9 @@
|
|
2006
2041
|
self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });
|
2007
2042
|
}
|
2008
2043
|
function positionCalendar(customPositionElement) {
|
2044
|
+
if (typeof self.config.position === "function") {
|
2045
|
+
return void self.config.position(self, customPositionElement);
|
2046
|
+
}
|
2009
2047
|
if (self.calendarContainer === undefined)
|
2010
2048
|
return;
|
2011
2049
|
triggerEvent("onPreCalendarPosition");
|
@@ -2021,12 +2059,22 @@
|
|
2021
2059
|
toggleClass(self.calendarContainer, "arrowBottom", showOnTop);
|
2022
2060
|
if (self.config.inline)
|
2023
2061
|
return;
|
2024
|
-
var left = window.pageXOffset +
|
2025
|
-
|
2026
|
-
|
2027
|
-
|
2028
|
-
|
2029
|
-
|
2062
|
+
var left = window.pageXOffset + inputBounds.left;
|
2063
|
+
var isCenter = false;
|
2064
|
+
var isRight = false;
|
2065
|
+
if (configPosHorizontal === "center") {
|
2066
|
+
left -= (calendarWidth - inputBounds.width) / 2;
|
2067
|
+
isCenter = true;
|
2068
|
+
}
|
2069
|
+
else if (configPosHorizontal === "right") {
|
2070
|
+
left -= calendarWidth - inputBounds.width;
|
2071
|
+
isRight = true;
|
2072
|
+
}
|
2073
|
+
toggleClass(self.calendarContainer, "arrowLeft", !isCenter && !isRight);
|
2074
|
+
toggleClass(self.calendarContainer, "arrowCenter", isCenter);
|
2075
|
+
toggleClass(self.calendarContainer, "arrowRight", isRight);
|
2076
|
+
var right = window.document.body.offsetWidth -
|
2077
|
+
(window.pageXOffset + inputBounds.right);
|
2030
2078
|
var rightMost = left + calendarWidth > window.document.body.offsetWidth;
|
2031
2079
|
var centerMost = right + calendarWidth > window.document.body.offsetWidth;
|
2032
2080
|
toggleClass(self.calendarContainer, "rightMost", rightMost);
|
@@ -2042,7 +2090,7 @@
|
|
2042
2090
|
self.calendarContainer.style.right = right + "px";
|
2043
2091
|
}
|
2044
2092
|
else {
|
2045
|
-
var doc =
|
2093
|
+
var doc = getDocumentStyleSheet();
|
2046
2094
|
// some testing environments don't have css support
|
2047
2095
|
if (doc === undefined)
|
2048
2096
|
return;
|
@@ -2059,9 +2107,30 @@
|
|
2059
2107
|
self.calendarContainer.style.right = "auto";
|
2060
2108
|
}
|
2061
2109
|
}
|
2110
|
+
function getDocumentStyleSheet() {
|
2111
|
+
var editableSheet = null;
|
2112
|
+
for (var i = 0; i < document.styleSheets.length; i++) {
|
2113
|
+
var sheet = document.styleSheets[i];
|
2114
|
+
try {
|
2115
|
+
sheet.cssRules;
|
2116
|
+
}
|
2117
|
+
catch (err) {
|
2118
|
+
continue;
|
2119
|
+
}
|
2120
|
+
editableSheet = sheet;
|
2121
|
+
break;
|
2122
|
+
}
|
2123
|
+
return editableSheet != null ? editableSheet : createStyleSheet();
|
2124
|
+
}
|
2125
|
+
function createStyleSheet() {
|
2126
|
+
var style = document.createElement("style");
|
2127
|
+
document.head.appendChild(style);
|
2128
|
+
return style.sheet;
|
2129
|
+
}
|
2062
2130
|
function redraw() {
|
2063
2131
|
if (self.config.noCalendar || self.isMobile)
|
2064
2132
|
return;
|
2133
|
+
buildMonthSwitch();
|
2065
2134
|
updateNavigationCurrentMonth();
|
2066
2135
|
buildDays();
|
2067
2136
|
}
|
@@ -2085,7 +2154,7 @@
|
|
2085
2154
|
!day.classList.contains("flatpickr-disabled") &&
|
2086
2155
|
!day.classList.contains("notAllowed");
|
2087
2156
|
};
|
2088
|
-
var t = findParent(e
|
2157
|
+
var t = findParent(getEventTarget(e), isSelectable);
|
2089
2158
|
if (t === undefined)
|
2090
2159
|
return;
|
2091
2160
|
var target = t;
|
@@ -2128,8 +2197,6 @@
|
|
2128
2197
|
updateNavigationCurrentMonth();
|
2129
2198
|
buildDays();
|
2130
2199
|
updateValue();
|
2131
|
-
if (self.config.enableTime)
|
2132
|
-
setTimeout(function () { return (self.showTimeInput = true); }, 50);
|
2133
2200
|
// maintain focus
|
2134
2201
|
if (!shouldChangeMonth &&
|
2135
2202
|
self.config.mode !== "range" &&
|
@@ -2156,7 +2223,19 @@
|
|
2156
2223
|
locale: [setupLocale, updateWeekdays],
|
2157
2224
|
showMonths: [buildMonths, setCalendarWidth, buildWeekdays],
|
2158
2225
|
minDate: [jumpToDate],
|
2159
|
-
maxDate: [jumpToDate]
|
2226
|
+
maxDate: [jumpToDate],
|
2227
|
+
clickOpens: [
|
2228
|
+
function () {
|
2229
|
+
if (self.config.clickOpens === true) {
|
2230
|
+
bind(self._input, "focus", self.open);
|
2231
|
+
bind(self._input, "click", self.open);
|
2232
|
+
}
|
2233
|
+
else {
|
2234
|
+
self._input.removeEventListener("focus", self.open);
|
2235
|
+
self._input.removeEventListener("click", self.open);
|
2236
|
+
}
|
2237
|
+
},
|
2238
|
+
],
|
2160
2239
|
};
|
2161
2240
|
function set(option, value) {
|
2162
2241
|
if (option !== null && typeof option === "object") {
|
@@ -2174,7 +2253,7 @@
|
|
2174
2253
|
self.config[option] = arrayify(value);
|
2175
2254
|
}
|
2176
2255
|
self.redraw();
|
2177
|
-
updateValue(
|
2256
|
+
updateValue(true);
|
2178
2257
|
}
|
2179
2258
|
function setSelectedDate(inputDate, format) {
|
2180
2259
|
var dates = [];
|
@@ -2198,13 +2277,13 @@
|
|
2198
2277
|
.split(self.l10n.rangeSeparator)
|
2199
2278
|
.map(function (date) { return self.parseDate(date, format); });
|
2200
2279
|
break;
|
2201
|
-
default:
|
2202
|
-
break;
|
2203
2280
|
}
|
2204
2281
|
}
|
2205
2282
|
else
|
2206
2283
|
self.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(inputDate)));
|
2207
|
-
self.selectedDates =
|
2284
|
+
self.selectedDates = (self.config.allowInvalidPreload
|
2285
|
+
? dates
|
2286
|
+
: dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));
|
2208
2287
|
if (self.config.mode === "range")
|
2209
2288
|
self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });
|
2210
2289
|
}
|
@@ -2214,11 +2293,10 @@
|
|
2214
2293
|
if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))
|
2215
2294
|
return self.clear(triggerChange);
|
2216
2295
|
setSelectedDate(date, format);
|
2217
|
-
self.showTimeInput = self.selectedDates.length > 0;
|
2218
2296
|
self.latestSelectedDateObj =
|
2219
2297
|
self.selectedDates[self.selectedDates.length - 1];
|
2220
2298
|
self.redraw();
|
2221
|
-
jumpToDate();
|
2299
|
+
jumpToDate(undefined, triggerChange);
|
2222
2300
|
setHoursFromDate();
|
2223
2301
|
if (self.selectedDates.length === 0) {
|
2224
2302
|
self.clear(false);
|
@@ -2242,7 +2320,7 @@
|
|
2242
2320
|
rule.to)
|
2243
2321
|
return {
|
2244
2322
|
from: self.parseDate(rule.from, undefined),
|
2245
|
-
to: self.parseDate(rule.to, undefined)
|
2323
|
+
to: self.parseDate(rule.to, undefined),
|
2246
2324
|
};
|
2247
2325
|
return rule;
|
2248
2326
|
})
|
@@ -2289,20 +2367,9 @@
|
|
2289
2367
|
(self.config.maxDate.getHours() > 0 ||
|
2290
2368
|
self.config.maxDate.getMinutes() > 0 ||
|
2291
2369
|
self.config.maxDate.getSeconds() > 0);
|
2292
|
-
Object.defineProperty(self, "showTimeInput", {
|
2293
|
-
get: function () { return self._showTimeInput; },
|
2294
|
-
set: function (bool) {
|
2295
|
-
self._showTimeInput = bool;
|
2296
|
-
if (self.calendarContainer)
|
2297
|
-
toggleClass(self.calendarContainer, "showTimeInput", bool);
|
2298
|
-
self.isOpen && positionCalendar();
|
2299
|
-
}
|
2300
|
-
});
|
2301
2370
|
}
|
2302
2371
|
function setupInputs() {
|
2303
|
-
self.input =
|
2304
|
-
? element.querySelector("[data-input]")
|
2305
|
-
: element;
|
2372
|
+
self.input = getInputElem();
|
2306
2373
|
/* istanbul ignore next */
|
2307
2374
|
if (!self.input) {
|
2308
2375
|
self.config.errorHandler(new Error("Invalid input element specified"));
|
@@ -2337,7 +2404,6 @@
|
|
2337
2404
|
: "datetime-local"
|
2338
2405
|
: "date";
|
2339
2406
|
self.mobileInput = createElement("input", self.input.className + " flatpickr-mobile");
|
2340
|
-
self.mobileInput.step = self.input.getAttribute("step") || "any";
|
2341
2407
|
self.mobileInput.tabIndex = 1;
|
2342
2408
|
self.mobileInput.type = inputType;
|
2343
2409
|
self.mobileInput.disabled = self.input.disabled;
|
@@ -2356,6 +2422,8 @@
|
|
2356
2422
|
self.mobileInput.min = self.formatDate(self.config.minDate, "Y-m-d");
|
2357
2423
|
if (self.config.maxDate)
|
2358
2424
|
self.mobileInput.max = self.formatDate(self.config.maxDate, "Y-m-d");
|
2425
|
+
if (self.input.getAttribute("step"))
|
2426
|
+
self.mobileInput.step = String(self.input.getAttribute("step"));
|
2359
2427
|
self.input.type = "hidden";
|
2360
2428
|
if (self.altInput !== undefined)
|
2361
2429
|
self.altInput.type = "hidden";
|
@@ -2365,7 +2433,7 @@
|
|
2365
2433
|
}
|
2366
2434
|
catch (_a) { }
|
2367
2435
|
bind(self.mobileInput, "change", function (e) {
|
2368
|
-
self.setDate(e.
|
2436
|
+
self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);
|
2369
2437
|
triggerEvent("onChange");
|
2370
2438
|
triggerEvent("onClose");
|
2371
2439
|
});
|
@@ -2466,25 +2534,26 @@
|
|
2466
2534
|
triggerEvent("onValueUpdate");
|
2467
2535
|
}
|
2468
2536
|
function onMonthNavClick(e) {
|
2469
|
-
var
|
2470
|
-
var
|
2537
|
+
var eventTarget = getEventTarget(e);
|
2538
|
+
var isPrevMonth = self.prevMonthNav.contains(eventTarget);
|
2539
|
+
var isNextMonth = self.nextMonthNav.contains(eventTarget);
|
2471
2540
|
if (isPrevMonth || isNextMonth) {
|
2472
2541
|
changeMonth(isPrevMonth ? -1 : 1);
|
2473
2542
|
}
|
2474
|
-
else if (self.yearElements.indexOf(
|
2475
|
-
|
2543
|
+
else if (self.yearElements.indexOf(eventTarget) >= 0) {
|
2544
|
+
eventTarget.select();
|
2476
2545
|
}
|
2477
|
-
else if (
|
2546
|
+
else if (eventTarget.classList.contains("arrowUp")) {
|
2478
2547
|
self.changeYear(self.currentYear + 1);
|
2479
2548
|
}
|
2480
|
-
else if (
|
2549
|
+
else if (eventTarget.classList.contains("arrowDown")) {
|
2481
2550
|
self.changeYear(self.currentYear - 1);
|
2482
2551
|
}
|
2483
2552
|
}
|
2484
2553
|
function timeWrapper(e) {
|
2485
2554
|
e.preventDefault();
|
2486
|
-
var isKeyDown = e.type === "keydown", input =
|
2487
|
-
if (self.amPM !== undefined &&
|
2555
|
+
var isKeyDown = e.type === "keydown", eventTarget = getEventTarget(e), input = eventTarget;
|
2556
|
+
if (self.amPM !== undefined && eventTarget === self.amPM) {
|
2488
2557
|
self.amPM.textContent =
|
2489
2558
|
self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];
|
2490
2559
|
}
|
@@ -2575,13 +2644,13 @@
|
|
2575
2644
|
flatpickr.defaultConfig = {};
|
2576
2645
|
flatpickr.l10ns = {
|
2577
2646
|
en: __assign({}, english),
|
2578
|
-
|
2647
|
+
default: __assign({}, english),
|
2579
2648
|
};
|
2580
2649
|
flatpickr.localize = function (l10n) {
|
2581
|
-
flatpickr.l10ns
|
2650
|
+
flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);
|
2582
2651
|
};
|
2583
2652
|
flatpickr.setDefaults = function (config) {
|
2584
|
-
flatpickr.defaultConfig = __assign({}, flatpickr.defaultConfig, config);
|
2653
|
+
flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);
|
2585
2654
|
};
|
2586
2655
|
flatpickr.parseDate = createDateParser({});
|
2587
2656
|
flatpickr.formatDate = createDateFormatter({});
|
@@ -2592,7 +2661,6 @@
|
|
2592
2661
|
return _flatpickr(this, config);
|
2593
2662
|
};
|
2594
2663
|
}
|
2595
|
-
// eslint-disable-next-line @typescript-eslint/camelcase
|
2596
2664
|
Date.prototype.fp_incr = function (days) {
|
2597
2665
|
return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === "string" ? parseInt(days, 10) : days));
|
2598
2666
|
};
|
@@ -2602,4 +2670,4 @@
|
|
2602
2670
|
|
2603
2671
|
return flatpickr;
|
2604
2672
|
|
2605
|
-
}));
|
2673
|
+
})));
|