flatpickr 4.6.3.1 → 4.6.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/lib/flatpickr/version.rb +1 -1
  4. data/package.json +5 -0
  5. data/vendor/assets/javascripts/flatpickr/l10n/ar-dz.js +61 -0
  6. data/vendor/assets/javascripts/flatpickr/l10n/ar.js +17 -7
  7. data/vendor/assets/javascripts/flatpickr/l10n/at.js +8 -7
  8. data/vendor/assets/javascripts/flatpickr/l10n/az.js +8 -8
  9. data/vendor/assets/javascripts/flatpickr/l10n/be.js +7 -7
  10. data/vendor/assets/javascripts/flatpickr/l10n/bg.js +7 -7
  11. data/vendor/assets/javascripts/flatpickr/l10n/bn.js +7 -7
  12. data/vendor/assets/javascripts/flatpickr/l10n/bs.js +7 -7
  13. data/vendor/assets/javascripts/flatpickr/l10n/cat.js +9 -8
  14. data/vendor/assets/javascripts/flatpickr/l10n/ckb.js +68 -0
  15. data/vendor/assets/javascripts/flatpickr/l10n/cs.js +7 -7
  16. data/vendor/assets/javascripts/flatpickr/l10n/cy.js +7 -7
  17. data/vendor/assets/javascripts/flatpickr/l10n/da.js +7 -7
  18. data/vendor/assets/javascripts/flatpickr/l10n/de.js +7 -7
  19. data/vendor/assets/javascripts/flatpickr/l10n/default.js +7 -6
  20. data/vendor/assets/javascripts/flatpickr/l10n/eo.js +7 -7
  21. data/vendor/assets/javascripts/flatpickr/l10n/es.js +7 -7
  22. data/vendor/assets/javascripts/flatpickr/l10n/et.js +7 -7
  23. data/vendor/assets/javascripts/flatpickr/l10n/fa.js +7 -7
  24. data/vendor/assets/javascripts/flatpickr/l10n/fi.js +39 -39
  25. data/vendor/assets/javascripts/flatpickr/l10n/fo.js +7 -7
  26. data/vendor/assets/javascripts/flatpickr/l10n/fr.js +7 -7
  27. data/vendor/assets/javascripts/flatpickr/l10n/ga.js +7 -7
  28. data/vendor/assets/javascripts/flatpickr/l10n/gr.js +13 -9
  29. data/vendor/assets/javascripts/flatpickr/l10n/he.js +7 -7
  30. data/vendor/assets/javascripts/flatpickr/l10n/hi.js +7 -7
  31. data/vendor/assets/javascripts/flatpickr/l10n/hr.js +7 -7
  32. data/vendor/assets/javascripts/flatpickr/l10n/hu.js +7 -7
  33. data/vendor/assets/javascripts/flatpickr/l10n/hy.js +86 -0
  34. data/vendor/assets/javascripts/flatpickr/l10n/id.js +7 -7
  35. data/vendor/assets/javascripts/flatpickr/l10n/index.js +814 -467
  36. data/vendor/assets/javascripts/flatpickr/l10n/is.js +7 -7
  37. data/vendor/assets/javascripts/flatpickr/l10n/it.js +7 -7
  38. data/vendor/assets/javascripts/flatpickr/l10n/ja.js +11 -7
  39. data/vendor/assets/javascripts/flatpickr/l10n/ka.js +7 -7
  40. data/vendor/assets/javascripts/flatpickr/l10n/km.js +7 -7
  41. data/vendor/assets/javascripts/flatpickr/l10n/ko.js +8 -7
  42. data/vendor/assets/javascripts/flatpickr/l10n/kz.js +7 -7
  43. data/vendor/assets/javascripts/flatpickr/l10n/lt.js +8 -7
  44. data/vendor/assets/javascripts/flatpickr/l10n/lv.js +7 -7
  45. data/vendor/assets/javascripts/flatpickr/l10n/mk.js +7 -7
  46. data/vendor/assets/javascripts/flatpickr/l10n/mn.js +7 -7
  47. data/vendor/assets/javascripts/flatpickr/l10n/ms.js +9 -9
  48. data/vendor/assets/javascripts/flatpickr/l10n/my.js +7 -7
  49. data/vendor/assets/javascripts/flatpickr/l10n/nl.js +8 -8
  50. data/vendor/assets/javascripts/flatpickr/l10n/nn.js +73 -0
  51. data/vendor/assets/javascripts/flatpickr/l10n/no.js +7 -7
  52. data/vendor/assets/javascripts/flatpickr/l10n/pa.js +7 -7
  53. data/vendor/assets/javascripts/flatpickr/l10n/pl.js +7 -7
  54. data/vendor/assets/javascripts/flatpickr/l10n/pt.js +7 -7
  55. data/vendor/assets/javascripts/flatpickr/l10n/ro.js +7 -7
  56. data/vendor/assets/javascripts/flatpickr/l10n/ru.js +7 -7
  57. data/vendor/assets/javascripts/flatpickr/l10n/si.js +7 -7
  58. data/vendor/assets/javascripts/flatpickr/l10n/sk.js +7 -7
  59. data/vendor/assets/javascripts/flatpickr/l10n/sl.js +7 -7
  60. data/vendor/assets/javascripts/flatpickr/l10n/sq.js +7 -7
  61. data/vendor/assets/javascripts/flatpickr/l10n/sr-cyr.js +7 -7
  62. data/vendor/assets/javascripts/flatpickr/l10n/sr.js +7 -7
  63. data/vendor/assets/javascripts/flatpickr/l10n/sv.js +40 -39
  64. data/vendor/assets/javascripts/flatpickr/l10n/th.js +7 -7
  65. data/vendor/assets/javascripts/flatpickr/l10n/tr.js +7 -7
  66. data/vendor/assets/javascripts/flatpickr/l10n/uk.js +7 -7
  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 +9 -9
  70. data/vendor/assets/javascripts/flatpickr/l10n/zh-tw.js +7 -7
  71. data/vendor/assets/javascripts/flatpickr/l10n/zh.js +7 -7
  72. data/vendor/assets/javascripts/flatpickr/plugins/confirmDate/confirmDate.js +38 -18
  73. data/vendor/assets/javascripts/flatpickr/plugins/labelPlugin/labelPlugin.js +4 -4
  74. data/vendor/assets/javascripts/flatpickr/plugins/minMaxTimePlugin.js +47 -24
  75. data/vendor/assets/javascripts/flatpickr/plugins/momentPlugin.js +69 -0
  76. data/vendor/assets/javascripts/flatpickr/plugins/monthSelect/index.js +141 -56
  77. data/vendor/assets/javascripts/flatpickr/plugins/rangePlugin.js +175 -142
  78. data/vendor/assets/javascripts/flatpickr/plugins/scrollPlugin.js +53 -18
  79. data/vendor/assets/javascripts/flatpickr/plugins/weekSelect/weekSelect.js +18 -5
  80. data/vendor/assets/javascripts/flatpickr.js +432 -313
  81. data/vendor/assets/stylesheets/flatpickr/ie.css +0 -0
  82. data/vendor/assets/stylesheets/flatpickr/plugins/confirmDate/confirmDate.css +0 -0
  83. data/vendor/assets/stylesheets/flatpickr/plugins/monthSelect/style.css +45 -7
  84. data/vendor/assets/stylesheets/flatpickr/themes/airbnb.css +13 -2
  85. data/vendor/assets/stylesheets/flatpickr/themes/confetti.css +15 -4
  86. data/vendor/assets/stylesheets/flatpickr/themes/dark.css +13 -2
  87. data/vendor/assets/stylesheets/flatpickr/themes/light.css +15 -4
  88. data/vendor/assets/stylesheets/flatpickr/themes/material_blue.css +15 -4
  89. data/vendor/assets/stylesheets/flatpickr/themes/material_green.css +15 -4
  90. data/vendor/assets/stylesheets/flatpickr/themes/material_orange.css +15 -4
  91. data/vendor/assets/stylesheets/flatpickr/themes/material_red.css +15 -4
  92. data/vendor/assets/stylesheets/flatpickr.css +13 -2
  93. metadata +15 -7
@@ -1,146 +1,179 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
- typeof define === 'function' && define.amd ? define(factory) :
4
- (global = global || self, global.rangePlugin = factory());
5
- }(this, function () { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
+ typeof define === 'function' && define.amd ? define(factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.rangePlugin = factory());
5
+ }(this, (function () { 'use strict';
6
6
 
7
- function rangePlugin(config) {
8
- if (config === void 0) { config = {}; }
9
- return function (fp) {
10
- var dateFormat = "", secondInput, _secondInputFocused, _prevDates;
11
- var createSecondInput = function () {
12
- if (config.input) {
13
- secondInput =
14
- config.input instanceof Element
15
- ? config.input
16
- : window.document.querySelector(config.input);
17
- if (!secondInput) {
18
- fp.config.errorHandler(new Error("Invalid input element specified"));
19
- return;
20
- }
21
- if (fp.config.wrap) {
22
- secondInput = secondInput.querySelector("[data-input]");
23
- }
24
- }
25
- else {
26
- secondInput = fp._input.cloneNode();
27
- secondInput.removeAttribute("id");
28
- secondInput._flatpickr = undefined;
29
- }
30
- if (secondInput.value) {
31
- var parsedDate = fp.parseDate(secondInput.value);
32
- if (parsedDate)
33
- fp.selectedDates.push(parsedDate);
34
- }
35
- secondInput.setAttribute("data-fp-omit", "");
36
- fp._bind(secondInput, ["focus", "click"], function () {
37
- if (fp.selectedDates[1]) {
38
- fp.latestSelectedDateObj = fp.selectedDates[1];
39
- fp._setHoursFromDate(fp.selectedDates[1]);
40
- fp.jumpToDate(fp.selectedDates[1]);
41
- }
42
- _secondInputFocused = true;
43
- fp.isOpen = false;
44
- fp.open(undefined, config.position === "left" ? fp._input : secondInput);
45
- });
46
- fp._bind(fp._input, ["focus", "click"], function (e) {
47
- e.preventDefault();
48
- fp.isOpen = false;
49
- fp.open();
50
- });
51
- if (fp.config.allowInput)
52
- fp._bind(secondInput, "keydown", function (e) {
53
- if (e.key === "Enter") {
54
- fp.setDate([fp.selectedDates[0], secondInput.value], true, dateFormat);
55
- secondInput.click();
56
- }
57
- });
58
- if (!config.input)
59
- fp._input.parentNode &&
60
- fp._input.parentNode.insertBefore(secondInput, fp._input.nextSibling);
61
- };
62
- var plugin = {
63
- onParseConfig: function () {
64
- fp.config.mode = "range";
65
- dateFormat = fp.config.altInput
66
- ? fp.config.altFormat
67
- : fp.config.dateFormat;
68
- },
69
- onReady: function () {
70
- createSecondInput();
71
- fp.config.ignoredFocusElements.push(secondInput);
72
- if (fp.config.allowInput) {
73
- fp._input.removeAttribute("readonly");
74
- secondInput.removeAttribute("readonly");
75
- }
76
- else {
77
- secondInput.setAttribute("readonly", "readonly");
78
- }
79
- fp._bind(fp._input, "focus", function () {
80
- fp.latestSelectedDateObj = fp.selectedDates[0];
81
- fp._setHoursFromDate(fp.selectedDates[0]);
82
- _secondInputFocused = false;
83
- fp.jumpToDate(fp.selectedDates[0]);
84
- });
85
- if (fp.config.allowInput)
86
- fp._bind(fp._input, "keydown", function (e) {
87
- if (e.key === "Enter")
88
- fp.setDate([fp._input.value, fp.selectedDates[1]], true, dateFormat);
89
- });
90
- fp.setDate(fp.selectedDates, false);
91
- plugin.onValueUpdate(fp.selectedDates);
92
- fp.loadedPlugins.push("range");
93
- },
94
- onPreCalendarPosition: function () {
95
- if (_secondInputFocused) {
96
- fp._positionElement = secondInput;
97
- setTimeout(function () {
98
- fp._positionElement = fp._input;
99
- }, 0);
100
- }
101
- },
102
- onChange: function () {
103
- if (!fp.selectedDates.length) {
104
- setTimeout(function () {
105
- if (fp.selectedDates.length)
106
- return;
107
- secondInput.value = "";
108
- _prevDates = [];
109
- }, 10);
110
- }
111
- if (_secondInputFocused) {
112
- setTimeout(function () {
113
- secondInput.focus();
114
- }, 0);
115
- }
116
- },
117
- onDestroy: function () {
118
- if (!config.input)
119
- secondInput.parentNode &&
120
- secondInput.parentNode.removeChild(secondInput);
121
- },
122
- onValueUpdate: function (selDates) {
123
- var _a, _b, _c;
124
- if (!secondInput)
125
- return;
126
- _prevDates =
127
- !_prevDates || selDates.length >= _prevDates.length
128
- ? selDates.slice() : _prevDates;
129
- if (_prevDates.length > selDates.length) {
130
- var newSelectedDate = selDates[0];
131
- var newDates = _secondInputFocused
132
- ? [_prevDates[0], newSelectedDate]
133
- : [newSelectedDate, _prevDates[1]];
134
- fp.setDate(newDates, false);
135
- _prevDates = newDates.slice();
136
- }
137
- _a = fp.selectedDates.map(function (d) { return fp.formatDate(d, dateFormat); }), _b = _a[0], fp._input.value = _b === void 0 ? "" : _b, _c = _a[1], secondInput.value = _c === void 0 ? "" : _c;
138
- }
139
- };
140
- return plugin;
141
- };
142
- }
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
+ function __spreadArrays() {
23
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
24
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
25
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
26
+ r[k] = a[j];
27
+ return r;
28
+ }
143
29
 
144
- return rangePlugin;
30
+ function rangePlugin(config) {
31
+ if (config === void 0) { config = {}; }
32
+ return function (fp) {
33
+ var dateFormat = "", secondInput, _secondInputFocused, _prevDates;
34
+ var createSecondInput = function () {
35
+ if (config.input) {
36
+ secondInput =
37
+ config.input instanceof Element
38
+ ? config.input
39
+ : window.document.querySelector(config.input);
40
+ if (!secondInput) {
41
+ fp.config.errorHandler(new Error("Invalid input element specified"));
42
+ return;
43
+ }
44
+ if (fp.config.wrap) {
45
+ secondInput = secondInput.querySelector("[data-input]");
46
+ }
47
+ }
48
+ else {
49
+ secondInput = fp._input.cloneNode();
50
+ secondInput.removeAttribute("id");
51
+ secondInput._flatpickr = undefined;
52
+ }
53
+ if (secondInput.value) {
54
+ var parsedDate = fp.parseDate(secondInput.value);
55
+ if (parsedDate)
56
+ fp.selectedDates.push(parsedDate);
57
+ }
58
+ secondInput.setAttribute("data-fp-omit", "");
59
+ if (fp.config.clickOpens) {
60
+ fp._bind(secondInput, ["focus", "click"], function () {
61
+ if (fp.selectedDates[1]) {
62
+ fp.latestSelectedDateObj = fp.selectedDates[1];
63
+ fp._setHoursFromDate(fp.selectedDates[1]);
64
+ fp.jumpToDate(fp.selectedDates[1]);
65
+ }
66
+ _secondInputFocused = true;
67
+ fp.isOpen = false;
68
+ fp.open(undefined, config.position === "left" ? fp._input : secondInput);
69
+ });
70
+ fp._bind(fp._input, ["focus", "click"], function (e) {
71
+ e.preventDefault();
72
+ fp.isOpen = false;
73
+ fp.open();
74
+ });
75
+ }
76
+ if (fp.config.allowInput)
77
+ fp._bind(secondInput, "keydown", function (e) {
78
+ if (e.key === "Enter") {
79
+ fp.setDate([fp.selectedDates[0], secondInput.value], true, dateFormat);
80
+ secondInput.click();
81
+ }
82
+ });
83
+ if (!config.input)
84
+ fp._input.parentNode &&
85
+ fp._input.parentNode.insertBefore(secondInput, fp._input.nextSibling);
86
+ };
87
+ var plugin = {
88
+ onParseConfig: function () {
89
+ fp.config.mode = "range";
90
+ dateFormat = fp.config.altInput
91
+ ? fp.config.altFormat
92
+ : fp.config.dateFormat;
93
+ },
94
+ onReady: function () {
95
+ createSecondInput();
96
+ fp.config.ignoredFocusElements.push(secondInput);
97
+ if (fp.config.allowInput) {
98
+ fp._input.removeAttribute("readonly");
99
+ secondInput.removeAttribute("readonly");
100
+ }
101
+ else {
102
+ secondInput.setAttribute("readonly", "readonly");
103
+ }
104
+ fp._bind(fp._input, "focus", function () {
105
+ fp.latestSelectedDateObj = fp.selectedDates[0];
106
+ fp._setHoursFromDate(fp.selectedDates[0]);
107
+ _secondInputFocused = false;
108
+ fp.jumpToDate(fp.selectedDates[0]);
109
+ });
110
+ if (fp.config.allowInput)
111
+ fp._bind(fp._input, "keydown", function (e) {
112
+ if (e.key === "Enter")
113
+ fp.setDate([fp._input.value, fp.selectedDates[1]], true, dateFormat);
114
+ });
115
+ fp.setDate(fp.selectedDates, false);
116
+ plugin.onValueUpdate(fp.selectedDates);
117
+ fp.loadedPlugins.push("range");
118
+ },
119
+ onPreCalendarPosition: function () {
120
+ if (_secondInputFocused) {
121
+ fp._positionElement = secondInput;
122
+ setTimeout(function () {
123
+ fp._positionElement = fp._input;
124
+ }, 0);
125
+ }
126
+ },
127
+ onChange: function () {
128
+ if (!fp.selectedDates.length) {
129
+ setTimeout(function () {
130
+ if (fp.selectedDates.length)
131
+ return;
132
+ secondInput.value = "";
133
+ _prevDates = [];
134
+ }, 10);
135
+ }
136
+ if (_secondInputFocused) {
137
+ setTimeout(function () {
138
+ secondInput.focus();
139
+ }, 0);
140
+ }
141
+ },
142
+ onDestroy: function () {
143
+ if (!config.input)
144
+ secondInput.parentNode &&
145
+ secondInput.parentNode.removeChild(secondInput);
146
+ },
147
+ onValueUpdate: function (selDates) {
148
+ var _a, _b, _c;
149
+ if (!secondInput)
150
+ return;
151
+ _prevDates =
152
+ !_prevDates || selDates.length >= _prevDates.length
153
+ ? __spreadArrays(selDates) : _prevDates;
154
+ if (_prevDates.length > selDates.length) {
155
+ var newSelectedDate = selDates[0];
156
+ var newDates = _secondInputFocused
157
+ ? [_prevDates[0], newSelectedDate]
158
+ : [newSelectedDate, _prevDates[1]];
159
+ if (newDates[0].getTime() > newDates[1].getTime()) {
160
+ if (_secondInputFocused) {
161
+ newDates[0] = newDates[1];
162
+ }
163
+ else {
164
+ newDates[1] = newDates[0];
165
+ }
166
+ }
167
+ fp.setDate(newDates, false);
168
+ _prevDates = __spreadArrays(newDates);
169
+ }
170
+ _a = fp.selectedDates.map(function (d) { return fp.formatDate(d, dateFormat); }), _b = _a[0], fp._input.value = _b === void 0 ? "" : _b, _c = _a[1], secondInput.value = _c === void 0 ? "" : _c;
171
+ },
172
+ };
173
+ return plugin;
174
+ };
175
+ }
145
176
 
146
- }));
177
+ return rangePlugin;
178
+
179
+ })));
@@ -1,19 +1,46 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
3
  typeof define === 'function' && define.amd ? define(factory) :
4
- (global = global || self, global.scrollPlugin = factory());
5
- }(this, function () { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.scrollPlugin = factory());
5
+ }(this, (function () { 'use strict';
6
6
 
7
+ function getEventTarget(event) {
8
+ try {
9
+ if (typeof event.composedPath === "function") {
10
+ var path = event.composedPath();
11
+ return path[0];
12
+ }
13
+ return event.target;
14
+ }
15
+ catch (error) {
16
+ return event.target;
17
+ }
18
+ }
19
+
20
+ if (typeof window.CustomEvent !== "function") {
21
+ var CustomEvent = function (typeArg, eventInitDict) {
22
+ eventInitDict = eventInitDict || {
23
+ bubbles: false,
24
+ cancelable: false,
25
+ detail: undefined,
26
+ };
27
+ var evt = document.createEvent("CustomEvent");
28
+ evt.initCustomEvent(typeArg, eventInitDict.bubbles, eventInitDict.cancelable, eventInitDict.detail);
29
+ return evt;
30
+ };
31
+ CustomEvent.prototype = window.Event.prototype;
32
+ window.CustomEvent = CustomEvent;
33
+ }
7
34
  function delta(e) {
8
35
  return Math.max(-1, Math.min(1, e.wheelDelta || -e.deltaY));
9
36
  }
10
37
  var scroll = function (e) {
11
38
  e.preventDefault();
12
39
  var ev = new CustomEvent("increment", {
13
- bubbles: true
40
+ bubbles: true,
14
41
  });
15
42
  ev.delta = delta(e);
16
- e.target.dispatchEvent(ev);
43
+ getEventTarget(e).dispatchEvent(ev);
17
44
  };
18
45
  function scrollMonth(fp) {
19
46
  return function (e) {
@@ -30,29 +57,37 @@
30
57
  if (fp.timeContainer) {
31
58
  fp.timeContainer.addEventListener("wheel", scroll);
32
59
  }
33
- fp.yearElements.forEach(function (yearElem) {
34
- return yearElem.addEventListener("wheel", scroll);
35
- });
36
- fp.monthElements.forEach(function (monthElem) {
37
- return monthElem.addEventListener("wheel", monthScroller);
38
- });
60
+ if (fp.yearElements) {
61
+ fp.yearElements.forEach(function (yearElem) {
62
+ return yearElem.addEventListener("wheel", scroll);
63
+ });
64
+ }
65
+ if (fp.monthElements) {
66
+ fp.monthElements.forEach(function (monthElem) {
67
+ return monthElem.addEventListener("wheel", monthScroller);
68
+ });
69
+ }
39
70
  fp.loadedPlugins.push("scroll");
40
71
  },
41
72
  onDestroy: function () {
42
73
  if (fp.timeContainer) {
43
74
  fp.timeContainer.removeEventListener("wheel", scroll);
44
75
  }
45
- fp.yearElements.forEach(function (yearElem) {
46
- return yearElem.removeEventListener("wheel", scroll);
47
- });
48
- fp.monthElements.forEach(function (monthElem) {
49
- return monthElem.removeEventListener("wheel", monthScroller);
50
- });
51
- }
76
+ if (fp.yearElements) {
77
+ fp.yearElements.forEach(function (yearElem) {
78
+ return yearElem.removeEventListener("wheel", scroll);
79
+ });
80
+ }
81
+ if (fp.monthElements) {
82
+ fp.monthElements.forEach(function (monthElem) {
83
+ return monthElem.removeEventListener("wheel", monthScroller);
84
+ });
85
+ }
86
+ },
52
87
  };
53
88
  };
54
89
  }
55
90
 
56
91
  return scrollPlugin;
57
92
 
58
- }));
93
+ })));
@@ -1,13 +1,26 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
3
  typeof define === 'function' && define.amd ? define(factory) :
4
- (global = global || self, global.weekSelect = factory());
5
- }(this, function () { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.weekSelect = factory());
5
+ }(this, (function () { 'use strict';
6
+
7
+ function getEventTarget(event) {
8
+ try {
9
+ if (typeof event.composedPath === "function") {
10
+ var path = event.composedPath();
11
+ return path[0];
12
+ }
13
+ return event.target;
14
+ }
15
+ catch (error) {
16
+ return event.target;
17
+ }
18
+ }
6
19
 
7
20
  function weekSelectPlugin() {
8
21
  return function (fp) {
9
22
  function onDayHover(event) {
10
- var day = event.target;
23
+ var day = getEventTarget(event);
11
24
  if (!day.classList.contains("flatpickr-day"))
12
25
  return;
13
26
  var days = fp.days.childNodes;
@@ -76,11 +89,11 @@
76
89
  fp.loadedPlugins.push("weekSelect");
77
90
  },
78
91
  ],
79
- onDestroy: onDestroy
92
+ onDestroy: onDestroy,
80
93
  };
81
94
  };
82
95
  }
83
96
 
84
97
  return weekSelectPlugin;
85
98
 
86
- }));
99
+ })));