fomantic-ui 2.9.1-beta.21 → 2.9.1-beta.23

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 (258) hide show
  1. package/.eslintrc.js +95 -75
  2. package/.github/workflows/ci.yml +2 -2
  3. package/.github/workflows/nightly.yml +1 -1
  4. package/.github/workflows/release.yml +1 -1
  5. package/.stylelintrc.js +6 -7
  6. package/dist/components/accordion.css +1 -1
  7. package/dist/components/accordion.js +7 -7
  8. package/dist/components/accordion.min.css +1 -1
  9. package/dist/components/accordion.min.js +2 -2
  10. package/dist/components/ad.css +1 -1
  11. package/dist/components/ad.min.css +1 -1
  12. package/dist/components/api.js +54 -53
  13. package/dist/components/api.min.js +2 -2
  14. package/dist/components/breadcrumb.css +1 -1
  15. package/dist/components/breadcrumb.min.css +1 -1
  16. package/dist/components/button.css +1 -1
  17. package/dist/components/button.min.css +1 -1
  18. package/dist/components/calendar.css +3 -3
  19. package/dist/components/calendar.js +119 -99
  20. package/dist/components/calendar.min.css +2 -2
  21. package/dist/components/calendar.min.js +2 -2
  22. package/dist/components/card.css +1 -1
  23. package/dist/components/card.min.css +1 -1
  24. package/dist/components/checkbox.css +1 -1
  25. package/dist/components/checkbox.js +8 -8
  26. package/dist/components/checkbox.min.css +1 -1
  27. package/dist/components/checkbox.min.js +2 -2
  28. package/dist/components/comment.css +1 -1
  29. package/dist/components/comment.min.css +1 -1
  30. package/dist/components/container.css +1 -1
  31. package/dist/components/container.min.css +1 -1
  32. package/dist/components/dimmer.css +1 -1
  33. package/dist/components/dimmer.js +16 -18
  34. package/dist/components/dimmer.min.css +1 -1
  35. package/dist/components/dimmer.min.js +2 -2
  36. package/dist/components/divider.css +1 -1
  37. package/dist/components/divider.min.css +1 -1
  38. package/dist/components/dropdown.css +1 -1
  39. package/dist/components/dropdown.js +87 -87
  40. package/dist/components/dropdown.min.css +1 -1
  41. package/dist/components/dropdown.min.js +2 -2
  42. package/dist/components/embed.css +1 -1
  43. package/dist/components/embed.js +17 -23
  44. package/dist/components/embed.min.css +1 -1
  45. package/dist/components/embed.min.js +2 -2
  46. package/dist/components/feed.css +1 -1
  47. package/dist/components/feed.min.css +1 -1
  48. package/dist/components/flag.css +1 -1
  49. package/dist/components/flag.min.css +1 -1
  50. package/dist/components/flyout.css +2 -2
  51. package/dist/components/flyout.js +32 -30
  52. package/dist/components/flyout.min.css +1 -1
  53. package/dist/components/flyout.min.js +2 -2
  54. package/dist/components/form.css +2 -2
  55. package/dist/components/form.js +113 -89
  56. package/dist/components/form.min.css +2 -2
  57. package/dist/components/form.min.js +2 -2
  58. package/dist/components/grid.css +1 -1
  59. package/dist/components/grid.min.css +1 -1
  60. package/dist/components/header.css +1 -1
  61. package/dist/components/header.min.css +1 -1
  62. package/dist/components/icon.css +1 -1
  63. package/dist/components/icon.min.css +1 -1
  64. package/dist/components/image.css +1 -1
  65. package/dist/components/image.min.css +1 -1
  66. package/dist/components/input.css +1 -1
  67. package/dist/components/input.min.css +1 -1
  68. package/dist/components/item.css +1 -1
  69. package/dist/components/item.min.css +1 -1
  70. package/dist/components/label.css +1 -1
  71. package/dist/components/label.min.css +1 -1
  72. package/dist/components/list.css +1 -1
  73. package/dist/components/list.min.css +1 -1
  74. package/dist/components/loader.css +1 -1
  75. package/dist/components/loader.min.css +1 -1
  76. package/dist/components/message.css +1 -1
  77. package/dist/components/message.min.css +1 -1
  78. package/dist/components/modal.css +1 -1
  79. package/dist/components/modal.js +22 -22
  80. package/dist/components/modal.min.css +1 -1
  81. package/dist/components/modal.min.js +2 -2
  82. package/dist/components/nag.css +1 -1
  83. package/dist/components/nag.js +18 -16
  84. package/dist/components/nag.min.css +1 -1
  85. package/dist/components/nag.min.js +2 -2
  86. package/dist/components/placeholder.css +1 -1
  87. package/dist/components/placeholder.min.css +1 -1
  88. package/dist/components/popup.css +1 -1
  89. package/dist/components/popup.js +30 -30
  90. package/dist/components/popup.min.css +1 -1
  91. package/dist/components/popup.min.js +2 -2
  92. package/dist/components/progress.css +1 -1
  93. package/dist/components/progress.js +23 -21
  94. package/dist/components/progress.min.css +1 -1
  95. package/dist/components/progress.min.js +2 -2
  96. package/dist/components/rail.css +1 -1
  97. package/dist/components/rail.min.css +1 -1
  98. package/dist/components/rating.css +1 -1
  99. package/dist/components/rating.js +8 -8
  100. package/dist/components/rating.min.css +1 -1
  101. package/dist/components/rating.min.js +2 -2
  102. package/dist/components/reset.css +1 -1
  103. package/dist/components/reset.min.css +1 -1
  104. package/dist/components/reveal.css +1 -1
  105. package/dist/components/reveal.min.css +1 -1
  106. package/dist/components/search.css +1 -1
  107. package/dist/components/search.js +41 -46
  108. package/dist/components/search.min.css +1 -1
  109. package/dist/components/search.min.js +2 -2
  110. package/dist/components/segment.css +1 -1
  111. package/dist/components/segment.min.css +1 -1
  112. package/dist/components/shape.css +1 -1
  113. package/dist/components/shape.js +9 -9
  114. package/dist/components/shape.min.css +1 -1
  115. package/dist/components/shape.min.js +2 -2
  116. package/dist/components/sidebar.css +1 -1
  117. package/dist/components/sidebar.js +21 -19
  118. package/dist/components/sidebar.min.css +1 -1
  119. package/dist/components/sidebar.min.js +2 -2
  120. package/dist/components/site.css +1 -1
  121. package/dist/components/site.js +11 -10
  122. package/dist/components/site.min.css +1 -1
  123. package/dist/components/site.min.js +2 -2
  124. package/dist/components/slider.js +39 -42
  125. package/dist/components/slider.min.js +2 -2
  126. package/dist/components/state.js +7 -7
  127. package/dist/components/state.min.js +2 -2
  128. package/dist/components/statistic.css +1 -1
  129. package/dist/components/statistic.min.css +1 -1
  130. package/dist/components/step.css +1 -1
  131. package/dist/components/step.min.css +1 -1
  132. package/dist/components/sticky.css +1 -1
  133. package/dist/components/sticky.js +7 -7
  134. package/dist/components/sticky.min.css +1 -1
  135. package/dist/components/sticky.min.js +2 -2
  136. package/dist/components/tab.css +1 -1
  137. package/dist/components/tab.js +36 -38
  138. package/dist/components/tab.min.css +1 -1
  139. package/dist/components/tab.min.js +2 -2
  140. package/dist/components/table.css +1 -1
  141. package/dist/components/table.min.css +1 -1
  142. package/dist/components/text.css +1 -1
  143. package/dist/components/text.min.css +1 -1
  144. package/dist/components/toast.css +1 -1
  145. package/dist/components/toast.js +20 -17
  146. package/dist/components/toast.min.css +1 -1
  147. package/dist/components/toast.min.js +2 -2
  148. package/dist/components/transition.css +7 -7
  149. package/dist/components/transition.js +27 -21
  150. package/dist/components/transition.min.css +1 -1
  151. package/dist/components/transition.min.js +2 -2
  152. package/dist/components/visibility.js +8 -8
  153. package/dist/components/visibility.min.js +2 -2
  154. package/dist/semantic.css +60 -60
  155. package/dist/semantic.js +780 -735
  156. package/dist/semantic.min.css +2 -2
  157. package/dist/semantic.min.js +2 -2
  158. package/examples/.eslintrc.js +6 -0
  159. package/examples/responsive.html +1 -1
  160. package/gulpfile.js +1 -1
  161. package/package.json +5 -4
  162. package/scripts/nightly-version.js +3 -3
  163. package/src/definitions/behaviors/api.js +53 -52
  164. package/src/definitions/behaviors/form.js +112 -88
  165. package/src/definitions/behaviors/state.js +6 -6
  166. package/src/definitions/behaviors/visibility.js +7 -7
  167. package/src/definitions/collections/menu.less +2 -2
  168. package/src/definitions/elements/button.less +2 -2
  169. package/src/definitions/elements/loader.less +4 -4
  170. package/src/definitions/elements/step.less +1 -1
  171. package/src/definitions/globals/site.js +10 -9
  172. package/src/definitions/modules/accordion.js +6 -6
  173. package/src/definitions/modules/calendar.js +118 -98
  174. package/src/definitions/modules/calendar.less +2 -2
  175. package/src/definitions/modules/checkbox.js +7 -7
  176. package/src/definitions/modules/dimmer.js +15 -17
  177. package/src/definitions/modules/dimmer.less +10 -10
  178. package/src/definitions/modules/dropdown.js +86 -86
  179. package/src/definitions/modules/embed.js +16 -22
  180. package/src/definitions/modules/flyout.js +31 -29
  181. package/src/definitions/modules/flyout.less +1 -1
  182. package/src/definitions/modules/modal.js +21 -21
  183. package/src/definitions/modules/nag.js +17 -15
  184. package/src/definitions/modules/popup.js +29 -29
  185. package/src/definitions/modules/progress.js +22 -20
  186. package/src/definitions/modules/rating.js +7 -7
  187. package/src/definitions/modules/search.js +40 -45
  188. package/src/definitions/modules/shape.js +8 -8
  189. package/src/definitions/modules/sidebar.js +20 -18
  190. package/src/definitions/modules/slider.js +38 -41
  191. package/src/definitions/modules/sticky.js +6 -6
  192. package/src/definitions/modules/tab.js +35 -37
  193. package/src/definitions/modules/toast.js +19 -16
  194. package/src/definitions/modules/transition.js +26 -20
  195. package/src/themes/amazon/elements/button.overrides +7 -7
  196. package/src/themes/default/collections/form.variables +1 -1
  197. package/src/themes/default/elements/reveal.variables +1 -1
  198. package/src/themes/default/globals/site.variables +1 -1
  199. package/src/themes/default/modules/dimmer.variables +6 -6
  200. package/src/themes/default/modules/modal.variables +1 -1
  201. package/src/themes/default/modules/slider.variables +4 -4
  202. package/src/themes/default/modules/toast.variables +2 -2
  203. package/src/themes/default/modules/transition.overrides +12 -12
  204. package/src/themes/flat/collections/form.overrides +2 -2
  205. package/src/themes/flat/globals/site.variables +1 -1
  206. package/src/themes/github/collections/form.overrides +2 -2
  207. package/src/themes/github/collections/menu.variables +1 -1
  208. package/src/themes/github/collections/message.overrides +3 -3
  209. package/src/themes/github/elements/input.overrides +2 -2
  210. package/src/themes/timeline/views/feed.overrides +3 -3
  211. package/src/themes/twitter/elements/button.overrides +2 -2
  212. package/tasks/.eslintrc.js +9 -0
  213. package/tasks/README.md +1 -3
  214. package/tasks/admin/components/create.js +9 -16
  215. package/tasks/admin/components/init.js +7 -7
  216. package/tasks/admin/components/update.js +7 -7
  217. package/tasks/admin/distributions/create.js +15 -17
  218. package/tasks/admin/distributions/init.js +7 -7
  219. package/tasks/admin/distributions/update.js +7 -7
  220. package/tasks/admin/publish.js +1 -1
  221. package/tasks/admin/register.js +2 -2
  222. package/tasks/admin/release.js +1 -1
  223. package/tasks/build/assets.js +2 -2
  224. package/tasks/build/css.js +8 -3
  225. package/tasks/build/javascript.js +3 -1
  226. package/tasks/build.js +1 -1
  227. package/tasks/check-install.js +1 -1
  228. package/tasks/clean.js +1 -1
  229. package/tasks/collections/README.md +3 -5
  230. package/tasks/collections/admin.js +1 -1
  231. package/tasks/collections/docs.js +1 -1
  232. package/tasks/collections/install.js +1 -1
  233. package/tasks/collections/rtl.js +1 -1
  234. package/tasks/collections/various.js +1 -1
  235. package/tasks/config/admin/github.js +5 -6
  236. package/tasks/config/admin/templates/css-package.js +1 -1
  237. package/tasks/config/admin/templates/less-package.js +1 -1
  238. package/tasks/config/npm/gulpfile.js +7 -7
  239. package/tasks/config/project/config.js +9 -16
  240. package/tasks/config/project/install.js +26 -25
  241. package/tasks/config/project/release.js +12 -14
  242. package/tasks/config/tasks.js +17 -19
  243. package/tasks/config/user.js +1 -1
  244. package/tasks/docs/build.js +5 -3
  245. package/tasks/docs/metadata.js +7 -8
  246. package/tasks/docs/serve.js +5 -3
  247. package/tasks/install.js +38 -38
  248. package/tasks/rtl/build.js +1 -1
  249. package/tasks/rtl/watch.js +1 -1
  250. package/tasks/version.js +1 -1
  251. package/tasks/watch.js +1 -1
  252. package/test/.eslintrc.js +23 -0
  253. package/test/meteor/assets.js +1 -1
  254. package/test/modules/module.spec.js +15 -15
  255. package/test/modules/popup.spec.js +1 -1
  256. package/test/modules/search.spec.js +1 -1
  257. package/test/modules/tab.spec.js +1 -1
  258. package/test/modules/transition.spec.js +1 -1
package/dist/semantic.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.1-beta.21+2722e1b
2
+ * # Fomantic UI - 2.9.1-beta.23+27384cb
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
@@ -9,7 +9,7 @@
9
9
  *
10
10
  */
11
11
  /*!
12
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Site
12
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Site
13
13
  * https://github.com/fomantic/Fomantic-UI/
14
14
  *
15
15
  *
@@ -25,17 +25,17 @@
25
25
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
26
26
  }
27
27
 
28
- window = (window !== undefined && window.Math == Math)
28
+ window = (window !== undefined && window.Math === Math)
29
29
  ? window
30
30
  : globalThis;
31
31
 
32
- $.site = $.fn.site = function (parameters) {
32
+ $.fn.site = function (parameters) {
33
33
  var
34
- time = new Date().getTime(),
34
+ time = Date.now(),
35
35
  performance = [],
36
36
 
37
37
  query = arguments[0],
38
- methodInvoked = (typeof query == 'string'),
38
+ methodInvoked = (typeof query === 'string'),
39
39
  queryArguments = [].slice.call(arguments, 1),
40
40
 
41
41
  settings = ($.isPlainObject(parameters))
@@ -81,13 +81,13 @@
81
81
  module.verbose('Console not available, normalizing events');
82
82
  module.disable.console();
83
83
  }
84
- if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
84
+ if (console.group === undefined || console.groupEnd === undefined || console.groupCollapsed === undefined) {
85
85
  module.verbose('Console group not available, normalizing events');
86
86
  window.console.group = function () {};
87
87
  window.console.groupEnd = function () {};
88
88
  window.console.groupCollapsed = function () {};
89
89
  }
90
- if (typeof console.markTimeline == 'undefined') {
90
+ if (console.markTimeline === undefined) {
91
91
  module.verbose('Mark timeline not available, normalizing events');
92
92
  window.console.markTimeline = function () {};
93
93
  }
@@ -319,7 +319,7 @@
319
319
  previousTime
320
320
  ;
321
321
  if (settings.performance) {
322
- currentTime = new Date().getTime();
322
+ currentTime = Date.now();
323
323
  previousTime = time || currentTime;
324
324
  executionTime = currentTime - previousTime;
325
325
  time = currentTime;
@@ -367,8 +367,8 @@
367
367
  ;
368
368
  passedArguments = passedArguments || queryArguments;
369
369
  context = context || element;
370
- if (typeof query == 'string' && object !== undefined) {
371
- query = query.split(/[\. ]/);
370
+ if (typeof query === 'string' && object !== undefined) {
371
+ query = query.split(/[ .]/);
372
372
  maxDepth = query.length - 1;
373
373
  $.each(query, function (depth, value) {
374
374
  var camelCaseValue = (depth != maxDepth)
@@ -427,6 +427,7 @@
427
427
  ? returnedValue
428
428
  : this;
429
429
  };
430
+ $.site = $.fn.site;
430
431
 
431
432
  $.site.settings = {
432
433
 
@@ -489,7 +490,7 @@
489
490
  })(jQuery, window, document);
490
491
 
491
492
  /*!
492
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Form Validation
493
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Form Validation
493
494
  * https://github.com/fomantic/Fomantic-UI/
494
495
  *
495
496
  *
@@ -505,7 +506,7 @@
505
506
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
506
507
  }
507
508
 
508
- window = (typeof window != 'undefined' && window.Math == Math)
509
+ window = (window !== undefined && window.Math === Math)
509
510
  ? window
510
511
  : globalThis;
511
512
 
@@ -514,12 +515,12 @@
514
515
  $allModules = $(this),
515
516
  moduleSelector = $allModules.selector || '',
516
517
 
517
- time = new Date().getTime(),
518
+ time = Date.now(),
518
519
  performance = [],
519
520
 
520
521
  query = arguments[0],
521
522
  legacyParameters = arguments[1],
522
- methodInvoked = (typeof query == 'string'),
523
+ methodInvoked = (typeof query === 'string'),
523
524
  queryArguments = [].slice.call(arguments, 1),
524
525
  returnedValue
525
526
  ;
@@ -626,7 +627,10 @@
626
627
  },
627
628
 
628
629
  attachEvents: function (selector, action) {
629
- action = action || 'submit';
630
+ if (!action) {
631
+ action = 'submit';
632
+ }
633
+
630
634
  $(selector).on('click' + eventNamespace, function (event) {
631
635
  module[action]();
632
636
  event.preventDefault();
@@ -767,15 +771,13 @@
767
771
  isDirty
768
772
  ;
769
773
 
770
- if (isCheckbox) {
771
- isDirty = module.is.checkboxDirty($el);
772
- } else {
773
- isDirty = module.is.fieldDirty($el);
774
- }
774
+ isDirty = isCheckbox
775
+ ? module.is.checkboxDirty($el)
776
+ : module.is.fieldDirty($el);
775
777
 
776
778
  $el.data(settings.metadata.isDirty, isDirty);
777
779
 
778
- formIsDirty |= isDirty;
780
+ formIsDirty = formIsDirty || isDirty;
779
781
  });
780
782
 
781
783
  if (formIsDirty) {
@@ -792,16 +794,17 @@
792
794
  },
793
795
  // duck type rule test
794
796
  shorthandRules: function (rules) {
795
- return (typeof rules == 'string' || Array.isArray(rules));
797
+ return (typeof rules === 'string' || Array.isArray(rules));
796
798
  },
797
799
  empty: function ($field) {
798
800
  if (!$field || $field.length === 0) {
799
801
  return true;
800
- } else if ($field.is(selector.checkbox)) {
802
+ }
803
+ if ($field.is(selector.checkbox)) {
801
804
  return !$field.is(':checked');
802
- } else {
803
- return module.is.blank($field);
804
805
  }
806
+
807
+ return module.is.blank($field);
805
808
  },
806
809
  blank: function ($field) {
807
810
  return String($field.val()).trim() === '';
@@ -814,16 +817,16 @@
814
817
  module.verbose('Checking if field is valid', field);
815
818
 
816
819
  return module.validate.field(validation[field], field, !!showErrors);
817
- } else {
818
- module.verbose('Checking if form is valid');
819
- $.each(validation, function (fieldName, field) {
820
- if (!module.is.valid(fieldName, showErrors)) {
821
- allValid = false;
822
- }
823
- });
824
-
825
- return allValid;
826
820
  }
821
+
822
+ module.verbose('Checking if form is valid');
823
+ $.each(validation, function (fieldName, field) {
824
+ if (!module.is.valid(fieldName, showErrors)) {
825
+ allValid = false;
826
+ }
827
+ });
828
+
829
+ return allValid;
827
830
  },
828
831
  dirty: function () {
829
832
  return dirty;
@@ -978,9 +981,9 @@
978
981
  changeEvent: function (type, $input) {
979
982
  if (type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {
980
983
  return 'change';
981
- } else {
982
- return module.get.inputEvent();
983
984
  }
985
+
986
+ return module.get.inputEvent();
984
987
  },
985
988
  inputEvent: function () {
986
989
  return (document.createElement('input').oninput !== undefined)
@@ -997,7 +1000,7 @@
997
1000
  if (!Array.isArray(rules) && typeof rules === 'object') {
998
1001
  fullFields[name] = rules;
999
1002
  } else {
1000
- if (typeof rules == 'string') {
1003
+ if (typeof rules === 'string') {
1001
1004
  rules = [rules];
1002
1005
  }
1003
1006
  fullFields[name] = {
@@ -1032,28 +1035,28 @@
1032
1035
  if (!rule.prompt) {
1033
1036
  suffixPrompt = (
1034
1037
  parts[0] === ''
1035
- ? settings.prompt.maxValue.replace(/\{ruleValue\}/g, '{max}')
1038
+ ? settings.prompt.maxValue.replace(/{ruleValue}/g, '{max}')
1036
1039
  : parts[1] === ''
1037
- ? settings.prompt.minValue.replace(/\{ruleValue\}/g, '{min}')
1040
+ ? settings.prompt.minValue.replace(/{ruleValue}/g, '{min}')
1038
1041
  : settings.prompt.range
1039
1042
  );
1040
- prompt += suffixPrompt.replace(/\{name\}/g, ' ' + settings.text.and);
1043
+ prompt += suffixPrompt.replace(/{name}/g, ' ' + settings.text.and);
1041
1044
  }
1042
- prompt = prompt.replace(/\{min\}/g, parts[0]);
1043
- prompt = prompt.replace(/\{max\}/g, parts[1]);
1045
+ prompt = prompt.replace(/{min}/g, parts[0]);
1046
+ prompt = prompt.replace(/{max}/g, parts[1]);
1044
1047
  }
1045
1048
  if (requiresValue) {
1046
- prompt = prompt.replace(/\{value\}/g, $field.val());
1049
+ prompt = prompt.replace(/{value}/g, $field.val());
1047
1050
  }
1048
1051
  if (requiresName) {
1049
1052
  $label = $field.closest(selector.group).find('label').eq(0);
1050
1053
  name = ($label.length == 1)
1051
1054
  ? $label.text()
1052
1055
  : $field.prop('placeholder') || settings.text.unspecifiedField;
1053
- prompt = prompt.replace(/\{name\}/g, name);
1056
+ prompt = prompt.replace(/{name}/g, name);
1054
1057
  }
1055
- prompt = prompt.replace(/\{identifier\}/g, field.identifier);
1056
- prompt = prompt.replace(/\{ruleValue\}/g, ancillary);
1058
+ prompt = prompt.replace(/{identifier}/g, field.identifier);
1059
+ prompt = prompt.replace(/{ruleValue}/g, ancillary);
1057
1060
  if (!rule.prompt) {
1058
1061
  module.verbose('Using default validation prompt for type', prompt, ruleName);
1059
1062
  }
@@ -1109,16 +1112,20 @@
1109
1112
  module.verbose('Finding field with identifier', identifier);
1110
1113
  identifier = module.escape.string(identifier);
1111
1114
  var t;
1112
- if ((t = $field.filter('#' + identifier)).length > 0) {
1115
+ t = $field.filter('#' + identifier);
1116
+ if (t.length > 0) {
1113
1117
  return t;
1114
1118
  }
1115
- if ((t = $field.filter('[name="' + identifier + '"]')).length > 0) {
1119
+ t = $field.filter('[name="' + identifier + '"]');
1120
+ if (t.length > 0) {
1116
1121
  return t;
1117
1122
  }
1118
- if ((t = $field.filter('[name="' + identifier + '[]"]')).length > 0) {
1123
+ t = $field.filter('[name="' + identifier + '[]"]');
1124
+ if (t.length > 0) {
1119
1125
  return t;
1120
1126
  }
1121
- if ((t = $field.filter('[data-' + metadata.validate + '="' + identifier + '"]')).length > 0) {
1127
+ t = $field.filter('[data-' + metadata.validate + '="' + identifier + '"]');
1128
+ if (t.length > 0) {
1122
1129
  return t;
1123
1130
  }
1124
1131
  module.error(error.noField.replace('{identifier}', identifier));
@@ -1211,11 +1218,7 @@
1211
1218
  : false;
1212
1219
  }
1213
1220
  } else if (isCheckbox) {
1214
- if (isChecked) {
1215
- values[name] = value || true;
1216
- } else {
1217
- values[name] = false;
1218
- }
1221
+ values[name] = isChecked ? value || true : false;
1219
1222
  } else if (isCalendar) {
1220
1223
  var date = $calendar.calendar('get date');
1221
1224
 
@@ -1345,7 +1348,7 @@
1345
1348
  $.each(newValidation.rules, function (_index, rule) {
1346
1349
  if ($.grep(validation[name].rules, function (item) {
1347
1350
  return item.type == rule.type;
1348
- }).length == 0) {
1351
+ }).length === 0) {
1349
1352
  validation[name].rules.push(rule);
1350
1353
  }
1351
1354
  });
@@ -1361,9 +1364,9 @@
1361
1364
  $field = module.get.field(identifier),
1362
1365
  $fieldGroup = $field.closest($group),
1363
1366
  $prompt = $fieldGroup.children(selector.prompt),
1364
- promptExists = ($prompt.length !== 0)
1367
+ promptExists = ($prompt.length > 0)
1365
1368
  ;
1366
- errors = (typeof errors == 'string')
1369
+ errors = (typeof errors === 'string')
1367
1370
  ? [errors]
1368
1371
  : errors;
1369
1372
  module.verbose('Adding field error state', identifier);
@@ -1719,7 +1722,7 @@
1719
1722
  showErrors = (showErrors !== undefined)
1720
1723
  ? showErrors
1721
1724
  : true;
1722
- if (typeof field == 'string') {
1725
+ if (typeof field === 'string') {
1723
1726
  module.verbose('Validating field', field);
1724
1727
  fieldName = field;
1725
1728
  field = validation[field];
@@ -1737,7 +1740,7 @@
1737
1740
  module.debug('Using field name as identifier', identifier);
1738
1741
  field.identifier = identifier;
1739
1742
  }
1740
- var isDisabled = !$field.filter(':not(:disabled)').length;
1743
+ var isDisabled = $field.filter(':not(:disabled)').length === 0;
1741
1744
  if (isDisabled) {
1742
1745
  module.debug('Field is disabled. Skipping', identifier);
1743
1746
  } else if (field.optional && module.is.blank($field)) {
@@ -1816,7 +1819,7 @@
1816
1819
  });
1817
1820
  }
1818
1821
 
1819
- return internal ? invalidFields : !(invalidFields.length > 0);
1822
+ return internal ? invalidFields : invalidFields.length === 0;
1820
1823
  },
1821
1824
  },
1822
1825
 
@@ -1872,7 +1875,7 @@
1872
1875
  previousTime
1873
1876
  ;
1874
1877
  if (settings.performance) {
1875
- currentTime = new Date().getTime();
1878
+ currentTime = Date.now();
1876
1879
  previousTime = time || currentTime;
1877
1880
  executionTime = currentTime - previousTime;
1878
1881
  time = currentTime;
@@ -1901,7 +1904,7 @@
1901
1904
  title += ' \'' + moduleSelector + '\'';
1902
1905
  }
1903
1906
  if ($allModules.length > 1) {
1904
- title += ' ' + '(' + $allModules.length + ')';
1907
+ title += ' (' + $allModules.length + ')';
1905
1908
  }
1906
1909
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
1907
1910
  console.groupCollapsed(title);
@@ -1926,8 +1929,8 @@
1926
1929
  ;
1927
1930
  passedArguments = passedArguments || queryArguments;
1928
1931
  context = context || element;
1929
- if (typeof query == 'string' && object !== undefined) {
1930
- query = query.split(/[\. ]/);
1932
+ if (typeof query === 'string' && object !== undefined) {
1933
+ query = query.split(/[ .]/);
1931
1934
  maxDepth = query.length - 1;
1932
1935
  $.each(query, function (depth, value) {
1933
1936
  var camelCaseValue = (depth != maxDepth)
@@ -2019,15 +2022,15 @@
2019
2022
  },
2020
2023
 
2021
2024
  regExp: {
2022
- htmlID: /^[a-zA-Z][\w:.-]*$/g,
2023
- bracket: /\[(.*)\]/i,
2025
+ htmlID: /^[A-Za-z][\w.:-]*$/g,
2026
+ bracket: /\[(.*)]/i,
2024
2027
  decimal: /^\d+\.?\d*$/,
2025
- email: /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,
2026
- escape: /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|:,=@]/g,
2028
+ email: /^[\w!#$%&'*+./=?^`{|}~-]+@[\da-z]([\da-z-]*[\da-z])?(\.[\da-z]([\da-z-]*[\da-z])?)*$/i,
2029
+ escape: /[$()*+,./:=?@[\\\]^{|}-]/g,
2027
2030
  flags: /^\/(.*)\/(.*)?/,
2028
- integer: /^\-?\d+$/,
2029
- number: /^\-?\d*(\.\d+)?$/,
2030
- url: /(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/i,
2031
+ integer: /^-?\d+$/,
2032
+ number: /^-?\d*(\.\d+)?$/,
2033
+ url: /(https?:\/\/(?:www\.|(?!www))[^\s.]+\.\S{2,}|www\.\S+\.\S{2,})/i,
2031
2034
  },
2032
2035
 
2033
2036
  text: {
@@ -2172,7 +2175,7 @@
2172
2175
 
2173
2176
  // is not empty or blank string
2174
2177
  empty: function (value) {
2175
- return !(value === undefined || '' === value || Array.isArray(value) && value.length === 0);
2178
+ return !(value === undefined || value === '' || (Array.isArray(value) && value.length === 0));
2176
2179
  },
2177
2180
 
2178
2181
  // checkbox checked
@@ -2222,7 +2225,7 @@
2222
2225
  return $.fn.form.settings.rules.range(value, range, 'integer');
2223
2226
  },
2224
2227
  range: function (value, range, regExp) {
2225
- if (typeof regExp == 'string') {
2228
+ if (typeof regExp === 'string') {
2226
2229
  regExp = $.fn.form.settings.regExp[regExp];
2227
2230
  }
2228
2231
  if (!(regExp instanceof RegExp)) {
@@ -2234,10 +2237,12 @@
2234
2237
  parts
2235
2238
  ;
2236
2239
  if (!range || ['', '..'].indexOf(range) !== -1) {
2240
+
2237
2241
  // do nothing
2238
2242
  } else if (range.indexOf('..') == -1) {
2239
2243
  if (regExp.test(range)) {
2240
- min = max = range - 0;
2244
+ min = range - 0;
2245
+ max = min;
2241
2246
  }
2242
2247
  } else {
2243
2248
  parts = range.split('..', 2);
@@ -2268,10 +2273,10 @@
2268
2273
 
2269
2274
  // is value (case insensitive)
2270
2275
  is: function (value, text) {
2271
- text = (typeof text == 'string')
2276
+ text = (typeof text === 'string')
2272
2277
  ? text.toLowerCase()
2273
2278
  : text;
2274
- value = (typeof value == 'string')
2279
+ value = (typeof value === 'string')
2275
2280
  ? value.toLowerCase()
2276
2281
  : value;
2277
2282
 
@@ -2285,10 +2290,10 @@
2285
2290
 
2286
2291
  // value is not another value (case insensitive)
2287
2292
  not: function (value, notValue) {
2288
- value = (typeof value == 'string')
2293
+ value = (typeof value === 'string')
2289
2294
  ? value.toLowerCase()
2290
2295
  : value;
2291
- notValue = (typeof notValue == 'string')
2296
+ notValue = (typeof notValue === 'string')
2292
2297
  ? notValue.toLowerCase()
2293
2298
  : notValue;
2294
2299
 
@@ -2359,14 +2364,24 @@
2359
2364
  matchingValue,
2360
2365
  matchingElement
2361
2366
  ;
2362
- if ((matchingElement = $module.find('[data-validate="' + identifier + '"]')).length > 0) {
2363
- matchingValue = matchingElement.val();
2364
- } else if ((matchingElement = $module.find('#' + identifier)).length > 0) {
2367
+ matchingElement = $module.find('[data-validate="' + identifier + '"]');
2368
+ if (matchingElement.length > 0) {
2365
2369
  matchingValue = matchingElement.val();
2366
- } else if ((matchingElement = $module.find('[name="' + identifier + '"]')).length > 0) {
2367
- matchingValue = matchingElement.val();
2368
- } else if ((matchingElement = $module.find('[name="' + identifier + '[]"]')).length > 0) {
2369
- matchingValue = matchingElement;
2370
+ } else {
2371
+ matchingElement = $module.find('#' + identifier);
2372
+ if (matchingElement.length > 0) {
2373
+ matchingValue = matchingElement.val();
2374
+ } else {
2375
+ matchingElement = $module.find('[name="' + identifier + '"]');
2376
+ if (matchingElement.length > 0) {
2377
+ matchingValue = matchingElement.val();
2378
+ } else {
2379
+ matchingElement = $module.find('[name="' + identifier + '[]"]');
2380
+ if (matchingElement.length > 0) {
2381
+ matchingValue = matchingElement;
2382
+ }
2383
+ }
2384
+ }
2370
2385
  }
2371
2386
 
2372
2387
  return (matchingValue !== undefined)
@@ -2381,14 +2396,24 @@
2381
2396
  matchingValue,
2382
2397
  matchingElement
2383
2398
  ;
2384
- if ((matchingElement = $module.find('[data-validate="' + identifier + '"]')).length > 0) {
2385
- matchingValue = matchingElement.val();
2386
- } else if ((matchingElement = $module.find('#' + identifier)).length > 0) {
2399
+ matchingElement = $module.find('[data-validate="' + identifier + '"]');
2400
+ if (matchingElement.length > 0) {
2387
2401
  matchingValue = matchingElement.val();
2388
- } else if ((matchingElement = $module.find('[name="' + identifier + '"]')).length > 0) {
2389
- matchingValue = matchingElement.val();
2390
- } else if ((matchingElement = $module.find('[name="' + identifier + '[]"]')).length > 0) {
2391
- matchingValue = matchingElement;
2402
+ } else {
2403
+ matchingElement = $module.find('#' + identifier);
2404
+ if (matchingElement.length > 0) {
2405
+ matchingValue = matchingElement.val();
2406
+ } else {
2407
+ matchingElement = $module.find('[name="' + identifier + '"]');
2408
+ if (matchingElement.length > 0) {
2409
+ matchingValue = matchingElement.val();
2410
+ } else {
2411
+ matchingElement = $module.find('[name="' + identifier + '[]"]');
2412
+ if (matchingElement.length > 0) {
2413
+ matchingValue = matchingElement;
2414
+ }
2415
+ }
2416
+ }
2392
2417
  }
2393
2418
 
2394
2419
  return (matchingValue !== undefined)
@@ -2412,7 +2437,7 @@
2412
2437
  length: [16],
2413
2438
  },
2414
2439
  discover: {
2415
- pattern: /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,
2440
+ pattern: /^(6011|622(12[6-9]|1[3-9]\d|[2-8]\d{2}|9[01]\d|92[0-5]|64[4-9])|65)/,
2416
2441
  length: [16],
2417
2442
  },
2418
2443
  unionPay: {
@@ -2420,7 +2445,7 @@
2420
2445
  length: [16, 17, 18, 19],
2421
2446
  },
2422
2447
  jcb: {
2423
- pattern: /^35(2[89]|[3-8][0-9])/,
2448
+ pattern: /^35(2[89]|[3-8]\d)/,
2424
2449
  length: [16],
2425
2450
  },
2426
2451
  maestro: {
@@ -2442,7 +2467,7 @@
2442
2467
  },
2443
2468
  valid = {},
2444
2469
  validCard = false,
2445
- requiredTypes = (typeof cardTypes == 'string')
2470
+ requiredTypes = (typeof cardTypes === 'string')
2446
2471
  ? cardTypes.split(',')
2447
2472
  : false,
2448
2473
  unionPay,
@@ -2454,7 +2479,7 @@
2454
2479
  }
2455
2480
 
2456
2481
  // allow dashes and spaces in card
2457
- cardNumber = cardNumber.replace(/[\s\-]/g, '');
2482
+ cardNumber = cardNumber.replace(/[\s-]/g, '');
2458
2483
 
2459
2484
  // verify card types
2460
2485
  if (requiredTypes) {
@@ -2466,7 +2491,7 @@
2466
2491
  length: ($.inArray(cardNumber.length, validation.length) !== -1),
2467
2492
  pattern: (cardNumber.search(validation.pattern) !== -1),
2468
2493
  };
2469
- if (valid.length && valid.pattern) {
2494
+ if (valid.length > 0 && valid.pattern) {
2470
2495
  validCard = true;
2471
2496
  }
2472
2497
  }
@@ -2498,7 +2523,7 @@
2498
2523
  ;
2499
2524
  while (length--) {
2500
2525
  sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];
2501
- multiple ^= 1;
2526
+ multiple ^= 1; // eslint-disable-line no-bitwise
2502
2527
  }
2503
2528
 
2504
2529
  return (sum % 10 === 0 && sum > 0);
@@ -2542,7 +2567,7 @@
2542
2567
  })(jQuery, window, document);
2543
2568
 
2544
2569
  /*!
2545
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Accordion
2570
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Accordion
2546
2571
  * https://github.com/fomantic/Fomantic-UI/
2547
2572
  *
2548
2573
  *
@@ -2558,7 +2583,7 @@
2558
2583
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
2559
2584
  }
2560
2585
 
2561
- window = (typeof window != 'undefined' && window.Math == Math)
2586
+ window = (window !== undefined && window.Math === Math)
2562
2587
  ? window
2563
2588
  : globalThis;
2564
2589
 
@@ -2566,11 +2591,11 @@
2566
2591
  var
2567
2592
  $allModules = $(this),
2568
2593
 
2569
- time = new Date().getTime(),
2594
+ time = Date.now(),
2570
2595
  performance = [],
2571
2596
 
2572
2597
  query = arguments[0],
2573
- methodInvoked = (typeof query == 'string'),
2598
+ methodInvoked = (typeof query === 'string'),
2574
2599
  queryArguments = [].slice.call(arguments, 1),
2575
2600
 
2576
2601
  returnedValue
@@ -2970,7 +2995,7 @@
2970
2995
  previousTime
2971
2996
  ;
2972
2997
  if (settings.performance) {
2973
- currentTime = new Date().getTime();
2998
+ currentTime = Date.now();
2974
2999
  previousTime = time || currentTime;
2975
3000
  executionTime = currentTime - previousTime;
2976
3001
  time = currentTime;
@@ -3021,8 +3046,8 @@
3021
3046
  ;
3022
3047
  passedArguments = passedArguments || queryArguments;
3023
3048
  context = context || element;
3024
- if (typeof query == 'string' && object !== undefined) {
3025
- query = query.split(/[\. ]/);
3049
+ if (typeof query === 'string' && object !== undefined) {
3050
+ query = query.split(/[ .]/);
3026
3051
  maxDepth = query.length - 1;
3027
3052
  $.each(query, function (depth, value) {
3028
3053
  var camelCaseValue = (depth != maxDepth)
@@ -3140,7 +3165,7 @@
3140
3165
  })(jQuery, window, document);
3141
3166
 
3142
3167
  /*!
3143
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Calendar
3168
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Calendar
3144
3169
  * https://github.com/fomantic/Fomantic-UI/
3145
3170
  *
3146
3171
  *
@@ -3156,7 +3181,7 @@
3156
3181
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
3157
3182
  }
3158
3183
 
3159
- window = (typeof window != 'undefined' && window.Math == Math)
3184
+ window = (window !== undefined && window.Math === Math)
3160
3185
  ? window
3161
3186
  : globalThis;
3162
3187
 
@@ -3167,11 +3192,11 @@
3167
3192
 
3168
3193
  moduleSelector = $allModules.selector || '',
3169
3194
 
3170
- time = new Date().getTime(),
3195
+ time = Date.now(),
3171
3196
  performance = [],
3172
3197
 
3173
3198
  query = arguments[0],
3174
- methodInvoked = (typeof query == 'string'),
3199
+ methodInvoked = (typeof query === 'string'),
3175
3200
  queryArguments = [].slice.call(arguments, 1),
3176
3201
  returnedValue,
3177
3202
  timeGapTable = {
@@ -3265,9 +3290,9 @@
3265
3290
  if (settings.inline) {
3266
3291
  return;
3267
3292
  }
3268
- if (!$activator.length) {
3293
+ if ($activator.length === 0) {
3269
3294
  $activator = $module.children().first();
3270
- if (!$activator.length) {
3295
+ if ($activator.length === 0) {
3271
3296
  return;
3272
3297
  }
3273
3298
  }
@@ -3276,7 +3301,7 @@
3276
3301
 
3277
3302
  return;
3278
3303
  }
3279
- if (!$container.length) {
3304
+ if ($container.length === 0) {
3280
3305
  if (settings.context) {
3281
3306
  module.popupId = namespace + '_popup_' + (Math.random().toString(16) + '000000000').slice(2, 10);
3282
3307
  $container = $('<div/>', { id: module.popupId }).addClass(className.popup).appendTo($document.find(settings.context));
@@ -3285,7 +3310,7 @@
3285
3310
  // the styling (eg input action button needs to be the last child to have correct border radius)
3286
3311
  var
3287
3312
  $activatorParent = $activator.parent(),
3288
- domPositionFunction = $activatorParent.closest(selector.append).length !== 0 ? 'appendTo' : 'prependTo'
3313
+ domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo'
3289
3314
  ;
3290
3315
  $container = $('<div/>').addClass(className.popup)[domPositionFunction]($activatorParent);
3291
3316
  }
@@ -3304,7 +3329,7 @@
3304
3329
 
3305
3330
  return settings.onHidden.apply($container, arguments);
3306
3331
  };
3307
- if (!$input.length) {
3332
+ if ($input.length === 0) {
3308
3333
  // no input, $container has to handle focus/blur
3309
3334
  $container.attr('tabindex', '0');
3310
3335
  onVisible = function () {
@@ -3336,17 +3361,17 @@
3336
3361
  module.popup(options);
3337
3362
  },
3338
3363
  inline: function () {
3339
- if ($activator.length && !settings.inline) {
3364
+ if ($activator.length > 0 && !settings.inline) {
3340
3365
  return;
3341
3366
  }
3342
3367
  settings.inline = true;
3343
3368
  $container = $('<div/>').addClass(className.calendar).appendTo($module);
3344
- if (!$input.length) {
3369
+ if ($input.length === 0) {
3345
3370
  $container.attr('tabindex', '0');
3346
3371
  }
3347
3372
  },
3348
3373
  input: function () {
3349
- if (settings.touchReadonly && $input.length && isTouch) {
3374
+ if (settings.touchReadonly && $input.length > 0 && isTouch) {
3350
3375
  $input.prop('readonly', true);
3351
3376
  }
3352
3377
  module.check.disabled();
@@ -3357,7 +3382,7 @@
3357
3382
  date = parser.date(settings.initialDate, settings);
3358
3383
  } else if ($module.data(metadata.date) !== undefined) {
3359
3384
  date = parser.date($module.data(metadata.date), settings);
3360
- } else if ($input.length) {
3385
+ } else if ($input.length > 0) {
3361
3386
  date = parser.date($input.val(), settings);
3362
3387
  }
3363
3388
  module.set.date(date, settings.formatInput, false);
@@ -3442,7 +3467,7 @@
3442
3467
  }
3443
3468
 
3444
3469
  var month = startMonth + p;
3445
- var firstMonthDayColumn = (new Date(year, month, 1).getDay() - settings.firstDayOfWeek % 7 + 7) % 7;
3470
+ var firstMonthDayColumn = (new Date(year, month, 1).getDay() - (settings.firstDayOfWeek % 7) + 7) % 7;
3446
3471
  if (!settings.constantHeight && isDay) {
3447
3472
  var requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn;
3448
3473
  rows = Math.ceil(requiredCells / 7);
@@ -3475,7 +3500,8 @@
3475
3500
  if (isDay && settings.showWeekNumbers) {
3476
3501
  tempMode += ' andweek';
3477
3502
  }
3478
- var table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column').appendTo(container);
3503
+ var table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column')
3504
+ .appendTo(container);
3479
3505
  if (isInverted) {
3480
3506
  table.addClass(className.inverted);
3481
3507
  }
@@ -3687,7 +3713,7 @@
3687
3713
  var winWidth = $(window).width();
3688
3714
  $container.find('td[data-position]').each(function () {
3689
3715
  var $cell = $(this);
3690
- var tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[^0-9\.]/g, '');
3716
+ var tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[^\d.]/g, '');
3691
3717
  var tooltipPosition = $cell.attr('data-position');
3692
3718
  // use a fallback width of 250 (calendar width) for IE/Edge (which return "auto")
3693
3719
  var calcPosition = (winWidth - $cell.width() - (parseInt(tooltipWidth, 10) || 250)) > $cell.offset().left ? 'right' : 'left';
@@ -3705,7 +3731,7 @@
3705
3731
  $container.on('mouseup' + eventNamespace, module.event.mouseup);
3706
3732
  $container.on('touchend' + eventNamespace, module.event.mouseup);
3707
3733
  $container.on('mouseover' + eventNamespace, module.event.mouseover);
3708
- if ($input.length) {
3734
+ if ($input.length > 0) {
3709
3735
  $input.on('input' + eventNamespace, module.event.inputChange);
3710
3736
  $input.on('focus' + eventNamespace, module.event.inputFocus);
3711
3737
  $input.on('blur' + eventNamespace, module.event.inputBlur);
@@ -3720,7 +3746,7 @@
3720
3746
  events: function () {
3721
3747
  module.debug('Unbinding events');
3722
3748
  $container.off(eventNamespace);
3723
- if ($input.length) {
3749
+ if ($input.length > 0) {
3724
3750
  $input.off(eventNamespace);
3725
3751
  }
3726
3752
  },
@@ -3736,7 +3762,7 @@
3736
3762
  }
3737
3763
  },
3738
3764
  mousedown: function (event) {
3739
- if ($input.length) {
3765
+ if ($input.length > 0) {
3740
3766
  // prevent the mousedown on the calendar causing the input to lose focus
3741
3767
  event.preventDefault();
3742
3768
  }
@@ -3783,38 +3809,51 @@
3783
3809
 
3784
3810
  if (module.popup('is visible')) {
3785
3811
  var mode = module.get.mode();
3786
- if (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40) {
3812
+ switch (keyCode) {
3787
3813
  // arrow keys
3788
- var bigIncrement = mode === 'day' ? 7 : mode === 'hour' ? 4 : mode === 'minute' ? timeGap.column : 3;
3789
- var increment = keyCode === 37 ? -1 : keyCode === 38 ? -bigIncrement : keyCode == 39 ? 1 : bigIncrement;
3790
- increment *= mode === 'minute' ? settings.minTimeGap : 1;
3791
- var focusDate = module.get.focusDate() || module.get.date() || new Date();
3792
- var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
3793
- var month = focusDate.getMonth() + (mode === 'month' ? increment : 0);
3794
- var day = focusDate.getDate() + (mode === 'day' ? increment : 0);
3795
- var hour = focusDate.getHours() + (mode === 'hour' ? increment : 0);
3796
- var minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0);
3797
- var newFocusDate = new Date(year, month, day, hour, minute);
3798
- if (settings.type === 'time') {
3799
- newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate);
3800
- }
3801
- if (module.helper.isDateInRange(newFocusDate, mode)) {
3802
- module.set.focusDate(newFocusDate);
3814
+ case 37:
3815
+ case 38:
3816
+ case 39:
3817
+ case 40: {
3818
+ var bigIncrement = mode === 'day' ? 7 : mode === 'hour' ? 4 : mode === 'minute' ? timeGap.column : 3;
3819
+ var increment = keyCode === 37 ? -1 : keyCode === 38 ? -bigIncrement : keyCode == 39 ? 1 : bigIncrement;
3820
+ increment *= mode === 'minute' ? settings.minTimeGap : 1;
3821
+ var focusDate = module.get.focusDate() || module.get.date() || new Date();
3822
+ var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
3823
+ var month = focusDate.getMonth() + (mode === 'month' ? increment : 0);
3824
+ var day = focusDate.getDate() + (mode === 'day' ? increment : 0);
3825
+ var hour = focusDate.getHours() + (mode === 'hour' ? increment : 0);
3826
+ var minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0);
3827
+ var newFocusDate = new Date(year, month, day, hour, minute);
3828
+ if (settings.type === 'time') {
3829
+ newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate);
3830
+ }
3831
+ if (module.helper.isDateInRange(newFocusDate, mode)) {
3832
+ module.set.focusDate(newFocusDate);
3833
+ }
3834
+
3835
+ break;
3803
3836
  }
3804
- } else if (keyCode === 13) {
3805
- // enter
3806
- var date = module.get.focusDate();
3807
- if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode)) {
3808
- if (settings.onSelect.call(element, date, module.get.mode()) !== false) {
3809
- module.selectDate(date);
3837
+ // enter key
3838
+ case 13: {
3839
+ var date = module.get.focusDate();
3840
+ if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode)) {
3841
+ if (settings.onSelect.call(element, date, module.get.mode()) !== false) {
3842
+ module.selectDate(date);
3843
+ }
3810
3844
  }
3845
+ // disable form submission:
3846
+ event.preventDefault();
3847
+ event.stopPropagation();
3848
+
3849
+ break;
3811
3850
  }
3812
- // disable form submission:
3813
- event.preventDefault();
3814
- event.stopPropagation();
3815
- } else if (keyCode === 27) {
3816
- module.popup('hide');
3817
- event.stopPropagation();
3851
+ // escape key
3852
+ case 27:
3853
+ module.popup('hide');
3854
+ event.stopPropagation();
3855
+
3856
+ break;
3818
3857
  }
3819
3858
  }
3820
3859
 
@@ -3865,7 +3904,7 @@
3865
3904
 
3866
3905
  disconnect: {
3867
3906
  classObserver: function () {
3868
- if ($input.length && classObserver) {
3907
+ if ($input.length > 0 && classObserver) {
3869
3908
  classObserver.disconnect();
3870
3909
  }
3871
3910
  },
@@ -3873,7 +3912,7 @@
3873
3912
 
3874
3913
  observe: {
3875
3914
  class: function () {
3876
- if ($input.length && classObserver) {
3915
+ if ($input.length > 0 && classObserver) {
3877
3916
  classObserver.observe($module[0], {
3878
3917
  attributes: true,
3879
3918
  });
@@ -3899,6 +3938,7 @@
3899
3938
  var ms1d = 864e5, // milliseconds in a day
3900
3939
  ms7d = 7 * ms1d; // milliseconds in a week
3901
3940
 
3941
+ // eslint-disable-next-line wrap-iife
3902
3942
  return function () { // return a closure so constants get calculated only once
3903
3943
  var DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d, // an Absolute Day Number
3904
3944
  AWN = Math.floor(DC3 / 7), // an Absolute Week Number
@@ -4030,7 +4070,7 @@
4030
4070
  }
4031
4071
  module.set.dataKeyValue(metadata.date, date);
4032
4072
 
4033
- if (updateInput && $input.length) {
4073
+ if (updateInput && $input.length > 0) {
4034
4074
  $input.val(text);
4035
4075
  }
4036
4076
 
@@ -4171,14 +4211,14 @@
4171
4211
  },
4172
4212
 
4173
4213
  focus: function () {
4174
- if ($input.length) {
4214
+ if ($input.length > 0) {
4175
4215
  $input.trigger('focus');
4176
4216
  } else {
4177
4217
  $container.trigger('focus');
4178
4218
  }
4179
4219
  },
4180
4220
  blur: function () {
4181
- if ($input.length) {
4221
+ if ($input.length > 0) {
4182
4222
  $input.trigger('blur');
4183
4223
  } else {
4184
4224
  $container.trigger('blur');
@@ -4229,7 +4269,7 @@
4229
4269
  ss: ('0' + s).slice(-2),
4230
4270
  a: a,
4231
4271
  A: a.toUpperCase(),
4232
- S: ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D % 100 - D % 10 !== 10) * D % 10],
4272
+ S: ['th', 'st', 'nd', 'rd'][(D % 10) > 3 ? 0 : (((D % 100) - (D % 10) === 10) ? 0 : D % 10)],
4233
4273
  w: w,
4234
4274
  ww: ('0' + w).slice(-2),
4235
4275
  }
@@ -4338,9 +4378,9 @@
4338
4378
 
4339
4379
  return enabled;
4340
4380
  });
4341
- } else {
4342
- return true;
4343
4381
  }
4382
+
4383
+ return true;
4344
4384
  },
4345
4385
  findDayAsObject: function (date, mode, dates) {
4346
4386
  if (mode === 'day' || mode === 'month' || mode === 'year') {
@@ -4355,11 +4395,13 @@
4355
4395
  dateObject[metadata.date] = d;
4356
4396
 
4357
4397
  return dateObject;
4358
- } else if (d !== null && typeof d === 'object') {
4398
+ }
4399
+ if (d !== null && typeof d === 'object') {
4359
4400
  if (d[metadata.year]) {
4360
4401
  if (typeof d[metadata.year] === 'number' && date.getFullYear() == d[metadata.year]) {
4361
4402
  return d;
4362
- } else if (Array.isArray(d[metadata.year])) {
4403
+ }
4404
+ if (Array.isArray(d[metadata.year])) {
4363
4405
  if (d[metadata.year].indexOf(date.getFullYear()) > -1) {
4364
4406
  return d;
4365
4407
  }
@@ -4367,7 +4409,8 @@
4367
4409
  } else if (d[metadata.month]) {
4368
4410
  if (typeof d[metadata.month] === 'number' && date.getMonth() == d[metadata.month]) {
4369
4411
  return d;
4370
- } else if (Array.isArray(d[metadata.month])) {
4412
+ }
4413
+ if (Array.isArray(d[metadata.month])) {
4371
4414
  if (d[metadata.month].indexOf(date.getMonth()) > -1) {
4372
4415
  return d;
4373
4416
  }
@@ -4380,7 +4423,8 @@
4380
4423
  } else if (d[metadata.date] && mode === 'day') {
4381
4424
  if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode)) {
4382
4425
  return d;
4383
- } else if (Array.isArray(d[metadata.date])) {
4426
+ }
4427
+ if (Array.isArray(d[metadata.date])) {
4384
4428
  if (d[metadata.date].some(function (idate) {
4385
4429
  return module.helper.dateEqual(date, idate, mode);
4386
4430
  })) {
@@ -4401,7 +4445,8 @@
4401
4445
  if (d[metadata.hours]) {
4402
4446
  if (typeof d[metadata.hours] === 'number' && date.getHours() == d[metadata.hours]) {
4403
4447
  return d;
4404
- } else if (Array.isArray(d[metadata.hours])) {
4448
+ }
4449
+ if (Array.isArray(d[metadata.hours])) {
4405
4450
  if (d[metadata.hours].indexOf(date.getHours()) > -1) {
4406
4451
  return d;
4407
4452
  }
@@ -4412,11 +4457,13 @@
4412
4457
  d = hours[i];
4413
4458
  if (typeof d === 'number' && date.getHours() == d) {
4414
4459
  return null;
4415
- } else if (d !== null && typeof d === 'object') {
4460
+ }
4461
+ if (d !== null && typeof d === 'object') {
4416
4462
  if (d[metadata.days] && hourCheck(date, d)) {
4417
4463
  if (typeof d[metadata.days] === 'number' && date.getDay() == d[metadata.days]) {
4418
4464
  return d;
4419
- } else if (Array.isArray(d[metadata.days])) {
4465
+ }
4466
+ if (Array.isArray(d[metadata.days])) {
4420
4467
  if (d[metadata.days].indexOf(date.getDay()) > -1) {
4421
4468
  return d;
4422
4469
  }
@@ -4424,7 +4471,8 @@
4424
4471
  } else if (d[metadata.date] && hourCheck(date, d)) {
4425
4472
  if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]))) {
4426
4473
  return d;
4427
- } else if (Array.isArray(d[metadata.date])) {
4474
+ }
4475
+ if (Array.isArray(d[metadata.date])) {
4428
4476
  if (d[metadata.date].some(function (idate) {
4429
4477
  return module.helper.dateEqual(date, idate, mode);
4430
4478
  })) {
@@ -4451,7 +4499,10 @@
4451
4499
  return date;
4452
4500
  },
4453
4501
  dateDiff: function (date1, date2, mode) {
4454
- mode = mode || 'day';
4502
+ if (!mode) {
4503
+ mode = 'day';
4504
+ }
4505
+
4455
4506
  var isTimeOnly = settings.type === 'time';
4456
4507
  var isYear = mode === 'year';
4457
4508
  var isYearOrMonth = isYear || mode === 'month';
@@ -4574,7 +4625,7 @@
4574
4625
  previousTime
4575
4626
  ;
4576
4627
  if (settings.performance) {
4577
- currentTime = new Date().getTime();
4628
+ currentTime = Date.now();
4578
4629
  previousTime = time || currentTime;
4579
4630
  executionTime = currentTime - previousTime;
4580
4631
  time = currentTime;
@@ -4625,8 +4676,8 @@
4625
4676
  ;
4626
4677
  passedArguments = passedArguments || queryArguments;
4627
4678
  context = context || element;
4628
- if (typeof query == 'string' && object !== undefined) {
4629
- query = query.split(/[\. ]/);
4679
+ if (typeof query === 'string' && object !== undefined) {
4680
+ query = query.split(/[ .]/);
4630
4681
  maxDepth = query.length - 1;
4631
4682
  $.each(query, function (depth, value) {
4632
4683
  var camelCaseValue = (depth != maxDepth)
@@ -4774,8 +4825,7 @@
4774
4825
  today: function (settings) {
4775
4826
  return settings.type === 'date' ? settings.text.today : settings.text.now;
4776
4827
  },
4777
- cell: function (cell, date, cellOptions) {
4778
- },
4828
+ cell: function (cell, date, cellOptions) {},
4779
4829
  },
4780
4830
 
4781
4831
  parser: {
@@ -4786,17 +4836,18 @@
4786
4836
  if (!text) {
4787
4837
  return null;
4788
4838
  }
4789
- text = String(text).trim().replace(/([.:\/\-])\s+/g, '$1').replace(/\s+([.:\/-])/g, '$1').replace(/\s+/g, ' ');
4839
+ text = String(text).trim().replace(/([./:-])\s+/g, '$1').replace(/\s+([./:-])/g, '$1')
4840
+ .replace(/\s+/g, ' ');
4790
4841
  if (text.length === 0) {
4791
4842
  return null;
4792
4843
  }
4793
- if (text.match(/^[0-9]{4}[\/\-\.][0-9]{1,2}[\/\-\.][0-9]{1,2}$/)) {
4794
- text = text.replace(/[\/\-\.]/g, '/') + ' 00:00:00';
4844
+ if (/^\d{4}(?:[./-]\d{1,2}){2}$/.test(text)) {
4845
+ text = text.replace(/[./-]/g, '/') + ' 00:00:00';
4795
4846
  }
4796
4847
  // Reverse date and month in some cases
4797
- text = settings.monthFirst || !text.match(/^[0-9]{1,2}[\/\-\.]/) ? text : text.replace(/[\/\-\.]/g, '/').replace(/([0-9]+)\/([0-9]+)/, '$2/$1');
4848
+ text = settings.monthFirst || !/^\d{1,2}[./-]/.test(text) ? text : text.replace(/[./-]/g, '/').replace(/(\d+)\/(\d+)/, '$2/$1');
4798
4849
  var textDate = new Date(text);
4799
- var numberOnly = text.match(/^[0-9]+$/) !== null;
4850
+ var numberOnly = text.match(/^\d+$/) !== null;
4800
4851
  if (!numberOnly && !isNaN(textDate.getDate())) {
4801
4852
  return textDate;
4802
4853
  }
@@ -4814,7 +4865,7 @@
4814
4865
  month = -1,
4815
4866
  year = -1
4816
4867
  ;
4817
- var isAm = undefined;
4868
+ var isAm;
4818
4869
 
4819
4870
  var isTimeOnly = settings.type === 'time';
4820
4871
  var isDateOnly = settings.type.indexOf('time') < 0;
@@ -4844,7 +4895,7 @@
4844
4895
  if (hour < 0 || minute < 0) {
4845
4896
  parts = number.split(':');
4846
4897
  for (k = 0; k < Math.min(2, parts.length); k++) {
4847
- j = parseInt(parts[k]);
4898
+ j = parseInt(parts[k], 10);
4848
4899
  if (isNaN(j)) {
4849
4900
  j = 0;
4850
4901
  }
@@ -4883,7 +4934,7 @@
4883
4934
 
4884
4935
  // year > settings.centuryBreak
4885
4936
  for (i = 0; i < numbers.length; i++) {
4886
- j = parseInt(numbers[i]);
4937
+ j = parseInt(numbers[i], 10);
4887
4938
  if (isNaN(j)) {
4888
4939
  continue;
4889
4940
  }
@@ -4902,11 +4953,11 @@
4902
4953
  if (month < 0) {
4903
4954
  for (i = 0; i < numbers.length; i++) {
4904
4955
  k = i > 1 || settings.monthFirst ? i : i === 1 ? 0 : 1;
4905
- j = parseInt(numbers[k]);
4956
+ j = parseInt(numbers[k], 10);
4906
4957
  if (isNaN(j)) {
4907
4958
  continue;
4908
4959
  }
4909
- if (1 <= j && j <= 12) {
4960
+ if (j >= 1 && j <= 12) {
4910
4961
  month = j;
4911
4962
  numbers.splice(k, 1);
4912
4963
 
@@ -4917,11 +4968,11 @@
4917
4968
 
4918
4969
  // day
4919
4970
  for (i = 0; i < numbers.length; i++) {
4920
- j = parseInt(numbers[i]);
4971
+ j = parseInt(numbers[i], 10);
4921
4972
  if (isNaN(j)) {
4922
4973
  continue;
4923
4974
  }
4924
- if (1 <= j && j <= 31) {
4975
+ if (j >= 1 && j <= 31) {
4925
4976
  day = j;
4926
4977
  numbers.splice(i, 1);
4927
4978
 
@@ -4932,7 +4983,7 @@
4932
4983
  // year <= settings.centuryBreak
4933
4984
  if (year < 0) {
4934
4985
  for (i = numbers.length - 1; i >= 0; i--) {
4935
- j = parseInt(numbers[i]);
4986
+ j = parseInt(numbers[i], 10);
4936
4987
  if (isNaN(j)) {
4937
4988
  continue;
4938
4989
  }
@@ -4951,11 +5002,11 @@
4951
5002
  // hour
4952
5003
  if (hour < 0) {
4953
5004
  for (i = 0; i < numbers.length; i++) {
4954
- j = parseInt(numbers[i]);
5005
+ j = parseInt(numbers[i], 10);
4955
5006
  if (isNaN(j)) {
4956
5007
  continue;
4957
5008
  }
4958
- if (0 <= j && j <= 23) {
5009
+ if (j >= 0 && j <= 23) {
4959
5010
  hour = j;
4960
5011
  numbers.splice(i, 1);
4961
5012
 
@@ -4967,11 +5018,11 @@
4967
5018
  // minute
4968
5019
  if (minute < 0) {
4969
5020
  for (i = 0; i < numbers.length; i++) {
4970
- j = parseInt(numbers[i]);
5021
+ j = parseInt(numbers[i], 10);
4971
5022
  if (isNaN(j)) {
4972
5023
  continue;
4973
5024
  }
4974
- if (0 <= j && j <= 59) {
5025
+ if (j >= 0 && j <= 59) {
4975
5026
  minute = j;
4976
5027
  numbers.splice(i, 1);
4977
5028
 
@@ -5027,28 +5078,22 @@
5027
5078
  },
5028
5079
 
5029
5080
  // callback when date changes
5030
- onChange: function (date, text, mode) {
5031
- },
5081
+ onChange: function (date, text, mode) {},
5032
5082
 
5033
5083
  // callback before show animation, return false to prevent show
5034
- onShow: function () {
5035
- },
5084
+ onShow: function () {},
5036
5085
 
5037
5086
  // callback after show animation
5038
- onVisible: function () {
5039
- },
5087
+ onVisible: function () {},
5040
5088
 
5041
5089
  // callback before hide animation, return false to prevent hide
5042
- onHide: function () {
5043
- },
5090
+ onHide: function () {},
5044
5091
 
5045
5092
  // callback after hide animation
5046
- onHidden: function () {
5047
- },
5093
+ onHidden: function () {},
5048
5094
 
5049
5095
  // callback before item is selected, return false to prevent selection
5050
- onSelect: function (date, mode) {
5051
- },
5096
+ onSelect: function (date, mode) {},
5052
5097
 
5053
5098
  // is the given date disabled?
5054
5099
  isDisabled: function (date, mode) {
@@ -5065,7 +5110,7 @@
5065
5110
  regExp: {
5066
5111
  dateWords: /[^A-Za-z\u00C0-\u024F]+/g,
5067
5112
  dateNumbers: /[^\d:]+/g,
5068
- token: /d{1,4}|D{1,2}|M{1,4}|YY(?:YY)?|([Hhmsw])\1?|[SAaY]|"[^"]*"|'[^']*'/g,
5113
+ token: /d{1,4}|D{1,2}|M{1,4}|YY(?:YY)?|([Hhmsw])\1?|[ASYa]|"[^"]*"|'[^']*'/g,
5069
5114
  },
5070
5115
 
5071
5116
  error: {
@@ -5124,7 +5169,7 @@
5124
5169
  })(jQuery, window, document);
5125
5170
 
5126
5171
  /*!
5127
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Checkbox
5172
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Checkbox
5128
5173
  * https://github.com/fomantic/Fomantic-UI/
5129
5174
  *
5130
5175
  *
@@ -5140,7 +5185,7 @@
5140
5185
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
5141
5186
  }
5142
5187
 
5143
- window = (typeof window != 'undefined' && window.Math == Math)
5188
+ window = (window !== undefined && window.Math === Math)
5144
5189
  ? window
5145
5190
  : globalThis;
5146
5191
 
@@ -5149,11 +5194,11 @@
5149
5194
  $allModules = $(this),
5150
5195
  moduleSelector = $allModules.selector || '',
5151
5196
 
5152
- time = new Date().getTime(),
5197
+ time = Date.now(),
5153
5198
  performance = [],
5154
5199
 
5155
5200
  query = arguments[0],
5156
- methodInvoked = (typeof query == 'string'),
5201
+ methodInvoked = (typeof query === 'string'),
5157
5202
  queryArguments = [].slice.call(arguments, 1),
5158
5203
  returnedValue
5159
5204
  ;
@@ -5291,7 +5336,7 @@
5291
5336
  },
5292
5337
 
5293
5338
  preventDefaultOnInputTarget: function () {
5294
- if (typeof event !== 'undefined' && event !== null && $(event.target).is(selector.input)) {
5339
+ if (event !== undefined && event !== null && $(event.target).is(selector.input)) {
5295
5340
  module.verbose('Preventing default check action after manual check action');
5296
5341
  event.preventDefault();
5297
5342
  }
@@ -5837,7 +5882,7 @@
5837
5882
  previousTime
5838
5883
  ;
5839
5884
  if (settings.performance) {
5840
- currentTime = new Date().getTime();
5885
+ currentTime = Date.now();
5841
5886
  previousTime = time || currentTime;
5842
5887
  executionTime = currentTime - previousTime;
5843
5888
  time = currentTime;
@@ -5888,8 +5933,8 @@
5888
5933
  ;
5889
5934
  passedArguments = passedArguments || queryArguments;
5890
5935
  context = context || element;
5891
- if (typeof query == 'string' && object !== undefined) {
5892
- query = query.split(/[\. ]/);
5936
+ if (typeof query === 'string' && object !== undefined) {
5937
+ query = query.split(/[ .]/);
5893
5938
  maxDepth = query.length - 1;
5894
5939
  $.each(query, function (depth, value) {
5895
5940
  var camelCaseValue = (depth != maxDepth)
@@ -6009,7 +6054,7 @@
6009
6054
  })(jQuery, window, document);
6010
6055
 
6011
6056
  /*!
6012
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Dimmer
6057
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Dimmer
6013
6058
  * https://github.com/fomantic/Fomantic-UI/
6014
6059
  *
6015
6060
  *
@@ -6025,7 +6070,7 @@
6025
6070
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
6026
6071
  }
6027
6072
 
6028
- window = (typeof window != 'undefined' && window.Math == Math)
6073
+ window = (window !== undefined && window.Math === Math)
6029
6074
  ? window
6030
6075
  : globalThis;
6031
6076
 
@@ -6033,11 +6078,11 @@
6033
6078
  var
6034
6079
  $allModules = $(this),
6035
6080
 
6036
- time = new Date().getTime(),
6081
+ time = Date.now(),
6037
6082
  performance = [],
6038
6083
 
6039
6084
  query = arguments[0],
6040
- methodInvoked = (typeof query == 'string'),
6085
+ methodInvoked = (typeof query === 'string'),
6041
6086
  queryArguments = [].slice.call(arguments, 1),
6042
6087
 
6043
6088
  returnedValue
@@ -6080,11 +6125,9 @@
6080
6125
  } else {
6081
6126
  $dimmable = $module;
6082
6127
  if (module.has.dimmer()) {
6083
- if (settings.dimmerName) {
6084
- $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);
6085
- } else {
6086
- $dimmer = $dimmable.find(selector.dimmer);
6087
- }
6128
+ $dimmer = settings.dimmerName
6129
+ ? $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName)
6130
+ : $dimmable.find(selector.dimmer);
6088
6131
  } else {
6089
6132
  $dimmer = module.create();
6090
6133
  }
@@ -6346,9 +6389,9 @@
6346
6389
  duration: function () {
6347
6390
  if (module.is.active()) {
6348
6391
  return settings.transition.hideDuration || settings.duration.hide || settings.duration;
6349
- } else {
6350
- return settings.transition.showDuration || settings.duration.show || settings.duration;
6351
6392
  }
6393
+
6394
+ return settings.transition.showDuration || settings.duration.show || settings.duration;
6352
6395
  },
6353
6396
  },
6354
6397
 
@@ -6356,9 +6399,9 @@
6356
6399
  dimmer: function () {
6357
6400
  if (settings.dimmerName) {
6358
6401
  return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);
6359
- } else {
6360
- return ($module.find(selector.dimmer).length > 0);
6361
6402
  }
6403
+
6404
+ return ($module.find(selector.dimmer).length > 0);
6362
6405
  },
6363
6406
  },
6364
6407
 
@@ -6529,7 +6572,7 @@
6529
6572
  previousTime
6530
6573
  ;
6531
6574
  if (settings.performance) {
6532
- currentTime = new Date().getTime();
6575
+ currentTime = Date.now();
6533
6576
  previousTime = time || currentTime;
6534
6577
  executionTime = currentTime - previousTime;
6535
6578
  time = currentTime;
@@ -6558,7 +6601,7 @@
6558
6601
  title += ' \'' + moduleSelector + '\'';
6559
6602
  }
6560
6603
  if ($allModules.length > 1) {
6561
- title += ' ' + '(' + $allModules.length + ')';
6604
+ title += ' (' + $allModules.length + ')';
6562
6605
  }
6563
6606
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
6564
6607
  console.groupCollapsed(title);
@@ -6583,8 +6626,8 @@
6583
6626
  ;
6584
6627
  passedArguments = passedArguments || queryArguments;
6585
6628
  context = context || element;
6586
- if (typeof query == 'string' && object !== undefined) {
6587
- query = query.split(/[\. ]/);
6629
+ if (typeof query === 'string' && object !== undefined) {
6630
+ query = query.split(/[ .]/);
6588
6631
  maxDepth = query.length - 1;
6589
6632
  $.each(query, function (depth, value) {
6590
6633
  var camelCaseValue = (depth != maxDepth)
@@ -6731,7 +6774,7 @@
6731
6774
  .addClass(settings.className.loader)
6732
6775
  .addClass(settings.loaderVariation)
6733
6776
  ;
6734
- if (!!settings.loaderText) {
6777
+ if (settings.loaderText) {
6735
6778
  l.text(settings.loaderText);
6736
6779
  l.addClass('text');
6737
6780
  }
@@ -6746,7 +6789,7 @@
6746
6789
  })(jQuery, window, document);
6747
6790
 
6748
6791
  /*!
6749
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Dropdown
6792
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Dropdown
6750
6793
  * https://github.com/fomantic/Fomantic-UI/
6751
6794
  *
6752
6795
  *
@@ -6762,7 +6805,7 @@
6762
6805
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
6763
6806
  }
6764
6807
 
6765
- window = (typeof window != 'undefined' && window.Math == Math)
6808
+ window = (window !== undefined && window.Math === Math)
6766
6809
  ? window
6767
6810
  : globalThis;
6768
6811
 
@@ -6773,11 +6816,11 @@
6773
6816
 
6774
6817
  moduleSelector = $allModules.selector || '',
6775
6818
 
6776
- time = new Date().getTime(),
6819
+ time = Date.now(),
6777
6820
  performance = [],
6778
6821
 
6779
6822
  query = arguments[0],
6780
- methodInvoked = (typeof query == 'string'),
6823
+ methodInvoked = (typeof query === 'string'),
6781
6824
  queryArguments = [].slice.call(arguments, 1),
6782
6825
  returnedValue
6783
6826
  ;
@@ -7108,7 +7151,7 @@
7108
7151
  .addClass(className.search)
7109
7152
  .prop('autocomplete', module.is.chrome() ? 'fomantic-search' : 'off')
7110
7153
  ;
7111
- if (labelNode.length) {
7154
+ if (labelNode.length > 0) {
7112
7155
  if (!labelNode.attr('id')) {
7113
7156
  labelNode.attr('id', '_' + module.get.id() + '_formLabel');
7114
7157
  }
@@ -7474,7 +7517,7 @@
7474
7517
  if (module.is.multiple()) {
7475
7518
  module.filterActive();
7476
7519
  }
7477
- if (query || (!query && module.get.activeItem().length == 0)) {
7520
+ if (query || (!query && module.get.activeItem().length === 0)) {
7478
7521
  module.select.firstUnfiltered();
7479
7522
  }
7480
7523
  if (module.has.allResultsFiltered()) {
@@ -7689,7 +7732,7 @@
7689
7732
  // Dividers which are direct siblings are considered a group
7690
7733
  var $lastDivider = $(this).nextUntil(selector.item);
7691
7734
 
7692
- return ($lastDivider.length ? $lastDivider : $(this))
7735
+ return ($lastDivider.length > 0 ? $lastDivider : $(this))
7693
7736
  // Count all non-filtered items until the next divider (or end of the dropdown)
7694
7737
  .nextUntil(selector.divider)
7695
7738
  .filter(selector.item + ':not(.' + className.filtered + ')')
@@ -7714,17 +7757,22 @@
7714
7757
  if (queryLength === termLength) {
7715
7758
  return (query === term);
7716
7759
  }
7717
- search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
7760
+ for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
7718
7761
  var
7762
+ continueSearch = false,
7719
7763
  queryCharacter = query.charCodeAt(characterIndex)
7720
7764
  ;
7721
7765
  while (nextCharacterIndex < termLength) {
7722
7766
  if (term.charCodeAt(nextCharacterIndex++) === queryCharacter) {
7723
- continue search;
7767
+ continueSearch = true;
7768
+
7769
+ break;
7724
7770
  }
7725
7771
  }
7726
7772
 
7727
- return false;
7773
+ if (!continueSearch) {
7774
+ return false;
7775
+ }
7728
7776
  }
7729
7777
 
7730
7778
  return true;
@@ -8351,19 +8399,20 @@
8351
8399
  event.preventDefault();
8352
8400
 
8353
8401
  return;
8354
- } else {
8355
- module.verbose('Up key pressed, changing active item');
8356
- $selectedItem
8357
- .removeClass(className.selected)
8358
- ;
8359
- $nextItem
8360
- .addClass(className.selected)
8361
- ;
8362
- module.set.scrollPosition($nextItem);
8363
- if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
8364
- module.set.selectedItem($nextItem);
8365
- }
8366
8402
  }
8403
+
8404
+ module.verbose('Up key pressed, changing active item');
8405
+ $selectedItem
8406
+ .removeClass(className.selected)
8407
+ ;
8408
+ $nextItem
8409
+ .addClass(className.selected)
8410
+ ;
8411
+ module.set.scrollPosition($nextItem);
8412
+ if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
8413
+ module.set.selectedItem($nextItem);
8414
+ }
8415
+
8367
8416
  event.preventDefault();
8368
8417
  }
8369
8418
 
@@ -8377,19 +8426,20 @@
8377
8426
  event.preventDefault();
8378
8427
 
8379
8428
  return;
8380
- } else {
8381
- module.verbose('Down key pressed, changing active item');
8382
- $item
8383
- .removeClass(className.selected)
8384
- ;
8385
- $nextItem
8386
- .addClass(className.selected)
8387
- ;
8388
- module.set.scrollPosition($nextItem);
8389
- if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
8390
- module.set.selectedItem($nextItem);
8391
- }
8392
8429
  }
8430
+
8431
+ module.verbose('Down key pressed, changing active item');
8432
+ $item
8433
+ .removeClass(className.selected)
8434
+ ;
8435
+ $nextItem
8436
+ .addClass(className.selected)
8437
+ ;
8438
+ module.set.scrollPosition($nextItem);
8439
+ if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
8440
+ module.set.selectedItem($nextItem);
8441
+ }
8442
+
8393
8443
  event.preventDefault();
8394
8444
  }
8395
8445
 
@@ -8472,11 +8522,11 @@
8472
8522
  callback();
8473
8523
 
8474
8524
  return true;
8475
- } else {
8476
- module.verbose('Event occurred in dropdown, canceling callback');
8477
-
8478
- return false;
8479
8525
  }
8526
+
8527
+ module.verbose('Event occurred in dropdown, canceling callback');
8528
+
8529
+ return false;
8480
8530
  },
8481
8531
  eventOnElement: function (event, callback) {
8482
8532
  var
@@ -8494,11 +8544,11 @@
8494
8544
  callback();
8495
8545
 
8496
8546
  return true;
8497
- } else {
8498
- module.verbose('Event occurred in dropdown menu, canceling callback');
8499
-
8500
- return false;
8501
8547
  }
8548
+
8549
+ module.verbose('Event occurred in dropdown menu, canceling callback');
8550
+
8551
+ return false;
8502
8552
  },
8503
8553
  },
8504
8554
 
@@ -8556,7 +8606,7 @@
8556
8606
  return $module.data(metadata.defaultValue);
8557
8607
  },
8558
8608
  placeholderText: function () {
8559
- if (settings.placeholder != 'auto' && typeof settings.placeholder == 'string') {
8609
+ if (settings.placeholder != 'auto' && typeof settings.placeholder === 'string') {
8560
8610
  return settings.placeholder;
8561
8611
  }
8562
8612
 
@@ -8627,7 +8677,8 @@
8627
8677
  ;
8628
8678
  if (returnEndPos && 'selectionEnd' in input) {
8629
8679
  return input.selectionEnd;
8630
- } else if (!returnEndPos && 'selectionStart' in input) {
8680
+ }
8681
+ if (!returnEndPos && 'selectionStart' in input) {
8631
8682
  return input.selectionStart;
8632
8683
  }
8633
8684
  if (document.selection) {
@@ -8664,7 +8715,7 @@
8664
8715
  }
8665
8716
 
8666
8717
  return (!module.has.selectInput() && module.is.multiple())
8667
- ? (typeof value == 'string') // delimited string
8718
+ ? (typeof value === 'string') // delimited string
8668
8719
  ? (raw ? value : module.escape.htmlEntities(value)).split(settings.delimiter)
8669
8720
  : ''
8670
8721
  : value;
@@ -8675,7 +8726,7 @@
8675
8726
  remoteValues = false
8676
8727
  ;
8677
8728
  if (values) {
8678
- if (typeof values == 'string') {
8729
+ if (typeof values === 'string') {
8679
8730
  values = [values];
8680
8731
  }
8681
8732
  $.each(values, function (index, value) {
@@ -8866,9 +8917,7 @@
8866
8917
  return;
8867
8918
  }
8868
8919
  if (isMultiple) {
8869
- if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(function (v) {
8870
- return String(v);
8871
- })) !== -1) {
8920
+ if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String)) !== -1) {
8872
8921
  $selectedItem = ($selectedItem)
8873
8922
  ? $selectedItem.add($choice)
8874
8923
  : $choice;
@@ -8917,16 +8966,16 @@
8917
8966
  }
8918
8967
 
8919
8968
  return true;
8920
- } else {
8921
- module.verbose('No longer at maximum selection count');
8922
- module.remove.message();
8923
- module.remove.filteredItem();
8924
- if (module.is.searchSelection()) {
8925
- module.filterItems();
8926
- }
8969
+ }
8927
8970
 
8928
- return false;
8971
+ module.verbose('No longer at maximum selection count');
8972
+ module.remove.message();
8973
+ module.remove.filteredItem();
8974
+ if (module.is.searchSelection()) {
8975
+ module.filterItems();
8929
8976
  }
8977
+
8978
+ return false;
8930
8979
  }
8931
8980
 
8932
8981
  return true;
@@ -9625,7 +9674,7 @@
9625
9674
  var
9626
9675
  $addition = $menu.children(selector.addition),
9627
9676
  $existingItem = module.get.item(value),
9628
- alreadyHasValue = $existingItem && $existingItem.not(selector.addition).length,
9677
+ alreadyHasValue = $existingItem && $existingItem.not(selector.addition).length > 0,
9629
9678
  hasUserSuggestion = $addition.length > 0,
9630
9679
  html
9631
9680
  ;
@@ -9950,7 +9999,7 @@
9950
9999
  }
9951
10000
  },
9952
10001
  diacritics: function (text) {
9953
- return settings.ignoreDiacritics ? text.normalize('NFD').replace(/[\u0300-\u036f]/g, '') : text;
10002
+ return settings.ignoreDiacritics ? text.normalize('NFD').replace(/[\u0300-\u036F]/g, '') : text;
9954
10003
  },
9955
10004
  },
9956
10005
 
@@ -10009,7 +10058,7 @@
10009
10058
  return ($currentMenu || $menu).find(selector.menu).length > 0;
10010
10059
  },
10011
10060
  message: function () {
10012
- return ($menu.children(selector.message).length !== 0);
10061
+ return ($menu.children(selector.message).length > 0);
10013
10062
  },
10014
10063
  label: function (value) {
10015
10064
  var
@@ -10051,9 +10100,7 @@
10051
10100
  : (values == value)
10052
10101
  ;
10053
10102
 
10054
- return (hasValue)
10055
- ? true
10056
- : false;
10103
+ return !!(hasValue);
10057
10104
  },
10058
10105
  valueIgnoringCase: function (value) {
10059
10106
  var
@@ -10470,8 +10517,8 @@
10470
10517
  },
10471
10518
  htmlEntities: function (string) {
10472
10519
  var
10473
- badChars = /[<>"'`]/g,
10474
- shouldEscape = /[&<>"'`]/,
10520
+ badChars = /["'<>`]/g,
10521
+ shouldEscape = /["&'<>`]/,
10475
10522
  escape = {
10476
10523
  '<': '&lt;',
10477
10524
  '>': '&gt;',
@@ -10484,7 +10531,7 @@
10484
10531
  }
10485
10532
  ;
10486
10533
  if (shouldEscape.test(string)) {
10487
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
10534
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
10488
10535
 
10489
10536
  return string.replace(badChars, escapedChar);
10490
10537
  }
@@ -10550,7 +10597,7 @@
10550
10597
  previousTime
10551
10598
  ;
10552
10599
  if (settings.performance) {
10553
- currentTime = new Date().getTime();
10600
+ currentTime = Date.now();
10554
10601
  previousTime = time || currentTime;
10555
10602
  executionTime = currentTime - previousTime;
10556
10603
  time = currentTime;
@@ -10601,8 +10648,8 @@
10601
10648
  ;
10602
10649
  passedArguments = passedArguments || queryArguments;
10603
10650
  context = context || element;
10604
- if (typeof query == 'string' && object !== undefined) {
10605
- query = query.split(/[\. ]/);
10651
+ if (typeof query === 'string' && object !== undefined) {
10652
+ query = query.split(/[ .]/);
10606
10653
  maxDepth = query.length - 1;
10607
10654
  $.each(query, function (depth, value) {
10608
10655
  var camelCaseValue = (depth != maxDepth)
@@ -10786,7 +10833,7 @@
10786
10833
  },
10787
10834
 
10788
10835
  regExp: {
10789
- escape: /[-[\]{}()*+?.,\\^$|#\s:=@]/g,
10836
+ escape: /[\s#$()*+,.:=?@[\\\]^{|}-]/g,
10790
10837
  quote: /"/g,
10791
10838
  },
10792
10839
 
@@ -10902,8 +10949,8 @@
10902
10949
  return string;
10903
10950
  }
10904
10951
  var
10905
- badChars = /[<>"'`]/g,
10906
- shouldEscape = /[&<>"'`]/,
10952
+ badChars = /["'<>`]/g,
10953
+ shouldEscape = /["&'<>`]/,
10907
10954
  escape = {
10908
10955
  '<': '&lt;',
10909
10956
  '>': '&gt;',
@@ -10916,7 +10963,7 @@
10916
10963
  }
10917
10964
  ;
10918
10965
  if (shouldEscape.test(string)) {
10919
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
10966
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
10920
10967
 
10921
10968
  return string.replace(badChars, escapedChar);
10922
10969
  }
@@ -10932,11 +10979,9 @@
10932
10979
  deQuote = $.fn.dropdown.settings.templates.deQuote
10933
10980
  ;
10934
10981
  html += '<i class="dropdown icon"></i>';
10935
- if (placeholder) {
10936
- html += '<div class="default text">' + escape(placeholder, preserveHTML) + '</div>';
10937
- } else {
10938
- html += '<div class="text"></div>';
10939
- }
10982
+ html += placeholder
10983
+ ? '<div class="default text">' + escape(placeholder, preserveHTML) + '</div>'
10984
+ : '<div class="text"></div>';
10940
10985
  html += '<div class="' + deQuote(className.menu) + '">';
10941
10986
  html += $.fn.dropdown.settings.templates.menu(select, fields, preserveHTML, className);
10942
10987
  html += '</div>';
@@ -10954,9 +10999,7 @@
10954
10999
  ;
10955
11000
  $.each(values, function (index, option) {
10956
11001
  var
10957
- itemType = (option[fields.type])
10958
- ? option[fields.type]
10959
- : 'item',
11002
+ itemType = option[fields.type] || 'item',
10960
11003
  isMenu = itemType.indexOf('menu') !== -1
10961
11004
  ;
10962
11005
 
@@ -10976,15 +11019,15 @@
10976
11019
  : '',
10977
11020
  hasDescription = (escape(option[fields.description] || '', preserveHTML) != '')
10978
11021
  ;
10979
- html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? option[fields.class] : className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
11022
+ html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
10980
11023
  if (isMenu) {
10981
11024
  html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
10982
11025
  }
10983
11026
  if (option[fields.image]) {
10984
- html += '<img class="' + deQuote(option[fields.imageClass] ? option[fields.imageClass] : className.image) + '" src="' + deQuote(option[fields.image]) + '">';
11027
+ html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + '">';
10985
11028
  }
10986
11029
  if (option[fields.icon]) {
10987
- html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] ? option[fields.iconClass] : className.icon)) + '"></i>';
11030
+ html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
10988
11031
  }
10989
11032
  if (hasDescription) {
10990
11033
  html += '<span class="' + deQuote(className.description) + '">' + escape(option[fields.description] || '', preserveHTML) + '</span>';
@@ -11006,12 +11049,12 @@
11006
11049
  } else if (itemType === 'header') {
11007
11050
  var
11008
11051
  groupName = escape(option[fields.name] || '', preserveHTML),
11009
- groupIcon = deQuote(option[fields.icon] ? option[fields.icon] : className.groupIcon)
11052
+ groupIcon = deQuote(option[fields.icon] || className.groupIcon)
11010
11053
  ;
11011
11054
  if (groupName !== '' || groupIcon !== '') {
11012
- html += '<div class="' + deQuote(option[fields.class] ? option[fields.class] : className.header) + '">';
11055
+ html += '<div class="' + deQuote(option[fields.class] || className.header) + '">';
11013
11056
  if (groupIcon !== '') {
11014
- html += '<i class="' + deQuote(groupIcon + ' ' + (option[fields.iconClass] ? option[fields.iconClass] : className.icon)) + '"></i>';
11057
+ html += '<i class="' + deQuote(groupIcon + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
11015
11058
  }
11016
11059
  html += groupName;
11017
11060
  html += '</div>';
@@ -11049,7 +11092,7 @@
11049
11092
  })(jQuery, window, document);
11050
11093
 
11051
11094
  /*!
11052
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Embed
11095
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Embed
11053
11096
  * https://github.com/fomantic/Fomantic-UI/
11054
11097
  *
11055
11098
  *
@@ -11065,7 +11108,7 @@
11065
11108
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
11066
11109
  }
11067
11110
 
11068
- window = (typeof window != 'undefined' && window.Math == Math)
11111
+ window = (window !== undefined && window.Math === Math)
11069
11112
  ? window
11070
11113
  : globalThis;
11071
11114
 
@@ -11075,11 +11118,11 @@
11075
11118
 
11076
11119
  moduleSelector = $allModules.selector || '',
11077
11120
 
11078
- time = new Date().getTime(),
11121
+ time = Date.now(),
11079
11122
  performance = [],
11080
11123
 
11081
11124
  query = arguments[0],
11082
- methodInvoked = (typeof query == 'string'),
11125
+ methodInvoked = (typeof query === 'string'),
11083
11126
  queryArguments = [].slice.call(arguments, 1),
11084
11127
 
11085
11128
  returnedValue
@@ -11256,18 +11299,14 @@
11256
11299
  return settings.placeholder || $module.data(metadata.placeholder);
11257
11300
  },
11258
11301
  icon: function () {
11259
- return (settings.icon)
11260
- ? settings.icon
11261
- : ($module.data(metadata.icon) !== undefined)
11262
- ? $module.data(metadata.icon)
11263
- : module.determine.icon();
11302
+ return settings.icon || (($module.data(metadata.icon) !== undefined)
11303
+ ? $module.data(metadata.icon)
11304
+ : module.determine.icon());
11264
11305
  },
11265
11306
  source: function (url) {
11266
- return (settings.source)
11267
- ? settings.source
11268
- : ($module.data(metadata.source) !== undefined)
11269
- ? $module.data(metadata.source)
11270
- : module.determine.source();
11307
+ return settings.source || (($module.data(metadata.source) !== undefined)
11308
+ ? $module.data(metadata.source)
11309
+ : module.determine.source());
11271
11310
  },
11272
11311
  type: function () {
11273
11312
  var source = module.get.source();
@@ -11277,11 +11316,9 @@
11277
11316
  : false;
11278
11317
  },
11279
11318
  url: function () {
11280
- return (settings.url)
11281
- ? settings.url
11282
- : ($module.data(metadata.url) !== undefined)
11283
- ? $module.data(metadata.url)
11284
- : module.determine.url();
11319
+ return settings.url || (($module.data(metadata.url) !== undefined)
11320
+ ? $module.data(metadata.url)
11321
+ : module.determine.url());
11285
11322
  },
11286
11323
  },
11287
11324
 
@@ -11486,7 +11523,7 @@
11486
11523
  previousTime
11487
11524
  ;
11488
11525
  if (settings.performance) {
11489
- currentTime = new Date().getTime();
11526
+ currentTime = Date.now();
11490
11527
  previousTime = time || currentTime;
11491
11528
  executionTime = currentTime - previousTime;
11492
11529
  time = currentTime;
@@ -11515,7 +11552,7 @@
11515
11552
  title += ' \'' + moduleSelector + '\'';
11516
11553
  }
11517
11554
  if ($allModules.length > 1) {
11518
- title += ' ' + '(' + $allModules.length + ')';
11555
+ title += ' (' + $allModules.length + ')';
11519
11556
  }
11520
11557
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
11521
11558
  console.groupCollapsed(title);
@@ -11540,8 +11577,8 @@
11540
11577
  ;
11541
11578
  passedArguments = passedArguments || queryArguments;
11542
11579
  context = context || element;
11543
- if (typeof query == 'string' && object !== undefined) {
11544
- query = query.split(/[\. ]/);
11580
+ if (typeof query === 'string' && object !== undefined) {
11581
+ query = query.split(/[ .]/);
11545
11582
  maxDepth = query.length - 1;
11546
11583
  $.each(query, function (depth, value) {
11547
11584
  var camelCaseValue = (depth != maxDepth)
@@ -11739,7 +11776,7 @@
11739
11776
  })(jQuery, window, document);
11740
11777
 
11741
11778
  /*!
11742
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Flyout
11779
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Flyout
11743
11780
  * https://github.com/fomantic/Fomantic-UI/
11744
11781
  *
11745
11782
  *
@@ -11755,11 +11792,11 @@
11755
11792
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
11756
11793
  }
11757
11794
 
11758
- window = (typeof window != 'undefined' && window.Math == Math)
11795
+ window = (window !== undefined && window.Math === Math)
11759
11796
  ? window
11760
11797
  : globalThis;
11761
11798
 
11762
- $.flyout = $.fn.flyout = function (parameters) {
11799
+ $.fn.flyout = function (parameters) {
11763
11800
  var
11764
11801
  $allModules = $(this),
11765
11802
  $window = $(window),
@@ -11770,11 +11807,11 @@
11770
11807
 
11771
11808
  moduleSelector = $allModules.selector || '',
11772
11809
 
11773
- time = new Date().getTime(),
11810
+ time = Date.now(),
11774
11811
  performance = [],
11775
11812
 
11776
11813
  query = arguments[0],
11777
- methodInvoked = (typeof query == 'string'),
11814
+ methodInvoked = (typeof query === 'string'),
11778
11815
  queryArguments = [].slice.call(arguments, 1),
11779
11816
 
11780
11817
  requestAnimationFrame = window.requestAnimationFrame
@@ -12655,9 +12692,11 @@
12655
12692
  direction: function () {
12656
12693
  if ($module.hasClass(className.top)) {
12657
12694
  return className.top;
12658
- } else if ($module.hasClass(className.right)) {
12695
+ }
12696
+ if ($module.hasClass(className.right)) {
12659
12697
  return className.right;
12660
- } else if ($module.hasClass(className.bottom)) {
12698
+ }
12699
+ if ($module.hasClass(className.bottom)) {
12661
12700
  return className.bottom;
12662
12701
  }
12663
12702
 
@@ -12714,7 +12753,7 @@
12714
12753
  bodyMargin: function () {
12715
12754
  initialBodyMargin = $context.css((isBody ? 'margin-' : 'padding-') + (module.can.leftBodyScrollbar() ? 'left' : 'right'));
12716
12755
  var
12717
- bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, '')),
12756
+ bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10),
12718
12757
  bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth
12719
12758
  ;
12720
12759
  tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
@@ -12767,9 +12806,9 @@
12767
12806
  module.verbose('Browser was found to be iOS', userAgent);
12768
12807
 
12769
12808
  return true;
12770
- } else {
12771
- return false;
12772
12809
  }
12810
+
12811
+ return false;
12773
12812
  },
12774
12813
  mobile: function () {
12775
12814
  var
@@ -12780,11 +12819,11 @@
12780
12819
  module.verbose('Browser was found to be mobile', userAgent);
12781
12820
 
12782
12821
  return true;
12783
- } else {
12784
- module.verbose('Browser is not mobile, using regular transition', userAgent);
12785
-
12786
- return false;
12787
12822
  }
12823
+
12824
+ module.verbose('Browser is not mobile, using regular transition', userAgent);
12825
+
12826
+ return false;
12788
12827
  },
12789
12828
  hidden: function () {
12790
12829
  return !module.is.visible();
@@ -12841,8 +12880,8 @@
12841
12880
  return string;
12842
12881
  }
12843
12882
  var
12844
- badChars = /[<>"'`]/g,
12845
- shouldEscape = /[&<>"'`]/,
12883
+ badChars = /["'<>`]/g,
12884
+ shouldEscape = /["&'<>`]/,
12846
12885
  escape = {
12847
12886
  '<': '&lt;',
12848
12887
  '>': '&gt;',
@@ -12855,7 +12894,7 @@
12855
12894
  }
12856
12895
  ;
12857
12896
  if (shouldEscape.test(string)) {
12858
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
12897
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
12859
12898
 
12860
12899
  return string.replace(badChars, escapedChar);
12861
12900
  }
@@ -12921,7 +12960,7 @@
12921
12960
  previousTime
12922
12961
  ;
12923
12962
  if (settings.performance) {
12924
- currentTime = new Date().getTime();
12963
+ currentTime = Date.now();
12925
12964
  previousTime = time || currentTime;
12926
12965
  executionTime = currentTime - previousTime;
12927
12966
  time = currentTime;
@@ -12972,8 +13011,8 @@
12972
13011
  ;
12973
13012
  passedArguments = passedArguments || queryArguments;
12974
13013
  context = element || context;
12975
- if (typeof query == 'string' && object !== undefined) {
12976
- query = query.split(/[\. ]/);
13014
+ if (typeof query === 'string' && object !== undefined) {
13015
+ query = query.split(/[ .]/);
12977
13016
  maxDepth = query.length - 1;
12978
13017
  $.each(query, function (depth, value) {
12979
13018
  var camelCaseValue = (depth != maxDepth)
@@ -13047,6 +13086,7 @@
13047
13086
  ? returnedValue
13048
13087
  : this;
13049
13088
  };
13089
+ $.flyout = $.fn.flyout;
13050
13090
 
13051
13091
  $.fn.flyout.settings = {
13052
13092
 
@@ -13180,17 +13220,16 @@
13180
13220
  content: '',
13181
13221
  title: '',
13182
13222
  }, queryArguments[0]);
13183
- } else {
13184
- if (!isFunction(queryArguments[queryArguments.length - 1])) {
13185
- queryArguments.push(function () {});
13186
- }
13187
-
13188
- return {
13189
- handler: queryArguments.pop(),
13190
- content: queryArguments.pop() || '',
13191
- title: queryArguments.pop() || '',
13192
- };
13193
13223
  }
13224
+ if (!isFunction(queryArguments[queryArguments.length - 1])) {
13225
+ queryArguments.push(function () {});
13226
+ }
13227
+
13228
+ return {
13229
+ handler: queryArguments.pop(),
13230
+ content: queryArguments.pop() || '',
13231
+ title: queryArguments.pop() || '',
13232
+ };
13194
13233
  },
13195
13234
  alert: function () {
13196
13235
  var
@@ -13269,7 +13308,7 @@
13269
13308
  })(jQuery, window, document);
13270
13309
 
13271
13310
  /*!
13272
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Modal
13311
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Modal
13273
13312
  * https://github.com/fomantic/Fomantic-UI/
13274
13313
  *
13275
13314
  *
@@ -13285,11 +13324,11 @@
13285
13324
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
13286
13325
  }
13287
13326
 
13288
- window = (typeof window != 'undefined' && window.Math == Math)
13327
+ window = (window !== undefined && window.Math === Math)
13289
13328
  ? window
13290
13329
  : globalThis;
13291
13330
 
13292
- $.modal = $.fn.modal = function (parameters) {
13331
+ $.fn.modal = function (parameters) {
13293
13332
  var
13294
13333
  $allModules = $(this),
13295
13334
  $window = $(window),
@@ -13298,11 +13337,11 @@
13298
13337
 
13299
13338
  moduleSelector = $allModules.selector || '',
13300
13339
 
13301
- time = new Date().getTime(),
13340
+ time = Date.now(),
13302
13341
  performance = [],
13303
13342
 
13304
13343
  query = arguments[0],
13305
- methodInvoked = (typeof query == 'string'),
13344
+ methodInvoked = (typeof query === 'string'),
13306
13345
  queryArguments = [].slice.call(arguments, 1),
13307
13346
 
13308
13347
  requestAnimationFrame = window.requestAnimationFrame
@@ -14026,7 +14065,7 @@
14026
14065
  bodyMargin: function () {
14027
14066
  initialBodyMargin = $context.css((isBody ? 'margin-' : 'padding-') + (module.can.leftBodyScrollbar() ? 'left' : 'right'));
14028
14067
  var
14029
- bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, '')),
14068
+ bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10),
14030
14069
  bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth
14031
14070
  ;
14032
14071
  tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
@@ -14134,8 +14173,8 @@
14134
14173
  return string;
14135
14174
  }
14136
14175
  var
14137
- badChars = /[<>"'`]/g,
14138
- shouldEscape = /[&<>"'`]/,
14176
+ badChars = /["'<>`]/g,
14177
+ shouldEscape = /["&'<>`]/,
14139
14178
  escape = {
14140
14179
  '<': '&lt;',
14141
14180
  '>': '&gt;',
@@ -14148,7 +14187,7 @@
14148
14187
  }
14149
14188
  ;
14150
14189
  if (shouldEscape.test(string)) {
14151
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
14190
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
14152
14191
 
14153
14192
  return string.replace(badChars, escapedChar);
14154
14193
  }
@@ -14459,7 +14498,7 @@
14459
14498
  previousTime
14460
14499
  ;
14461
14500
  if (settings.performance) {
14462
- currentTime = new Date().getTime();
14501
+ currentTime = Date.now();
14463
14502
  previousTime = time || currentTime;
14464
14503
  executionTime = currentTime - previousTime;
14465
14504
  time = currentTime;
@@ -14510,8 +14549,8 @@
14510
14549
  ;
14511
14550
  passedArguments = passedArguments || queryArguments;
14512
14551
  context = context || element;
14513
- if (typeof query == 'string' && object !== undefined) {
14514
- query = query.split(/[\. ]/);
14552
+ if (typeof query === 'string' && object !== undefined) {
14553
+ query = query.split(/[ .]/);
14515
14554
  maxDepth = query.length - 1;
14516
14555
  $.each(query, function (depth, value) {
14517
14556
  var camelCaseValue = (depth != maxDepth)
@@ -14582,6 +14621,7 @@
14582
14621
  ? returnedValue
14583
14622
  : this;
14584
14623
  };
14624
+ $.modal = $.fn.modal;
14585
14625
 
14586
14626
  $.fn.modal.settings = {
14587
14627
 
@@ -14733,17 +14773,16 @@
14733
14773
  content: '',
14734
14774
  title: '',
14735
14775
  }, queryArguments[0]);
14736
- } else {
14737
- if (!isFunction(queryArguments[queryArguments.length - 1])) {
14738
- queryArguments.push(function () {});
14739
- }
14740
-
14741
- return {
14742
- handler: queryArguments.pop(),
14743
- content: queryArguments.pop() || '',
14744
- title: queryArguments.pop() || '',
14745
- };
14746
14776
  }
14777
+ if (!isFunction(queryArguments[queryArguments.length - 1])) {
14778
+ queryArguments.push(function () {});
14779
+ }
14780
+
14781
+ return {
14782
+ handler: queryArguments.pop(),
14783
+ content: queryArguments.pop() || '',
14784
+ title: queryArguments.pop() || '',
14785
+ };
14747
14786
  },
14748
14787
  alert: function () {
14749
14788
  var
@@ -14832,7 +14871,7 @@
14832
14871
  })(jQuery, window, document);
14833
14872
 
14834
14873
  /*!
14835
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Nag
14874
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Nag
14836
14875
  * https://github.com/fomantic/Fomantic-UI/
14837
14876
  *
14838
14877
  *
@@ -14848,7 +14887,7 @@
14848
14887
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
14849
14888
  }
14850
14889
 
14851
- window = (typeof window != 'undefined' && window.Math == Math)
14890
+ window = (window !== undefined && window.Math === Math)
14852
14891
  ? window
14853
14892
  : globalThis;
14854
14893
 
@@ -14857,11 +14896,11 @@
14857
14896
  $allModules = $(this),
14858
14897
  moduleSelector = $allModules.selector || '',
14859
14898
 
14860
- time = new Date().getTime(),
14899
+ time = Date.now(),
14861
14900
  performance = [],
14862
14901
 
14863
14902
  query = arguments[0],
14864
- methodInvoked = (typeof query == 'string'),
14903
+ methodInvoked = (typeof query === 'string'),
14865
14904
  queryArguments = [].slice.call(arguments, 1),
14866
14905
  returnedValue
14867
14906
  ;
@@ -14995,20 +15034,22 @@
14995
15034
  }
14996
15035
  if (expires instanceof Date && expires.getTime()) {
14997
15036
  return expires.toUTCString();
14998
- } else {
14999
- module.error(error.expiresFormat);
15000
15037
  }
15038
+
15039
+ module.error(error.expiresFormat);
15001
15040
  },
15002
15041
  storage: function () {
15003
15042
  if (settings.storageMethod === 'localstorage' && window.localStorage !== undefined) {
15004
15043
  module.debug('Using local storage');
15005
15044
 
15006
15045
  return window.localStorage;
15007
- } else if (settings.storageMethod === 'sessionstorage' && window.sessionStorage !== undefined) {
15046
+ }
15047
+ if (settings.storageMethod === 'sessionstorage' && window.sessionStorage !== undefined) {
15008
15048
  module.debug('Using session storage');
15009
15049
 
15010
15050
  return window.sessionStorage;
15011
- } else if ('cookie' in document) {
15051
+ }
15052
+ if ('cookie' in document) {
15012
15053
  module.debug('Using cookie');
15013
15054
 
15014
15055
  return {
@@ -15019,12 +15060,12 @@
15019
15060
  .replace(/[()]/g, escape)
15020
15061
  ;
15021
15062
  value = encodeURIComponent(value)
15022
- .replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent)
15063
+ .replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[B-D])/g, decodeURIComponent)
15023
15064
  ;
15024
15065
 
15025
15066
  var cookieOptions = '';
15026
15067
  for (var option in options) {
15027
- if (options.hasOwnProperty(option)) {
15068
+ if (Object.prototype.hasOwnProperty.call(options, option)) {
15028
15069
  cookieOptions += '; ' + option;
15029
15070
  if (typeof options[option] === 'string') {
15030
15071
  cookieOptions += '=' + options[option].split(';')[0];
@@ -15038,7 +15079,7 @@
15038
15079
  for (var i = 0, il = cookies.length; i < il; i++) {
15039
15080
  var
15040
15081
  parts = cookies[i].split('='),
15041
- foundKey = parts[0].replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
15082
+ foundKey = parts[0].replace(/(%[\da-f]{2})+/gi, decodeURIComponent)
15042
15083
  ;
15043
15084
  if (key === foundKey) {
15044
15085
  return parts[1] || '';
@@ -15049,9 +15090,9 @@
15049
15090
  storage.setItem(key, '', options);
15050
15091
  },
15051
15092
  };
15052
- } else {
15053
- module.error(error.noStorage);
15054
15093
  }
15094
+
15095
+ module.error(error.noStorage);
15055
15096
  },
15056
15097
  storageOptions: function () {
15057
15098
  var
@@ -15185,7 +15226,7 @@
15185
15226
  previousTime
15186
15227
  ;
15187
15228
  if (settings.performance) {
15188
- currentTime = new Date().getTime();
15229
+ currentTime = Date.now();
15189
15230
  previousTime = time || currentTime;
15190
15231
  executionTime = currentTime - previousTime;
15191
15232
  time = currentTime;
@@ -15236,8 +15277,8 @@
15236
15277
  ;
15237
15278
  passedArguments = passedArguments || queryArguments;
15238
15279
  context = context || element;
15239
- if (typeof query == 'string' && object !== undefined) {
15240
- query = query.split(/[\. ]/);
15280
+ if (typeof query === 'string' && object !== undefined) {
15281
+ query = query.split(/[ .]/);
15241
15282
  maxDepth = query.length - 1;
15242
15283
  $.each(query, function (depth, value) {
15243
15284
  var camelCaseValue = (depth != maxDepth)
@@ -15383,7 +15424,7 @@
15383
15424
  })(jQuery, window, document);
15384
15425
 
15385
15426
  /*!
15386
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Popup
15427
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Popup
15387
15428
  * https://github.com/fomantic/Fomantic-UI/
15388
15429
  *
15389
15430
  *
@@ -15399,7 +15440,7 @@
15399
15440
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
15400
15441
  }
15401
15442
 
15402
- window = (typeof window != 'undefined' && window.Math == Math)
15443
+ window = (window !== undefined && window.Math === Math)
15403
15444
  ? window
15404
15445
  : globalThis;
15405
15446
 
@@ -15416,11 +15457,11 @@
15416
15457
  ? 'touchstart'
15417
15458
  : 'click',
15418
15459
 
15419
- time = new Date().getTime(),
15460
+ time = Date.now(),
15420
15461
  performance = [],
15421
15462
 
15422
15463
  query = arguments[0],
15423
- methodInvoked = (typeof query == 'string'),
15464
+ methodInvoked = (typeof query === 'string'),
15424
15465
  queryArguments = [].slice.call(arguments, 1),
15425
15466
 
15426
15467
  returnedValue
@@ -15666,7 +15707,7 @@
15666
15707
  if (settings.hoverable) {
15667
15708
  module.bind.popup();
15668
15709
  }
15669
- } else if ($target.next(selector.popup).length !== 0) {
15710
+ } else if ($target.next(selector.popup).length > 0) {
15670
15711
  module.verbose('Pre-existing popup found');
15671
15712
  settings.inline = true;
15672
15713
  settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
@@ -15709,7 +15750,8 @@
15709
15750
  module.debug('onShow callback returned false, cancelling popup animation');
15710
15751
 
15711
15752
  return;
15712
- } else if (!settings.preserve && !settings.popup) {
15753
+ }
15754
+ if (!settings.preserve && !settings.popup) {
15713
15755
  module.refresh();
15714
15756
  }
15715
15757
  if ($popup && module.set.position()) {
@@ -15754,11 +15796,9 @@
15754
15796
  }
15755
15797
  if (settings.inline || settings.popup) {
15756
15798
  return (module.has.popup());
15757
- } else {
15758
- return ($popup.closest($context).length >= 1)
15759
- ? true
15760
- : false;
15761
15799
  }
15800
+
15801
+ return ($popup.closest($context).length > 0);
15762
15802
  },
15763
15803
 
15764
15804
  removePopup: function () {
@@ -15974,7 +16014,8 @@
15974
16014
  startEvent: function () {
15975
16015
  if (settings.on == 'hover') {
15976
16016
  return 'mouseenter';
15977
- } else if (settings.on == 'focus') {
16017
+ }
16018
+ if (settings.on == 'focus') {
15978
16019
  return 'focus';
15979
16020
  }
15980
16021
 
@@ -15986,7 +16027,8 @@
15986
16027
  endEvent: function () {
15987
16028
  if (settings.on == 'hover') {
15988
16029
  return 'mouseleave';
15989
- } else if (settings.on == 'focus') {
16030
+ }
16031
+ if (settings.on == 'focus') {
15990
16032
  return 'blur';
15991
16033
  }
15992
16034
 
@@ -16296,19 +16338,18 @@
16296
16338
  return ($popup)
16297
16339
  ? module.set.position(position, calculations)
16298
16340
  : false;
16341
+ }
16342
+ if (settings.lastResort) {
16343
+ module.debug('No position found, showing with last position');
16299
16344
  } else {
16300
- if (settings.lastResort) {
16301
- module.debug('No position found, showing with last position');
16302
- } else {
16303
- module.debug('Popup could not find a position to display', $popup);
16304
- module.error(error.cannotPlace, element);
16305
- module.remove.attempts();
16306
- module.remove.loading();
16307
- module.reset();
16308
- settings.onUnplaceable.call($popup, element);
16345
+ module.debug('Popup could not find a position to display', $popup);
16346
+ module.error(error.cannotPlace, element);
16347
+ module.remove.attempts();
16348
+ module.remove.loading();
16349
+ module.reset();
16350
+ settings.onUnplaceable.call($popup, element);
16309
16351
 
16310
- return false;
16311
- }
16352
+ return false;
16312
16353
  }
16313
16354
  }
16314
16355
  module.debug('Position is on stage', position);
@@ -16577,7 +16618,7 @@
16577
16618
  previousTime
16578
16619
  ;
16579
16620
  if (settings.performance) {
16580
- currentTime = new Date().getTime();
16621
+ currentTime = Date.now();
16581
16622
  previousTime = time || currentTime;
16582
16623
  executionTime = currentTime - previousTime;
16583
16624
  time = currentTime;
@@ -16628,8 +16669,8 @@
16628
16669
  ;
16629
16670
  passedArguments = passedArguments || queryArguments;
16630
16671
  context = context || element;
16631
- if (typeof query == 'string' && object !== undefined) {
16632
- query = query.split(/[\. ]/);
16672
+ if (typeof query === 'string' && object !== undefined) {
16673
+ query = query.split(/[ .]/);
16633
16674
  maxDepth = query.length - 1;
16634
16675
  $.each(query, function (depth, value) {
16635
16676
  var camelCaseValue = (depth != maxDepth)
@@ -16855,8 +16896,8 @@
16855
16896
  templates: {
16856
16897
  escape: function (string) {
16857
16898
  var
16858
- badChars = /[<>"'`]/g,
16859
- shouldEscape = /[&<>"'`]/,
16899
+ badChars = /["'<>`]/g,
16900
+ shouldEscape = /["&'<>`]/,
16860
16901
  escape = {
16861
16902
  '<': '&lt;',
16862
16903
  '>': '&gt;',
@@ -16869,7 +16910,7 @@
16869
16910
  }
16870
16911
  ;
16871
16912
  if (shouldEscape.test(string)) {
16872
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
16913
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
16873
16914
 
16874
16915
  return string.replace(badChars, escapedChar);
16875
16916
  }
@@ -16900,7 +16941,7 @@
16900
16941
  })(jQuery, window, document);
16901
16942
 
16902
16943
  /*!
16903
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Progress
16944
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Progress
16904
16945
  * https://github.com/fomantic/Fomantic-UI/
16905
16946
  *
16906
16947
  *
@@ -16916,7 +16957,7 @@
16916
16957
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
16917
16958
  }
16918
16959
 
16919
- window = (typeof window != 'undefined' && window.Math == Math)
16960
+ window = (window !== undefined && window.Math === Math)
16920
16961
  ? window
16921
16962
  : globalThis;
16922
16963
 
@@ -16926,11 +16967,11 @@
16926
16967
 
16927
16968
  moduleSelector = $allModules.selector || '',
16928
16969
 
16929
- time = new Date().getTime(),
16970
+ time = Date.now(),
16930
16971
  performance = [],
16931
16972
 
16932
16973
  query = arguments[0],
16933
- methodInvoked = (typeof query == 'string'),
16974
+ methodInvoked = (typeof query === 'string'),
16934
16975
  queryArguments = [].slice.call(arguments, 1),
16935
16976
 
16936
16977
  returnedValue
@@ -16996,7 +17037,7 @@
16996
17037
  var precision = 1;
16997
17038
  var ratio = min / total;
16998
17039
  while (precisionPower < 10) {
16999
- ratio = ratio * precision;
17040
+ ratio *= precision;
17000
17041
  if (ratio > 1) {
17001
17042
  break;
17002
17043
  }
@@ -17010,7 +17051,7 @@
17010
17051
  ? element
17011
17052
  : !isNaN(element)
17012
17053
  ? [element]
17013
- : typeof element == 'string'
17054
+ : typeof element === 'string'
17014
17055
  ? element.split(',')
17015
17056
  : [];
17016
17057
  },
@@ -17163,13 +17204,16 @@
17163
17204
 
17164
17205
  get: {
17165
17206
  text: function (templateText, index) {
17207
+ if (!index) {
17208
+ index = 0;
17209
+ }
17210
+
17166
17211
  var
17167
- index_ = index || 0,
17168
- value = module.get.value(index_),
17212
+ value = module.get.value(index),
17169
17213
  total = module.get.total(),
17170
17214
  percent = (animating)
17171
- ? module.get.displayPercent(index_)
17172
- : module.get.percent(index_),
17215
+ ? module.get.displayPercent(index)
17216
+ : module.get.percent(index),
17173
17217
  left = (total !== false)
17174
17218
  ? Math.max(0, total - value)
17175
17219
  : (100 - percent)
@@ -17180,7 +17224,7 @@
17180
17224
  .replace('{total}', total || 0)
17181
17225
  .replace('{left}', left)
17182
17226
  .replace('{percent}', percent)
17183
- .replace('{bar}', settings.text.bars[index_] || '')
17227
+ .replace('{bar}', settings.text.bars[index] || '')
17184
17228
  ;
17185
17229
  module.verbose('Adding variables to progress bar text', templateText);
17186
17230
 
@@ -17256,7 +17300,7 @@
17256
17300
  totalWidth = $module.width(),
17257
17301
  minDisplay = parseInt($bar.css('min-width'), 10),
17258
17302
  displayPercent = (barWidth > minDisplay)
17259
- ? (barWidth / totalWidth * 100)
17303
+ ? ((barWidth / totalWidth) * 100)
17260
17304
  : module.percent
17261
17305
  ;
17262
17306
 
@@ -17266,10 +17310,10 @@
17266
17310
  },
17267
17311
 
17268
17312
  percent: function (index) {
17269
- return module.percent && module.percent[index || 0] || 0;
17313
+ return (module.percent && module.percent[index || 0]) || 0;
17270
17314
  },
17271
17315
  value: function (index) {
17272
- return module.nextValue || module.value && module.value[index || 0] || 0;
17316
+ return module.nextValue || (module.value && module.value[index || 0]) || 0;
17273
17317
  },
17274
17318
  total: function () {
17275
17319
  return module.total !== undefined ? module.total : false;
@@ -17387,7 +17431,7 @@
17387
17431
  },
17388
17432
  duration: function (duration) {
17389
17433
  duration = duration || settings.duration;
17390
- duration = (typeof duration == 'number')
17434
+ duration = (typeof duration === 'number')
17391
17435
  ? duration + 'ms'
17392
17436
  : duration;
17393
17437
  module.verbose('Setting progress bar transition duration', duration);
@@ -17399,7 +17443,7 @@
17399
17443
  },
17400
17444
  percent: function (percents) {
17401
17445
  percents = module.helper.forceArray(percents).map(function (percent) {
17402
- percent = (typeof percent == 'string')
17446
+ percent = (typeof percent === 'string')
17403
17447
  ? +(percent.replace('%', ''))
17404
17448
  : percent;
17405
17449
 
@@ -17475,7 +17519,6 @@
17475
17519
  module.set.state();
17476
17520
  },
17477
17521
  label: function (text) {
17478
- text = text || '';
17479
17522
  if (text) {
17480
17523
  text = module.get.text(text);
17481
17524
  module.verbose('Setting label to text', text);
@@ -17708,7 +17751,7 @@
17708
17751
  previousTime
17709
17752
  ;
17710
17753
  if (settings.performance) {
17711
- currentTime = new Date().getTime();
17754
+ currentTime = Date.now();
17712
17755
  previousTime = time || currentTime;
17713
17756
  executionTime = currentTime - previousTime;
17714
17757
  time = currentTime;
@@ -17759,8 +17802,8 @@
17759
17802
  ;
17760
17803
  passedArguments = passedArguments || queryArguments;
17761
17804
  context = context || element;
17762
- if (typeof query == 'string' && object !== undefined) {
17763
- query = query.split(/[\. ]/);
17805
+ if (typeof query === 'string' && object !== undefined) {
17806
+ query = query.split(/[ .]/);
17764
17807
  maxDepth = query.length - 1;
17765
17808
  $.each(query, function (depth, value) {
17766
17809
  var camelCaseValue = (depth != maxDepth)
@@ -17873,7 +17916,7 @@
17873
17916
  },
17874
17917
 
17875
17918
  regExp: {
17876
- variable: /\{\$*[a-z0-9]+\}/gi,
17919
+ variable: /{\$*[\da-z]+}/gi,
17877
17920
  },
17878
17921
 
17879
17922
  metadata: {
@@ -17909,7 +17952,7 @@
17909
17952
  })(jQuery, window, document);
17910
17953
 
17911
17954
  /*!
17912
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Slider
17955
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Slider
17913
17956
  * https://github.com/fomantic/Fomantic-UI/
17914
17957
  *
17915
17958
  *
@@ -17925,7 +17968,7 @@
17925
17968
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
17926
17969
  }
17927
17970
 
17928
- window = (typeof window != 'undefined' && window.Math == Math)
17971
+ window = (window !== undefined && window.Math === Math)
17929
17972
  ? window
17930
17973
  : globalThis;
17931
17974
 
@@ -17937,11 +17980,11 @@
17937
17980
 
17938
17981
  moduleSelector = $allModules.selector || '',
17939
17982
 
17940
- time = new Date().getTime(),
17983
+ time = Date.now(),
17941
17984
  performance = [],
17942
17985
 
17943
17986
  query = arguments[0],
17944
- methodInvoked = (typeof query == 'string'),
17987
+ methodInvoked = (typeof query === 'string'),
17945
17988
  queryArguments = [].slice.call(arguments, 1),
17946
17989
 
17947
17990
  alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'],
@@ -18048,7 +18091,7 @@
18048
18091
  if ($module.attr('tabindex') === undefined) {
18049
18092
  $module.attr('tabindex', 0);
18050
18093
  }
18051
- if ($module.find('.inner').length == 0) {
18094
+ if ($module.find('.inner').length === 0) {
18052
18095
  $module.append("<div class='inner'>"
18053
18096
  + "<div class='track'></div>"
18054
18097
  + "<div class='track-fill'></div>"
@@ -18059,7 +18102,7 @@
18059
18102
  $thumb = $module.find('.thumb:not(.second)');
18060
18103
  $currThumb = $thumb;
18061
18104
  if (module.is.range()) {
18062
- if ($module.find('.thumb.second').length == 0) {
18105
+ if ($module.find('.thumb.second').length === 0) {
18063
18106
  $module.find('.inner').append("<div class='thumb second'></div>");
18064
18107
  }
18065
18108
  $secondThumb = $module.find('.thumb.second');
@@ -18071,7 +18114,7 @@
18071
18114
  labels: function () {
18072
18115
  if (module.is.labeled()) {
18073
18116
  $labels = $module.find('.labels:not(.auto)');
18074
- if ($labels.length != 0) {
18117
+ if ($labels.length > 0) {
18075
18118
  module.setup.customLabel();
18076
18119
  } else {
18077
18120
  module.setup.autoLabel();
@@ -18106,7 +18149,7 @@
18106
18149
  },
18107
18150
  autoLabel: function () {
18108
18151
  $labels = $module.find('.labels');
18109
- if ($labels.length != 0) {
18152
+ if ($labels.length > 0) {
18110
18153
  $labels.empty();
18111
18154
  } else {
18112
18155
  $labels = $module.append('<ul class="auto labels"></ul>').find('.labels');
@@ -18433,23 +18476,23 @@
18433
18476
  trackOffset: function () {
18434
18477
  if (module.is.vertical()) {
18435
18478
  return $track.offset().top;
18436
- } else {
18437
- return $track.offset().left;
18438
18479
  }
18480
+
18481
+ return $track.offset().left;
18439
18482
  },
18440
18483
  trackLength: function () {
18441
18484
  if (module.is.vertical()) {
18442
18485
  return $track.height();
18443
- } else {
18444
- return $track.width();
18445
18486
  }
18487
+
18488
+ return $track.width();
18446
18489
  },
18447
18490
  trackLeft: function () {
18448
18491
  if (module.is.vertical()) {
18449
18492
  return $track.position().top;
18450
- } else {
18451
- return $track.position().left;
18452
18493
  }
18494
+
18495
+ return $track.position().left;
18453
18496
  },
18454
18497
  trackStartPos: function () {
18455
18498
  return module.is.reversed() ? module.get.trackLeft() + module.get.trackLength() : module.get.trackLeft();
@@ -18484,11 +18527,7 @@
18484
18527
  ;
18485
18528
  if (step != 0) {
18486
18529
  var split = String(step).split('.');
18487
- if (split.length == 2) {
18488
- decimalPlaces = split[1].length;
18489
- } else {
18490
- decimalPlaces = 0;
18491
- }
18530
+ decimalPlaces = split.length == 2 ? split[1].length : 0;
18492
18531
  } else {
18493
18532
  decimalPlaces = settings.decimalPlaces;
18494
18533
  }
@@ -18547,12 +18586,12 @@
18547
18586
  case 'second':
18548
18587
  if (module.is.range()) {
18549
18588
  return module.secondThumbVal;
18550
- } else {
18551
- module.error(error.notrange);
18552
-
18553
- break;
18554
18589
  }
18555
- case 'first':
18590
+
18591
+ module.error(error.notrange);
18592
+
18593
+ break;
18594
+
18556
18595
  default:
18557
18596
  return module.thumbVal;
18558
18597
  }
@@ -18565,12 +18604,12 @@
18565
18604
  case 'second':
18566
18605
  if (module.is.range()) {
18567
18606
  return secondPos;
18568
- } else {
18569
- module.error(error.notrange);
18570
-
18571
- break;
18572
18607
  }
18573
- case 'first':
18608
+
18609
+ module.error(error.notrange);
18610
+
18611
+ break;
18612
+
18574
18613
  default:
18575
18614
  return position;
18576
18615
  }
@@ -18762,15 +18801,18 @@
18762
18801
  ;
18763
18802
  if (key == downArrow || key == leftArrow) {
18764
18803
  return SINGLE_BACKSTEP;
18765
- } else if (key == upArrow || key == rightArrow) {
18804
+ }
18805
+ if (key == upArrow || key == rightArrow) {
18766
18806
  return SINGLE_STEP;
18767
- } else if (key == keys.pageDown) {
18807
+ }
18808
+ if (key == keys.pageDown) {
18768
18809
  return BIG_BACKSTEP;
18769
- } else if (key == keys.pageUp) {
18810
+ }
18811
+ if (key == keys.pageUp) {
18770
18812
  return BIG_STEP;
18771
- } else {
18772
- return NO_STEP;
18773
18813
  }
18814
+
18815
+ return NO_STEP;
18774
18816
  },
18775
18817
  },
18776
18818
 
@@ -18919,8 +18961,8 @@
18919
18961
  thumbPosValue,
18920
18962
  min = module.get.min(),
18921
18963
  max = module.get.max(),
18922
- thumbPosPercent = 100 * (newValue - min) / (max - min),
18923
- trackStartPosPercent = 100 * (Math.min(thumbVal, secondThumbVal) - min) / (max - min),
18964
+ thumbPosPercent = 100 * ((newValue - min) / (max - min)),
18965
+ trackStartPosPercent = 100 * ((Math.min(thumbVal, secondThumbVal) - min) / (max - min)),
18924
18966
  trackEndPosPercent = 100 * (1 - (Math.max(thumbVal, secondThumbVal) - min) / (max - min))
18925
18967
  ;
18926
18968
  if (module.is.vertical()) {
@@ -19056,7 +19098,7 @@
19056
19098
  previousTime
19057
19099
  ;
19058
19100
  if (settings.performance) {
19059
- currentTime = new Date().getTime();
19101
+ currentTime = Date.now();
19060
19102
  previousTime = time || currentTime;
19061
19103
  executionTime = currentTime - previousTime;
19062
19104
  time = currentTime;
@@ -19108,8 +19150,8 @@
19108
19150
  ;
19109
19151
  passedArguments = passedArguments || queryArguments;
19110
19152
  context = context || element;
19111
- if (typeof query == 'string' && object !== undefined) {
19112
- query = query.split(/[\. ]/);
19153
+ if (typeof query === 'string' && object !== undefined) {
19154
+ query = query.split(/[ .]/);
19113
19155
  maxDepth = query.length - 1;
19114
19156
  $.each(query, function (depth, value) {
19115
19157
  var camelCaseValue = (depth != maxDepth)
@@ -19210,9 +19252,7 @@
19210
19252
  // page up/down multiplier. How many more times the steps to take on page up/down press
19211
19253
  pageMultiplier: 2,
19212
19254
 
19213
- selector: {
19214
-
19215
- },
19255
+ selector: {},
19216
19256
 
19217
19257
  className: {
19218
19258
  reversed: 'reversed',
@@ -19244,7 +19284,7 @@
19244
19284
  })(jQuery, window, document);
19245
19285
 
19246
19286
  /*!
19247
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Rating
19287
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Rating
19248
19288
  * https://github.com/fomantic/Fomantic-UI/
19249
19289
  *
19250
19290
  *
@@ -19260,7 +19300,7 @@
19260
19300
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
19261
19301
  }
19262
19302
 
19263
- window = (typeof window != 'undefined' && window.Math == Math)
19303
+ window = (window !== undefined && window.Math === Math)
19264
19304
  ? window
19265
19305
  : globalThis;
19266
19306
 
@@ -19269,11 +19309,11 @@
19269
19309
  $allModules = $(this),
19270
19310
  moduleSelector = $allModules.selector || '',
19271
19311
 
19272
- time = new Date().getTime(),
19312
+ time = Date.now(),
19273
19313
  performance = [],
19274
19314
 
19275
19315
  query = arguments[0],
19276
- methodInvoked = (typeof query == 'string'),
19316
+ methodInvoked = (typeof query === 'string'),
19277
19317
  queryArguments = [].slice.call(arguments, 1),
19278
19318
  returnedValue
19279
19319
  ;
@@ -19601,7 +19641,7 @@
19601
19641
  previousTime
19602
19642
  ;
19603
19643
  if (settings.performance) {
19604
- currentTime = new Date().getTime();
19644
+ currentTime = Date.now();
19605
19645
  previousTime = time || currentTime;
19606
19646
  executionTime = currentTime - previousTime;
19607
19647
  time = currentTime;
@@ -19630,7 +19670,7 @@
19630
19670
  title += ' \'' + moduleSelector + '\'';
19631
19671
  }
19632
19672
  if ($allModules.length > 1) {
19633
- title += ' ' + '(' + $allModules.length + ')';
19673
+ title += ' (' + $allModules.length + ')';
19634
19674
  }
19635
19675
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
19636
19676
  console.groupCollapsed(title);
@@ -19655,8 +19695,8 @@
19655
19695
  ;
19656
19696
  passedArguments = passedArguments || queryArguments;
19657
19697
  context = context || element;
19658
- if (typeof query == 'string' && object !== undefined) {
19659
- query = query.split(/[\. ]/);
19698
+ if (typeof query === 'string' && object !== undefined) {
19699
+ query = query.split(/[ .]/);
19660
19700
  maxDepth = query.length - 1;
19661
19701
  $.each(query, function (depth, value) {
19662
19702
  var camelCaseValue = (depth != maxDepth)
@@ -19785,7 +19825,7 @@
19785
19825
  })(jQuery, window, document);
19786
19826
 
19787
19827
  /*!
19788
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Search
19828
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Search
19789
19829
  * https://github.com/fomantic/Fomantic-UI/
19790
19830
  *
19791
19831
  *
@@ -19801,7 +19841,7 @@
19801
19841
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
19802
19842
  }
19803
19843
 
19804
- window = (typeof window != 'undefined' && window.Math == Math)
19844
+ window = (window !== undefined && window.Math === Math)
19805
19845
  ? window
19806
19846
  : globalThis;
19807
19847
 
@@ -19810,15 +19850,15 @@
19810
19850
  $allModules = $(this),
19811
19851
  moduleSelector = $allModules.selector || '',
19812
19852
 
19813
- time = new Date().getTime(),
19853
+ time = Date.now(),
19814
19854
  performance = [],
19815
19855
 
19816
19856
  query = arguments[0],
19817
- methodInvoked = (typeof query == 'string'),
19857
+ methodInvoked = (typeof query === 'string'),
19818
19858
  queryArguments = [].slice.call(arguments, 1),
19819
19859
  returnedValue
19820
19860
  ;
19821
- $(this).each(function () {
19861
+ $allModules.each(function () {
19822
19862
  var
19823
19863
  settings = ($.isPlainObject(parameters))
19824
19864
  ? $.extend(true, {}, $.fn.search.settings, parameters)
@@ -20331,7 +20371,7 @@
20331
20371
  $searchButton.removeClass(className.pressed);
20332
20372
  },
20333
20373
  diacritics: function (text) {
20334
- return settings.ignoreDiacritics ? text.normalize('NFD').replace(/[\u0300-\u036f]/g, '') : text;
20374
+ return settings.ignoreDiacritics ? text.normalize('NFD').replace(/[\u0300-\u036F]/g, '') : text;
20335
20375
  },
20336
20376
  },
20337
20377
 
@@ -20449,15 +20489,13 @@
20449
20489
  $.each(searchFields, function (index, field) {
20450
20490
  $.each(source, function (label, content) {
20451
20491
  var
20452
- fieldExists = (typeof content[field] == 'string') || (typeof content[field] == 'number')
20492
+ fieldExists = (typeof content[field] === 'string') || (typeof content[field] === 'number')
20453
20493
  ;
20454
20494
  if (fieldExists) {
20455
20495
  var text;
20456
- if (typeof content[field] === 'string') {
20457
- text = module.remove.diacritics(content[field]);
20458
- } else {
20459
- text = content[field].toString();
20460
- }
20496
+ text = typeof content[field] === 'string'
20497
+ ? module.remove.diacritics(content[field])
20498
+ : content[field].toString();
20461
20499
  if (text.search(matchRegExp) !== -1) {
20462
20500
  // content starts with value (first in results)
20463
20501
  addResult(results, content);
@@ -20499,17 +20537,22 @@
20499
20537
  if (queryLength === termLength) {
20500
20538
  return (query === term);
20501
20539
  }
20502
- search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
20540
+ for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
20503
20541
  var
20542
+ continueSearch = false,
20504
20543
  queryCharacter = query.charCodeAt(characterIndex)
20505
20544
  ;
20506
20545
  while (nextCharacterIndex < termLength) {
20507
20546
  if (term.charCodeAt(nextCharacterIndex++) === queryCharacter) {
20508
- continue search;
20547
+ continueSearch = true;
20548
+
20549
+ break;
20509
20550
  }
20510
20551
  }
20511
20552
 
20512
- return false;
20553
+ if (!continueSearch) {
20554
+ return false;
20555
+ }
20513
20556
  }
20514
20557
 
20515
20558
  return true;
@@ -20593,7 +20636,7 @@
20593
20636
  if (settings.cache) {
20594
20637
  module.verbose('Checking cache for generated html for query', name);
20595
20638
 
20596
- return (typeof cache == 'object') && (cache[name] !== undefined)
20639
+ return (typeof cache === 'object') && (cache[name] !== undefined)
20597
20640
  ? cache[name]
20598
20641
  : false;
20599
20642
  }
@@ -20915,7 +20958,7 @@
20915
20958
  previousTime
20916
20959
  ;
20917
20960
  if (settings.performance) {
20918
- currentTime = new Date().getTime();
20961
+ currentTime = Date.now();
20919
20962
  previousTime = time || currentTime;
20920
20963
  executionTime = currentTime - previousTime;
20921
20964
  time = currentTime;
@@ -20944,7 +20987,7 @@
20944
20987
  title += ' \'' + moduleSelector + '\'';
20945
20988
  }
20946
20989
  if ($allModules.length > 1) {
20947
- title += ' ' + '(' + $allModules.length + ')';
20990
+ title += ' (' + $allModules.length + ')';
20948
20991
  }
20949
20992
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
20950
20993
  console.groupCollapsed(title);
@@ -20969,8 +21012,8 @@
20969
21012
  ;
20970
21013
  passedArguments = passedArguments || queryArguments;
20971
21014
  context = context || element;
20972
- if (typeof query == 'string' && object !== undefined) {
20973
- query = query.split(/[\. ]/);
21015
+ if (typeof query === 'string' && object !== undefined) {
21016
+ query = query.split(/[ .]/);
20974
21017
  maxDepth = query.length - 1;
20975
21018
  $.each(query, function (depth, value) {
20976
21019
  var camelCaseValue = (depth != maxDepth)
@@ -21141,7 +21184,7 @@
21141
21184
  },
21142
21185
 
21143
21186
  regExp: {
21144
- escape: /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,
21187
+ escape: /[$()*+./?[\\\]^{|}-]/g,
21145
21188
  beginsWith: '(?:\\s|^)',
21146
21189
  },
21147
21190
 
@@ -21177,8 +21220,8 @@
21177
21220
  return string;
21178
21221
  }
21179
21222
  var
21180
- badChars = /[<>"'`]/g,
21181
- shouldEscape = /[&<>"'`]/,
21223
+ badChars = /["'<>`]/g,
21224
+ shouldEscape = /["&'<>`]/,
21182
21225
  escape = {
21183
21226
  '<': '&lt;',
21184
21227
  '>': '&gt;',
@@ -21190,7 +21233,7 @@
21190
21233
  return escape[chr];
21191
21234
  };
21192
21235
  if (shouldEscape.test(string)) {
21193
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
21236
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
21194
21237
 
21195
21238
  return string.replace(badChars, escapedChar);
21196
21239
  }
@@ -21232,11 +21275,9 @@
21232
21275
  // each item inside category
21233
21276
  html += '<div class="results">';
21234
21277
  $.each(category.results, function (index, result) {
21235
- if (result[fields.url]) {
21236
- html += '<a class="result" href="' + result[fields.url].replace(/"/g, '') + '">';
21237
- } else {
21238
- html += '<a class="result">';
21239
- }
21278
+ html += result[fields.url]
21279
+ ? '<a class="result" href="' + result[fields.url].replace(/"/g, '') + '">'
21280
+ : '<a class="result">';
21240
21281
  if (result[fields.image] !== undefined) {
21241
21282
  html += ''
21242
21283
  + '<div class="image">'
@@ -21263,17 +21304,15 @@
21263
21304
  }
21264
21305
  });
21265
21306
  if (response[fields.action]) {
21266
- if (fields.actionURL === false) {
21267
- html += ''
21307
+ html += fields.actionURL === false
21308
+ ? ''
21268
21309
  + '<div class="action">'
21269
21310
  + escape(response[fields.action][fields.actionText], preserveHTML)
21270
- + '</div>';
21271
- } else {
21272
- html += ''
21311
+ + '</div>'
21312
+ : ''
21273
21313
  + '<a href="' + response[fields.action][fields.actionURL].replace(/"/g, '') + '" class="action">'
21274
21314
  + escape(response[fields.action][fields.actionText], preserveHTML)
21275
21315
  + '</a>';
21276
- }
21277
21316
  }
21278
21317
 
21279
21318
  return html;
@@ -21289,11 +21328,9 @@
21289
21328
  if (response[fields.results] !== undefined) {
21290
21329
  // each result
21291
21330
  $.each(response[fields.results], function (index, result) {
21292
- if (result[fields.url]) {
21293
- html += '<a class="result" href="' + result[fields.url].replace(/"/g, '') + '">';
21294
- } else {
21295
- html += '<a class="result">';
21296
- }
21331
+ html += result[fields.url]
21332
+ ? '<a class="result" href="' + result[fields.url].replace(/"/g, '') + '">'
21333
+ : '<a class="result">';
21297
21334
  if (result[fields.image] !== undefined) {
21298
21335
  html += ''
21299
21336
  + '<div class="image">'
@@ -21315,17 +21352,15 @@
21315
21352
  html += '</a>';
21316
21353
  });
21317
21354
  if (response[fields.action]) {
21318
- if (fields.actionURL === false) {
21319
- html += ''
21355
+ html += fields.actionURL === false
21356
+ ? ''
21320
21357
  + '<div class="action">'
21321
21358
  + escape(response[fields.action][fields.actionText], preserveHTML)
21322
- + '</div>';
21323
- } else {
21324
- html += ''
21359
+ + '</div>'
21360
+ : ''
21325
21361
  + '<a href="' + response[fields.action][fields.actionURL].replace(/"/g, '') + '" class="action">'
21326
21362
  + escape(response[fields.action][fields.actionText], preserveHTML)
21327
21363
  + '</a>';
21328
- }
21329
21364
  }
21330
21365
 
21331
21366
  return html;
@@ -21344,7 +21379,7 @@
21344
21379
  })(jQuery, window, document);
21345
21380
 
21346
21381
  /*!
21347
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Shape
21382
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Shape
21348
21383
  * https://github.com/fomantic/Fomantic-UI/
21349
21384
  *
21350
21385
  *
@@ -21360,7 +21395,7 @@
21360
21395
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
21361
21396
  }
21362
21397
 
21363
- window = (typeof window != 'undefined' && window.Math == Math)
21398
+ window = (window !== undefined && window.Math === Math)
21364
21399
  ? window
21365
21400
  : globalThis;
21366
21401
 
@@ -21368,11 +21403,11 @@
21368
21403
  var
21369
21404
  $allModules = $(this),
21370
21405
 
21371
- time = new Date().getTime(),
21406
+ time = Date.now(),
21372
21407
  performance = [],
21373
21408
 
21374
21409
  query = arguments[0],
21375
- methodInvoked = (typeof query == 'string'),
21410
+ methodInvoked = (typeof query === 'string'),
21376
21411
  queryArguments = [].slice.call(arguments, 1),
21377
21412
 
21378
21413
  requestAnimationFrame = window.requestAnimationFrame
@@ -21554,7 +21589,7 @@
21554
21589
 
21555
21590
  duration: function (duration) {
21556
21591
  duration = duration || settings.duration;
21557
- duration = (typeof duration == 'number')
21592
+ duration = (typeof duration === 'number')
21558
21593
  ? duration + 'ms'
21559
21594
  : duration;
21560
21595
  module.verbose('Setting animation duration', duration);
@@ -21991,7 +22026,7 @@
21991
22026
  previousTime
21992
22027
  ;
21993
22028
  if (settings.performance) {
21994
- currentTime = new Date().getTime();
22029
+ currentTime = Date.now();
21995
22030
  previousTime = time || currentTime;
21996
22031
  executionTime = currentTime - previousTime;
21997
22032
  time = currentTime;
@@ -22020,7 +22055,7 @@
22020
22055
  title += ' \'' + moduleSelector + '\'';
22021
22056
  }
22022
22057
  if ($allModules.length > 1) {
22023
- title += ' ' + '(' + $allModules.length + ')';
22058
+ title += ' (' + $allModules.length + ')';
22024
22059
  }
22025
22060
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
22026
22061
  console.groupCollapsed(title);
@@ -22045,8 +22080,8 @@
22045
22080
  ;
22046
22081
  passedArguments = passedArguments || queryArguments;
22047
22082
  context = context || element;
22048
- if (typeof query == 'string' && object !== undefined) {
22049
- query = query.split(/[\. ]/);
22083
+ if (typeof query === 'string' && object !== undefined) {
22084
+ query = query.split(/[ .]/);
22050
22085
  maxDepth = query.length - 1;
22051
22086
  $.each(query, function (depth, value) {
22052
22087
  var camelCaseValue = (depth != maxDepth)
@@ -22176,7 +22211,7 @@
22176
22211
  })(jQuery, window, document);
22177
22212
 
22178
22213
  /*!
22179
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Sidebar
22214
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Sidebar
22180
22215
  * https://github.com/fomantic/Fomantic-UI/
22181
22216
  *
22182
22217
  *
@@ -22192,7 +22227,7 @@
22192
22227
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
22193
22228
  }
22194
22229
 
22195
- window = (typeof window != 'undefined' && window.Math == Math)
22230
+ window = (window !== undefined && window.Math === Math)
22196
22231
  ? window
22197
22232
  : globalThis;
22198
22233
 
@@ -22207,11 +22242,11 @@
22207
22242
 
22208
22243
  moduleSelector = $allModules.selector || '',
22209
22244
 
22210
- time = new Date().getTime(),
22245
+ time = Date.now(),
22211
22246
  performance = [],
22212
22247
 
22213
22248
  query = arguments[0],
22214
- methodInvoked = (typeof query == 'string'),
22249
+ methodInvoked = (typeof query === 'string'),
22215
22250
  queryArguments = [].slice.call(arguments, 1),
22216
22251
 
22217
22252
  requestAnimationFrame = window.requestAnimationFrame
@@ -22486,7 +22521,7 @@
22486
22521
  module.verbose('Forcing repaint event');
22487
22522
  element.style.display = 'none';
22488
22523
  var ignored = element.offsetHeight;
22489
- element.scrollTop = element.scrollTop;
22524
+ element.scrollTop = element.scrollTop; // eslint-disable-line no-self-assign
22490
22525
  element.style.display = '';
22491
22526
  },
22492
22527
 
@@ -22551,7 +22586,7 @@
22551
22586
  bodyMargin: function () {
22552
22587
  initialBodyMargin = $context.css((isBody ? 'margin-' : 'padding-') + (module.can.leftBodyScrollbar() ? 'left' : 'right'));
22553
22588
  var
22554
- bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, '')),
22589
+ bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10),
22555
22590
  bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth
22556
22591
  ;
22557
22592
  tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
@@ -22580,9 +22615,9 @@
22580
22615
  module.hideOthers(module.show);
22581
22616
 
22582
22617
  return;
22583
- } else {
22584
- module.hideOthers();
22585
22618
  }
22619
+
22620
+ module.hideOthers();
22586
22621
  } else {
22587
22622
  settings.transition = 'overlay';
22588
22623
  }
@@ -22886,9 +22921,11 @@
22886
22921
  direction: function () {
22887
22922
  if ($module.hasClass(className.top)) {
22888
22923
  return className.top;
22889
- } else if ($module.hasClass(className.right)) {
22924
+ }
22925
+ if ($module.hasClass(className.right)) {
22890
22926
  return className.right;
22891
- } else if ($module.hasClass(className.bottom)) {
22927
+ }
22928
+ if ($module.hasClass(className.bottom)) {
22892
22929
  return className.bottom;
22893
22930
  }
22894
22931
 
@@ -22980,9 +23017,9 @@
22980
23017
  module.verbose('Browser was found to be iOS', userAgent);
22981
23018
 
22982
23019
  return true;
22983
- } else {
22984
- return false;
22985
23020
  }
23021
+
23022
+ return false;
22986
23023
  },
22987
23024
  mobile: function () {
22988
23025
  var
@@ -22993,11 +23030,11 @@
22993
23030
  module.verbose('Browser was found to be mobile', userAgent);
22994
23031
 
22995
23032
  return true;
22996
- } else {
22997
- module.verbose('Browser is not mobile, using regular transition', userAgent);
22998
-
22999
- return false;
23000
23033
  }
23034
+
23035
+ module.verbose('Browser is not mobile, using regular transition', userAgent);
23036
+
23037
+ return false;
23001
23038
  },
23002
23039
  hidden: function () {
23003
23040
  return !module.is.visible();
@@ -23084,7 +23121,7 @@
23084
23121
  previousTime
23085
23122
  ;
23086
23123
  if (settings.performance) {
23087
- currentTime = new Date().getTime();
23124
+ currentTime = Date.now();
23088
23125
  previousTime = time || currentTime;
23089
23126
  executionTime = currentTime - previousTime;
23090
23127
  time = currentTime;
@@ -23135,8 +23172,8 @@
23135
23172
  ;
23136
23173
  passedArguments = passedArguments || queryArguments;
23137
23174
  context = context || element;
23138
- if (typeof query == 'string' && object !== undefined) {
23139
- query = query.split(/[\. ]/);
23175
+ if (typeof query === 'string' && object !== undefined) {
23176
+ query = query.split(/[ .]/);
23140
23177
  maxDepth = query.length - 1;
23141
23178
  $.each(query, function (depth, value) {
23142
23179
  var camelCaseValue = (depth != maxDepth)
@@ -23283,7 +23320,7 @@
23283
23320
  })(jQuery, window, document);
23284
23321
 
23285
23322
  /*!
23286
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Sticky
23323
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Sticky
23287
23324
  * https://github.com/fomantic/Fomantic-UI/
23288
23325
  *
23289
23326
  *
@@ -23299,7 +23336,7 @@
23299
23336
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
23300
23337
  }
23301
23338
 
23302
- window = (typeof window != 'undefined' && window.Math == Math)
23339
+ window = (window !== undefined && window.Math === Math)
23303
23340
  ? window
23304
23341
  : globalThis;
23305
23342
 
@@ -23309,11 +23346,11 @@
23309
23346
  $document = $(document),
23310
23347
  moduleSelector = $allModules.selector || '',
23311
23348
 
23312
- time = new Date().getTime(),
23349
+ time = Date.now(),
23313
23350
  performance = [],
23314
23351
 
23315
23352
  query = arguments[0],
23316
- methodInvoked = (typeof query == 'string'),
23353
+ methodInvoked = (typeof query === 'string'),
23317
23354
  queryArguments = [].slice.call(arguments, 1),
23318
23355
  returnedValue
23319
23356
  ;
@@ -24024,7 +24061,7 @@
24024
24061
  previousTime
24025
24062
  ;
24026
24063
  if (settings.performance) {
24027
- currentTime = new Date().getTime();
24064
+ currentTime = Date.now();
24028
24065
  previousTime = time || currentTime;
24029
24066
  executionTime = currentTime - previousTime;
24030
24067
  time = currentTime;
@@ -24075,8 +24112,8 @@
24075
24112
  ;
24076
24113
  passedArguments = passedArguments || queryArguments;
24077
24114
  context = context || element;
24078
- if (typeof query == 'string' && object !== undefined) {
24079
- query = query.split(/[\. ]/);
24115
+ if (typeof query === 'string' && object !== undefined) {
24116
+ query = query.split(/[ .]/);
24080
24117
  maxDepth = query.length - 1;
24081
24118
  $.each(query, function (depth, value) {
24082
24119
  var camelCaseValue = (depth != maxDepth)
@@ -24207,7 +24244,7 @@
24207
24244
  })(jQuery, window, document);
24208
24245
 
24209
24246
  /*!
24210
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Tab
24247
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Tab
24211
24248
  * https://github.com/fomantic/Fomantic-UI/
24212
24249
  *
24213
24250
  *
@@ -24227,7 +24264,7 @@
24227
24264
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
24228
24265
  }
24229
24266
 
24230
- window = (typeof window != 'undefined' && window.Math == Math)
24267
+ window = (window !== undefined && window.Math === Math)
24231
24268
  ? window
24232
24269
  : globalThis;
24233
24270
 
@@ -24239,11 +24276,11 @@
24239
24276
  : $(this),
24240
24277
  $document = $(document),
24241
24278
  moduleSelector = $allModules.selector || '',
24242
- time = new Date().getTime(),
24279
+ time = Date.now(),
24243
24280
  performance = [],
24244
24281
 
24245
24282
  query = arguments[0],
24246
- methodInvoked = (typeof query == 'string'),
24283
+ methodInvoked = (typeof query === 'string'),
24247
24284
  queryArguments = [].slice.call(arguments, 1),
24248
24285
 
24249
24286
  initializedHistory = false,
@@ -24252,7 +24289,6 @@
24252
24289
 
24253
24290
  $allModules.each(function () {
24254
24291
  var
24255
-
24256
24292
  settings = ($.isPlainObject(parameters))
24257
24293
  ? $.extend(true, {}, $.fn.tab.settings, parameters)
24258
24294
  : $.extend({}, $.fn.tab.settings),
@@ -24401,25 +24437,24 @@
24401
24437
  module.error(error.state);
24402
24438
 
24403
24439
  return false;
24404
- } else {
24405
- if (settings.historyType == 'state') {
24406
- module.debug('Using HTML5 to manage state');
24407
- if (settings.path !== false) {
24408
- $.address
24409
- .history(true)
24410
- .state(settings.path)
24411
- ;
24412
- $(window).trigger('popstate');
24413
- } else {
24414
- module.error(error.path);
24440
+ }
24441
+ if (settings.historyType == 'state') {
24442
+ module.debug('Using HTML5 to manage state');
24443
+ if (settings.path !== false) {
24444
+ $.address
24445
+ .history(true)
24446
+ .state(settings.path)
24447
+ ;
24448
+ $(window).trigger('popstate');
24449
+ } else {
24450
+ module.error(error.path);
24415
24451
 
24416
- return false;
24417
- }
24452
+ return false;
24418
24453
  }
24419
- $.address
24420
- .bind('change', module.event.history.change)
24421
- ;
24422
24454
  }
24455
+ $.address
24456
+ .bind('change', module.event.history.change)
24457
+ ;
24423
24458
  },
24424
24459
 
24425
24460
  event: {
@@ -24496,7 +24531,7 @@
24496
24531
  set: {
24497
24532
  auto: function () {
24498
24533
  var
24499
- url = (typeof settings.path == 'string')
24534
+ url = (typeof settings.path === 'string')
24500
24535
  ? settings.path.replace(/\/$/, '') + '/{$tab}'
24501
24536
  : '/{$tab}'
24502
24537
  ;
@@ -24592,16 +24627,16 @@
24592
24627
  }
24593
24628
 
24594
24629
  return false;
24595
- } else {
24596
- module.debug('Opened local tab', currentPath);
24597
- module.activate.all(currentPath);
24598
- if (!module.cache.read(currentPath)) {
24599
- module.cache.add(currentPath, true);
24600
- module.debug('First time tab loaded calling tab init');
24601
- settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);
24602
- }
24603
- settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);
24604
24630
  }
24631
+
24632
+ module.debug('Opened local tab', currentPath);
24633
+ module.activate.all(currentPath);
24634
+ if (!module.cache.read(currentPath)) {
24635
+ module.cache.add(currentPath, true);
24636
+ module.debug('First time tab loaded calling tab init');
24637
+ settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);
24638
+ }
24639
+ settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);
24605
24640
  } else if (tabPath.search('/') == -1 && tabPath !== '') {
24606
24641
  // look for in page anchor
24607
24642
  tabPath = module.escape.string(tabPath);
@@ -24660,7 +24695,7 @@
24660
24695
  evaluateScripts = (evaluateScripts !== undefined)
24661
24696
  ? evaluateScripts
24662
24697
  : settings.evaluateScripts;
24663
- if (typeof settings.cacheType == 'string' && settings.cacheType.toLowerCase() == 'dom' && typeof html !== 'string') {
24698
+ if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() == 'dom' && typeof html !== 'string') {
24664
24699
  $tab
24665
24700
  .empty()
24666
24701
  .append($(html).clone(true))
@@ -24706,7 +24741,7 @@
24706
24741
 
24707
24742
  if (settings.loadOnce) {
24708
24743
  module.cache.add(fullTabPath, true);
24709
- } else if (typeof settings.cacheType == 'string' && settings.cacheType.toLowerCase() == 'dom' && $tab.children().length > 0) {
24744
+ } else if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() == 'dom' && $tab.children().length > 0) {
24710
24745
  setTimeout(function () {
24711
24746
  var
24712
24747
  $clone = $tab.children().clone(true)
@@ -24924,7 +24959,7 @@
24924
24959
  pathName = activeTabPath;
24925
24960
  }
24926
24961
 
24927
- return typeof pathName == 'string'
24962
+ return typeof pathName === 'string'
24928
24963
  ? pathName.split('/')
24929
24964
  : [pathName];
24930
24965
  },
@@ -24992,7 +25027,7 @@
24992
25027
  previousTime
24993
25028
  ;
24994
25029
  if (settings.performance) {
24995
- currentTime = new Date().getTime();
25030
+ currentTime = Date.now();
24996
25031
  previousTime = time || currentTime;
24997
25032
  executionTime = currentTime - previousTime;
24998
25033
  time = currentTime;
@@ -25043,8 +25078,8 @@
25043
25078
  ;
25044
25079
  passedArguments = passedArguments || queryArguments;
25045
25080
  context = context || element;
25046
- if (typeof query == 'string' && object !== undefined) {
25047
- query = query.split(/[\. ]/);
25081
+ if (typeof query === 'string' && object !== undefined) {
25082
+ query = query.split(/[ .]/);
25048
25083
  maxDepth = query.length - 1;
25049
25084
  $.each(query, function (depth, value) {
25050
25085
  var camelCaseValue = (depth != maxDepth)
@@ -25163,7 +25198,7 @@
25163
25198
  },
25164
25199
 
25165
25200
  regExp: {
25166
- escape: /[-[\]{}()*+?.,\\^$|#\s:=@]/g,
25201
+ escape: /[\s#$()*+,.:=?@[\\\]^{|}-]/g,
25167
25202
  },
25168
25203
 
25169
25204
  metadata: {
@@ -25186,7 +25221,7 @@
25186
25221
  })(jQuery, window, document);
25187
25222
 
25188
25223
  /*!
25189
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Toast
25224
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Toast
25190
25225
  * https://github.com/fomantic/Fomantic-UI/
25191
25226
  *
25192
25227
  *
@@ -25202,20 +25237,20 @@
25202
25237
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
25203
25238
  }
25204
25239
 
25205
- window = (typeof window != 'undefined' && window.Math == Math)
25240
+ window = (window !== undefined && window.Math === Math)
25206
25241
  ? window
25207
25242
  : globalThis;
25208
25243
 
25209
- $.toast = $.fn.toast = function (parameters) {
25244
+ $.fn.toast = function (parameters) {
25210
25245
  var
25211
25246
  $allModules = $(this),
25212
25247
  moduleSelector = $allModules.selector || '',
25213
25248
 
25214
- time = new Date().getTime(),
25249
+ time = Date.now(),
25215
25250
  performance = [],
25216
25251
 
25217
25252
  query = arguments[0],
25218
- methodInvoked = (typeof query == 'string'),
25253
+ methodInvoked = (typeof query === 'string'),
25219
25254
  queryArguments = [].slice.call(arguments, 1),
25220
25255
  returnedValue
25221
25256
  ;
@@ -25459,7 +25494,7 @@
25459
25494
  }
25460
25495
  }
25461
25496
  if (settings.displayTime === 'auto') {
25462
- settings.displayTime = Math.max(settings.minDisplayTime, $toast.text().split(' ').length / settings.wordsPerMinute * 60000);
25497
+ settings.displayTime = Math.max(settings.minDisplayTime, ($toast.text().split(' ').length / settings.wordsPerMinute) * 60000);
25463
25498
  }
25464
25499
  $toastBox.append($toast);
25465
25500
 
@@ -25496,7 +25531,7 @@
25496
25531
  }
25497
25532
  if (settings.displayTime > 0) {
25498
25533
  var progressingClass = className.progressing + ' ' + (settings.pauseOnHover ? className.pausable : '');
25499
- if (!!settings.showProgress) {
25534
+ if (settings.showProgress) {
25500
25535
  $progress = $('<div/>', {
25501
25536
  class: className.progress + ' ' + (settings.classProgress || settings.class),
25502
25537
  'data-percent': '',
@@ -25756,8 +25791,8 @@
25756
25791
  return string;
25757
25792
  }
25758
25793
  var
25759
- badChars = /[<>"'`]/g,
25760
- shouldEscape = /[&<>"'`]/,
25794
+ badChars = /["'<>`]/g,
25795
+ shouldEscape = /["&'<>`]/,
25761
25796
  escape = {
25762
25797
  '<': '&lt;',
25763
25798
  '>': '&gt;',
@@ -25770,7 +25805,7 @@
25770
25805
  }
25771
25806
  ;
25772
25807
  if (shouldEscape.test(string)) {
25773
- string = string.replace(/&(?![a-z0-9#]{1,12};)/gi, '&amp;');
25808
+ string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
25774
25809
 
25775
25810
  return string.replace(badChars, escapedChar);
25776
25811
  }
@@ -25847,7 +25882,7 @@
25847
25882
  previousTime
25848
25883
  ;
25849
25884
  if (settings.performance) {
25850
- currentTime = new Date().getTime();
25885
+ currentTime = Date.now();
25851
25886
  previousTime = time || currentTime;
25852
25887
  executionTime = currentTime - previousTime;
25853
25888
  time = currentTime;
@@ -25898,8 +25933,8 @@
25898
25933
  ;
25899
25934
  passedArguments = passedArguments || queryArguments;
25900
25935
  context = context || element;
25901
- if (typeof query == 'string' && object !== undefined) {
25902
- query = query.split(/[\. ]/);
25936
+ if (typeof query === 'string' && object !== undefined) {
25937
+ query = query.split(/[ .]/);
25903
25938
  maxDepth = query.length - 1;
25904
25939
  $.each(query, function (depth, value) {
25905
25940
  var camelCaseValue = (depth != maxDepth)
@@ -25960,6 +25995,7 @@
25960
25995
  ? returnedValue
25961
25996
  : this;
25962
25997
  };
25998
+ $.toast = $.fn.toast;
25963
25999
 
25964
26000
  $.fn.toast.settings = {
25965
26001
 
@@ -26097,13 +26133,15 @@
26097
26133
  ;
26098
26134
  if (x < 1 / d1) {
26099
26135
  return n1 * x * x;
26100
- } else if (x < 2 / d1) {
26136
+ }
26137
+ if (x < 2 / d1) {
26101
26138
  return n1 * (x -= 1.5 / d1) * x + 0.75;
26102
- } else if (x < 2.5 / d1) {
26139
+ }
26140
+ if (x < 2.5 / d1) {
26103
26141
  return n1 * (x -= 2.25 / d1) * x + 0.9375;
26104
- } else {
26105
- return n1 * (x -= 2.625 / d1) * x + 0.984375;
26106
26142
  }
26143
+
26144
+ return n1 * (x -= 2.625 / d1) * x + 0.984375;
26107
26145
  },
26108
26146
  easeOutCubic: function (t) {
26109
26147
  return (--t) * t * t + 1;
@@ -26112,7 +26150,7 @@
26112
26150
  })(jQuery, window, document);
26113
26151
 
26114
26152
  /*!
26115
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Transition
26153
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Transition
26116
26154
  * https://github.com/fomantic/Fomantic-UI/
26117
26155
  *
26118
26156
  *
@@ -26128,7 +26166,7 @@
26128
26166
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
26129
26167
  }
26130
26168
 
26131
- window = (typeof window != 'undefined' && window.Math == Math)
26169
+ window = (window !== undefined && window.Math === Math)
26132
26170
  ? window
26133
26171
  : globalThis;
26134
26172
 
@@ -26137,7 +26175,7 @@
26137
26175
  $allModules = $(this),
26138
26176
  moduleSelector = $allModules.selector || '',
26139
26177
 
26140
- time = new Date().getTime(),
26178
+ time = Date.now(),
26141
26179
  performance = [],
26142
26180
 
26143
26181
  moduleArguments = arguments,
@@ -26280,14 +26318,15 @@
26280
26318
  }
26281
26319
 
26282
26320
  return false;
26283
- } else if (!settings.allowRepeats && module.is.occurring()) {
26321
+ }
26322
+ if (!settings.allowRepeats && module.is.occurring()) {
26284
26323
  module.debug('Animation is already occurring, will not execute repeated animation', settings.animation);
26285
26324
 
26286
26325
  return false;
26287
- } else {
26288
- module.debug('New animation started, completing previous early', settings.animation);
26289
- instance.complete();
26290
26326
  }
26327
+
26328
+ module.debug('New animation started, completing previous early', settings.animation);
26329
+ instance.complete();
26291
26330
  }
26292
26331
  if (module.can.animate()) {
26293
26332
  module.set.animating(settings.animation);
@@ -26427,7 +26466,7 @@
26427
26466
  },
26428
26467
  duration: function (animationName, duration) {
26429
26468
  duration = duration || settings.duration;
26430
- duration = (typeof duration == 'number')
26469
+ duration = (typeof duration === 'number')
26431
26470
  ? duration + 'ms'
26432
26471
  : duration;
26433
26472
  if (duration || duration === 0) {
@@ -26601,33 +26640,38 @@
26601
26640
  },
26602
26641
  get: {
26603
26642
  settings: function (animation, duration, onComplete) {
26604
- if (typeof animation == 'object') { // single settings object
26643
+ if (typeof animation === 'object') { // single settings object
26605
26644
  return $.extend(true, {}, $.fn.transition.settings, animation);
26606
- } else if (typeof onComplete == 'function') { // all arguments provided
26645
+ }
26646
+ if (typeof onComplete === 'function') { // all arguments provided
26607
26647
  return $.extend({}, $.fn.transition.settings, {
26608
26648
  animation: animation,
26609
26649
  onComplete: onComplete,
26610
26650
  duration: duration,
26611
26651
  });
26612
- } else if (typeof duration == 'string' || typeof duration == 'number') { // only duration provided
26652
+ }
26653
+ if (typeof duration === 'string' || typeof duration === 'number') { // only duration provided
26613
26654
  return $.extend({}, $.fn.transition.settings, {
26614
26655
  animation: animation,
26615
26656
  duration: duration,
26616
26657
  });
26617
- } else if (typeof duration == 'object') { // duration is actually settings object
26658
+ }
26659
+ if (typeof duration === 'object') { // duration is actually settings object
26618
26660
  return $.extend({}, $.fn.transition.settings, duration, {
26619
26661
  animation: animation,
26620
26662
  });
26621
- } else if (typeof duration == 'function') { // duration is actually callback
26663
+ }
26664
+ if (typeof duration === 'function') { // duration is actually callback
26622
26665
  return $.extend({}, $.fn.transition.settings, {
26623
26666
  animation: animation,
26624
26667
  onComplete: duration,
26625
26668
  });
26626
- } else { // only animation provided
26627
- return $.extend({}, $.fn.transition.settings, {
26628
- animation: animation,
26629
- });
26630
26669
  }
26670
+
26671
+ // only animation provided
26672
+ return $.extend({}, $.fn.transition.settings, {
26673
+ animation: animation,
26674
+ });
26631
26675
  },
26632
26676
  animationClass: function (animation) {
26633
26677
  var
@@ -26991,7 +27035,7 @@
26991
27035
  previousTime
26992
27036
  ;
26993
27037
  if (settings.performance) {
26994
- currentTime = new Date().getTime();
27038
+ currentTime = Date.now();
26995
27039
  previousTime = time || currentTime;
26996
27040
  executionTime = currentTime - previousTime;
26997
27041
  time = currentTime;
@@ -27020,7 +27064,7 @@
27020
27064
  title += ' \'' + moduleSelector + '\'';
27021
27065
  }
27022
27066
  if ($allModules.length > 1) {
27023
- title += ' ' + '(' + $allModules.length + ')';
27067
+ title += ' (' + $allModules.length + ')';
27024
27068
  }
27025
27069
  if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
27026
27070
  console.groupCollapsed(title);
@@ -27046,8 +27090,8 @@
27046
27090
  ;
27047
27091
  passedArguments = passedArguments || queryArguments;
27048
27092
  context = context || element;
27049
- if (typeof query == 'string' && object !== undefined) {
27050
- query = query.split(/[\. ]/);
27093
+ if (typeof query === 'string' && object !== undefined) {
27094
+ query = query.split(/[ .]/);
27051
27095
  maxDepth = query.length - 1;
27052
27096
  $.each(query, function (depth, value) {
27053
27097
  var camelCaseValue = (depth != maxDepth)
@@ -27191,7 +27235,7 @@
27191
27235
  })(jQuery, window, document);
27192
27236
 
27193
27237
  /*!
27194
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - API
27238
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - API
27195
27239
  * https://github.com/fomantic/Fomantic-UI/
27196
27240
  *
27197
27241
  *
@@ -27211,22 +27255,22 @@
27211
27255
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
27212
27256
  }
27213
27257
 
27214
- window = (typeof window != 'undefined' && window.Math == Math)
27258
+ window = (window !== undefined && window.Math === Math)
27215
27259
  ? window
27216
27260
  : globalThis;
27217
27261
 
27218
- $.api = $.fn.api = function (parameters) {
27262
+ $.fn.api = function (parameters) {
27219
27263
  var
27220
27264
  // use window context if none specified
27221
27265
  $allModules = isFunction(this)
27222
27266
  ? $(window)
27223
27267
  : $(this),
27224
27268
  moduleSelector = $allModules.selector || '',
27225
- time = new Date().getTime(),
27269
+ time = Date.now(),
27226
27270
  performance = [],
27227
27271
 
27228
27272
  query = arguments[0],
27229
- methodInvoked = (typeof query == 'string'),
27273
+ methodInvoked = (typeof query === 'string'),
27230
27274
  queryArguments = [].slice.call(arguments, 1),
27231
27275
 
27232
27276
  returnedValue
@@ -27318,7 +27362,7 @@
27318
27362
 
27319
27363
  decode: {
27320
27364
  json: function (response) {
27321
- if (response !== undefined && typeof response == 'string') {
27365
+ if (response !== undefined && typeof response === 'string') {
27322
27366
  try {
27323
27367
  response = JSON.parse(response);
27324
27368
  } catch (e) {
@@ -27399,10 +27443,10 @@
27399
27443
  module.error(error.beforeSend);
27400
27444
 
27401
27445
  return;
27402
- } else {
27403
- module.cancelled = false;
27404
27446
  }
27405
27447
 
27448
+ module.cancelled = false;
27449
+
27406
27450
  // get url
27407
27451
  url = module.get.templatedURL();
27408
27452
 
@@ -27496,11 +27540,11 @@
27496
27540
  module.verbose('XHR request determined to be aborted');
27497
27541
 
27498
27542
  return true;
27499
- } else {
27500
- module.verbose('XHR request was not aborted');
27501
-
27502
- return false;
27503
27543
  }
27544
+
27545
+ module.verbose('XHR request was not aborted');
27546
+
27547
+ return false;
27504
27548
  },
27505
27549
  validResponse: function (response) {
27506
27550
  if ((!module.is.expectingJSON()) || !isFunction(settings.successTest)) {
@@ -27513,11 +27557,11 @@
27513
27557
  module.debug('Response passed success test', response);
27514
27558
 
27515
27559
  return true;
27516
- } else {
27517
- module.debug('Response failed success test', response);
27518
-
27519
- return false;
27520
27560
  }
27561
+
27562
+ module.debug('Response failed success test', response);
27563
+
27564
+ return false;
27521
27565
  },
27522
27566
  },
27523
27567
 
@@ -27568,13 +27612,13 @@
27568
27612
  url = false;
27569
27613
 
27570
27614
  return false;
27571
- } else {
27572
- module.verbose('Found required variable', variable, value);
27573
- value = (settings.encodeParameters)
27574
- ? module.get.urlEncodedValue(value)
27575
- : value;
27576
- url = url.replace(templatedString, value);
27577
27615
  }
27616
+
27617
+ module.verbose('Found required variable', variable, value);
27618
+ value = (settings.encodeParameters)
27619
+ ? module.get.urlEncodedValue(value)
27620
+ : value;
27621
+ url = url.replace(templatedString, value);
27578
27622
  });
27579
27623
  }
27580
27624
  if (optionalVariables) {
@@ -27600,11 +27644,9 @@
27600
27644
  } else {
27601
27645
  module.verbose('Optional variable not found', variable);
27602
27646
  // remove preceding slash if set
27603
- if (url.indexOf('/' + templatedString) !== -1) {
27604
- url = url.replace('/' + templatedString, '');
27605
- } else {
27606
- url = url.replace(templatedString, '');
27607
- }
27647
+ url = url.indexOf('/' + templatedString) !== -1
27648
+ ? url.replace('/' + templatedString, '')
27649
+ : url.replace(templatedString, '');
27608
27650
  }
27609
27651
  });
27610
27652
  }
@@ -27623,8 +27665,8 @@
27623
27665
 
27624
27666
  if (useFormDataApi) {
27625
27667
  formData = new FormData($form[0]);
27626
- settings.processData = typeof settings.processData !== 'undefined' ? settings.processData : false;
27627
- settings.contentType = typeof settings.contentType !== 'undefined' ? settings.contentType : false;
27668
+ settings.processData = settings.processData !== undefined ? settings.processData : false;
27669
+ settings.contentType = settings.contentType !== undefined ? settings.contentType : false;
27628
27670
  } else {
27629
27671
  var
27630
27672
  formArray = $form.serializeArray(),
@@ -27655,8 +27697,7 @@
27655
27697
  ? floatValue
27656
27698
  : (el.value === 'false' ? false : el.value)),
27657
27699
  nameKeys = el.name.match(settings.regExp.key) || [],
27658
- k,
27659
- pushKey = el.name.replace(/\[\]$/, '')
27700
+ pushKey = el.name.replace(/\[]$/, '')
27660
27701
  ;
27661
27702
  if (!(pushKey in pushes)) {
27662
27703
  pushes[pushKey] = 0;
@@ -27670,7 +27711,9 @@
27670
27711
  value = pushValues[pushKey];
27671
27712
  }
27672
27713
 
27673
- while ((k = nameKeys.pop()) !== undefined) {
27714
+ while (nameKeys.length > 0) {
27715
+ var k = nameKeys.pop();
27716
+
27674
27717
  if (k == '' && !Array.isArray(value)) { // foo[]
27675
27718
  value = build([], pushes[pushKey]++, value);
27676
27719
  } else if (settings.regExp.fixed.test(k)) { // foo[n]
@@ -27729,7 +27772,7 @@
27729
27772
  done: function (response, textStatus, xhr) {
27730
27773
  var
27731
27774
  context = this,
27732
- elapsedTime = (new Date().getTime() - requestStartTime),
27775
+ elapsedTime = (Date.now() - requestStartTime),
27733
27776
  timeLeft = (settings.loadingDuration - elapsedTime),
27734
27777
  translatedResponse = (isFunction(settings.onResponse))
27735
27778
  ? module.is.expectingJSON() && !settings.rawResponse
@@ -27758,7 +27801,7 @@
27758
27801
  fail: function (xhr, status, httpMessage) {
27759
27802
  var
27760
27803
  context = this,
27761
- elapsedTime = (new Date().getTime() - requestStartTime),
27804
+ elapsedTime = (Date.now() - requestStartTime),
27762
27805
  timeLeft = (settings.loadingDuration - elapsedTime)
27763
27806
  ;
27764
27807
  timeLeft = (timeLeft > 0)
@@ -27812,7 +27855,8 @@
27812
27855
  settings.onAbort.call(context, status, $module, xhr);
27813
27856
 
27814
27857
  return true;
27815
- } else if (status == 'invalid') {
27858
+ }
27859
+ if (status == 'invalid') {
27816
27860
  module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);
27817
27861
  } else if (status == 'error') {
27818
27862
  if (xhr !== undefined) {
@@ -27919,7 +27963,7 @@
27919
27963
  loading: function () {
27920
27964
  module.verbose('Adding loading state to element', $context);
27921
27965
  $context.addClass(className.loading);
27922
- requestStartTime = new Date().getTime();
27966
+ requestStartTime = Date.now();
27923
27967
  },
27924
27968
  },
27925
27969
 
@@ -28013,9 +28057,7 @@
28013
28057
  if (!isWindow(element)) {
28014
28058
  if (module.is.input()) {
28015
28059
  data.value = $module.val();
28016
- } else if (module.is.form()) {
28017
-
28018
- } else {
28060
+ } else if (!module.is.form()) {
28019
28061
  data.text = $module.text();
28020
28062
  }
28021
28063
  }
@@ -28027,21 +28069,23 @@
28027
28069
  module.debug('API called without element, no events attached');
28028
28070
 
28029
28071
  return false;
28030
- } else if (settings.on == 'auto') {
28072
+ }
28073
+ if (settings.on == 'auto') {
28031
28074
  if ($module.is('input')) {
28032
28075
  return (element.oninput !== undefined)
28033
28076
  ? 'input'
28034
28077
  : (element.onpropertychange !== undefined)
28035
28078
  ? 'propertychange'
28036
28079
  : 'keyup';
28037
- } else if ($module.is('form')) {
28080
+ }
28081
+ if ($module.is('form')) {
28038
28082
  return 'submit';
28039
- } else {
28040
- return 'click';
28041
28083
  }
28042
- } else {
28043
- return settings.on;
28084
+
28085
+ return 'click';
28044
28086
  }
28087
+
28088
+ return settings.on;
28045
28089
  },
28046
28090
  templatedURL: function (action) {
28047
28091
  action = action || $module.data(metadata.action) || settings.action || false;
@@ -28141,7 +28185,7 @@
28141
28185
  previousTime
28142
28186
  ;
28143
28187
  if (settings.performance) {
28144
- currentTime = new Date().getTime();
28188
+ currentTime = Date.now();
28145
28189
  previousTime = time || currentTime;
28146
28190
  executionTime = currentTime - previousTime;
28147
28191
  time = currentTime;
@@ -28192,8 +28236,8 @@
28192
28236
  ;
28193
28237
  passedArguments = passedArguments || queryArguments;
28194
28238
  context = context || element;
28195
- if (typeof query == 'string' && object !== undefined) {
28196
- query = query.split(/[\. ]/);
28239
+ if (typeof query === 'string' && object !== undefined) {
28240
+ query = query.split(/[ .]/);
28197
28241
  maxDepth = query.length - 1;
28198
28242
  $.each(query, function (depth, value) {
28199
28243
  var camelCaseValue = (depth != maxDepth)
@@ -28253,6 +28297,7 @@
28253
28297
  ? returnedValue
28254
28298
  : this;
28255
28299
  };
28300
+ $.api = $.fn.api;
28256
28301
 
28257
28302
  $.api.settings = {
28258
28303
 
@@ -28378,13 +28423,13 @@
28378
28423
  },
28379
28424
 
28380
28425
  regExp: {
28381
- required: /\{\$*[a-z0-9]+\}/gi,
28382
- optional: /\{\/\$*[a-z0-9]+\}/gi,
28383
- validate: /^[a-z_][a-z0-9_-]*(?:\[[a-z0-9_-]*\])*$/i,
28384
- key: /[a-z0-9_-]+|(?=\[\])/gi,
28426
+ required: /{\$*[\da-z]+}/gi,
28427
+ optional: /{\/\$*[\da-z]+}/gi,
28428
+ validate: /^[_a-z][\w-]*(?:\[[\w-]*])*$/i,
28429
+ key: /[\w-]+|(?=\[])/gi,
28385
28430
  push: /^$/,
28386
28431
  fixed: /^\d+$/,
28387
- named: /^[a-z0-9_-]+$/i,
28432
+ named: /^[\w-]+$/i,
28388
28433
  },
28389
28434
 
28390
28435
  className: {
@@ -28405,7 +28450,7 @@
28405
28450
  })(jQuery, window, document);
28406
28451
 
28407
28452
  /*!
28408
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - State
28453
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - State
28409
28454
  * https://github.com/fomantic/Fomantic-UI/
28410
28455
  *
28411
28456
  *
@@ -28421,7 +28466,7 @@
28421
28466
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
28422
28467
  }
28423
28468
 
28424
- window = (typeof window != 'undefined' && window.Math == Math)
28469
+ window = (window !== undefined && window.Math === Math)
28425
28470
  ? window
28426
28471
  : globalThis;
28427
28472
 
@@ -28431,11 +28476,11 @@
28431
28476
 
28432
28477
  moduleSelector = $allModules.selector || '',
28433
28478
 
28434
- time = new Date().getTime(),
28479
+ time = Date.now(),
28435
28480
  performance = [],
28436
28481
 
28437
28482
  query = arguments[0],
28438
- methodInvoked = (typeof query == 'string'),
28483
+ methodInvoked = (typeof query === 'string'),
28439
28484
  queryArguments = [].slice.call(arguments, 1),
28440
28485
 
28441
28486
  returnedValue
@@ -28870,7 +28915,7 @@
28870
28915
  previousTime
28871
28916
  ;
28872
28917
  if (settings.performance) {
28873
- currentTime = new Date().getTime();
28918
+ currentTime = Date.now();
28874
28919
  previousTime = time || currentTime;
28875
28920
  executionTime = currentTime - previousTime;
28876
28921
  time = currentTime;
@@ -28921,8 +28966,8 @@
28921
28966
  ;
28922
28967
  passedArguments = passedArguments || queryArguments;
28923
28968
  context = context || element;
28924
- if (typeof query == 'string' && object !== undefined) {
28925
- query = query.split(/[\. ]/);
28969
+ if (typeof query === 'string' && object !== undefined) {
28970
+ query = query.split(/[ .]/);
28926
28971
  maxDepth = query.length - 1;
28927
28972
  $.each(query, function (depth, value) {
28928
28973
  var camelCaseValue = (depth != maxDepth)
@@ -29099,7 +29144,7 @@
29099
29144
  })(jQuery, window, document);
29100
29145
 
29101
29146
  /*!
29102
- * # Fomantic-UI 2.9.1-beta.21+2722e1b - Visibility
29147
+ * # Fomantic-UI 2.9.1-beta.23+27384cb - Visibility
29103
29148
  * https://github.com/fomantic/Fomantic-UI/
29104
29149
  *
29105
29150
  *
@@ -29115,7 +29160,7 @@
29115
29160
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
29116
29161
  }
29117
29162
 
29118
- window = (typeof window != 'undefined' && window.Math == Math)
29163
+ window = (window !== undefined && window.Math === Math)
29119
29164
  ? window
29120
29165
  : globalThis;
29121
29166
 
@@ -29124,11 +29169,11 @@
29124
29169
  $allModules = $(this),
29125
29170
  moduleSelector = $allModules.selector || '',
29126
29171
 
29127
- time = new Date().getTime(),
29172
+ time = Date.now(),
29128
29173
  performance = [],
29129
29174
 
29130
29175
  query = arguments[0],
29131
- methodInvoked = (typeof query == 'string'),
29176
+ methodInvoked = (typeof query === 'string'),
29132
29177
  queryArguments = [].slice.call(arguments, 1),
29133
29178
  returnedValue,
29134
29179
 
@@ -29327,7 +29372,7 @@
29327
29372
  },
29328
29373
 
29329
29374
  precache: function (images, callback) {
29330
- if (!(images instanceof Array)) {
29375
+ if (!(Array.isArray(images))) {
29331
29376
  images = [images];
29332
29377
  }
29333
29378
  var
@@ -30172,7 +30217,7 @@
30172
30217
  previousTime
30173
30218
  ;
30174
30219
  if (settings.performance) {
30175
- currentTime = new Date().getTime();
30220
+ currentTime = Date.now();
30176
30221
  previousTime = time || currentTime;
30177
30222
  executionTime = currentTime - previousTime;
30178
30223
  time = currentTime;
@@ -30223,8 +30268,8 @@
30223
30268
  ;
30224
30269
  passedArguments = passedArguments || queryArguments;
30225
30270
  context = context || element;
30226
- if (typeof query == 'string' && object !== undefined) {
30227
- query = query.split(/[\. ]/);
30271
+ if (typeof query === 'string' && object !== undefined) {
30272
+ query = query.split(/[ .]/);
30228
30273
  maxDepth = query.length - 1;
30229
30274
  $.each(query, function (depth, value) {
30230
30275
  var camelCaseValue = (depth != maxDepth)