flatpickr 4.5.2.0 → 4.6.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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/LICENSE.txt +1 -1
  4. data/README.md +12 -14
  5. data/Rakefile +14 -15
  6. data/flatpickr.gemspec +3 -3
  7. data/lib/flatpickr/version.rb +1 -1
  8. data/vendor/assets/javascripts/flatpickr.js +1193 -750
  9. data/vendor/assets/javascripts/flatpickr/l10n/ar.js +45 -45
  10. data/vendor/assets/javascripts/flatpickr/l10n/at.js +62 -63
  11. data/vendor/assets/javascripts/flatpickr/l10n/az.js +74 -0
  12. data/vendor/assets/javascripts/flatpickr/l10n/be.js +68 -68
  13. data/vendor/assets/javascripts/flatpickr/l10n/bg.js +59 -58
  14. data/vendor/assets/javascripts/flatpickr/l10n/bn.js +57 -58
  15. data/vendor/assets/javascripts/flatpickr/l10n/bs.js +66 -0
  16. data/vendor/assets/javascripts/flatpickr/l10n/cat.js +76 -76
  17. data/vendor/assets/javascripts/flatpickr/l10n/cs.js +68 -68
  18. data/vendor/assets/javascripts/flatpickr/l10n/cy.js +86 -85
  19. data/vendor/assets/javascripts/flatpickr/l10n/da.js +64 -64
  20. data/vendor/assets/javascripts/flatpickr/l10n/de.js +63 -63
  21. data/vendor/assets/javascripts/flatpickr/l10n/default.js +77 -74
  22. data/vendor/assets/javascripts/flatpickr/l10n/eo.js +66 -66
  23. data/vendor/assets/javascripts/flatpickr/l10n/es.js +63 -63
  24. data/vendor/assets/javascripts/flatpickr/l10n/et.js +66 -66
  25. data/vendor/assets/javascripts/flatpickr/l10n/fa.js +61 -62
  26. data/vendor/assets/javascripts/flatpickr/l10n/fi.js +62 -62
  27. data/vendor/assets/javascripts/flatpickr/l10n/fo.js +74 -0
  28. data/vendor/assets/javascripts/flatpickr/l10n/fr.js +68 -68
  29. data/vendor/assets/javascripts/flatpickr/l10n/ga.js +66 -0
  30. data/vendor/assets/javascripts/flatpickr/l10n/gr.js +66 -67
  31. data/vendor/assets/javascripts/flatpickr/l10n/he.js +51 -50
  32. data/vendor/assets/javascripts/flatpickr/l10n/hi.js +57 -58
  33. data/vendor/assets/javascripts/flatpickr/l10n/hr.js +59 -59
  34. data/vendor/assets/javascripts/flatpickr/l10n/hu.js +66 -65
  35. data/vendor/assets/javascripts/flatpickr/l10n/id.js +55 -54
  36. data/vendor/assets/javascripts/flatpickr/l10n/index.js +807 -235
  37. data/vendor/assets/javascripts/flatpickr/l10n/is.js +72 -0
  38. data/vendor/assets/javascripts/flatpickr/l10n/it.js +64 -64
  39. data/vendor/assets/javascripts/flatpickr/l10n/ja.js +60 -58
  40. data/vendor/assets/javascripts/flatpickr/l10n/ka.js +75 -0
  41. data/vendor/assets/javascripts/flatpickr/l10n/km.js +67 -67
  42. data/vendor/assets/javascripts/flatpickr/l10n/ko.js +61 -61
  43. data/vendor/assets/javascripts/flatpickr/l10n/kz.js +67 -68
  44. data/vendor/assets/javascripts/flatpickr/l10n/lt.js +66 -65
  45. data/vendor/assets/javascripts/flatpickr/l10n/lv.js +60 -60
  46. data/vendor/assets/javascripts/flatpickr/l10n/mk.js +61 -61
  47. data/vendor/assets/javascripts/flatpickr/l10n/mn.js +52 -52
  48. data/vendor/assets/javascripts/flatpickr/l10n/ms.js +60 -61
  49. data/vendor/assets/javascripts/flatpickr/l10n/my.js +62 -62
  50. data/vendor/assets/javascripts/flatpickr/l10n/nl.js +68 -68
  51. data/vendor/assets/javascripts/flatpickr/l10n/no.js +66 -66
  52. data/vendor/assets/javascripts/flatpickr/l10n/pa.js +58 -58
  53. data/vendor/assets/javascripts/flatpickr/l10n/pl.js +66 -66
  54. data/vendor/assets/javascripts/flatpickr/l10n/pt.js +59 -59
  55. data/vendor/assets/javascripts/flatpickr/l10n/ro.js +62 -62
  56. data/vendor/assets/javascripts/flatpickr/l10n/ru.js +68 -68
  57. data/vendor/assets/javascripts/flatpickr/l10n/si.js +58 -58
  58. data/vendor/assets/javascripts/flatpickr/l10n/sk.js +63 -63
  59. data/vendor/assets/javascripts/flatpickr/l10n/sl.js +63 -63
  60. data/vendor/assets/javascripts/flatpickr/l10n/sq.js +58 -58
  61. data/vendor/assets/javascripts/flatpickr/l10n/sr-cyr.js +67 -0
  62. data/vendor/assets/javascripts/flatpickr/l10n/sr.js +61 -61
  63. data/vendor/assets/javascripts/flatpickr/l10n/sv.js +63 -63
  64. data/vendor/assets/javascripts/flatpickr/l10n/th.js +65 -65
  65. data/vendor/assets/javascripts/flatpickr/l10n/tr.js +67 -67
  66. data/vendor/assets/javascripts/flatpickr/l10n/uk.js +59 -59
  67. data/vendor/assets/javascripts/flatpickr/l10n/uz.js +75 -0
  68. data/vendor/assets/javascripts/flatpickr/l10n/uz_latn.js +75 -0
  69. data/vendor/assets/javascripts/flatpickr/l10n/vn.js +59 -59
  70. data/vendor/assets/javascripts/flatpickr/l10n/zh-tw.js +68 -0
  71. data/vendor/assets/javascripts/flatpickr/l10n/zh.js +61 -62
  72. data/vendor/assets/javascripts/flatpickr/plugins/confirmDate/confirmDate.js +65 -14
  73. data/vendor/assets/javascripts/flatpickr/plugins/labelPlugin/labelPlugin.js +25 -25
  74. data/vendor/assets/javascripts/flatpickr/plugins/minMaxTimePlugin.js +321 -270
  75. data/vendor/assets/javascripts/flatpickr/plugins/momentPlugin.js +69 -0
  76. data/vendor/assets/javascripts/flatpickr/plugins/monthSelect/index.js +233 -0
  77. data/vendor/assets/javascripts/flatpickr/plugins/rangePlugin.js +61 -30
  78. data/vendor/assets/javascripts/flatpickr/plugins/scrollPlugin.js +79 -44
  79. data/vendor/assets/javascripts/flatpickr/plugins/weekSelect/weekSelect.js +93 -74
  80. data/vendor/assets/stylesheets/flatpickr.css +67 -17
  81. data/vendor/assets/stylesheets/flatpickr/plugins/monthSelect/style.css +79 -0
  82. data/vendor/assets/stylesheets/flatpickr/themes/airbnb.css +77 -17
  83. data/vendor/assets/stylesheets/flatpickr/themes/confetti.css +69 -19
  84. data/vendor/assets/stylesheets/flatpickr/themes/dark.css +69 -19
  85. data/vendor/assets/stylesheets/flatpickr/themes/light.css +69 -19
  86. data/vendor/assets/stylesheets/flatpickr/themes/material_blue.css +69 -19
  87. data/vendor/assets/stylesheets/flatpickr/themes/material_green.css +69 -19
  88. data/vendor/assets/stylesheets/flatpickr/themes/material_orange.css +69 -19
  89. data/vendor/assets/stylesheets/flatpickr/themes/material_red.css +69 -19
  90. metadata +21 -11
  91. data/vendor/assets/javascripts/flatpickr/plugins/monthSelect/monthSelect.js +0 -77
  92. data/vendor/assets/stylesheets/flatpickr/plugins/monthSelect/monthSelect.css +0 -10
@@ -1,69 +1,68 @@
1
- /* flatpickr v4.5.2, @license MIT */
2
1
  (function (global, factory) {
3
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
5
- (factory((global.zh = {})));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
+ (global = global || self, factory(global.zh = {}));
6
5
  }(this, (function (exports) { 'use strict';
7
6
 
8
- const fp = typeof window !== "undefined" && window.flatpickr !== undefined
9
- ? window.flatpickr
10
- : {
11
- l10ns: {},
12
- };
13
- const Mandarin = {
14
- weekdays: {
15
- shorthand: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
16
- longhand: [
17
- "星期日",
18
- "星期一",
19
- "星期二",
20
- "星期三",
21
- "星期四",
22
- "星期五",
23
- "星期六",
24
- ],
25
- },
26
- months: {
27
- shorthand: [
28
- "一月",
29
- "二月",
30
- "三月",
31
- "四月",
32
- "五月",
33
- "六月",
34
- "七月",
35
- "八月",
36
- "九月",
37
- "十月",
38
- "十一月",
39
- "十二月",
40
- ],
41
- longhand: [
42
- "一月",
43
- "二月",
44
- "三月",
45
- "四月",
46
- "五月",
47
- "六月",
48
- "七月",
49
- "八月",
50
- "九月",
51
- "十月",
52
- "十一月",
53
- "十二月",
54
- ],
55
- },
56
- rangeSeparator: " 至 ",
57
- weekAbbreviation: "周",
58
- scrollTitle: "滚动切换",
59
- toggleTitle: "点击切换 12/24 小时时制",
60
- };
61
- fp.l10ns.zh = Mandarin;
62
- var zh = fp.l10ns;
7
+ var fp = typeof window !== "undefined" && window.flatpickr !== undefined
8
+ ? window.flatpickr
9
+ : {
10
+ l10ns: {},
11
+ };
12
+ var Mandarin = {
13
+ weekdays: {
14
+ shorthand: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
15
+ longhand: [
16
+ "星期日",
17
+ "星期一",
18
+ "星期二",
19
+ "星期三",
20
+ "星期四",
21
+ "星期五",
22
+ "星期六",
23
+ ],
24
+ },
25
+ months: {
26
+ shorthand: [
27
+ "一月",
28
+ "二月",
29
+ "三月",
30
+ "四月",
31
+ "五月",
32
+ "六月",
33
+ "七月",
34
+ "八月",
35
+ "九月",
36
+ "十月",
37
+ "十一月",
38
+ "十二月",
39
+ ],
40
+ longhand: [
41
+ "一月",
42
+ "二月",
43
+ "三月",
44
+ "四月",
45
+ "五月",
46
+ "六月",
47
+ "七月",
48
+ "八月",
49
+ "九月",
50
+ "十月",
51
+ "十一月",
52
+ "十二月",
53
+ ],
54
+ },
55
+ rangeSeparator: " 至 ",
56
+ weekAbbreviation: "周",
57
+ scrollTitle: "滚动切换",
58
+ toggleTitle: "点击切换 12/24 小时时制",
59
+ };
60
+ fp.l10ns.zh = Mandarin;
61
+ var zh = fp.l10ns;
63
62
 
64
- exports.Mandarin = Mandarin;
65
- exports.default = zh;
63
+ exports.Mandarin = Mandarin;
64
+ exports.default = zh;
66
65
 
67
- Object.defineProperty(exports, '__esModule', { value: true });
66
+ Object.defineProperty(exports, '__esModule', { value: true });
68
67
 
69
68
  })));
@@ -1,43 +1,94 @@
1
- /* flatpickr v4.5.2, @license MIT */
2
1
  (function (global, factory) {
3
2
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
3
  typeof define === 'function' && define.amd ? define(factory) :
5
- (global.confirmDatePlugin = factory());
4
+ (global = global || self, global.confirmDatePlugin = factory());
6
5
  }(this, (function () { 'use strict';
7
6
 
8
- const defaultConfig = {
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+
22
+ var __assign = function() {
23
+ __assign = Object.assign || function __assign(t) {
24
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
25
+ s = arguments[i];
26
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
27
+ }
28
+ return t;
29
+ };
30
+ return __assign.apply(this, arguments);
31
+ };
32
+
33
+ function getEventTarget(event) {
34
+ try {
35
+ if (typeof event.composedPath === "function") {
36
+ var path = event.composedPath();
37
+ return path[0];
38
+ }
39
+ return event.target;
40
+ }
41
+ catch (error) {
42
+ return event.target;
43
+ }
44
+ }
45
+
46
+ var defaultConfig = {
9
47
  confirmIcon: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17' height='17' viewBox='0 0 17 17'> <g> </g> <path d='M15.418 1.774l-8.833 13.485-4.918-4.386 0.666-0.746 4.051 3.614 8.198-12.515 0.836 0.548z' fill='#000000' /> </svg>",
10
48
  confirmText: "OK ",
11
49
  showAlways: false,
12
50
  theme: "light",
13
51
  };
14
52
  function confirmDatePlugin(pluginConfig) {
15
- const config = Object.assign({}, defaultConfig, pluginConfig);
16
- let confirmContainer;
53
+ var config = __assign(__assign({}, defaultConfig), pluginConfig);
54
+ var confirmContainer;
55
+ var confirmButtonCSSClass = "flatpickr-confirm";
17
56
  return function (fp) {
18
57
  if (fp.config.noCalendar || fp.isMobile)
19
58
  return {};
20
- return Object.assign({ onKeyDown(_, __, ___, e) {
21
- if (fp.config.enableTime && e.key === "Tab" && e.target === fp.amPM) {
59
+ return __assign({ onKeyDown: function (_, __, ___, e) {
60
+ var eventTarget = getEventTarget(e);
61
+ if (fp.config.enableTime &&
62
+ e.key === "Tab" &&
63
+ eventTarget === fp.amPM) {
22
64
  e.preventDefault();
23
65
  confirmContainer.focus();
24
66
  }
25
- else if (e.key === "Enter" && e.target === confirmContainer)
67
+ else if (e.key === "Enter" && eventTarget === confirmContainer)
26
68
  fp.close();
27
69
  },
28
- onReady() {
29
- confirmContainer = fp._createElement("div", `flatpickr-confirm ${config.showAlways ? "visible" : ""} ${config.theme}Theme`, config.confirmText);
70
+ onReady: function () {
71
+ confirmContainer = fp._createElement("div", confirmButtonCSSClass + " " + (config.showAlways ? "visible" : "") + " " + config.theme + "Theme", config.confirmText);
30
72
  confirmContainer.tabIndex = -1;
31
73
  confirmContainer.innerHTML += config.confirmIcon;
32
74
  confirmContainer.addEventListener("click", fp.close);
33
75
  fp.calendarContainer.appendChild(confirmContainer);
76
+ fp.loadedPlugins.push("confirmDate");
34
77
  } }, (!config.showAlways
35
78
  ? {
36
79
  onChange: function (_, dateStr) {
37
- const showCondition = fp.config.enableTime || fp.config.mode === "multiple";
38
- if (dateStr && !fp.config.inline && showCondition)
39
- return confirmContainer.classList.add("visible");
40
- confirmContainer.classList.remove("visible");
80
+ var showCondition = fp.config.enableTime ||
81
+ fp.config.mode === "multiple" ||
82
+ fp.loadedPlugins.indexOf("monthSelect") !== -1;
83
+ var localConfirmContainer = fp.calendarContainer.querySelector("." + confirmButtonCSSClass);
84
+ if (!localConfirmContainer)
85
+ return;
86
+ if (dateStr &&
87
+ !fp.config.inline &&
88
+ showCondition &&
89
+ localConfirmContainer)
90
+ return localConfirmContainer.classList.add("visible");
91
+ localConfirmContainer.classList.remove("visible");
41
92
  },
42
93
  }
43
94
  : {}));
@@ -1,31 +1,31 @@
1
- /* flatpickr v4.5.2, @license MIT */
2
1
  (function (global, factory) {
3
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
- typeof define === 'function' && define.amd ? define(factory) :
5
- (global.labelPlugin = factory());
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
+ typeof define === 'function' && define.amd ? define(factory) :
4
+ (global = global || self, global.labelPlugin = factory());
6
5
  }(this, (function () { 'use strict';
7
6
 
8
- function labelPlugin() {
9
- return function (fp) {
10
- return {
11
- onReady() {
12
- const id = fp.input.id;
13
- if (!id) {
14
- return;
15
- }
16
- if (fp.mobileInput) {
17
- fp.input.removeAttribute("id");
18
- fp.mobileInput.id = id;
19
- }
20
- else if (fp.altInput) {
21
- fp.input.removeAttribute("id");
22
- fp.altInput.id = id;
23
- }
24
- },
25
- };
26
- };
27
- }
7
+ function labelPlugin() {
8
+ return function (fp) {
9
+ return {
10
+ onReady: function () {
11
+ var id = fp.input.id;
12
+ if (!id) {
13
+ return;
14
+ }
15
+ if (fp.mobileInput) {
16
+ fp.input.removeAttribute("id");
17
+ fp.mobileInput.id = id;
18
+ }
19
+ else if (fp.altInput) {
20
+ fp.input.removeAttribute("id");
21
+ fp.altInput.id = id;
22
+ }
23
+ fp.loadedPlugins.push("labelPlugin");
24
+ },
25
+ };
26
+ };
27
+ }
28
28
 
29
- return labelPlugin;
29
+ return labelPlugin;
30
30
 
31
31
  })));
@@ -1,281 +1,332 @@
1
- /* flatpickr v4.5.2, @license MIT */
2
1
  (function (global, factory) {
3
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
- typeof define === 'function' && define.amd ? define(factory) :
5
- (global.minMaxTimePlugin = factory());
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
+ typeof define === 'function' && define.amd ? define(factory) :
4
+ (global = global || self, global.minMaxTimePlugin = factory());
6
5
  }(this, (function () { 'use strict';
7
6
 
8
- const pad = (number) => `0${number}`.slice(-2);
9
- const int = (bool) => (bool === true ? 1 : 0);
7
+ var pad = function (number, length) {
8
+ if (length === void 0) { length = 2; }
9
+ return ("000" + number).slice(length * -1);
10
+ };
11
+ var int = function (bool) { return (bool === true ? 1 : 0); };
10
12
 
11
- const monthToStr = (monthNumber, shorthand, locale) => locale.months[shorthand ? "shorthand" : "longhand"][monthNumber];
12
- const formats = {
13
- Z: (date) => date.toISOString(),
14
- D: function (date, locale, options) {
15
- return locale.weekdays.shorthand[formats.w(date, locale, options)];
16
- },
17
- F: function (date, locale, options) {
18
- return monthToStr(formats.n(date, locale, options) - 1, false, locale);
19
- },
20
- G: function (date, locale, options) {
21
- return pad(formats.h(date, locale, options));
22
- },
23
- H: (date) => pad(date.getHours()),
24
- J: function (date, locale) {
25
- return locale.ordinal !== undefined
26
- ? date.getDate() + locale.ordinal(date.getDate())
27
- : date.getDate();
28
- },
29
- K: (date, locale) => locale.amPM[int(date.getHours() > 11)],
30
- M: function (date, locale) {
31
- return monthToStr(date.getMonth(), true, locale);
32
- },
33
- S: (date) => pad(date.getSeconds()),
34
- U: (date) => date.getTime() / 1000,
35
- W: function (date, _, options) {
36
- return options.getWeek(date);
37
- },
38
- Y: (date) => date.getFullYear(),
39
- d: (date) => pad(date.getDate()),
40
- h: (date) => (date.getHours() % 12 ? date.getHours() % 12 : 12),
41
- i: (date) => pad(date.getMinutes()),
42
- j: (date) => date.getDate(),
43
- l: function (date, locale) {
44
- return locale.weekdays.longhand[date.getDay()];
45
- },
46
- m: (date) => pad(date.getMonth() + 1),
47
- n: (date) => date.getMonth() + 1,
48
- s: (date) => date.getSeconds(),
49
- w: (date) => date.getDay(),
50
- y: (date) => String(date.getFullYear()).substring(2),
51
- };
13
+ var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? "shorthand" : "longhand"][monthNumber]; };
14
+ var formats = {
15
+ // get the date in UTC
16
+ Z: function (date) { return date.toISOString(); },
17
+ // weekday name, short, e.g. Thu
18
+ D: function (date, locale, options) {
19
+ return locale.weekdays.shorthand[formats.w(date, locale, options)];
20
+ },
21
+ // full month name e.g. January
22
+ F: function (date, locale, options) {
23
+ return monthToStr(formats.n(date, locale, options) - 1, false, locale);
24
+ },
25
+ // padded hour 1-12
26
+ G: function (date, locale, options) {
27
+ return pad(formats.h(date, locale, options));
28
+ },
29
+ // hours with leading zero e.g. 03
30
+ H: function (date) { return pad(date.getHours()); },
31
+ // day (1-30) with ordinal suffix e.g. 1st, 2nd
32
+ J: function (date, locale) {
33
+ return locale.ordinal !== undefined
34
+ ? date.getDate() + locale.ordinal(date.getDate())
35
+ : date.getDate();
36
+ },
37
+ // AM/PM
38
+ K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },
39
+ // shorthand month e.g. Jan, Sep, Oct, etc
40
+ M: function (date, locale) {
41
+ return monthToStr(date.getMonth(), true, locale);
42
+ },
43
+ // seconds 00-59
44
+ S: function (date) { return pad(date.getSeconds()); },
45
+ // unix timestamp
46
+ U: function (date) { return date.getTime() / 1000; },
47
+ W: function (date, _, options) {
48
+ return options.getWeek(date);
49
+ },
50
+ // full year e.g. 2016, padded (0001-9999)
51
+ Y: function (date) { return pad(date.getFullYear(), 4); },
52
+ // day in month, padded (01-30)
53
+ d: function (date) { return pad(date.getDate()); },
54
+ // hour from 1-12 (am/pm)
55
+ h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },
56
+ // minutes, padded with leading zero e.g. 09
57
+ i: function (date) { return pad(date.getMinutes()); },
58
+ // day in month (1-30)
59
+ j: function (date) { return date.getDate(); },
60
+ // weekday name, full, e.g. Thursday
61
+ l: function (date, locale) {
62
+ return locale.weekdays.longhand[date.getDay()];
63
+ },
64
+ // padded month number (01-12)
65
+ m: function (date) { return pad(date.getMonth() + 1); },
66
+ // the month number (1-12)
67
+ n: function (date) { return date.getMonth() + 1; },
68
+ // seconds 0-59
69
+ s: function (date) { return date.getSeconds(); },
70
+ // Unix Milliseconds
71
+ u: function (date) { return date.getTime(); },
72
+ // number of the day of the week
73
+ w: function (date) { return date.getDay(); },
74
+ // last two digits of year e.g. 16 for 2016
75
+ y: function (date) { return String(date.getFullYear()).substring(2); },
76
+ };
52
77
 
53
- const defaults = {
54
- _disable: [],
55
- _enable: [],
56
- allowInput: false,
57
- altFormat: "F j, Y",
58
- altInput: false,
59
- altInputClass: "form-control input",
60
- animate: typeof window === "object" &&
61
- window.navigator.userAgent.indexOf("MSIE") === -1,
62
- ariaDateFormat: "F j, Y",
63
- clickOpens: true,
64
- closeOnSelect: true,
65
- conjunction: ", ",
66
- dateFormat: "Y-m-d",
67
- defaultHour: 12,
68
- defaultMinute: 0,
69
- defaultSeconds: 0,
70
- disable: [],
71
- disableMobile: false,
72
- enable: [],
73
- enableSeconds: false,
74
- enableTime: false,
75
- errorHandler: (err) => typeof console !== "undefined" && console.warn(err),
76
- getWeek,
77
- hourIncrement: 1,
78
- ignoredFocusElements: [],
79
- inline: false,
80
- locale: "default",
81
- minuteIncrement: 5,
82
- mode: "single",
83
- nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
84
- noCalendar: false,
85
- now: new Date(),
86
- onChange: [],
87
- onClose: [],
88
- onDayCreate: [],
89
- onDestroy: [],
90
- onKeyDown: [],
91
- onMonthChange: [],
92
- onOpen: [],
93
- onParseConfig: [],
94
- onReady: [],
95
- onValueUpdate: [],
96
- onYearChange: [],
97
- onPreCalendarPosition: [],
98
- plugins: [],
99
- position: "auto",
100
- positionElement: undefined,
101
- prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
102
- shorthandCurrentMonth: false,
103
- showMonths: 1,
104
- static: false,
105
- time_24hr: false,
106
- weekNumbers: false,
107
- wrap: false,
108
- };
78
+ var defaults = {
79
+ _disable: [],
80
+ _enable: [],
81
+ allowInput: false,
82
+ allowInvalidPreload: false,
83
+ altFormat: "F j, Y",
84
+ altInput: false,
85
+ altInputClass: "form-control input",
86
+ animate: typeof window === "object" &&
87
+ window.navigator.userAgent.indexOf("MSIE") === -1,
88
+ ariaDateFormat: "F j, Y",
89
+ autoFillDefaultTime: true,
90
+ clickOpens: true,
91
+ closeOnSelect: true,
92
+ conjunction: ", ",
93
+ dateFormat: "Y-m-d",
94
+ defaultHour: 12,
95
+ defaultMinute: 0,
96
+ defaultSeconds: 0,
97
+ disable: [],
98
+ disableMobile: false,
99
+ enable: [],
100
+ enableSeconds: false,
101
+ enableTime: false,
102
+ errorHandler: function (err) {
103
+ return typeof console !== "undefined" && console.warn(err);
104
+ },
105
+ getWeek: function (givenDate) {
106
+ var date = new Date(givenDate.getTime());
107
+ date.setHours(0, 0, 0, 0);
108
+ // Thursday in current week decides the year.
109
+ date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));
110
+ // January 4 is always in week 1.
111
+ var week1 = new Date(date.getFullYear(), 0, 4);
112
+ // Adjust to Thursday in week 1 and count number of weeks from date to week1.
113
+ return (1 +
114
+ Math.round(((date.getTime() - week1.getTime()) / 86400000 -
115
+ 3 +
116
+ ((week1.getDay() + 6) % 7)) /
117
+ 7));
118
+ },
119
+ hourIncrement: 1,
120
+ ignoredFocusElements: [],
121
+ inline: false,
122
+ locale: "default",
123
+ minuteIncrement: 5,
124
+ mode: "single",
125
+ monthSelectorType: "dropdown",
126
+ nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
127
+ noCalendar: false,
128
+ now: new Date(),
129
+ onChange: [],
130
+ onClose: [],
131
+ onDayCreate: [],
132
+ onDestroy: [],
133
+ onKeyDown: [],
134
+ onMonthChange: [],
135
+ onOpen: [],
136
+ onParseConfig: [],
137
+ onReady: [],
138
+ onValueUpdate: [],
139
+ onYearChange: [],
140
+ onPreCalendarPosition: [],
141
+ plugins: [],
142
+ position: "auto",
143
+ positionElement: undefined,
144
+ prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
145
+ shorthandCurrentMonth: false,
146
+ showMonths: 1,
147
+ static: false,
148
+ time_24hr: false,
149
+ weekNumbers: false,
150
+ wrap: false,
151
+ };
109
152
 
110
- const english = {
111
- weekdays: {
112
- shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
113
- longhand: [
114
- "Sunday",
115
- "Monday",
116
- "Tuesday",
117
- "Wednesday",
118
- "Thursday",
119
- "Friday",
120
- "Saturday",
121
- ],
122
- },
123
- months: {
124
- shorthand: [
125
- "Jan",
126
- "Feb",
127
- "Mar",
128
- "Apr",
129
- "May",
130
- "Jun",
131
- "Jul",
132
- "Aug",
133
- "Sep",
134
- "Oct",
135
- "Nov",
136
- "Dec",
137
- ],
138
- longhand: [
139
- "January",
140
- "February",
141
- "March",
142
- "April",
143
- "May",
144
- "June",
145
- "July",
146
- "August",
147
- "September",
148
- "October",
149
- "November",
150
- "December",
151
- ],
152
- },
153
- daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
154
- firstDayOfWeek: 0,
155
- ordinal: (nth) => {
156
- const s = nth % 100;
157
- if (s > 3 && s < 21)
158
- return "th";
159
- switch (s % 10) {
160
- case 1:
161
- return "st";
162
- case 2:
163
- return "nd";
164
- case 3:
165
- return "rd";
166
- default:
167
- return "th";
168
- }
169
- },
170
- rangeSeparator: " to ",
171
- weekAbbreviation: "Wk",
172
- scrollTitle: "Scroll to increment",
173
- toggleTitle: "Click to toggle",
174
- amPM: ["AM", "PM"],
175
- yearAriaLabel: "Year",
176
- };
153
+ var english = {
154
+ weekdays: {
155
+ shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
156
+ longhand: [
157
+ "Sunday",
158
+ "Monday",
159
+ "Tuesday",
160
+ "Wednesday",
161
+ "Thursday",
162
+ "Friday",
163
+ "Saturday",
164
+ ],
165
+ },
166
+ months: {
167
+ shorthand: [
168
+ "Jan",
169
+ "Feb",
170
+ "Mar",
171
+ "Apr",
172
+ "May",
173
+ "Jun",
174
+ "Jul",
175
+ "Aug",
176
+ "Sep",
177
+ "Oct",
178
+ "Nov",
179
+ "Dec",
180
+ ],
181
+ longhand: [
182
+ "January",
183
+ "February",
184
+ "March",
185
+ "April",
186
+ "May",
187
+ "June",
188
+ "July",
189
+ "August",
190
+ "September",
191
+ "October",
192
+ "November",
193
+ "December",
194
+ ],
195
+ },
196
+ daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
197
+ firstDayOfWeek: 0,
198
+ ordinal: function (nth) {
199
+ var s = nth % 100;
200
+ if (s > 3 && s < 21)
201
+ return "th";
202
+ switch (s % 10) {
203
+ case 1:
204
+ return "st";
205
+ case 2:
206
+ return "nd";
207
+ case 3:
208
+ return "rd";
209
+ default:
210
+ return "th";
211
+ }
212
+ },
213
+ rangeSeparator: " to ",
214
+ weekAbbreviation: "Wk",
215
+ scrollTitle: "Scroll to increment",
216
+ toggleTitle: "Click to toggle",
217
+ amPM: ["AM", "PM"],
218
+ yearAriaLabel: "Year",
219
+ monthAriaLabel: "Month",
220
+ hourAriaLabel: "Hour",
221
+ minuteAriaLabel: "Minute",
222
+ time_24hr: false,
223
+ };
177
224
 
178
- const createDateFormatter = ({ config = defaults, l10n = english, }) => (dateObj, frmt, overrideLocale) => {
179
- const locale = overrideLocale || l10n;
180
- if (config.formatDate !== undefined) {
181
- return config.formatDate(dateObj, frmt, locale);
182
- }
183
- return frmt
184
- .split("")
185
- .map((c, i, arr) => formats[c] && arr[i - 1] !== "\\"
186
- ? formats[c](dateObj, locale, config)
187
- : c !== "\\"
188
- ? c
189
- : "")
190
- .join("");
191
- };
192
- function compareDates(date1, date2, timeless = true) {
193
- if (timeless !== false) {
194
- return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -
195
- new Date(date2.getTime()).setHours(0, 0, 0, 0));
196
- }
197
- return date1.getTime() - date2.getTime();
198
- }
199
- function compareTimes(date1, date2) {
200
- return (3600 * (date1.getHours() - date2.getHours()) +
201
- 60 * (date1.getMinutes() - date2.getMinutes()) +
202
- date1.getSeconds() -
203
- date2.getSeconds());
204
- }
205
- const getWeek = (givenDate) => {
206
- const date = new Date(givenDate.getTime());
207
- date.setHours(0, 0, 0, 0);
208
- date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));
209
- var week1 = new Date(date.getFullYear(), 0, 4);
210
- return (1 +
211
- Math.round(((date.getTime() - week1.getTime()) / 86400000 -
212
- 3 +
213
- ((week1.getDay() + 6) % 7)) /
214
- 7));
215
- };
225
+ var createDateFormatter = function (_a) {
226
+ 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;
227
+ return function (dateObj, frmt, overrideLocale) {
228
+ var locale = overrideLocale || l10n;
229
+ if (config.formatDate !== undefined && !isMobile) {
230
+ return config.formatDate(dateObj, frmt, locale);
231
+ }
232
+ return frmt
233
+ .split("")
234
+ .map(function (c, i, arr) {
235
+ return formats[c] && arr[i - 1] !== "\\"
236
+ ? formats[c](dateObj, locale, config)
237
+ : c !== "\\"
238
+ ? c
239
+ : "";
240
+ })
241
+ .join("");
242
+ };
243
+ };
244
+ /**
245
+ * Compute the difference in dates, measured in ms
246
+ */
247
+ function compareDates(date1, date2, timeless) {
248
+ if (timeless === void 0) { timeless = true; }
249
+ if (timeless !== false) {
250
+ return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -
251
+ new Date(date2.getTime()).setHours(0, 0, 0, 0));
252
+ }
253
+ return date1.getTime() - date2.getTime();
254
+ }
255
+ /**
256
+ * Compute the difference in times, measured in ms
257
+ */
258
+ function compareTimes(date1, date2) {
259
+ return (3600 * (date1.getHours() - date2.getHours()) +
260
+ 60 * (date1.getMinutes() - date2.getMinutes()) +
261
+ date1.getSeconds() -
262
+ date2.getSeconds());
263
+ }
216
264
 
217
- function minMaxTimePlugin(config = {}) {
218
- const state = {
219
- formatDate: createDateFormatter({}),
220
- tableDateFormat: config.tableDateFormat || "Y-m-d",
221
- defaults: {
222
- minTime: undefined,
223
- maxTime: undefined,
224
- },
225
- };
226
- function findDateTimeLimit(date) {
227
- if (config.table !== undefined) {
228
- return config.table[state.formatDate(date, state.tableDateFormat)];
229
- }
230
- return config.getTimeLimits && config.getTimeLimits(date);
231
- }
232
- return function (fp) {
233
- return {
234
- onReady() {
235
- state.formatDate = this.formatDate;
236
- state.defaults = {
237
- minTime: this.config.minTime && state.formatDate(this.config.minTime, "H:i"),
238
- maxTime: this.config.maxTime && state.formatDate(this.config.maxTime, "H:i"),
239
- };
240
- },
241
- onChange() {
242
- const latest = this.latestSelectedDateObj;
243
- const matchingTimeLimit = latest && findDateTimeLimit(latest);
244
- if (latest && matchingTimeLimit !== undefined) {
245
- this.set(matchingTimeLimit);
246
- fp.config.minTime.setFullYear(latest.getFullYear());
247
- fp.config.maxTime.setFullYear(latest.getFullYear());
248
- fp.config.minTime.setMonth(latest.getMonth());
249
- fp.config.maxTime.setMonth(latest.getMonth());
250
- fp.config.minTime.setDate(latest.getDate());
251
- fp.config.maxTime.setDate(latest.getDate());
252
- if (compareDates(latest, fp.config.maxTime, false) > 0) {
253
- fp.setDate(new Date(latest.getTime()).setHours(fp.config.maxTime.getHours(), fp.config.maxTime.getMinutes(), fp.config.maxTime.getSeconds(), fp.config.maxTime.getMilliseconds()), false);
254
- }
255
- else if (compareDates(latest, fp.config.minTime, false) < 0)
256
- fp.setDate(new Date(latest.getTime()).setHours(fp.config.minTime.getHours(), fp.config.minTime.getMinutes(), fp.config.minTime.getSeconds(), fp.config.minTime.getMilliseconds()), false);
257
- }
258
- else {
259
- const newMinMax = state.defaults || {
260
- minTime: undefined,
261
- maxTime: undefined,
262
- };
263
- this.set(newMinMax);
264
- if (!latest)
265
- return;
266
- const { minTime, maxTime } = fp.config;
267
- if (minTime && compareTimes(latest, minTime) < 0) {
268
- fp.setDate(new Date(latest.getTime()).setHours(minTime.getHours(), minTime.getMinutes(), minTime.getSeconds(), minTime.getMilliseconds()), false);
269
- }
270
- else if (maxTime && compareTimes(latest, maxTime) > 0) {
271
- fp.setDate(new Date(latest.getTime()).setHours(maxTime.getHours(), maxTime.getMinutes(), maxTime.getSeconds(), maxTime.getMilliseconds()));
272
- }
273
- }
274
- },
275
- };
276
- };
277
- }
265
+ function minMaxTimePlugin(config) {
266
+ if (config === void 0) { config = {}; }
267
+ var state = {
268
+ formatDate: createDateFormatter({}),
269
+ tableDateFormat: config.tableDateFormat || "Y-m-d",
270
+ defaults: {
271
+ minTime: undefined,
272
+ maxTime: undefined,
273
+ },
274
+ };
275
+ function findDateTimeLimit(date) {
276
+ if (config.table !== undefined) {
277
+ return config.table[state.formatDate(date, state.tableDateFormat)];
278
+ }
279
+ return config.getTimeLimits && config.getTimeLimits(date);
280
+ }
281
+ return function (fp) {
282
+ return {
283
+ onReady: function () {
284
+ state.formatDate = this.formatDate;
285
+ state.defaults = {
286
+ minTime: this.config.minTime && state.formatDate(this.config.minTime, "H:i"),
287
+ maxTime: this.config.maxTime && state.formatDate(this.config.maxTime, "H:i"),
288
+ };
289
+ fp.loadedPlugins.push("minMaxTime");
290
+ },
291
+ onChange: function () {
292
+ var latest = this.latestSelectedDateObj;
293
+ var matchingTimeLimit = latest && findDateTimeLimit(latest);
294
+ if (latest && matchingTimeLimit !== undefined) {
295
+ this.set(matchingTimeLimit);
296
+ fp.config.minTime.setFullYear(latest.getFullYear());
297
+ fp.config.maxTime.setFullYear(latest.getFullYear());
298
+ fp.config.minTime.setMonth(latest.getMonth());
299
+ fp.config.maxTime.setMonth(latest.getMonth());
300
+ fp.config.minTime.setDate(latest.getDate());
301
+ fp.config.maxTime.setDate(latest.getDate());
302
+ if (compareDates(latest, fp.config.maxTime, false) > 0) {
303
+ fp.setDate(new Date(latest.getTime()).setHours(fp.config.maxTime.getHours(), fp.config.maxTime.getMinutes(), fp.config.maxTime.getSeconds(), fp.config.maxTime.getMilliseconds()), false);
304
+ }
305
+ else if (compareDates(latest, fp.config.minTime, false) < 0)
306
+ fp.setDate(new Date(latest.getTime()).setHours(fp.config.minTime.getHours(), fp.config.minTime.getMinutes(), fp.config.minTime.getSeconds(), fp.config.minTime.getMilliseconds()), false);
307
+ }
308
+ else {
309
+ var newMinMax = state.defaults || {
310
+ minTime: undefined,
311
+ maxTime: undefined,
312
+ };
313
+ this.set(newMinMax);
314
+ if (!latest)
315
+ return;
316
+ var _a = fp.config, minTime = _a.minTime, maxTime = _a.maxTime;
317
+ if (minTime && compareTimes(latest, minTime) < 0) {
318
+ fp.setDate(new Date(latest.getTime()).setHours(minTime.getHours(), minTime.getMinutes(), minTime.getSeconds(), minTime.getMilliseconds()), false);
319
+ }
320
+ else if (maxTime && compareTimes(latest, maxTime) > 0) {
321
+ fp.setDate(new Date(latest.getTime()).setHours(maxTime.getHours(), maxTime.getMinutes(), maxTime.getSeconds(), maxTime.getMilliseconds()));
322
+ }
323
+ //
324
+ }
325
+ },
326
+ };
327
+ };
328
+ }
278
329
 
279
- return minMaxTimePlugin;
330
+ return minMaxTimePlugin;
280
331
 
281
332
  })));