fomantic-ui 2.10.0-beta.62 → 2.10.0-beta.64

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 (209) hide show
  1. package/.eslintrc.js +0 -1
  2. package/changelog-setup.js +10 -10
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +40 -41
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +2 -2
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +57 -61
  10. package/dist/components/api.min.js +2 -2
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +1 -1
  16. package/dist/components/calendar.js +186 -187
  17. package/dist/components/calendar.min.css +1 -1
  18. package/dist/components/calendar.min.js +2 -2
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +29 -30
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +2 -2
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +1 -1
  28. package/dist/components/container.min.css +1 -1
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +22 -23
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +2 -2
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +1 -1
  36. package/dist/components/dropdown.js +293 -337
  37. package/dist/components/dropdown.min.css +1 -1
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +33 -35
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +2 -2
  43. package/dist/components/emoji.css +1 -1
  44. package/dist/components/emoji.min.css +1 -1
  45. package/dist/components/feed.css +1 -1
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +1 -1
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +1 -1
  50. package/dist/components/flyout.js +74 -81
  51. package/dist/components/flyout.min.css +1 -1
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +1 -1
  54. package/dist/components/form.js +141 -146
  55. package/dist/components/form.min.css +1 -1
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +1 -1
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +1 -1
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +1 -1
  62. package/dist/components/icon.min.css +1 -1
  63. package/dist/components/image.css +1 -1
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +1 -1
  66. package/dist/components/input.min.css +1 -1
  67. package/dist/components/item.css +1 -1
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +1 -1
  70. package/dist/components/label.min.css +1 -1
  71. package/dist/components/list.css +1 -1
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +1 -1
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +1 -1
  76. package/dist/components/menu.min.css +1 -1
  77. package/dist/components/message.css +1 -1
  78. package/dist/components/message.min.css +1 -1
  79. package/dist/components/modal.css +1 -1
  80. package/dist/components/modal.js +80 -81
  81. package/dist/components/modal.min.css +1 -1
  82. package/dist/components/modal.min.js +2 -2
  83. package/dist/components/nag.css +1 -1
  84. package/dist/components/nag.js +27 -28
  85. package/dist/components/nag.min.css +1 -1
  86. package/dist/components/nag.min.js +2 -2
  87. package/dist/components/placeholder.css +1 -1
  88. package/dist/components/placeholder.min.css +1 -1
  89. package/dist/components/popup.css +1 -1
  90. package/dist/components/popup.js +62 -72
  91. package/dist/components/popup.min.css +1 -1
  92. package/dist/components/popup.min.js +2 -2
  93. package/dist/components/progress.css +1 -1
  94. package/dist/components/progress.js +51 -55
  95. package/dist/components/progress.min.css +1 -1
  96. package/dist/components/progress.min.js +2 -2
  97. package/dist/components/rail.css +1 -1
  98. package/dist/components/rail.min.css +1 -1
  99. package/dist/components/rating.css +1 -1
  100. package/dist/components/rating.js +33 -34
  101. package/dist/components/rating.min.css +1 -1
  102. package/dist/components/rating.min.js +2 -2
  103. package/dist/components/reset.css +1 -1
  104. package/dist/components/reset.min.css +1 -1
  105. package/dist/components/reveal.css +1 -1
  106. package/dist/components/reveal.min.css +1 -1
  107. package/dist/components/search.css +1 -1
  108. package/dist/components/search.js +96 -109
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +2 -2
  111. package/dist/components/segment.css +1 -1
  112. package/dist/components/segment.min.css +1 -1
  113. package/dist/components/shape.css +1 -1
  114. package/dist/components/shape.js +44 -45
  115. package/dist/components/shape.min.css +1 -1
  116. package/dist/components/shape.min.js +2 -2
  117. package/dist/components/sidebar.css +1 -1
  118. package/dist/components/sidebar.js +56 -64
  119. package/dist/components/sidebar.min.css +1 -1
  120. package/dist/components/sidebar.min.js +2 -2
  121. package/dist/components/site.css +1 -1
  122. package/dist/components/site.js +16 -17
  123. package/dist/components/site.min.css +1 -1
  124. package/dist/components/site.min.js +2 -2
  125. package/dist/components/slider.css +1 -1
  126. package/dist/components/slider.js +143 -148
  127. package/dist/components/slider.min.css +1 -1
  128. package/dist/components/slider.min.js +2 -2
  129. package/dist/components/state.js +24 -25
  130. package/dist/components/state.min.js +2 -2
  131. package/dist/components/statistic.css +1 -1
  132. package/dist/components/statistic.min.css +1 -1
  133. package/dist/components/step.css +1 -1
  134. package/dist/components/step.min.css +1 -1
  135. package/dist/components/sticky.css +1 -1
  136. package/dist/components/sticky.js +42 -43
  137. package/dist/components/sticky.min.css +1 -1
  138. package/dist/components/sticky.min.js +2 -2
  139. package/dist/components/tab.css +1 -1
  140. package/dist/components/tab.js +57 -66
  141. package/dist/components/tab.min.css +1 -1
  142. package/dist/components/tab.min.js +2 -2
  143. package/dist/components/table.css +1 -1
  144. package/dist/components/table.min.css +1 -1
  145. package/dist/components/text.css +1 -1
  146. package/dist/components/text.min.css +1 -1
  147. package/dist/components/toast.css +1 -1
  148. package/dist/components/toast.js +32 -33
  149. package/dist/components/toast.min.css +1 -1
  150. package/dist/components/toast.min.js +2 -2
  151. package/dist/components/transition.css +1 -1
  152. package/dist/components/transition.js +38 -45
  153. package/dist/components/transition.min.css +1 -1
  154. package/dist/components/transition.min.js +2 -2
  155. package/dist/components/visibility.js +76 -77
  156. package/dist/components/visibility.min.js +2 -2
  157. package/dist/semantic.css +53 -53
  158. package/dist/semantic.js +1753 -1884
  159. package/dist/semantic.min.css +1 -1
  160. package/dist/semantic.min.js +2 -2
  161. package/package.json +1 -1
  162. package/scripts/nightly-version.js +3 -3
  163. package/src/definitions/behaviors/api.js +56 -60
  164. package/src/definitions/behaviors/form.js +140 -145
  165. package/src/definitions/behaviors/state.js +23 -24
  166. package/src/definitions/behaviors/visibility.js +75 -76
  167. package/src/definitions/globals/site.js +15 -16
  168. package/src/definitions/modules/accordion.js +39 -40
  169. package/src/definitions/modules/calendar.js +185 -186
  170. package/src/definitions/modules/checkbox.js +28 -29
  171. package/src/definitions/modules/dimmer.js +21 -22
  172. package/src/definitions/modules/dropdown.js +292 -336
  173. package/src/definitions/modules/embed.js +32 -34
  174. package/src/definitions/modules/flyout.js +73 -80
  175. package/src/definitions/modules/modal.js +79 -80
  176. package/src/definitions/modules/nag.js +26 -27
  177. package/src/definitions/modules/popup.js +61 -71
  178. package/src/definitions/modules/progress.js +50 -54
  179. package/src/definitions/modules/rating.js +32 -33
  180. package/src/definitions/modules/search.js +95 -108
  181. package/src/definitions/modules/shape.js +43 -44
  182. package/src/definitions/modules/sidebar.js +55 -63
  183. package/src/definitions/modules/slider.js +142 -147
  184. package/src/definitions/modules/sticky.js +41 -42
  185. package/src/definitions/modules/tab.js +56 -65
  186. package/src/definitions/modules/toast.js +31 -32
  187. package/src/definitions/modules/transition.js +37 -44
  188. package/tasks/admin/components/create.js +11 -11
  189. package/tasks/admin/components/init.js +11 -12
  190. package/tasks/admin/components/update.js +19 -20
  191. package/tasks/admin/distributions/create.js +24 -36
  192. package/tasks/admin/distributions/init.js +11 -12
  193. package/tasks/admin/distributions/update.js +18 -19
  194. package/tasks/admin/register.js +7 -7
  195. package/tasks/build/assets.js +1 -1
  196. package/tasks/build/css.js +1 -1
  197. package/tasks/build/javascript.js +1 -1
  198. package/tasks/config/admin/github.js +1 -1
  199. package/tasks/config/admin/templates/css-package.js +1 -1
  200. package/tasks/config/admin/templates/less-package.js +1 -1
  201. package/tasks/config/project/config.js +6 -6
  202. package/tasks/config/project/install.js +12 -12
  203. package/tasks/config/project/release.js +5 -11
  204. package/tasks/config/tasks.js +5 -5
  205. package/tasks/config/user.js +1 -4
  206. package/tasks/docs/metadata.js +11 -12
  207. package/tasks/install.js +9 -9
  208. package/test/meteor/assets.js +1 -1
  209. package/test/modules/module.spec.js +18 -18
@@ -20,59 +20,58 @@
20
20
  : globalThis;
21
21
 
22
22
  $.fn.calendar = function (...args) {
23
- let $allModules = $(this);
24
- let $document = $(document);
23
+ const $allModules = $(this);
24
+ const $document = $(document);
25
25
 
26
26
  let time = Date.now();
27
27
  let performance = [];
28
28
 
29
- let parameters = args[0];
30
- let methodInvoked = typeof parameters === 'string';
31
- let queryArguments = args.slice(1);
29
+ const parameters = args[0];
30
+ const methodInvoked = typeof parameters === 'string';
31
+ const queryArguments = args.slice(1);
32
32
  let returnedValue;
33
- let timeGapTable = {
33
+ const timeGapTable = {
34
34
  5: { row: 4, column: 3 },
35
35
  10: { row: 3, column: 2 },
36
36
  15: { row: 2, column: 2 },
37
37
  20: { row: 3, column: 1 },
38
38
  30: { row: 2, column: 1 },
39
39
  };
40
- let numberText = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'];
40
+ const numberText = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'];
41
41
 
42
42
  $allModules.each(function () {
43
- let settings = $.isPlainObject(parameters)
43
+ const settings = $.isPlainObject(parameters)
44
44
  ? $.extend(true, {}, $.fn.calendar.settings, parameters)
45
45
  : $.extend({}, $.fn.calendar.settings);
46
46
 
47
- let className = settings.className;
48
- let namespace = settings.namespace;
49
- let selector = settings.selector;
50
- let formatter = settings.formatter;
51
- let parser = settings.parser;
52
- let metadata = settings.metadata;
53
- let timeGap = timeGapTable[settings.minTimeGap];
54
- let error = settings.error;
47
+ const className = settings.className;
48
+ const namespace = settings.namespace;
49
+ const selector = settings.selector;
50
+ const formatter = settings.formatter;
51
+ const parser = settings.parser;
52
+ const metadata = settings.metadata;
53
+ const timeGap = timeGapTable[settings.minTimeGap];
54
+ const error = settings.error;
55
55
 
56
- let eventNamespace = '.' + namespace;
57
- let moduleNamespace = 'module-' + namespace;
56
+ const eventNamespace = '.' + namespace;
57
+ const moduleNamespace = 'module-' + namespace;
58
58
 
59
- let $module = $(this);
60
- let $input = $module.find(selector.input);
59
+ const $module = $(this);
60
+ const $input = $module.find(selector.input);
61
61
  let $activator = $module.find(selector.activator);
62
62
 
63
- let element = this;
63
+ const element = this;
64
64
  let instance = $module.data(moduleNamespace);
65
65
  let $container = instance && instance.popupId ? $document.find('#' + instance.popupId) : $module.find(selector.popup);
66
66
 
67
67
  let isTouch;
68
68
  let isTouchDown = false;
69
- let isInverted = $module.hasClass(className.inverted);
69
+ const isInverted = $module.hasClass(className.inverted);
70
70
  let focusDateUsedForRange = false;
71
71
  let selectionComplete = false;
72
72
  let classObserver;
73
- let module;
74
73
 
75
- module = {
74
+ const module = {
76
75
 
77
76
  initialize: function () {
78
77
  module.debug('Initializing calendar for', element, $module);
@@ -146,8 +145,8 @@
146
145
  } else {
147
146
  // prepend the popup element to the activator's parent so that it has less chance of messing with
148
147
  // the styling (e.g., input action button needs to be the last child to have the correct border radius)
149
- let $activatorParent = $activator.parent();
150
- let domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo';
148
+ const $activatorParent = $activator.parent();
149
+ const domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo';
151
150
  $container = $('<div/>').addClass(className.popup)[domPositionFunction]($activatorParent);
152
151
  }
153
152
  }
@@ -160,7 +159,7 @@
160
159
 
161
160
  return settings.onVisible.apply($container, args);
162
161
  };
163
- let onHidden = function (...args) {
162
+ const onHidden = function (...args) {
164
163
  module.blur();
165
164
 
166
165
  return settings.onHidden.apply($container, args);
@@ -175,15 +174,15 @@
175
174
  return settings.onVisible.apply($container, args);
176
175
  };
177
176
  }
178
- let onShow = function (...args) {
177
+ const onShow = function (...args) {
179
178
  // reset the focus date onShow
180
179
  module.set.focusDate(module.get.date());
181
180
  module.set.mode(module.get.validatedMode(settings.startMode));
182
181
 
183
182
  return settings.onShow.apply($container, args);
184
183
  };
185
- let on = module.setting('on');
186
- let options = $.extend({}, settings.popupOptions, {
184
+ const on = module.setting('on');
185
+ const options = $.extend({}, settings.popupOptions, {
187
186
  popup: $container,
188
187
  movePopup: !settings.context,
189
188
  on: on,
@@ -228,9 +227,9 @@
228
227
 
229
228
  trigger: {
230
229
  change: function () {
231
- let inputElement = $input[0];
230
+ const inputElement = $input[0];
232
231
  if (inputElement) {
233
- let event = new Event('change', { bubbles: true });
232
+ const event = new Event('change', { bubbles: true });
234
233
  module.verbose('Triggering native change event');
235
234
  inputElement.dispatchEvent(event);
236
235
  }
@@ -247,41 +246,41 @@
247
246
  let cell;
248
247
  let pageGrid;
249
248
 
250
- let mode = module.get.mode();
251
- let today = new Date();
252
- let date = module.get.date();
249
+ const mode = module.get.mode();
250
+ const today = new Date();
251
+ const date = module.get.date();
253
252
  let focusDate = module.get.focusDate();
254
- let display = module.helper.dateInRange(focusDate || date || parser.date(settings.initialDate, settings) || today);
253
+ const display = module.helper.dateInRange(focusDate || date || parser.date(settings.initialDate, settings) || today);
255
254
 
256
255
  if (!focusDate) {
257
256
  focusDate = display;
258
257
  module.set.focusDate(focusDate, false, false);
259
258
  }
260
259
 
261
- let isYear = mode === 'year';
262
- let isMonth = mode === 'month';
263
- let isDay = mode === 'day';
264
- let isHour = mode === 'hour';
265
- let isMinute = mode === 'minute';
266
- let isTimeOnly = settings.type === 'time';
260
+ const isYear = mode === 'year';
261
+ const isMonth = mode === 'month';
262
+ const isDay = mode === 'day';
263
+ const isHour = mode === 'hour';
264
+ const isMinute = mode === 'minute';
265
+ const isTimeOnly = settings.type === 'time';
267
266
 
268
- let multiMonth = Math.max(settings.multiMonth, 1);
269
- let monthOffset = !isDay ? 0 : module.get.monthOffset();
267
+ const multiMonth = Math.max(settings.multiMonth, 1);
268
+ const monthOffset = !isDay ? 0 : module.get.monthOffset();
270
269
 
271
- let minute = display.getMinutes();
272
- let hour = display.getHours();
273
- let day = display.getDate();
274
- let startMonth = display.getMonth() + monthOffset;
275
- let year = display.getFullYear();
270
+ const minute = display.getMinutes();
271
+ const hour = display.getHours();
272
+ const day = display.getDate();
273
+ const startMonth = display.getMonth() + monthOffset;
274
+ const year = display.getFullYear();
276
275
 
277
- let columns = isDay
276
+ const columns = isDay
278
277
  ? (settings.showWeekNumbers ? 8 : 7)
279
278
  : (isHour ? 4 : timeGap.column);
280
279
  let rows = isDay || isHour ? 6 : timeGap.row;
281
- let pages = isDay ? multiMonth : 1;
280
+ const pages = isDay ? multiMonth : 1;
282
281
 
283
282
  let container = $container;
284
- let tooltipPosition = container.hasClass('left') ? 'right center' : 'left center';
283
+ const tooltipPosition = container.hasClass('left') ? 'right center' : 'left center';
285
284
  container.empty();
286
285
  if (pages > 1) {
287
286
  pageGrid = $('<div/>').addClass(className.grid).appendTo(container);
@@ -289,31 +288,31 @@
289
288
 
290
289
  for (p = 0; p < pages; p++) {
291
290
  if (pages > 1) {
292
- let pageColumn = $('<div/>').addClass(className.column).appendTo(pageGrid);
291
+ const pageColumn = $('<div/>').addClass(className.column).appendTo(pageGrid);
293
292
  container = pageColumn;
294
293
  }
295
294
 
296
- let month = startMonth + p;
297
- let firstMonthDayColumn = (new Date(year, month, 1).getDay() - (settings.firstDayOfWeek % 7) + 7) % 7;
295
+ const month = startMonth + p;
296
+ const firstMonthDayColumn = (new Date(year, month, 1).getDay() - (settings.firstDayOfWeek % 7) + 7) % 7;
298
297
  if (!settings.constantHeight && isDay) {
299
- let requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn;
298
+ const requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn;
300
299
  rows = Math.ceil(requiredCells / 7);
301
300
  }
302
301
 
303
- let yearChange = isYear ? 10 : (isMonth ? 1 : 0);
304
- let monthChange = isDay ? 1 : 0;
305
- let dayChange = isHour || isMinute ? 1 : 0;
306
- let prevNextDay = isHour || isMinute ? day : 1;
307
- let prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour);
308
- let nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour);
309
- let prevLast = isYear
302
+ const yearChange = isYear ? 10 : (isMonth ? 1 : 0);
303
+ const monthChange = isDay ? 1 : 0;
304
+ const dayChange = isHour || isMinute ? 1 : 0;
305
+ const prevNextDay = isHour || isMinute ? day : 1;
306
+ const prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour);
307
+ const nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour);
308
+ const prevLast = isYear
310
309
  ? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0)
311
310
  : (isMonth
312
311
  ? new Date(year, 0, 0)
313
312
  : (isDay // eslint-disable-line unicorn/no-nested-ternary
314
313
  ? new Date(year, month, 0)
315
314
  : new Date(year, month, day, -1)));
316
- let nextFirst = isYear
315
+ const nextFirst = isYear
317
316
  ? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1)
318
317
  : (isMonth
319
318
  ? new Date(year + 1, 0, 1)
@@ -325,7 +324,7 @@
325
324
  if (isDay && settings.showWeekNumbers) {
326
325
  tempMode += ' andweek';
327
326
  }
328
- let table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column')
327
+ const table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column')
329
328
  .appendTo(container);
330
329
  if (isInverted) {
331
330
  table.addClass(className.inverted);
@@ -333,19 +332,19 @@
333
332
  let textColumns = columns;
334
333
  // no header for time-only mode
335
334
  if (!isTimeOnly) {
336
- let thead = $('<thead/>').appendTo(table);
335
+ const thead = $('<thead/>').appendTo(table);
337
336
 
338
337
  row = $('<tr/>').appendTo(thead);
339
338
  cell = $('<th/>').attr('colspan', '' + columns).appendTo(row);
340
339
 
341
- let headerDate = isYear || isMonth
340
+ const headerDate = isYear || isMonth
342
341
  ? new Date(year, 0, 1)
343
342
  : (isDay
344
343
  ? new Date(year, month, 1)
345
344
  : new Date(year, month, day, hour, minute));
346
- let headerText = $('<span/>').addClass(className.link).appendTo(cell);
345
+ const headerText = $('<span/>').addClass(className.link).appendTo(cell);
347
346
  headerText.text(module.helper.dateFormat(formatter[mode + 'Header'], headerDate));
348
- let newMode = isMonth
347
+ const newMode = isMonth
349
348
  ? (settings.disableYear ? 'day' : 'year')
350
349
  : (isDay
351
350
  ? (settings.disableMonth ? 'year' : 'month') // eslint-disable-line unicorn/no-nested-ternary
@@ -353,14 +352,14 @@
353
352
  headerText.data(metadata.mode, newMode);
354
353
 
355
354
  if (p === 0) {
356
- let prev = $('<span/>').addClass(className.prev).appendTo(cell);
355
+ const prev = $('<span/>').addClass(className.prev).appendTo(cell);
357
356
  prev.data(metadata.focusDate, prevDate);
358
357
  prev.toggleClass(className.disabledCell, !module.helper.isDateInRange(prevLast, mode));
359
358
  $('<i/>').addClass(className.prevIcon).appendTo(prev);
360
359
  }
361
360
 
362
361
  if (p === pages - 1) {
363
- let next = $('<span/>').addClass(className.next).appendTo(cell);
362
+ const next = $('<span/>').addClass(className.next).appendTo(cell);
364
363
  next.data(metadata.focusDate, nextDate);
365
364
  next.toggleClass(className.disabledCell, !module.helper.isDateInRange(nextFirst, mode));
366
365
  $('<i/>').addClass(className.nextIcon).appendTo(next);
@@ -380,7 +379,7 @@
380
379
  }
381
380
  }
382
381
 
383
- let tbody = $('<tbody/>').appendTo(table);
382
+ const tbody = $('<tbody/>').appendTo(table);
384
383
  i = isYear
385
384
  ? Math.ceil(year / 10) * 10 - 9
386
385
  : (isDay ? 1 - firstMonthDayColumn : 0);
@@ -392,7 +391,7 @@
392
391
  cell.addClass(className.weekCell);
393
392
  }
394
393
  for (c = 0; c < textColumns; c++, i++) {
395
- let cellDate = isYear
394
+ const cellDate = isYear
396
395
  ? new Date(i, month, 1, hour, minute)
397
396
  : (isMonth
398
397
  ? new Date(year, i, 1, hour, minute)
@@ -401,7 +400,7 @@
401
400
  : (isHour
402
401
  ? new Date(year, month, day, i)
403
402
  : new Date(year, month, day, hour, i * settings.minTimeGap))));
404
- let cellText = isYear
403
+ const cellText = isYear
405
404
  ? i
406
405
  : (isMonth
407
406
  ? settings.text.monthsShort[i]
@@ -411,11 +410,11 @@
411
410
  cell = $('<td/>').addClass(className.cell).appendTo(row);
412
411
  cell.text(cellText);
413
412
  cell.data(metadata.date, cellDate);
414
- let adjacent = isDay && cellDate.getMonth() !== ((month + 12) % 12);
415
- let disabled = (!settings.selectAdjacentDays && adjacent) || !module.helper.isDateInRange(cellDate, mode) || settings.isDisabled(cellDate, mode) || module.helper.isDisabled(cellDate, mode) || !module.helper.isEnabled(cellDate, mode);
413
+ const adjacent = isDay && cellDate.getMonth() !== ((month + 12) % 12);
414
+ const disabled = (!settings.selectAdjacentDays && adjacent) || !module.helper.isDateInRange(cellDate, mode) || settings.isDisabled(cellDate, mode) || module.helper.isDisabled(cellDate, mode) || !module.helper.isEnabled(cellDate, mode);
416
415
  let eventDate;
417
416
  if (disabled) {
418
- let disabledDate = module.helper.findDayAsObject(cellDate, mode, settings.disabledDates);
417
+ const disabledDate = module.helper.findDayAsObject(cellDate, mode, settings.disabledDates);
419
418
  if (disabledDate !== null && disabledDate[metadata.message]) {
420
419
  cell.attr('data-tooltip', disabledDate[metadata.message]);
421
420
  cell.attr('data-position', disabledDate[metadata.position] || tooltipPosition);
@@ -427,7 +426,7 @@
427
426
  }
428
427
  }
429
428
  if (mode === 'hour') {
430
- let disabledHour = module.helper.findHourAsObject(cellDate, mode, settings.disabledHours);
429
+ const disabledHour = module.helper.findHourAsObject(cellDate, mode, settings.disabledHours);
431
430
  if (disabledHour !== null && disabledHour[metadata.message]) {
432
431
  cell.attr('data-tooltip', disabledHour[metadata.message]);
433
432
  cell.attr('data-position', disabledHour[metadata.position] || tooltipPosition);
@@ -455,8 +454,8 @@
455
454
  }
456
455
  }
457
456
  }
458
- let active = module.helper.dateEqual(cellDate, date, mode);
459
- let isToday = module.helper.dateEqual(cellDate, today, mode);
457
+ const active = module.helper.dateEqual(cellDate, date, mode);
458
+ const isToday = module.helper.dateEqual(cellDate, today, mode);
460
459
  cell.toggleClass(className.adjacentCell, adjacent && !eventDate);
461
460
  cell.toggleClass(className.disabledCell, disabled);
462
461
  cell.toggleClass(className.activeCell, active && !(adjacent && disabled));
@@ -465,7 +464,7 @@
465
464
  }
466
465
 
467
466
  // Allow for external modifications of each cell
468
- let cellOptions = {
467
+ const cellOptions = {
469
468
  mode: mode,
470
469
  adjacent: adjacent,
471
470
  disabled: disabled,
@@ -483,8 +482,8 @@
483
482
  }
484
483
 
485
484
  if (settings.today) {
486
- let todayRow = $('<tr/>').appendTo(tbody);
487
- let todayButton = $('<td/>').attr('colspan', '' + columns).addClass(className.today).appendTo(todayRow);
485
+ const todayRow = $('<tr/>').appendTo(tbody);
486
+ const todayButton = $('<td/>').attr('colspan', '' + columns).addClass(className.today).appendTo(todayRow);
488
487
  todayButton.text(formatter.today(settings));
489
488
  todayButton.data(metadata.date, today);
490
489
  }
@@ -500,24 +499,24 @@
500
499
 
501
500
  update: {
502
501
  focus: function (updateRange, container = $container) {
503
- let mode = module.get.mode();
504
- let date = module.get.date();
505
- let focusDate = module.get.focusDate();
506
- let startDate = module.get.startDate();
507
- let endDate = module.get.endDate();
508
- let rangeDate = (updateRange ? focusDate : null) || date || (!isTouch ? focusDate : null);
502
+ const mode = module.get.mode();
503
+ const date = module.get.date();
504
+ const focusDate = module.get.focusDate();
505
+ const startDate = module.get.startDate();
506
+ const endDate = module.get.endDate();
507
+ const rangeDate = (updateRange ? focusDate : null) || date || (!isTouch ? focusDate : null);
509
508
 
510
509
  container.find('td').each(function () {
511
- let $cell = $(this);
512
- let cellDate = $cell.data(metadata.date);
510
+ const $cell = $(this);
511
+ const cellDate = $cell.data(metadata.date);
513
512
  if (!cellDate) {
514
513
  return;
515
514
  }
516
- let disabled = $cell.hasClass(className.disabledCell);
517
- let active = $cell.hasClass(className.activeCell);
518
- let adjacent = $cell.hasClass(className.adjacentCell);
519
- let focused = module.helper.dateEqual(cellDate, focusDate, mode);
520
- let inRange = !rangeDate
515
+ const disabled = $cell.hasClass(className.disabledCell);
516
+ const active = $cell.hasClass(className.activeCell);
517
+ const adjacent = $cell.hasClass(className.adjacentCell);
518
+ const focused = module.helper.dateEqual(cellDate, focusDate, mode);
519
+ const inRange = !rangeDate
521
520
  ? false
522
521
  : (!!startDate && module.helper.isDateInRange(cellDate, mode, startDate, rangeDate))
523
522
  || (!!endDate && module.helper.isDateInRange(cellDate, mode, rangeDate, endDate));
@@ -536,13 +535,13 @@
536
535
  },
537
536
 
538
537
  refreshTooltips: function () {
539
- let winWidth = $(window).width();
538
+ const winWidth = $(window).width();
540
539
  $container.find('td[data-position]').each(function () {
541
- let $cell = $(this);
542
- let tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[^\d.]/g, '');
543
- let tooltipPosition = $cell.attr('data-position');
540
+ const $cell = $(this);
541
+ const tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[^\d.]/g, '');
542
+ const tooltipPosition = $cell.attr('data-position');
544
543
  // use a fallback width of 250 (calendar width) for IE/Edge (which return "auto")
545
- let calcPosition = (winWidth - $cell.width() - (parseInt(tooltipWidth, 10) || 250)) > $cell.offset().left ? 'right' : 'left';
544
+ const calcPosition = (winWidth - $cell.width() - (parseInt(tooltipWidth, 10) || 250)) > $cell.offset().left ? 'right' : 'left';
546
545
  if (!tooltipPosition.includes(calcPosition)) {
547
546
  $cell.attr('data-position', tooltipPosition.replace(/(left|right)/, calcPosition));
548
547
  }
@@ -580,9 +579,9 @@
580
579
 
581
580
  event: {
582
581
  mouseover: function (event) {
583
- let target = $(event.target);
584
- let date = target.data(metadata.date);
585
- let mousedown = event.buttons === 1;
582
+ const target = $(event.target);
583
+ const date = target.data(metadata.date);
584
+ const mousedown = event.buttons === 1;
586
585
  if (date) {
587
586
  module.set.focusDate(date, false, true, mousedown);
588
587
  }
@@ -593,8 +592,8 @@
593
592
  event.preventDefault();
594
593
  }
595
594
  isTouchDown = event.type.includes('touch');
596
- let target = $(event.target);
597
- let date = target.data(metadata.date);
595
+ const target = $(event.target);
596
+ const date = target.data(metadata.date);
598
597
  if (date) {
599
598
  module.set.focusDate(date, false, true, true);
600
599
  }
@@ -609,16 +608,16 @@
609
608
  if (target.hasClass('disabled')) {
610
609
  return;
611
610
  }
612
- let parent = target.parent();
611
+ const parent = target.parent();
613
612
  if (parent.data(metadata.date) || parent.data(metadata.focusDate) || parent.data(metadata.mode)) {
614
613
  // clicked on a child element, switch to parent (used when clicking directly on the prev/next <i> icon element)
615
614
  target = parent;
616
615
  }
617
- let date = target.data(metadata.date);
618
- let focusDate = target.data(metadata.focusDate);
619
- let mode = target.data(metadata.mode);
616
+ const date = target.data(metadata.date);
617
+ const focusDate = target.data(metadata.focusDate);
618
+ const mode = target.data(metadata.mode);
620
619
  if (date && settings.onSelect.call(element, date, module.get.mode()) !== false) {
621
- let forceSet = target.hasClass(className.today);
620
+ const forceSet = target.hasClass(className.today);
622
621
  module.selectDate(date, forceSet);
623
622
  } else if (focusDate) {
624
623
  module.set.focusDate(focusDate);
@@ -627,21 +626,21 @@
627
626
  }
628
627
  },
629
628
  keydown: function (event) {
630
- let keyCode = event.which;
629
+ const keyCode = event.which;
631
630
  if (keyCode === 9) {
632
631
  // tab
633
632
  module.popup('hide');
634
633
  }
635
634
 
636
635
  if (module.popup('is visible')) {
637
- let mode = module.get.mode();
636
+ const mode = module.get.mode();
638
637
  switch (keyCode) {
639
638
  // arrow keys
640
639
  case 37:
641
640
  case 38:
642
641
  case 39:
643
642
  case 40: {
644
- let bigIncrement = mode === 'day'
643
+ const bigIncrement = mode === 'day'
645
644
  ? 7
646
645
  : (mode === 'hour'
647
646
  ? 4
@@ -652,12 +651,12 @@
652
651
  ? -bigIncrement
653
652
  : (keyCode === 39 ? 1 : bigIncrement)); // eslint-disable-line unicorn/no-nested-ternary
654
653
  increment *= mode === 'minute' ? settings.minTimeGap : 1;
655
- let focusDate = module.get.focusDate() || module.get.date() || new Date();
656
- let year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
657
- let month = focusDate.getMonth() + (mode === 'month' ? increment : 0);
658
- let day = focusDate.getDate() + (mode === 'day' ? increment : 0);
659
- let hour = focusDate.getHours() + (mode === 'hour' ? increment : 0);
660
- let minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0);
654
+ const focusDate = module.get.focusDate() || module.get.date() || new Date();
655
+ const year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
656
+ const month = focusDate.getMonth() + (mode === 'month' ? increment : 0);
657
+ const day = focusDate.getDate() + (mode === 'day' ? increment : 0);
658
+ const hour = focusDate.getHours() + (mode === 'hour' ? increment : 0);
659
+ const minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0);
661
660
  let newFocusDate = new Date(year, month, day, hour, minute);
662
661
  if (settings.type === 'time') {
663
662
  newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate);
@@ -670,7 +669,7 @@
670
669
  }
671
670
  // enter key
672
671
  case 13: {
673
- let date = module.get.focusDate();
672
+ const date = module.get.focusDate();
674
673
  if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode) && settings.onSelect.call(element, date, module.get.mode()) !== false) {
675
674
  module.selectDate(date);
676
675
  }
@@ -698,8 +697,8 @@
698
697
  }
699
698
  },
700
699
  inputChange: function () {
701
- let val = $input.val();
702
- let date = parser.date(val, settings);
700
+ const val = $input.val();
701
+ const date = parser.date(val, settings);
703
702
  module.set.date(date, false);
704
703
  },
705
704
  inputFocus: function () {
@@ -708,8 +707,8 @@
708
707
  inputBlur: function () {
709
708
  $container.removeClass(className.active);
710
709
  if (settings.formatInput) {
711
- let date = module.get.date();
712
- let text = module.helper.dateFormat(formatter[settings.type], date);
710
+ const date = module.get.date();
711
+ const text = module.helper.dateFormat(formatter[settings.type], date);
713
712
  $input.val(text);
714
713
  }
715
714
  if (selectionComplete) {
@@ -767,11 +766,11 @@
767
766
  get: {
768
767
  weekOfYear: function (weekYear, weekMonth, weekDay) {
769
768
  // adapted from http://www.merlyn.demon.co.uk/weekcalc.htm
770
- let ms1d = 24 * 3600 * 1000;
771
- let ms7d = 7 * ms1d;
772
- let DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d; // an absolute day number
773
- let AWN = Math.floor(DC3 / 7); // an absolute week number
774
- let Wyr = new Date(AWN * ms7d).getUTCFullYear();
769
+ const ms1d = 24 * 3600 * 1000;
770
+ const ms7d = 7 * ms1d;
771
+ const DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d; // an absolute day number
772
+ const AWN = Math.floor(DC3 / 7); // an absolute week number
773
+ const Wyr = new Date(AWN * ms7d).getUTCFullYear();
775
774
 
776
775
  return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1;
777
776
  },
@@ -788,7 +787,7 @@
788
787
  return module.helper.dateObjectOrFormatted(format, $module.data(metadata.focusDate));
789
788
  },
790
789
  startDate: function (format) {
791
- let startModule = module.get.calendarModule(settings.startCalendar);
790
+ const startModule = module.get.calendarModule(settings.startCalendar);
792
791
 
793
792
  if (startModule) {
794
793
  return startModule.get.date(format);
@@ -797,7 +796,7 @@
797
796
  return module.helper.dateObjectOrFormatted(format, $module.data(metadata.startDate));
798
797
  },
799
798
  endDate: function (format) {
800
- let endModule = module.get.calendarModule(settings.endCalendar);
799
+ const endModule = module.get.calendarModule(settings.endCalendar);
801
800
 
802
801
  if (endModule) {
803
802
  return endModule.get.date(format);
@@ -816,7 +815,7 @@
816
815
  },
817
816
  mode: function () {
818
817
  // only returns valid modes for the current settings
819
- let mode = $module.data(metadata.mode) || settings.startMode;
818
+ const mode = $module.data(metadata.mode) || settings.startMode;
820
819
 
821
820
  return module.get.validatedMode(mode);
822
821
  },
@@ -835,7 +834,7 @@
835
834
  return $module.data(metadata.type) || settings.type;
836
835
  },
837
836
  validModes: function () {
838
- let validModes = [];
837
+ const validModes = [];
839
838
  if (settings.type !== 'time') {
840
839
  if (!settings.disableYear || settings.type === 'year') {
841
840
  validModes.push('year');
@@ -885,8 +884,8 @@
885
884
  date = module.helper.sanitiseDate(date);
886
885
  date = module.helper.dateInRange(date);
887
886
 
888
- let mode = module.get.mode();
889
- let text = module.helper.dateFormat(formatter[settings.type], date);
887
+ const mode = module.get.mode();
888
+ const text = module.helper.dateFormat(formatter[settings.type], date);
890
889
 
891
890
  if (fireChange && settings.onBeforeChange.call(element, date, text, mode) === false) {
892
891
  return false;
@@ -898,7 +897,7 @@
898
897
  return false;
899
898
  }
900
899
 
901
- let endDate = module.get.endDate();
900
+ const endDate = module.get.endDate();
902
901
  if (!!endDate && !!date && date > endDate) {
903
902
  // selected date is greater than end date in range, so clear end date
904
903
  module.set.endDate();
@@ -915,7 +914,7 @@
915
914
  },
916
915
  startDate: function (date, refreshCalendar) {
917
916
  date = module.helper.sanitiseDate(date);
918
- let startModule = module.get.calendarModule(settings.startCalendar);
917
+ const startModule = module.get.calendarModule(settings.startCalendar);
919
918
  if (startModule) {
920
919
  startModule.set.date(date);
921
920
  }
@@ -923,7 +922,7 @@
923
922
  },
924
923
  endDate: function (date, refreshCalendar) {
925
924
  date = module.helper.sanitiseDate(date);
926
- let endModule = module.get.calendarModule(settings.endCalendar);
925
+ const endModule = module.get.calendarModule(settings.endCalendar);
927
926
  if (endModule) {
928
927
  endModule.set.date(date);
929
928
  }
@@ -932,17 +931,17 @@
932
931
  focusDate: function (date, refreshCalendar, updateFocus, updateRange) {
933
932
  date = module.helper.sanitiseDate(date);
934
933
  date = module.helper.dateInRange(date);
935
- let isDay = module.get.mode() === 'day';
936
- let oldFocusDate = module.get.focusDate();
934
+ const isDay = module.get.mode() === 'day';
935
+ const oldFocusDate = module.get.focusDate();
937
936
  if (isDay && date && oldFocusDate) {
938
- let yearDelta = date.getFullYear() - oldFocusDate.getFullYear();
939
- let monthDelta = yearDelta * 12 + date.getMonth() - oldFocusDate.getMonth();
937
+ const yearDelta = date.getFullYear() - oldFocusDate.getFullYear();
938
+ const monthDelta = yearDelta * 12 + date.getMonth() - oldFocusDate.getMonth();
940
939
  if (monthDelta) {
941
- let monthOffset = module.get.monthOffset() - monthDelta;
940
+ const monthOffset = module.get.monthOffset() - monthDelta;
942
941
  module.set.monthOffset(monthOffset, false);
943
942
  }
944
943
  }
945
- let changed = module.set.dataKeyValue(metadata.focusDate, date, !!date && refreshCalendar);
944
+ const changed = module.set.dataKeyValue(metadata.focusDate, date, !!date && refreshCalendar);
946
945
  updateFocus = (updateFocus !== false && changed && refreshCalendar === false) || focusDateUsedForRange != updateRange;
947
946
  focusDateUsedForRange = updateRange;
948
947
  if (updateFocus) {
@@ -968,7 +967,7 @@
968
967
  }
969
968
  },
970
969
  monthOffset: function (monthOffset, refreshCalendar) {
971
- let multiMonth = Math.max(settings.multiMonth, 1);
970
+ const multiMonth = Math.max(settings.multiMonth, 1);
972
971
  monthOffset = Math.max(1 - multiMonth, Math.min(0, monthOffset));
973
972
  module.set.dataKeyValue(metadata.monthOffset, monthOffset, refreshCalendar);
974
973
  },
@@ -976,8 +975,8 @@
976
975
  module.set.dataKeyValue(metadata.mode, mode, refreshCalendar);
977
976
  },
978
977
  dataKeyValue: function (key, value, refreshCalendar) {
979
- let oldValue = $module.data(key);
980
- let equal = oldValue === value || (oldValue <= value && oldValue >= value); // equality test for dates and string objects
978
+ const oldValue = $module.data(key);
979
+ const equal = oldValue === value || (oldValue <= value && oldValue >= value); // equality test for dates and string objects
981
980
  if (value) {
982
981
  $module.data(key, value);
983
982
  } else {
@@ -994,20 +993,20 @@
994
993
 
995
994
  selectDate: function (date, forceSet) {
996
995
  module.verbose('New date selection', date);
997
- let mode = module.get.mode();
998
- let complete = forceSet || mode === 'minute'
996
+ const mode = module.get.mode();
997
+ const complete = forceSet || mode === 'minute'
999
998
  || (settings.disableMinute && mode === 'hour')
1000
999
  || (settings.type === 'date' && mode === 'day')
1001
1000
  || (settings.type === 'month' && mode === 'month')
1002
1001
  || (settings.type === 'year' && mode === 'year');
1003
1002
  if (complete) {
1004
- let canceled = module.set.date(date) === false;
1003
+ const canceled = module.set.date(date) === false;
1005
1004
  if (!canceled) {
1006
1005
  selectionComplete = true;
1007
1006
  if (settings.closable) {
1008
1007
  module.popup('hide');
1009
1008
  // if this is a range calendar, focus the container or input. This will open the popup from its event listeners.
1010
- let endModule = module.get.calendarModule(settings.endCalendar);
1009
+ const endModule = module.get.calendarModule(settings.endCalendar);
1011
1010
  if (endModule) {
1012
1011
  endModule.refresh();
1013
1012
  if (endModule.setting('on') !== 'focus') {
@@ -1018,7 +1017,7 @@
1018
1017
  }
1019
1018
  }
1020
1019
  } else {
1021
- let newMode = mode === 'year'
1020
+ const newMode = mode === 'year'
1022
1021
  ? (!settings.disableMonth ? 'month' : 'day')
1023
1022
  : (mode === 'month'
1024
1023
  ? 'day'
@@ -1069,17 +1068,17 @@
1069
1068
  return format.call(module, date, settings);
1070
1069
  }
1071
1070
 
1072
- let D = date.getDate();
1073
- let M = date.getMonth();
1074
- let Y = date.getFullYear();
1075
- let d = date.getDay();
1076
- let H = date.getHours();
1077
- let m = date.getMinutes();
1078
- let s = date.getSeconds();
1079
- let w = module.get.weekOfYear(Y, M, D + 1 - settings.firstDayOfWeek);
1080
- let h = H % 12 || 12;
1081
- let a = H < 12 ? settings.text.am.toLowerCase() : settings.text.pm.toLowerCase();
1082
- let tokens = {
1071
+ const D = date.getDate();
1072
+ const M = date.getMonth();
1073
+ const Y = date.getFullYear();
1074
+ const d = date.getDay();
1075
+ const H = date.getHours();
1076
+ const m = date.getMinutes();
1077
+ const s = date.getSeconds();
1078
+ const w = module.get.weekOfYear(Y, M, D + 1 - settings.firstDayOfWeek);
1079
+ const h = H % 12 || 12;
1080
+ const a = H < 12 ? settings.text.am.toLowerCase() : settings.text.pm.toLowerCase();
1081
+ const tokens = {
1083
1082
  D: D,
1084
1083
  DD: ('0' + D).slice(-2),
1085
1084
  M: M + 1,
@@ -1151,7 +1150,7 @@
1151
1150
  } else if (Array.isArray(d[metadata.month])) {
1152
1151
  blocked = d[metadata.month].includes(date.getMonth());
1153
1152
  } else if (d[metadata.month] instanceof Date) {
1154
- let sdate = module.helper.sanitiseDate(d[metadata.month]);
1153
+ const sdate = module.helper.sanitiseDate(d[metadata.month]);
1155
1154
 
1156
1155
  blocked = (date.getMonth() === sdate.getMonth()) && (date.getFullYear() === sdate.getFullYear());
1157
1156
  }
@@ -1235,7 +1234,7 @@
1235
1234
  d = module.helper.sanitiseDate(d);
1236
1235
  }
1237
1236
  if (d instanceof Date && module.helper.dateEqual(date, d, mode)) {
1238
- let dateObject = {};
1237
+ const dateObject = {};
1239
1238
  dateObject[metadata.date] = d;
1240
1239
 
1241
1240
  return dateObject;
@@ -1257,7 +1256,7 @@
1257
1256
  return d;
1258
1257
  }
1259
1258
  } else if (d[metadata.month] instanceof Date) {
1260
- let sdate = module.helper.sanitiseDate(d[metadata.month]);
1259
+ const sdate = module.helper.sanitiseDate(d[metadata.month]);
1261
1260
  if ((date.getMonth() === sdate.getMonth()) && (date.getFullYear() === sdate.getFullYear())) {
1262
1261
  return d;
1263
1262
  }
@@ -1280,7 +1279,7 @@
1280
1279
  },
1281
1280
  findHourAsObject: function (date, mode, hours) {
1282
1281
  if (mode === 'hour') {
1283
- let hourCheck = function (date, d) {
1282
+ const hourCheck = function (date, d) {
1284
1283
  if (d[metadata.hours]) {
1285
1284
  if (typeof d[metadata.hours] === 'number' && date.getHours() === d[metadata.hours]) {
1286
1285
  return d;
@@ -1290,7 +1289,7 @@
1290
1289
  }
1291
1290
  }
1292
1291
  };
1293
- for (let d of hours) {
1292
+ for (const d of hours) {
1294
1293
  if (typeof d === 'number' && date.getHours() === d) {
1295
1294
  return null;
1296
1295
  }
@@ -1335,11 +1334,11 @@
1335
1334
  mode = 'day';
1336
1335
  }
1337
1336
 
1338
- let isTimeOnly = settings.type === 'time';
1339
- let isYear = mode === 'year';
1340
- let isYearOrMonth = isYear || mode === 'month';
1341
- let isMinute = mode === 'minute';
1342
- let isHourOrMinute = isMinute || mode === 'hour';
1337
+ const isTimeOnly = settings.type === 'time';
1338
+ const isYear = mode === 'year';
1339
+ const isYearOrMonth = isYear || mode === 'month';
1340
+ const isMinute = mode === 'minute';
1341
+ const isHourOrMinute = isMinute || mode === 'hour';
1343
1342
  // only care about a minute accuracy of settings.minTimeGap
1344
1343
  date1 = new Date(
1345
1344
  isTimeOnly ? 2000 : date1.getFullYear(),
@@ -1363,7 +1362,7 @@
1363
1362
  },
1364
1363
  isDateInRange: function (date, mode, minDate, maxDate) {
1365
1364
  if (!minDate && !maxDate) {
1366
- let startDate = module.get.startDate();
1365
+ const startDate = module.get.startDate();
1367
1366
  minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate;
1368
1367
  maxDate = settings.maxDate;
1369
1368
  }
@@ -1375,12 +1374,12 @@
1375
1374
  },
1376
1375
  dateInRange: function (date, minDate, maxDate) {
1377
1376
  if (!minDate && !maxDate) {
1378
- let startDate = module.get.startDate();
1377
+ const startDate = module.get.startDate();
1379
1378
  minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate;
1380
1379
  maxDate = settings.maxDate;
1381
1380
  }
1382
1381
  minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap));
1383
- let isTimeOnly = settings.type === 'time';
1382
+ const isTimeOnly = settings.type === 'time';
1384
1383
 
1385
1384
  return !date
1386
1385
  ? date
@@ -1497,7 +1496,7 @@
1497
1496
  query = query.split(/[ .]/);
1498
1497
  maxDepth = query.length - 1;
1499
1498
  $.each(query, function (depth, value) {
1500
- let camelCaseValue = depth !== maxDepth
1499
+ const camelCaseValue = depth !== maxDepth
1501
1500
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1502
1501
  : query;
1503
1502
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
@@ -1621,7 +1620,7 @@
1621
1620
 
1622
1621
  formatter: {
1623
1622
  yearHeader: function (date, settings) {
1624
- let decadeYear = Math.ceil(date.getFullYear() / 10) * 10;
1623
+ const decadeYear = Math.ceil(date.getFullYear() / 10) * 10;
1625
1624
 
1626
1625
  return (decadeYear - 9) + ' - ' + (decadeYear + 2);
1627
1626
  },
@@ -1662,9 +1661,9 @@
1662
1661
  }
1663
1662
  // Reverse date and month in some cases
1664
1663
  text = settings.monthFirst || !/^\d{1,2}[./-]/.test(text) ? text : text.replace(/[./-]/g, '/').replace(/(\d+)\/(\d+)/, '$2/$1');
1665
- let textDate = new Date(text);
1666
- let numberOnly = text.match(/^\d+$/) !== null;
1667
- let isShortYear = text.match(/^(?:\d{1,2}[./-]){2}\d{1,2}$/) !== null;
1664
+ const textDate = new Date(text);
1665
+ const numberOnly = text.match(/^\d+$/) !== null;
1666
+ const isShortYear = text.match(/^(?:\d{1,2}[./-]){2}\d{1,2}$/) !== null;
1668
1667
  if (!isShortYear && !numberOnly && !isNaN(textDate.getDate())) {
1669
1668
  return textDate;
1670
1669
  }
@@ -1680,11 +1679,11 @@
1680
1679
  let year = -1;
1681
1680
  let isAm;
1682
1681
 
1683
- let isTimeOnly = settings.type === 'time';
1684
- let isDateOnly = !settings.type.includes('time');
1682
+ const isTimeOnly = settings.type === 'time';
1683
+ const isDateOnly = !settings.type.includes('time');
1685
1684
 
1686
- let words = text.split(settings.regExp.dateWords);
1687
- let numbers = text.split(settings.regExp.dateNumbers);
1685
+ const words = text.split(settings.regExp.dateWords);
1686
+ const numbers = text.split(settings.regExp.dateNumbers);
1688
1687
  let number;
1689
1688
 
1690
1689
  let parts;