flatpickr 4.6.3.0 → 4.6.13.1

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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/lib/flatpickr/version.rb +1 -1
  4. data/vendor/assets/javascripts/flatpickr/l10n/ar-dz.js +61 -0
  5. data/vendor/assets/javascripts/flatpickr/l10n/ar.js +17 -7
  6. data/vendor/assets/javascripts/flatpickr/l10n/at.js +8 -7
  7. data/vendor/assets/javascripts/flatpickr/l10n/az.js +8 -8
  8. data/vendor/assets/javascripts/flatpickr/l10n/be.js +7 -7
  9. data/vendor/assets/javascripts/flatpickr/l10n/bg.js +7 -7
  10. data/vendor/assets/javascripts/flatpickr/l10n/bn.js +7 -7
  11. data/vendor/assets/javascripts/flatpickr/l10n/bs.js +7 -7
  12. data/vendor/assets/javascripts/flatpickr/l10n/cat.js +9 -8
  13. data/vendor/assets/javascripts/flatpickr/l10n/ckb.js +76 -0
  14. data/vendor/assets/javascripts/flatpickr/l10n/cs.js +7 -7
  15. data/vendor/assets/javascripts/flatpickr/l10n/cy.js +7 -7
  16. data/vendor/assets/javascripts/flatpickr/l10n/da.js +7 -7
  17. data/vendor/assets/javascripts/flatpickr/l10n/de.js +7 -7
  18. data/vendor/assets/javascripts/flatpickr/l10n/default.js +7 -6
  19. data/vendor/assets/javascripts/flatpickr/l10n/eo.js +7 -7
  20. data/vendor/assets/javascripts/flatpickr/l10n/es.js +7 -7
  21. data/vendor/assets/javascripts/flatpickr/l10n/et.js +7 -7
  22. data/vendor/assets/javascripts/flatpickr/l10n/fa.js +7 -7
  23. data/vendor/assets/javascripts/flatpickr/l10n/fi.js +39 -39
  24. data/vendor/assets/javascripts/flatpickr/l10n/fo.js +7 -7
  25. data/vendor/assets/javascripts/flatpickr/l10n/fr.js +7 -7
  26. data/vendor/assets/javascripts/flatpickr/l10n/ga.js +7 -7
  27. data/vendor/assets/javascripts/flatpickr/l10n/gr.js +13 -9
  28. data/vendor/assets/javascripts/flatpickr/l10n/he.js +7 -7
  29. data/vendor/assets/javascripts/flatpickr/l10n/hi.js +7 -7
  30. data/vendor/assets/javascripts/flatpickr/l10n/hr.js +7 -7
  31. data/vendor/assets/javascripts/flatpickr/l10n/hu.js +7 -7
  32. data/vendor/assets/javascripts/flatpickr/l10n/hy.js +78 -0
  33. data/vendor/assets/javascripts/flatpickr/l10n/id.js +7 -7
  34. data/vendor/assets/javascripts/flatpickr/l10n/index.js +820 -474
  35. data/vendor/assets/javascripts/flatpickr/l10n/is.js +7 -7
  36. data/vendor/assets/javascripts/flatpickr/l10n/it.js +7 -7
  37. data/vendor/assets/javascripts/flatpickr/l10n/ja.js +11 -7
  38. data/vendor/assets/javascripts/flatpickr/l10n/ka.js +7 -7
  39. data/vendor/assets/javascripts/flatpickr/l10n/km.js +7 -7
  40. data/vendor/assets/javascripts/flatpickr/l10n/ko.js +8 -7
  41. data/vendor/assets/javascripts/flatpickr/l10n/kz.js +7 -7
  42. data/vendor/assets/javascripts/flatpickr/l10n/lt.js +8 -7
  43. data/vendor/assets/javascripts/flatpickr/l10n/lv.js +7 -7
  44. data/vendor/assets/javascripts/flatpickr/l10n/mk.js +7 -7
  45. data/vendor/assets/javascripts/flatpickr/l10n/mn.js +7 -7
  46. data/vendor/assets/javascripts/flatpickr/l10n/ms.js +8 -16
  47. data/vendor/assets/javascripts/flatpickr/l10n/my.js +7 -7
  48. data/vendor/assets/javascripts/flatpickr/l10n/nl.js +8 -8
  49. data/vendor/assets/javascripts/flatpickr/l10n/nn.js +73 -0
  50. data/vendor/assets/javascripts/flatpickr/l10n/no.js +7 -7
  51. data/vendor/assets/javascripts/flatpickr/l10n/pa.js +7 -7
  52. data/vendor/assets/javascripts/flatpickr/l10n/pl.js +7 -7
  53. data/vendor/assets/javascripts/flatpickr/l10n/pt.js +7 -7
  54. data/vendor/assets/javascripts/flatpickr/l10n/ro.js +7 -7
  55. data/vendor/assets/javascripts/flatpickr/l10n/ru.js +7 -7
  56. data/vendor/assets/javascripts/flatpickr/l10n/si.js +7 -7
  57. data/vendor/assets/javascripts/flatpickr/l10n/sk.js +7 -7
  58. data/vendor/assets/javascripts/flatpickr/l10n/sl.js +7 -7
  59. data/vendor/assets/javascripts/flatpickr/l10n/sq.js +14 -7
  60. data/vendor/assets/javascripts/flatpickr/l10n/sr-cyr.js +7 -7
  61. data/vendor/assets/javascripts/flatpickr/l10n/sr.js +7 -7
  62. data/vendor/assets/javascripts/flatpickr/l10n/sv.js +40 -39
  63. data/vendor/assets/javascripts/flatpickr/l10n/th.js +7 -7
  64. data/vendor/assets/javascripts/flatpickr/l10n/tr.js +7 -7
  65. data/vendor/assets/javascripts/flatpickr/l10n/uk.js +7 -7
  66. data/vendor/assets/javascripts/flatpickr/l10n/uz.js +75 -0
  67. data/vendor/assets/javascripts/flatpickr/l10n/uz_latn.js +75 -0
  68. data/vendor/assets/javascripts/flatpickr/l10n/vn.js +9 -9
  69. data/vendor/assets/javascripts/flatpickr/l10n/zh-tw.js +7 -7
  70. data/vendor/assets/javascripts/flatpickr/l10n/zh.js +7 -7
  71. data/vendor/assets/javascripts/flatpickr/plugins/confirmDate/confirmDate.js +38 -18
  72. data/vendor/assets/javascripts/flatpickr/plugins/labelPlugin/labelPlugin.js +4 -4
  73. data/vendor/assets/javascripts/flatpickr/plugins/minMaxTimePlugin.js +47 -24
  74. data/vendor/assets/javascripts/flatpickr/plugins/momentPlugin.js +69 -0
  75. data/vendor/assets/javascripts/flatpickr/plugins/monthSelect/index.js +154 -56
  76. data/vendor/assets/javascripts/flatpickr/plugins/rangePlugin.js +175 -142
  77. data/vendor/assets/javascripts/flatpickr/plugins/scrollPlugin.js +53 -18
  78. data/vendor/assets/javascripts/flatpickr/plugins/weekSelect/weekSelect.js +18 -5
  79. data/vendor/assets/javascripts/flatpickr.js +435 -321
  80. data/vendor/assets/stylesheets/flatpickr/plugins/monthSelect/style.css +45 -7
  81. data/vendor/assets/stylesheets/flatpickr/themes/airbnb.css +13 -2
  82. data/vendor/assets/stylesheets/flatpickr/themes/confetti.css +15 -4
  83. data/vendor/assets/stylesheets/flatpickr/themes/dark.css +13 -2
  84. data/vendor/assets/stylesheets/flatpickr/themes/light.css +15 -4
  85. data/vendor/assets/stylesheets/flatpickr/themes/material_blue.css +15 -4
  86. data/vendor/assets/stylesheets/flatpickr/themes/material_green.css +15 -4
  87. data/vendor/assets/stylesheets/flatpickr/themes/material_orange.css +15 -4
  88. data/vendor/assets/stylesheets/flatpickr/themes/material_red.css +15 -4
  89. data/vendor/assets/stylesheets/flatpickr.css +13 -2
  90. metadata +15 -17
  91. data/.gitignore +0 -10
  92. data/.rspec +0 -2
  93. data/.travis.yml +0 -5
  94. data/Gemfile +0 -3
  95. data/Rakefile +0 -44
  96. data/bin/console +0 -7
  97. data/bin/setup +0 -6
  98. data/flatpickr.gemspec +0 -26
@@ -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
+ })));