fomantic-ui 2.9.3-beta.4 → 2.9.3-beta.41

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 (272) hide show
  1. package/.all-contributorsrc +2 -2
  2. package/.github/FUNDING.yml +1 -1
  3. package/.github/auto_assign.yml +1 -1
  4. package/.github/workflows/ci.yml +2 -2
  5. package/CONTRIBUTORS.md +1 -1
  6. package/dist/components/accordion.css +1 -1
  7. package/dist/components/accordion.js +2 -2
  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 +3 -3
  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 +2 -2
  17. package/dist/components/button.min.css +2 -2
  18. package/dist/components/calendar.css +1 -1
  19. package/dist/components/calendar.js +2 -2
  20. package/dist/components/calendar.min.css +1 -1
  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 +50 -6
  25. package/dist/components/checkbox.js +5 -3
  26. package/dist/components/checkbox.min.css +2 -2
  27. package/dist/components/checkbox.min.js +2 -2
  28. package/dist/components/comment.css +6 -1
  29. package/dist/components/comment.min.css +2 -2
  30. package/dist/components/container.css +62 -1
  31. package/dist/components/container.min.css +2 -2
  32. package/dist/components/dimmer.css +3 -3
  33. package/dist/components/dimmer.js +2 -2
  34. package/dist/components/dimmer.min.css +2 -2
  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 +42 -4
  39. package/dist/components/dropdown.js +25 -20
  40. package/dist/components/dropdown.min.css +2 -2
  41. package/dist/components/dropdown.min.js +2 -2
  42. package/dist/components/embed.css +1 -1
  43. package/dist/components/embed.js +2 -2
  44. package/dist/components/embed.min.css +1 -1
  45. package/dist/components/embed.min.js +2 -2
  46. package/dist/components/emoji.css +697 -249
  47. package/dist/components/emoji.min.css +2 -2
  48. package/dist/components/feed.css +486 -5
  49. package/dist/components/feed.min.css +2 -2
  50. package/dist/components/flag.css +3 -2
  51. package/dist/components/flag.min.css +2 -2
  52. package/dist/components/flyout.css +1 -1
  53. package/dist/components/flyout.js +5 -3
  54. package/dist/components/flyout.min.css +1 -1
  55. package/dist/components/flyout.min.js +2 -2
  56. package/dist/components/form.css +53 -20
  57. package/dist/components/form.js +73 -32
  58. package/dist/components/form.min.css +2 -2
  59. package/dist/components/form.min.js +2 -2
  60. package/dist/components/grid.css +107 -107
  61. package/dist/components/grid.min.css +2 -2
  62. package/dist/components/header.css +1 -1
  63. package/dist/components/header.min.css +1 -1
  64. package/dist/components/icon.css +62 -62
  65. package/dist/components/icon.min.css +2 -2
  66. package/dist/components/image.css +1 -1
  67. package/dist/components/image.min.css +1 -1
  68. package/dist/components/input.css +3 -27
  69. package/dist/components/input.min.css +2 -2
  70. package/dist/components/item.css +6 -1
  71. package/dist/components/item.min.css +2 -2
  72. package/dist/components/label.css +21 -2
  73. package/dist/components/label.min.css +2 -2
  74. package/dist/components/list.css +13 -13
  75. package/dist/components/list.min.css +2 -2
  76. package/dist/components/loader.css +282 -282
  77. package/dist/components/loader.min.css +2 -2
  78. package/dist/components/menu.css +13 -7
  79. package/dist/components/menu.min.css +2 -2
  80. package/dist/components/message.css +1 -1
  81. package/dist/components/message.min.css +1 -1
  82. package/dist/components/modal.css +10 -3
  83. package/dist/components/modal.js +10 -10
  84. package/dist/components/modal.min.css +2 -2
  85. package/dist/components/modal.min.js +2 -2
  86. package/dist/components/nag.css +1 -1
  87. package/dist/components/nag.js +3 -3
  88. package/dist/components/nag.min.css +1 -1
  89. package/dist/components/nag.min.js +2 -2
  90. package/dist/components/placeholder.css +1 -1
  91. package/dist/components/placeholder.min.css +1 -1
  92. package/dist/components/popup.css +41 -40
  93. package/dist/components/popup.js +11 -9
  94. package/dist/components/popup.min.css +2 -2
  95. package/dist/components/popup.min.js +2 -2
  96. package/dist/components/progress.css +1 -1
  97. package/dist/components/progress.js +2 -2
  98. package/dist/components/progress.min.css +1 -1
  99. package/dist/components/progress.min.js +2 -2
  100. package/dist/components/rail.css +1 -1
  101. package/dist/components/rail.min.css +1 -1
  102. package/dist/components/rating.css +1 -1
  103. package/dist/components/rating.js +2 -2
  104. package/dist/components/rating.min.css +1 -1
  105. package/dist/components/rating.min.js +2 -2
  106. package/dist/components/reset.css +1 -1
  107. package/dist/components/reset.min.css +1 -1
  108. package/dist/components/reveal.css +1 -1
  109. package/dist/components/reveal.min.css +1 -1
  110. package/dist/components/search.css +26 -1
  111. package/dist/components/search.js +5 -4
  112. package/dist/components/search.min.css +2 -2
  113. package/dist/components/search.min.js +2 -2
  114. package/dist/components/segment.css +159 -33
  115. package/dist/components/segment.min.css +2 -2
  116. package/dist/components/shape.css +1 -1
  117. package/dist/components/shape.js +2 -2
  118. package/dist/components/shape.min.css +1 -1
  119. package/dist/components/shape.min.js +2 -2
  120. package/dist/components/sidebar.css +1 -1
  121. package/dist/components/sidebar.js +2 -2
  122. package/dist/components/sidebar.min.css +1 -1
  123. package/dist/components/sidebar.min.js +2 -2
  124. package/dist/components/site.css +1 -1
  125. package/dist/components/site.js +2 -2
  126. package/dist/components/site.min.css +1 -1
  127. package/dist/components/site.min.js +2 -2
  128. package/dist/components/slider.css +1 -1
  129. package/dist/components/slider.js +123 -27
  130. package/dist/components/slider.min.css +1 -1
  131. package/dist/components/slider.min.js +2 -2
  132. package/dist/components/state.js +2 -2
  133. package/dist/components/state.min.js +2 -2
  134. package/dist/components/statistic.css +1 -1
  135. package/dist/components/statistic.min.css +1 -1
  136. package/dist/components/step.css +1 -1
  137. package/dist/components/step.min.css +1 -1
  138. package/dist/components/sticky.css +1 -1
  139. package/dist/components/sticky.js +2 -2
  140. package/dist/components/sticky.min.css +1 -1
  141. package/dist/components/sticky.min.js +2 -2
  142. package/dist/components/tab.css +1 -1
  143. package/dist/components/tab.js +6 -4
  144. package/dist/components/tab.min.css +1 -1
  145. package/dist/components/tab.min.js +2 -2
  146. package/dist/components/table.css +65 -1
  147. package/dist/components/table.min.css +2 -2
  148. package/dist/components/text.css +1 -1
  149. package/dist/components/text.min.css +1 -1
  150. package/dist/components/toast.css +6 -1
  151. package/dist/components/toast.js +2 -2
  152. package/dist/components/toast.min.css +2 -2
  153. package/dist/components/toast.min.js +2 -2
  154. package/dist/components/transition.css +1 -1
  155. package/dist/components/transition.js +3 -3
  156. package/dist/components/transition.min.css +1 -1
  157. package/dist/components/transition.min.js +2 -2
  158. package/dist/components/visibility.js +2 -2
  159. package/dist/components/visibility.min.js +2 -2
  160. package/dist/semantic.css +2658 -960
  161. package/dist/semantic.js +299 -148
  162. package/dist/semantic.min.css +2 -2
  163. package/dist/semantic.min.js +2 -2
  164. package/package.json +1 -1
  165. package/src/definitions/behaviors/api.js +2 -2
  166. package/src/definitions/behaviors/form.js +72 -31
  167. package/src/definitions/behaviors/state.js +1 -1
  168. package/src/definitions/behaviors/visibility.js +1 -1
  169. package/src/definitions/collections/breadcrumb.less +2 -1
  170. package/src/definitions/collections/form.less +27 -13
  171. package/src/definitions/collections/grid.less +108 -107
  172. package/src/definitions/collections/menu.less +31 -23
  173. package/src/definitions/collections/message.less +2 -1
  174. package/src/definitions/collections/table.less +68 -1
  175. package/src/definitions/elements/button.less +4 -2
  176. package/src/definitions/elements/container.less +65 -1
  177. package/src/definitions/elements/divider.less +2 -1
  178. package/src/definitions/elements/emoji.less +2 -1
  179. package/src/definitions/elements/flag.less +2 -1
  180. package/src/definitions/elements/header.less +2 -1
  181. package/src/definitions/elements/icon.less +7 -6
  182. package/src/definitions/elements/image.less +2 -1
  183. package/src/definitions/elements/input.less +4 -3
  184. package/src/definitions/elements/label.less +23 -2
  185. package/src/definitions/elements/list.less +15 -14
  186. package/src/definitions/elements/loader.less +73 -72
  187. package/src/definitions/elements/placeholder.less +2 -1
  188. package/src/definitions/elements/rail.less +2 -1
  189. package/src/definitions/elements/reveal.less +2 -1
  190. package/src/definitions/elements/segment.less +112 -14
  191. package/src/definitions/elements/step.less +2 -1
  192. package/src/definitions/elements/text.less +2 -1
  193. package/src/definitions/globals/reset.less +2 -1
  194. package/src/definitions/globals/site.js +1 -1
  195. package/src/definitions/globals/site.less +2 -1
  196. package/src/definitions/modules/accordion.js +1 -1
  197. package/src/definitions/modules/accordion.less +2 -1
  198. package/src/definitions/modules/calendar.js +1 -1
  199. package/src/definitions/modules/calendar.less +2 -1
  200. package/src/definitions/modules/checkbox.js +4 -2
  201. package/src/definitions/modules/checkbox.less +63 -6
  202. package/src/definitions/modules/dimmer.js +1 -1
  203. package/src/definitions/modules/dimmer.less +4 -3
  204. package/src/definitions/modules/dropdown.js +24 -19
  205. package/src/definitions/modules/dropdown.less +55 -4
  206. package/src/definitions/modules/embed.js +1 -1
  207. package/src/definitions/modules/embed.less +2 -1
  208. package/src/definitions/modules/flyout.js +4 -2
  209. package/src/definitions/modules/flyout.less +2 -1
  210. package/src/definitions/modules/modal.js +9 -9
  211. package/src/definitions/modules/modal.less +13 -3
  212. package/src/definitions/modules/nag.js +2 -2
  213. package/src/definitions/modules/nag.less +3 -1
  214. package/src/definitions/modules/popup.js +10 -8
  215. package/src/definitions/modules/popup.less +42 -39
  216. package/src/definitions/modules/progress.js +1 -1
  217. package/src/definitions/modules/progress.less +2 -1
  218. package/src/definitions/modules/rating.js +1 -1
  219. package/src/definitions/modules/rating.less +2 -1
  220. package/src/definitions/modules/search.js +4 -3
  221. package/src/definitions/modules/search.less +33 -1
  222. package/src/definitions/modules/shape.js +1 -1
  223. package/src/definitions/modules/shape.less +2 -1
  224. package/src/definitions/modules/sidebar.js +1 -1
  225. package/src/definitions/modules/sidebar.less +2 -1
  226. package/src/definitions/modules/slider.js +122 -26
  227. package/src/definitions/modules/slider.less +2 -1
  228. package/src/definitions/modules/sticky.js +1 -1
  229. package/src/definitions/modules/sticky.less +2 -1
  230. package/src/definitions/modules/tab.js +5 -3
  231. package/src/definitions/modules/tab.less +2 -1
  232. package/src/definitions/modules/toast.js +1 -1
  233. package/src/definitions/modules/toast.less +9 -1
  234. package/src/definitions/modules/transition.js +2 -2
  235. package/src/definitions/modules/transition.less +2 -1
  236. package/src/definitions/views/ad.less +2 -1
  237. package/src/definitions/views/card.less +2 -1
  238. package/src/definitions/views/comment.less +9 -1
  239. package/src/definitions/views/feed.less +240 -33
  240. package/src/definitions/views/item.less +9 -1
  241. package/src/definitions/views/statistic.less +2 -1
  242. package/src/overrides.less +7 -0
  243. package/src/theme.less +7 -6
  244. package/src/themes/amazon/elements/button.variables +5 -1
  245. package/src/themes/bootstrap3/elements/button.variables +5 -1
  246. package/src/themes/chubby/elements/header.variables +6 -1
  247. package/src/themes/default/collections/message.variables +3 -9
  248. package/src/themes/default/collections/table.variables +3 -0
  249. package/src/themes/default/elements/button.variables +1 -3
  250. package/src/themes/default/elements/container.variables +3 -0
  251. package/src/themes/default/elements/emoji.variables +179 -67
  252. package/src/themes/default/elements/flag.variables +1 -1
  253. package/src/themes/default/elements/label.variables +5 -0
  254. package/src/themes/default/elements/segment.variables +8 -0
  255. package/src/themes/default/globals/site.variables +20 -1
  256. package/src/themes/default/globals/variation.variables +23 -1
  257. package/src/themes/default/modules/checkbox.variables +12 -0
  258. package/src/themes/default/modules/dropdown.variables +6 -0
  259. package/src/themes/default/modules/modal.variables +4 -0
  260. package/src/themes/default/modules/popup.variables +3 -1
  261. package/src/themes/default/modules/search.variables +3 -0
  262. package/src/themes/default/modules/toast.variables +1 -0
  263. package/src/themes/default/views/card.variables +4 -12
  264. package/src/themes/default/views/feed.variables +55 -1
  265. package/src/themes/github/elements/button.variables +5 -1
  266. package/src/themes/joypixels/elements/emoji.variables +182 -70
  267. package/src/themes/twitter/elements/button.variables +5 -1
  268. package/src/themes/twitter/elements/emoji.variables +178 -66
  269. package/tasks/admin/distributions/create.js +8 -3
  270. package/tasks/config/project/install.js +3 -0
  271. package/tasks/config/tasks.js +1 -8
  272. package/tasks/install.js +15 -5
package/dist/semantic.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.3-beta.4+bda537d
2
+ * # Fomantic UI - 2.9.3-beta.41+41577bc
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.3-beta.4+bda537d - Site
12
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Site
13
13
  * https://github.com/fomantic/Fomantic-UI/
14
14
  *
15
15
  *
@@ -302,7 +302,7 @@
302
302
  });
303
303
  }
304
304
  clearTimeout(module.performance.timer);
305
- module.performance.timer = setTimeout(module.performance.display, 500);
305
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
306
306
  },
307
307
  display: function () {
308
308
  var
@@ -463,7 +463,7 @@
463
463
  })(jQuery, window, document);
464
464
 
465
465
  /*!
466
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Form Validation
466
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Form Validation
467
467
  * https://github.com/fomantic/Fomantic-UI/
468
468
  *
469
469
  *
@@ -541,6 +541,7 @@
541
541
  initialize: function () {
542
542
  // settings grabbed at run time
543
543
  module.get.settings();
544
+ $module.addClass(className.initial);
544
545
  if (methodInvoked) {
545
546
  if (instance === undefined) {
546
547
  module.instantiate();
@@ -594,10 +595,13 @@
594
595
  module.bindEvents();
595
596
  },
596
597
 
597
- submit: function () {
598
+ submit: function (event) {
598
599
  module.verbose('Submitting form', $module);
599
600
  submitting = true;
600
601
  $module.trigger('submit');
602
+ if (event) {
603
+ event.preventDefault();
604
+ }
601
605
  },
602
606
 
603
607
  attachEvents: function (selector, action) {
@@ -623,6 +627,7 @@
623
627
  .on('click' + eventNamespace, selector.reset, module.reset)
624
628
  .on('click' + eventNamespace, selector.clear, module.clear)
625
629
  ;
630
+ $field.on('invalid' + eventNamespace, module.event.field.invalid);
626
631
  if (settings.keyboardShortcuts) {
627
632
  $module.on('keydown' + eventNamespace, selector.field, module.event.field.keydown);
628
633
  }
@@ -738,8 +743,12 @@
738
743
  var
739
744
  allValid = true
740
745
  ;
741
- $.each(validation, function (fieldName, field) {
742
- if (!module.validate.field(field, fieldName, true)) {
746
+ $field.each(function (index, el) {
747
+ var $el = $(el),
748
+ validation = module.get.validation($el) || {},
749
+ identifier = module.get.identifier(validation, $el)
750
+ ;
751
+ if (!module.validate.field(validation, identifier, true)) {
743
752
  allValid = false;
744
753
  }
745
754
  });
@@ -895,9 +904,8 @@
895
904
  if (!event.ctrlKey && key === keyCode.enter && isInput && !isInDropdown && !isCheckbox) {
896
905
  if (!keyHeldDown) {
897
906
  $field.one('keyup' + eventNamespace, module.event.field.keyup);
898
- module.submit();
907
+ module.submit(event);
899
908
  module.debug('Enter pressed on input submitting form');
900
- event.preventDefault();
901
909
  }
902
910
  keyHeldDown = true;
903
911
  }
@@ -905,15 +913,18 @@
905
913
  keyup: function () {
906
914
  keyHeldDown = false;
907
915
  },
916
+ invalid: function (event) {
917
+ event.preventDefault();
918
+ },
908
919
  blur: function (event) {
909
920
  var
910
921
  $field = $(this),
911
- $fieldGroup = $field.closest($group),
912
- validationRules = module.get.validation($field)
922
+ validationRules = module.get.validation($field) || {},
923
+ identifier = module.get.identifier(validationRules, $field)
913
924
  ;
914
- if (validationRules && (settings.on === 'blur' || ($fieldGroup.hasClass(className.error) && settings.revalidate))) {
925
+ if (settings.on === 'blur' || (!$module.hasClass(className.initial) && settings.revalidate)) {
915
926
  module.debug('Revalidating field', $field, validationRules);
916
- module.validate.field(validationRules);
927
+ module.validate.field(validationRules, identifier);
917
928
  if (!settings.inline) {
918
929
  module.validate.form(false, true);
919
930
  }
@@ -922,14 +933,14 @@
922
933
  change: function (event) {
923
934
  var
924
935
  $field = $(this),
925
- $fieldGroup = $field.closest($group),
926
- validationRules = module.get.validation($field)
936
+ validationRules = module.get.validation($field) || {},
937
+ identifier = module.get.identifier(validationRules, $field)
927
938
  ;
928
- if (validationRules && (settings.on === 'change' || ($fieldGroup.hasClass(className.error) && settings.revalidate))) {
939
+ if (settings.on === 'change' || (!$module.hasClass(className.initial) && settings.revalidate)) {
929
940
  clearTimeout(module.timer);
930
941
  module.timer = setTimeout(function () {
931
942
  module.debug('Revalidating field', $field, validationRules);
932
- module.validate.field(validationRules);
943
+ module.validate.field(validationRules, identifier);
933
944
  if (!settings.inline) {
934
945
  module.validate.form(false, true);
935
946
  }
@@ -995,6 +1006,9 @@
995
1006
 
996
1007
  return fullFields;
997
1008
  },
1009
+ identifier: function (validation, $el) {
1010
+ return validation.identifier || $el.attr('id') || $el.attr('name') || $el.data(metadata.validate);
1011
+ },
998
1012
  prompt: function (rule, field) {
999
1013
  var
1000
1014
  ruleName = module.get.ruleName(rule),
@@ -1107,7 +1121,7 @@
1107
1121
  var $field = typeof identifier === 'string'
1108
1122
  ? module.get.field(identifier)
1109
1123
  : identifier,
1110
- $label = $field.closest(selector.group).find('label').eq(0)
1124
+ $label = $field.closest(selector.group).find('label:not(:empty)').eq(0)
1111
1125
  ;
1112
1126
 
1113
1127
  return $label.length === 1
@@ -1361,7 +1375,8 @@
1361
1375
  $field = module.get.field(identifier),
1362
1376
  $fieldGroup = $field.closest($group),
1363
1377
  $prompt = $fieldGroup.children(selector.prompt),
1364
- promptExists = $prompt.length > 0
1378
+ promptExists = $prompt.length > 0,
1379
+ canTransition = settings.transition && module.can.useElement('transition')
1365
1380
  ;
1366
1381
  module.verbose('Adding field error state', identifier);
1367
1382
  if (!internal) {
@@ -1370,8 +1385,22 @@
1370
1385
  ;
1371
1386
  }
1372
1387
  if (settings.inline) {
1388
+ if (promptExists) {
1389
+ if (canTransition) {
1390
+ if ($prompt.transition('is animating')) {
1391
+ $prompt.transition('stop all');
1392
+ }
1393
+ } else if ($prompt.is(':animated')) {
1394
+ $prompt.stop(true, true);
1395
+ }
1396
+ $prompt = $fieldGroup.children(selector.prompt);
1397
+ promptExists = $prompt.length > 0;
1398
+ }
1373
1399
  if (!promptExists) {
1374
1400
  $prompt = $('<div/>').addClass(className.label);
1401
+ if (!canTransition) {
1402
+ $prompt.css('display', 'none');
1403
+ }
1375
1404
  $prompt
1376
1405
  .appendTo($fieldGroup)
1377
1406
  ;
@@ -1380,7 +1409,7 @@
1380
1409
  .html(settings.templates.prompt(errors))
1381
1410
  ;
1382
1411
  if (!promptExists) {
1383
- if (settings.transition && module.can.useElement('transition')) {
1412
+ if (canTransition) {
1384
1413
  module.verbose('Displaying error with css transition', settings.transition);
1385
1414
  $prompt.transition(settings.transition + ' in', settings.duration);
1386
1415
  } else {
@@ -1389,9 +1418,9 @@
1389
1418
  .fadeIn(settings.duration)
1390
1419
  ;
1391
1420
  }
1392
- } else {
1393
- module.verbose('Inline errors are disabled, no inline error added', identifier);
1394
1421
  }
1422
+ } else {
1423
+ module.verbose('Inline errors are disabled, no inline error added', identifier);
1395
1424
  }
1396
1425
  },
1397
1426
  errors: function (errors) {
@@ -1438,7 +1467,7 @@
1438
1467
  $message.empty();
1439
1468
  },
1440
1469
  states: function () {
1441
- $module.removeClass(className.error).removeClass(className.success);
1470
+ $module.removeClass(className.error).removeClass(className.success).addClass(className.initial);
1442
1471
  if (!settings.inline) {
1443
1472
  module.remove.errors();
1444
1473
  }
@@ -1675,7 +1704,7 @@
1675
1704
  return rule.type === 'empty';
1676
1705
  }) !== 0
1677
1706
  : false,
1678
- identifier = validation.identifier || $el.attr('id') || $el.attr('name') || $el.data(metadata.validate)
1707
+ identifier = module.get.identifier(validation, $el)
1679
1708
  ;
1680
1709
  if (isRequired && !isDisabled && !hasEmptyRule && identifier !== undefined) {
1681
1710
  if (isCheckbox) {
@@ -1707,7 +1736,7 @@
1707
1736
  if (keyHeldDown) {
1708
1737
  return false;
1709
1738
  }
1710
-
1739
+ $module.removeClass(className.initial);
1711
1740
  // reset errors
1712
1741
  formErrors = [];
1713
1742
  if (module.determine.isValid()) {
@@ -1779,13 +1808,25 @@
1779
1808
  ? module.get.field(field.depends)
1780
1809
  : false,
1781
1810
  fieldValid = true,
1782
- fieldErrors = []
1811
+ fieldErrors = [],
1812
+ isDisabled = $field.filter(':not(:disabled)').length === 0,
1813
+ validationMessage = $field[0].validationMessage,
1814
+ errorLimit
1783
1815
  ;
1784
1816
  if (!field.identifier) {
1785
1817
  module.debug('Using field name as identifier', identifier);
1786
1818
  field.identifier = identifier;
1787
1819
  }
1788
- var isDisabled = $field.filter(':not(:disabled)').length === 0;
1820
+ if (validationMessage) {
1821
+ module.debug('Field is natively invalid', identifier);
1822
+ fieldErrors.push(validationMessage);
1823
+ fieldValid = false;
1824
+ if (showErrors) {
1825
+ $field.closest($group).addClass(className.error);
1826
+ }
1827
+ } else if (showErrors) {
1828
+ $field.closest($group).removeClass(className.error);
1829
+ }
1789
1830
  if (isDisabled) {
1790
1831
  module.debug('Field is disabled. Skipping', identifier);
1791
1832
  } else if (field.optional && module.is.blank($field)) {
@@ -1793,11 +1834,9 @@
1793
1834
  } else if (field.depends && module.is.empty($dependsField)) {
1794
1835
  module.debug('Field depends on another value that is not present or empty. Skipping', $dependsField);
1795
1836
  } else if (field.rules !== undefined) {
1796
- if (showErrors) {
1797
- $field.closest($group).removeClass(className.error);
1798
- }
1837
+ errorLimit = field.errorLimit || settings.errorLimit;
1799
1838
  $.each(field.rules, function (index, rule) {
1800
- if (module.has.field(identifier)) {
1839
+ if (module.has.field(identifier) && (!errorLimit || fieldErrors.length < errorLimit)) {
1801
1840
  var invalidFields = module.validate.rule(field, rule, true) || [];
1802
1841
  if (invalidFields.length > 0) {
1803
1842
  module.debug('Field is invalid', identifier, rule.type);
@@ -1812,7 +1851,7 @@
1812
1851
  }
1813
1852
  if (fieldValid) {
1814
1853
  if (showErrors) {
1815
- module.remove.prompt(identifier, fieldErrors);
1854
+ module.remove.prompt(identifier);
1816
1855
  settings.onValid.call($field);
1817
1856
  }
1818
1857
  } else {
@@ -1934,7 +1973,7 @@
1934
1973
  });
1935
1974
  }
1936
1975
  clearTimeout(module.performance.timer);
1937
- module.performance.timer = setTimeout(module.performance.display, 500);
1976
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
1938
1977
  },
1939
1978
  display: function () {
1940
1979
  var
@@ -2049,6 +2088,7 @@
2049
2088
  preventLeaving: false,
2050
2089
  errorFocus: true,
2051
2090
  dateHandling: 'date', // 'date', 'input', 'formatter'
2091
+ errorLimit: 0,
2052
2092
 
2053
2093
  onValid: function () {},
2054
2094
  onInvalid: function () {},
@@ -2102,8 +2142,8 @@
2102
2142
  isExactly: '{name} must be exactly "{ruleValue}"',
2103
2143
  not: '{name} cannot be set to "{ruleValue}"',
2104
2144
  notExactly: '{name} cannot be set to exactly "{ruleValue}"',
2105
- contain: '{name} must contain "{ruleValue}"',
2106
- containExactly: '{name} must contain exactly "{ruleValue}"',
2145
+ contains: '{name} must contain "{ruleValue}"',
2146
+ containsExactly: '{name} must contain exactly "{ruleValue}"',
2107
2147
  doesntContain: '{name} cannot contain "{ruleValue}"',
2108
2148
  doesntContainExactly: '{name} cannot contain exactly "{ruleValue}"',
2109
2149
  minLength: '{name} must be at least {ruleValue} characters',
@@ -2137,6 +2177,7 @@
2137
2177
  },
2138
2178
 
2139
2179
  className: {
2180
+ initial: 'initial',
2140
2181
  error: 'error',
2141
2182
  label: 'ui basic red pointing prompt label',
2142
2183
  pressed: 'down',
@@ -2577,7 +2618,7 @@
2577
2618
  })(jQuery, window, document);
2578
2619
 
2579
2620
  /*!
2580
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Accordion
2621
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Accordion
2581
2622
  * https://github.com/fomantic/Fomantic-UI/
2582
2623
  *
2583
2624
  *
@@ -3016,7 +3057,7 @@
3016
3057
  });
3017
3058
  }
3018
3059
  clearTimeout(module.performance.timer);
3019
- module.performance.timer = setTimeout(module.performance.display, 500);
3060
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
3020
3061
  },
3021
3062
  display: function () {
3022
3063
  var
@@ -3171,7 +3212,7 @@
3171
3212
  })(jQuery, window, document);
3172
3213
 
3173
3214
  /*!
3174
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Calendar
3215
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Calendar
3175
3216
  * https://github.com/fomantic/Fomantic-UI/
3176
3217
  *
3177
3218
  *
@@ -4651,7 +4692,7 @@
4651
4692
  });
4652
4693
  }
4653
4694
  clearTimeout(module.performance.timer);
4654
- module.performance.timer = setTimeout(module.performance.display, 500);
4695
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
4655
4696
  },
4656
4697
  display: function () {
4657
4698
  var
@@ -5182,7 +5223,7 @@
5182
5223
  })(jQuery, window, document);
5183
5224
 
5184
5225
  /*!
5185
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Checkbox
5226
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Checkbox
5186
5227
  * https://github.com/fomantic/Fomantic-UI/
5187
5228
  *
5188
5229
  *
@@ -5424,7 +5465,9 @@
5424
5465
  $input.trigger('blur');
5425
5466
  shortcutPressed = true;
5426
5467
  event.stopPropagation();
5427
- } else if (!event.ctrlKey && module.can.change()) {
5468
+ } else if (!module.can.change()) {
5469
+ shortcutPressed = true;
5470
+ } else if (!event.ctrlKey) {
5428
5471
  if (key === keyCode.space || (key === keyCode.enter && settings.enableEnterKey)) {
5429
5472
  module.verbose('Enter/space key pressed, toggling checkbox');
5430
5473
  module.toggle();
@@ -5906,7 +5949,7 @@
5906
5949
  });
5907
5950
  }
5908
5951
  clearTimeout(module.performance.timer);
5909
- module.performance.timer = setTimeout(module.performance.display, 500);
5952
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
5910
5953
  },
5911
5954
  display: function () {
5912
5955
  var
@@ -6063,7 +6106,7 @@
6063
6106
  })(jQuery, window, document);
6064
6107
 
6065
6108
  /*!
6066
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Dimmer
6109
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Dimmer
6067
6110
  * https://github.com/fomantic/Fomantic-UI/
6068
6111
  *
6069
6112
  *
@@ -6592,7 +6635,7 @@
6592
6635
  });
6593
6636
  }
6594
6637
  clearTimeout(module.performance.timer);
6595
- module.performance.timer = setTimeout(module.performance.display, 500);
6638
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
6596
6639
  },
6597
6640
  display: function () {
6598
6641
  var
@@ -6794,7 +6837,7 @@
6794
6837
  })(jQuery, window, document);
6795
6838
 
6796
6839
  /*!
6797
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Dropdown
6840
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Dropdown
6798
6841
  * https://github.com/fomantic/Fomantic-UI/
6799
6842
  *
6800
6843
  *
@@ -7158,7 +7201,7 @@
7158
7201
  module.verbose('Adding clear icon');
7159
7202
  $clear = $('<i />')
7160
7203
  .addClass('remove icon')
7161
- .insertBefore($text)
7204
+ .insertAfter($icon)
7162
7205
  ;
7163
7206
  }
7164
7207
  if (module.is.search() && !module.has.search()) {
@@ -7324,7 +7367,7 @@
7324
7367
  callback = isFunction(callback)
7325
7368
  ? callback
7326
7369
  : function () {};
7327
- if ((focused || iconClicked) && module.is.remote() && module.is.noApiCache()) {
7370
+ if ((focused || iconClicked) && module.is.remote() && module.is.noApiCache() && !module.has.maxSelections()) {
7328
7371
  module.clearItems();
7329
7372
  }
7330
7373
  if (!module.can.show() && module.is.remote()) {
@@ -7569,6 +7612,8 @@
7569
7612
  }
7570
7613
  ;
7571
7614
  if (settings.useLabels && module.has.maxSelections()) {
7615
+ module.show();
7616
+
7572
7617
  return;
7573
7618
  }
7574
7619
  if (settings.apiSettings) {
@@ -7892,8 +7937,8 @@
7892
7937
  notFoundTokens = []
7893
7938
  ;
7894
7939
  tokens.forEach(function (value) {
7895
- if (module.set.selected(module.escape.htmlEntities(value.trim()), null, true, true) === false) {
7896
- notFoundTokens.push(value);
7940
+ if (module.set.selected(module.escape.htmlEntities(value.trim()), null, false, true) === false) {
7941
+ notFoundTokens.push(value.trim());
7897
7942
  }
7898
7943
  });
7899
7944
  event.preventDefault();
@@ -8026,7 +8071,7 @@
8026
8071
  module.set.filtered();
8027
8072
  }
8028
8073
  clearTimeout(module.timer);
8029
- module.timer = setTimeout(module.search, settings.delay.search);
8074
+ module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
8030
8075
  },
8031
8076
  label: {
8032
8077
  click: function (event) {
@@ -8202,11 +8247,13 @@
8202
8247
  if (settings.allowAdditions) {
8203
8248
  module.remove.userAddition();
8204
8249
  }
8205
- module.remove.filteredItem();
8250
+ if (!settings.keepSearchTerm) {
8251
+ module.remove.filteredItem();
8252
+ module.remove.searchTerm();
8253
+ }
8206
8254
  if (!module.is.visible() && $target.length > 0) {
8207
8255
  module.show();
8208
8256
  }
8209
- module.remove.searchTerm();
8210
8257
  if (!module.is.focusedOnSearch() && skipRefocus !== true) {
8211
8258
  module.focusSearch(true);
8212
8259
  }
@@ -8392,7 +8439,9 @@
8392
8439
  module.verbose('Selecting item from keyboard shortcut', $selectedItem);
8393
8440
  module.event.item.click.call($selectedItem, event);
8394
8441
  if (module.is.searchSelection()) {
8395
- module.remove.searchTerm();
8442
+ if (!settings.keepSearchTerm) {
8443
+ module.remove.searchTerm();
8444
+ }
8396
8445
  if (module.is.multiple()) {
8397
8446
  $search.trigger('focus');
8398
8447
  }
@@ -8609,7 +8658,7 @@
8609
8658
  ? value
8610
8659
  : text;
8611
8660
  if (module.can.activate($(element))) {
8612
- module.set.selected(value, $(element));
8661
+ module.set.selected(value, $(element), false, settings.keepSearchTerm);
8613
8662
  if (!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
8614
8663
  module.hideAndClear();
8615
8664
  }
@@ -8961,7 +9010,7 @@
8961
9010
  return;
8962
9011
  }
8963
9012
  if (isMultiple) {
8964
- if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String)) !== -1) {
9013
+ if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String).map(module.escape.htmlEntities)) !== -1) {
8965
9014
  $selectedItem = $selectedItem
8966
9015
  ? $selectedItem.add($choice)
8967
9016
  : $choice;
@@ -9022,7 +9071,7 @@
9022
9071
  return false;
9023
9072
  }
9024
9073
 
9025
- return true;
9074
+ return false;
9026
9075
  },
9027
9076
  disabled: function () {
9028
9077
  $search.attr('tabindex', module.is.disabled() ? -1 : 0);
@@ -9112,7 +9161,7 @@
9112
9161
  $.each(values, function (value, name) {
9113
9162
  module.set.text(name);
9114
9163
  });
9115
- } else {
9164
+ } else if (settings.useLabels) {
9116
9165
  $.each(values, function (value, name) {
9117
9166
  module.add.label(value, name);
9118
9167
  });
@@ -9259,7 +9308,7 @@
9259
9308
  valueIsSet = searchValue !== ''
9260
9309
  ;
9261
9310
  if (isMultiple && hasSearchValue) {
9262
- module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);
9311
+ module.verbose('Adjusting input width', searchWidth);
9263
9312
  $search.css('width', searchWidth + 'px');
9264
9313
  }
9265
9314
  if (hasSearchValue || (isSearchMultiple && valueIsSet)) {
@@ -9558,7 +9607,7 @@
9558
9607
  return false;
9559
9608
  }
9560
9609
  module.debug('Setting selected menu item to', $selectedItem);
9561
- if (module.is.multiple()) {
9610
+ if (module.is.multiple() && !keepSearchTerm) {
9562
9611
  module.remove.searchWidth();
9563
9612
  }
9564
9613
  if (module.is.single()) {
@@ -10533,12 +10582,12 @@
10533
10582
  show: function () {
10534
10583
  module.verbose('Delaying show event to ensure user intent');
10535
10584
  clearTimeout(module.timer);
10536
- module.timer = setTimeout(module.show, settings.delay.show);
10585
+ module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
10537
10586
  },
10538
10587
  hide: function () {
10539
10588
  module.verbose('Delaying hide event to ensure user intent');
10540
10589
  clearTimeout(module.timer);
10541
- module.timer = setTimeout(module.hide, settings.delay.hide);
10590
+ module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
10542
10591
  },
10543
10592
  },
10544
10593
 
@@ -10664,7 +10713,7 @@
10664
10713
  });
10665
10714
  }
10666
10715
  clearTimeout(module.performance.timer);
10667
- module.performance.timer = setTimeout(module.performance.display, 500);
10716
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
10668
10717
  },
10669
10718
  display: function () {
10670
10719
  var
@@ -10801,6 +10850,7 @@
10801
10850
  forceSelection: false, // force a choice on blur with search selection
10802
10851
 
10803
10852
  allowAdditions: false, // whether multiple select should allow user added values
10853
+ keepSearchTerm: false, // whether the search value should be kept and menu stays filtered on item selection
10804
10854
  ignoreCase: false, // whether to consider case sensitivity when creating labels
10805
10855
  ignoreSearchCase: true, // whether to consider case sensitivity when filtering items
10806
10856
  hideAdditions: true, // whether or not to hide special message prompting a user they can enter a value
@@ -10820,8 +10870,6 @@
10820
10870
  duration: 200, // duration of transition
10821
10871
  displayType: false, // displayType of transition
10822
10872
 
10823
- glyphWidth: 1.037, // widest glyph width in em (W is 1.037 em) used to calculate multiselect input width
10824
-
10825
10873
  headerDivider: true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
10826
10874
 
10827
10875
  collapseOnActionable: true, // whether the dropdown should collapse upon selection of an actionable item
@@ -11144,7 +11192,7 @@
11144
11192
  })(jQuery, window, document);
11145
11193
 
11146
11194
  /*!
11147
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Embed
11195
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Embed
11148
11196
  * https://github.com/fomantic/Fomantic-UI/
11149
11197
  *
11150
11198
  *
@@ -11585,7 +11633,7 @@
11585
11633
  });
11586
11634
  }
11587
11635
  clearTimeout(module.performance.timer);
11588
- module.performance.timer = setTimeout(module.performance.display, 500);
11636
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
11589
11637
  },
11590
11638
  display: function () {
11591
11639
  var
@@ -11823,7 +11871,7 @@
11823
11871
  })(jQuery, window, document);
11824
11872
 
11825
11873
  /*!
11826
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Flyout
11874
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Flyout
11827
11875
  * https://github.com/fomantic/Fomantic-UI/
11828
11876
  *
11829
11877
  *
@@ -12349,7 +12397,9 @@
12349
12397
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
12350
12398
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
12351
12399
  shouldRefreshInputs = true;
12352
- ignoreAutofocus = false;
12400
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
12401
+ ignoreAutofocus = false;
12402
+ }
12353
12403
  }
12354
12404
  }
12355
12405
 
@@ -13069,7 +13119,7 @@
13069
13119
  });
13070
13120
  }
13071
13121
  clearTimeout(module.performance.timer);
13072
- module.performance.timer = setTimeout(module.performance.display, 500);
13122
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
13073
13123
  },
13074
13124
  display: function () {
13075
13125
  var
@@ -13402,7 +13452,7 @@
13402
13452
  })(jQuery, window, document);
13403
13453
 
13404
13454
  /*!
13405
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Modal
13455
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Modal
13406
13456
  * https://github.com/fomantic/Fomantic-UI/
13407
13457
  *
13408
13458
  *
@@ -13693,7 +13743,9 @@
13693
13743
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
13694
13744
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
13695
13745
  shouldRefreshInputs = true;
13696
- ignoreAutofocus = false;
13746
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
13747
+ ignoreAutofocus = false;
13748
+ }
13697
13749
  }
13698
13750
  }
13699
13751
 
@@ -13928,7 +13980,7 @@
13928
13980
  },
13929
13981
  debounce: function (method, delay) {
13930
13982
  clearTimeout(module.timer);
13931
- module.timer = setTimeout(method, delay);
13983
+ module.timer = setTimeout(function () { method(); }, delay);
13932
13984
  },
13933
13985
  keyboard: function (event) {
13934
13986
  var
@@ -14023,7 +14075,7 @@
14023
14075
  ignoreRepeatedEvents = false;
14024
14076
  if (settings.allowMultiple) {
14025
14077
  if (module.others.active()) {
14026
- $otherModals.filter('.' + className.active).find(selector.dimmer).addClass('active');
14078
+ $otherModals.filter('.' + className.active).find(selector.dimmer).removeClass('out').addClass('transition fade in active');
14027
14079
  }
14028
14080
 
14029
14081
  if (settings.detachable) {
@@ -14095,6 +14147,8 @@
14095
14147
  onStart: function () {
14096
14148
  if (!module.others.active() && !module.others.animating() && !keepDimmed) {
14097
14149
  module.hideDimmer();
14150
+ } else if (settings.allowMultiple) {
14151
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('in').addClass('out');
14098
14152
  }
14099
14153
  if (settings.keyboardShortcuts && !module.others.active()) {
14100
14154
  module.remove.keyboardShortcuts();
@@ -14107,11 +14161,7 @@
14107
14161
  $previousModal.addClass(className.front);
14108
14162
  $module.removeClass(className.front);
14109
14163
 
14110
- if (hideOthersToo) {
14111
- $allModals.find(selector.dimmer).removeClass('active');
14112
- } else {
14113
- $previousModal.find(selector.dimmer).removeClass('active');
14114
- }
14164
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('active');
14115
14165
  }
14116
14166
  if (isFunction(settings.onHidden)) {
14117
14167
  settings.onHidden.call(element);
@@ -14676,7 +14726,7 @@
14676
14726
  });
14677
14727
  }
14678
14728
  clearTimeout(module.performance.timer);
14679
- module.performance.timer = setTimeout(module.performance.display, 500);
14729
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
14680
14730
  },
14681
14731
  display: function () {
14682
14732
  var
@@ -15036,7 +15086,7 @@
15036
15086
  })(jQuery, window, document);
15037
15087
 
15038
15088
  /*!
15039
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Nag
15089
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Nag
15040
15090
  * https://github.com/fomantic/Fomantic-UI/
15041
15091
  *
15042
15092
  *
@@ -15125,7 +15175,7 @@
15125
15175
  }
15126
15176
 
15127
15177
  if (settings.displayTime > 0) {
15128
- setTimeout(module.hide, settings.displayTime);
15178
+ setTimeout(function () { module.hide(); }, settings.displayTime);
15129
15179
  }
15130
15180
  module.show();
15131
15181
  },
@@ -15414,7 +15464,7 @@
15414
15464
  });
15415
15465
  }
15416
15466
  clearTimeout(module.performance.timer);
15417
- module.performance.timer = setTimeout(module.performance.display, 500);
15467
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
15418
15468
  },
15419
15469
  display: function () {
15420
15470
  var
@@ -15597,7 +15647,7 @@
15597
15647
  })(jQuery, window, document);
15598
15648
 
15599
15649
  /*!
15600
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Popup
15650
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Popup
15601
15651
  * https://github.com/fomantic/Fomantic-UI/
15602
15652
  *
15603
15653
  *
@@ -15792,7 +15842,7 @@
15792
15842
  ;
15793
15843
  clearTimeout(module.hideTimer);
15794
15844
  if (!openedWithTouch || (openedWithTouch && settings.addTouchEvents)) {
15795
- module.showTimer = setTimeout(module.show, delay);
15845
+ module.showTimer = setTimeout(function () { module.show(); }, delay);
15796
15846
  }
15797
15847
  },
15798
15848
  end: function () {
@@ -15802,7 +15852,7 @@
15802
15852
  : settings.delay
15803
15853
  ;
15804
15854
  clearTimeout(module.showTimer);
15805
- module.hideTimer = setTimeout(module.hide, delay);
15855
+ module.hideTimer = setTimeout(function () { module.hide(); }, delay);
15806
15856
  },
15807
15857
  touchstart: function (event) {
15808
15858
  openedWithTouch = true;
@@ -15846,9 +15896,11 @@
15846
15896
  // generates popup html from metadata
15847
15897
  create: function () {
15848
15898
  var
15899
+ targetSibling = $target.next(selector.popup),
15900
+ contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false,
15849
15901
  html = module.get.html(),
15850
15902
  title = module.get.title(),
15851
- content = module.get.content()
15903
+ content = module.get.content(contentFallback)
15852
15904
  ;
15853
15905
 
15854
15906
  if (html || content || title) {
@@ -15889,10 +15941,10 @@
15889
15941
  if (settings.hoverable) {
15890
15942
  module.bind.popup();
15891
15943
  }
15892
- } else if ($target.next(selector.popup).length > 0) {
15944
+ } else if (targetSibling.length > 0) {
15893
15945
  module.verbose('Pre-existing popup found');
15894
15946
  settings.inline = true;
15895
- settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
15947
+ settings.popup = targetSibling.data(metadata.activator, $module);
15896
15948
  module.refresh();
15897
15949
  if (settings.hoverable) {
15898
15950
  module.bind.popup();
@@ -16082,10 +16134,10 @@
16082
16134
 
16083
16135
  return $module.data(metadata.title) || settings.title;
16084
16136
  },
16085
- content: function () {
16137
+ content: function (fallback) {
16086
16138
  $module.removeData(metadata.content);
16087
16139
 
16088
- return $module.data(metadata.content) || settings.content || $module.attr('title');
16140
+ return $module.data(metadata.content) || settings.content || fallback;
16089
16141
  },
16090
16142
  variation: function () {
16091
16143
  $module.removeData(metadata.variation);
@@ -16840,7 +16892,7 @@
16840
16892
  });
16841
16893
  }
16842
16894
  clearTimeout(module.performance.timer);
16843
- module.performance.timer = setTimeout(module.performance.display, 500);
16895
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
16844
16896
  },
16845
16897
  display: function () {
16846
16898
  var
@@ -17151,7 +17203,7 @@
17151
17203
  })(jQuery, window, document);
17152
17204
 
17153
17205
  /*!
17154
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Progress
17206
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Progress
17155
17207
  * https://github.com/fomantic/Fomantic-UI/
17156
17208
  *
17157
17209
  *
@@ -17943,7 +17995,7 @@
17943
17995
  });
17944
17996
  }
17945
17997
  clearTimeout(module.performance.timer);
17946
- module.performance.timer = setTimeout(module.performance.display, 500);
17998
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
17947
17999
  },
17948
18000
  display: function () {
17949
18001
  var
@@ -18129,7 +18181,7 @@
18129
18181
  })(jQuery, window, document);
18130
18182
 
18131
18183
  /*!
18132
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Slider
18184
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Slider
18133
18185
  * https://github.com/fomantic/Fomantic-UI/
18134
18186
  *
18135
18187
  *
@@ -18233,9 +18285,7 @@
18233
18285
  module.setup.layout();
18234
18286
  module.setup.labels();
18235
18287
 
18236
- if (!module.is.disabled()) {
18237
- module.bind.events();
18238
- }
18288
+ module.bind.events();
18239
18289
 
18240
18290
  module.read.metadata();
18241
18291
  module.read.settings();
@@ -18267,20 +18317,32 @@
18267
18317
  $module.attr('tabindex', 0);
18268
18318
  }
18269
18319
  if ($module.find('.inner').length === 0) {
18270
- $module.append("<div class='inner'>"
18271
- + "<div class='track'></div>"
18272
- + "<div class='track-fill'></div>"
18273
- + "<div class='thumb'></div>"
18320
+ $module.append('<div class="inner">'
18321
+ + '<div class="track"></div>'
18322
+ + '<div class="track-fill"></div>'
18323
+ + '<div class="thumb"></div>'
18274
18324
  + '</div>');
18275
18325
  }
18276
18326
  precision = module.get.precision();
18277
18327
  $thumb = $module.find('.thumb:not(.second)');
18328
+ if (settings.showThumbTooltip) {
18329
+ $thumb
18330
+ .attr('data-position', settings.tooltipConfig.position)
18331
+ .attr('data-variation', settings.tooltipConfig.variation)
18332
+ ;
18333
+ }
18278
18334
  $currThumb = $thumb;
18279
18335
  if (module.is.range()) {
18280
18336
  if ($module.find('.thumb.second').length === 0) {
18281
- $module.find('.inner').append("<div class='thumb second'></div>");
18337
+ $module.find('.inner').append('<div class="thumb second"></div>');
18282
18338
  }
18283
18339
  $secondThumb = $module.find('.thumb.second');
18340
+ if (settings.showThumbTooltip) {
18341
+ $secondThumb
18342
+ .attr('data-position', settings.tooltipConfig.position)
18343
+ .attr('data-variation', settings.tooltipConfig.variation)
18344
+ ;
18345
+ }
18284
18346
  }
18285
18347
  $track = $module.find('.track');
18286
18348
  $trackFill = $module.find('.track-fill');
@@ -18334,9 +18396,10 @@
18334
18396
  for (var i = 0, len = module.get.numLabels(); i <= len; i++) {
18335
18397
  var
18336
18398
  labelText = module.get.label(i),
18337
- $label = labelText !== ''
18399
+ showLabel = settings.restrictedLabels.length === 0 || settings.restrictedLabels.indexOf(labelText) >= 0,
18400
+ $label = labelText !== '' && (showLabel || settings.showLabelTicks === 'always')
18338
18401
  ? (!(i % module.get.gapRatio())
18339
- ? $('<li class="label">' + labelText + '</li>')
18402
+ ? $('<li class="label">' + (showLabel ? labelText : '') + '</li>')
18340
18403
  : $('<li class="halftick label"></li>'))
18341
18404
  : null,
18342
18405
  ratio = i / len
@@ -18480,6 +18543,18 @@
18480
18543
  ;
18481
18544
  $currThumb = initialPosition > newPos ? $thumb : $secondThumb;
18482
18545
  }
18546
+ if (module.is.range() && (settings.minRange || settings.maxRange)) {
18547
+ var currentRangeDiff = module.get.currentRangeDiff(value),
18548
+ isSecondThumb = $currThumb.hasClass('second')
18549
+ ;
18550
+ if ((settings.minRange && currentRangeDiff < settings.minRange)
18551
+ || (settings.maxRange && currentRangeDiff > settings.maxRange)
18552
+ || (settings.preventCrossover && !isSecondThumb && value > module.secondThumbVal)
18553
+ || (settings.preventCrossover && isSecondThumb && value < module.thumbVal)
18554
+ ) {
18555
+ return;
18556
+ }
18557
+ }
18483
18558
  if (module.get.step() === 0 || module.is.smooth()) {
18484
18559
  var
18485
18560
  thumbVal = module.thumbVal,
@@ -18515,6 +18590,17 @@
18515
18590
  return;
18516
18591
  }
18517
18592
  var value = module.determine.valueFromEvent(event);
18593
+ if (module.is.range() && (settings.minRange || settings.maxRange)) {
18594
+ if ($currThumb === undefined) {
18595
+ $currThumb = value <= module.get.currentThumbValue() ? $thumb : $secondThumb;
18596
+ }
18597
+ var currentRangeDiff = module.get.currentRangeDiff(value);
18598
+ if (settings.minRange && currentRangeDiff < settings.minRange) {
18599
+ value = module.get.edgeValue(value, settings.minRange);
18600
+ } else if (settings.maxRange && currentRangeDiff > settings.maxRange) {
18601
+ value = module.get.edgeValue(value, settings.maxRange);
18602
+ }
18603
+ }
18518
18604
  module.set.value(value);
18519
18605
  module.unbind.slidingEvents();
18520
18606
  touchIdentifier = undefined;
@@ -18531,6 +18617,9 @@
18531
18617
  }
18532
18618
  },
18533
18619
  keydown: function (event, first) {
18620
+ if (module.is.disabled()) {
18621
+ return;
18622
+ }
18534
18623
  if (settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
18535
18624
  $currThumb = undefined;
18536
18625
  }
@@ -18567,7 +18656,7 @@
18567
18656
  }
18568
18657
  },
18569
18658
  activateFocus: function (event) {
18570
- if (!module.is.focused() && module.is.hover() && module.determine.keyMovement(event) !== NO_STEP) {
18659
+ if (!module.is.disabled() && !module.is.focused() && module.is.hover() && module.determine.keyMovement(event) !== NO_STEP) {
18571
18660
  event.preventDefault();
18572
18661
  module.event.keydown(event, true);
18573
18662
  $module.trigger('focus');
@@ -18632,7 +18721,13 @@
18632
18721
 
18633
18722
  is: {
18634
18723
  range: function () {
18635
- return $module.hasClass(settings.className.range);
18724
+ var isRange = $module.hasClass(className.range);
18725
+ if (!isRange && (settings.minRange || settings.maxRange)) {
18726
+ $module.addClass(className.range);
18727
+ isRange = true;
18728
+ }
18729
+
18730
+ return isRange;
18636
18731
  },
18637
18732
  hover: function () {
18638
18733
  return isHover;
@@ -18641,23 +18736,56 @@
18641
18736
  return $module.is(':focus');
18642
18737
  },
18643
18738
  disabled: function () {
18644
- return $module.hasClass(settings.className.disabled);
18739
+ return $module.hasClass(className.disabled);
18645
18740
  },
18646
18741
  labeled: function () {
18647
- return $module.hasClass(settings.className.labeled);
18742
+ var isLabeled = $module.hasClass(className.labeled);
18743
+ if (!isLabeled && (settings.restrictedLabels.length > 0 || settings.showLabelTicks !== false)) {
18744
+ $module.addClass(className.labeled);
18745
+ isLabeled = true;
18746
+ }
18747
+
18748
+ return isLabeled;
18648
18749
  },
18649
18750
  reversed: function () {
18650
- return $module.hasClass(settings.className.reversed);
18751
+ return $module.hasClass(className.reversed);
18651
18752
  },
18652
18753
  vertical: function () {
18653
- return $module.hasClass(settings.className.vertical);
18754
+ return $module.hasClass(className.vertical);
18654
18755
  },
18655
18756
  smooth: function () {
18656
- return settings.smooth || $module.hasClass(settings.className.smooth);
18757
+ return settings.smooth || $module.hasClass(className.smooth);
18657
18758
  },
18658
18759
  },
18659
18760
 
18660
18761
  get: {
18762
+ currentRangeDiff: function (value) {
18763
+ var currentRangeDiff;
18764
+ if ($currThumb.hasClass('second')) {
18765
+ currentRangeDiff = module.thumbVal < value
18766
+ ? value - module.thumbVal
18767
+ : module.thumbVal - value;
18768
+ } else {
18769
+ currentRangeDiff = module.secondThumbVal > value
18770
+ ? module.secondThumbVal - value
18771
+ : value - module.secondThumbVal;
18772
+ }
18773
+
18774
+ return currentRangeDiff;
18775
+ },
18776
+ edgeValue: function (value, edgeValue) {
18777
+ if ($currThumb.hasClass('second')) {
18778
+ value = module.thumbVal < value
18779
+ ? module.thumbVal + edgeValue
18780
+ : module.thumbVal - edgeValue;
18781
+ } else {
18782
+ value = module.secondThumbVal < value
18783
+ ? module.secondThumbVal + edgeValue
18784
+ : module.secondThumbVal - edgeValue;
18785
+ }
18786
+
18787
+ return value;
18788
+ },
18661
18789
  trackOffset: function () {
18662
18790
  if (module.is.vertical()) {
18663
18791
  return $track.offset().top;
@@ -18861,13 +18989,10 @@
18861
18989
  return thumbDelta <= secondThumbDelta ? thumbPos : secondThumbPos;
18862
18990
  },
18863
18991
  thumbPos: function ($element) {
18864
- var
18865
- pos = module.is.vertical()
18866
- ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
18867
- : (module.is.reversed() ? $element.css('right') : $element.css('left'))
18992
+ return module.is.vertical()
18993
+ ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
18994
+ : (module.is.reversed() ? $element.css('right') : $element.css('left'))
18868
18995
  ;
18869
-
18870
- return pos;
18871
18996
  },
18872
18997
  positionFromValue: function (val) {
18873
18998
  var
@@ -18891,6 +19016,7 @@
18891
19016
  position = Math.round(ratio * trackLength),
18892
19017
  adjustedPos = step === 0 ? position : Math.round(position / step) * step
18893
19018
  ;
19019
+ module.verbose('Determined position: ' + position + ' from ratio: ' + ratio);
18894
19020
 
18895
19021
  return adjustedPos;
18896
19022
  },
@@ -19114,12 +19240,12 @@
19114
19240
  }
19115
19241
  if (!$currThumb.hasClass('second')) {
19116
19242
  if (settings.preventCrossover && module.is.range()) {
19117
- newValue = Math.min(module.secondThumbVal, newValue);
19243
+ newValue = Math.min(module.secondThumbVal - (settings.minRange || 0), newValue);
19118
19244
  }
19119
19245
  module.thumbVal = newValue;
19120
19246
  } else {
19121
19247
  if (settings.preventCrossover && module.is.range()) {
19122
- newValue = Math.max(module.thumbVal, newValue);
19248
+ newValue = Math.max(module.thumbVal + (settings.minRange || 0), newValue);
19123
19249
  }
19124
19250
  module.secondThumbVal = newValue;
19125
19251
  }
@@ -19138,6 +19264,10 @@
19138
19264
  thumbVal = module.thumbVal || module.get.min(),
19139
19265
  secondThumbVal = module.secondThumbVal || module.get.min()
19140
19266
  ;
19267
+ if (settings.showThumbTooltip) {
19268
+ var precision = module.get.precision();
19269
+ $targetThumb.attr('data-tooltip', Math.round(newValue * precision) / precision);
19270
+ }
19141
19271
  if (module.is.range()) {
19142
19272
  if (!$targetThumb.hasClass('second')) {
19143
19273
  position = newPos;
@@ -19226,6 +19356,14 @@
19226
19356
  settings: function () {
19227
19357
  if (settings.start !== false) {
19228
19358
  if (module.is.range()) {
19359
+ var rangeDiff = settings.end - settings.start;
19360
+ if (rangeDiff < 0
19361
+ || (settings.minRange && rangeDiff < settings.minRange)
19362
+ || (settings.maxRange && rangeDiff > settings.maxRange)
19363
+ || (settings.minRange && settings.maxRange && settings.minRange > settings.maxRange)
19364
+ ) {
19365
+ module.error(error.invalidRanges, settings.start, settings.end, settings.minRange, settings.maxRange);
19366
+ }
19229
19367
  module.debug('Start position set from settings', settings.start, settings.end);
19230
19368
  module.set.rangeValue(settings.start, settings.end);
19231
19369
  } else {
@@ -19306,7 +19444,7 @@
19306
19444
  });
19307
19445
  }
19308
19446
  clearTimeout(module.performance.timer);
19309
- module.performance.timer = setTimeout(module.performance.display, 500);
19447
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19310
19448
  },
19311
19449
  display: function () {
19312
19450
  var
@@ -19418,6 +19556,7 @@
19418
19556
  error: {
19419
19557
  method: 'The method you called is not defined.',
19420
19558
  notrange: 'This slider is not a range slider',
19559
+ invalidRanges: 'Invalid range settings (start/end/minRange/maxRange)',
19421
19560
  },
19422
19561
 
19423
19562
  metadata: {
@@ -19430,6 +19569,8 @@
19430
19569
  step: 1,
19431
19570
  start: 0,
19432
19571
  end: 20,
19572
+ minRange: false,
19573
+ maxRange: false,
19433
19574
  labelType: 'number',
19434
19575
  showLabelTicks: false,
19435
19576
  smooth: false,
@@ -19466,6 +19607,13 @@
19466
19607
  downArrow: 40,
19467
19608
  },
19468
19609
 
19610
+ restrictedLabels: [],
19611
+ showThumbTooltip: false,
19612
+ tooltipConfig: {
19613
+ position: 'top center',
19614
+ variation: 'tiny black',
19615
+ },
19616
+
19469
19617
  labelTypes: {
19470
19618
  number: 'number',
19471
19619
  letter: 'letter',
@@ -19477,7 +19625,7 @@
19477
19625
  })(jQuery, window, document);
19478
19626
 
19479
19627
  /*!
19480
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Rating
19628
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Rating
19481
19629
  * https://github.com/fomantic/Fomantic-UI/
19482
19630
  *
19483
19631
  *
@@ -19846,7 +19994,7 @@
19846
19994
  });
19847
19995
  }
19848
19996
  clearTimeout(module.performance.timer);
19849
- module.performance.timer = setTimeout(module.performance.display, 500);
19997
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19850
19998
  },
19851
19999
  display: function () {
19852
20000
  var
@@ -20016,7 +20164,7 @@
20016
20164
  })(jQuery, window, document);
20017
20165
 
20018
20166
  /*!
20019
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Search
20167
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Search
20020
20168
  * https://github.com/fomantic/Fomantic-UI/
20021
20169
  *
20022
20170
  *
@@ -20186,7 +20334,7 @@
20186
20334
  callback = function () {
20187
20335
  module.cancel.query();
20188
20336
  module.remove.focus();
20189
- module.timer = setTimeout(module.hideResults, settings.hideDelay);
20337
+ module.timer = setTimeout(function () { module.hideResults(); }, settings.hideDelay);
20190
20338
  }
20191
20339
  ;
20192
20340
  if (pageLostFocus) {
@@ -20578,6 +20726,7 @@
20578
20726
  if (cache) {
20579
20727
  module.debug('Reading result from cache', searchTerm);
20580
20728
  module.save.results(cache.results);
20729
+ settings.onResults.call(element, cache.results, true);
20581
20730
  module.addResults(cache.html);
20582
20731
  module.inject.id(cache.results);
20583
20732
  callback();
@@ -21187,7 +21336,7 @@
21187
21336
  });
21188
21337
  }
21189
21338
  clearTimeout(module.performance.timer);
21190
- module.performance.timer = setTimeout(module.performance.display, 500);
21339
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
21191
21340
  },
21192
21341
  display: function () {
21193
21342
  var
@@ -21362,7 +21511,7 @@
21362
21511
  onResultsAdd: false,
21363
21512
 
21364
21513
  onSearchQuery: function (query) {},
21365
- onResults: function (response) {},
21514
+ onResults: function (response, fromCache) {},
21366
21515
 
21367
21516
  onResultsOpen: function () {},
21368
21517
  onResultsClose: function () {},
@@ -21593,7 +21742,7 @@
21593
21742
  })(jQuery, window, document);
21594
21743
 
21595
21744
  /*!
21596
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Shape
21745
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Shape
21597
21746
  * https://github.com/fomantic/Fomantic-UI/
21598
21747
  *
21599
21748
  *
@@ -22217,7 +22366,7 @@
22217
22366
  });
22218
22367
  }
22219
22368
  clearTimeout(module.performance.timer);
22220
- module.performance.timer = setTimeout(module.performance.display, 500);
22369
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
22221
22370
  },
22222
22371
  display: function () {
22223
22372
  var
@@ -22389,7 +22538,7 @@
22389
22538
  })(jQuery, window, document);
22390
22539
 
22391
22540
  /*!
22392
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Sidebar
22541
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Sidebar
22393
22542
  * https://github.com/fomantic/Fomantic-UI/
22394
22543
  *
22395
22544
  *
@@ -23288,7 +23437,7 @@
23288
23437
  });
23289
23438
  }
23290
23439
  clearTimeout(module.performance.timer);
23291
- module.performance.timer = setTimeout(module.performance.display, 500);
23440
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
23292
23441
  },
23293
23442
  display: function () {
23294
23443
  var
@@ -23472,7 +23621,7 @@
23472
23621
  })(jQuery, window, document);
23473
23622
 
23474
23623
  /*!
23475
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Sticky
23624
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Sticky
23476
23625
  * https://github.com/fomantic/Fomantic-UI/
23477
23626
  *
23478
23627
  *
@@ -24219,7 +24368,7 @@
24219
24368
  });
24220
24369
  }
24221
24370
  clearTimeout(module.performance.timer);
24222
- module.performance.timer = setTimeout(module.performance.display, 0);
24371
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 0);
24223
24372
  },
24224
24373
  display: function () {
24225
24374
  var
@@ -24388,7 +24537,7 @@
24388
24537
  })(jQuery, window, document);
24389
24538
 
24390
24539
  /*!
24391
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Tab
24540
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Tab
24392
24541
  * https://github.com/fomantic/Fomantic-UI/
24393
24542
  *
24394
24543
  *
@@ -24488,7 +24637,7 @@
24488
24637
  module.bind.events();
24489
24638
 
24490
24639
  if (settings.history && !initializedHistory) {
24491
- module.initializeHistory();
24640
+ settings.history = module.initializeHistory();
24492
24641
  initializedHistory = true;
24493
24642
  }
24494
24643
 
@@ -24498,7 +24647,7 @@
24498
24647
  module.debug('No active tab detected, setting tab active', activeTab);
24499
24648
  module.changeTab(activeTab);
24500
24649
  }
24501
- if (activeTab !== null && settings.history) {
24650
+ if (activeTab !== null && settings.history && settings.historyType === 'state') {
24502
24651
  var autoUpdate = $.address.autoUpdate();
24503
24652
  $.address.autoUpdate(false);
24504
24653
  $.address.value(activeTab);
@@ -24591,6 +24740,8 @@
24591
24740
  $.address
24592
24741
  .bind('change', module.event.history.change)
24593
24742
  ;
24743
+
24744
+ return true;
24594
24745
  },
24595
24746
 
24596
24747
  event: {
@@ -25175,7 +25326,7 @@
25175
25326
  });
25176
25327
  }
25177
25328
  clearTimeout(module.performance.timer);
25178
- module.performance.timer = setTimeout(module.performance.display, 500);
25329
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
25179
25330
  },
25180
25331
  display: function () {
25181
25332
  var
@@ -25352,7 +25503,7 @@
25352
25503
  })(jQuery, window, document);
25353
25504
 
25354
25505
  /*!
25355
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Toast
25506
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Toast
25356
25507
  * https://github.com/fomantic/Fomantic-UI/
25357
25508
  *
25358
25509
  *
@@ -26055,7 +26206,7 @@
26055
26206
  });
26056
26207
  }
26057
26208
  clearTimeout(module.performance.timer);
26058
- module.performance.timer = setTimeout(module.performance.display, 500);
26209
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
26059
26210
  },
26060
26211
  display: function () {
26061
26212
  var
@@ -26313,7 +26464,7 @@
26313
26464
  })(jQuery, window, document);
26314
26465
 
26315
26466
  /*!
26316
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Transition
26467
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Transition
26317
26468
  * https://github.com/fomantic/Fomantic-UI/
26318
26469
  *
26319
26470
  *
@@ -26456,7 +26607,7 @@
26456
26607
  ? ($allModules.length - index) * interval
26457
26608
  : index * interval;
26458
26609
  module.debug('Delaying animation by', delay);
26459
- setTimeout(module.animate, delay);
26610
+ setTimeout(function () { module.animate(); }, delay);
26460
26611
  },
26461
26612
 
26462
26613
  animate: function (overrideSettings) {
@@ -27163,7 +27314,7 @@
27163
27314
  });
27164
27315
  }
27165
27316
  clearTimeout(module.performance.timer);
27166
- module.performance.timer = setTimeout(module.performance.display, 500);
27317
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
27167
27318
  },
27168
27319
  display: function () {
27169
27320
  var
@@ -27344,7 +27495,7 @@
27344
27495
  })(jQuery, window, document);
27345
27496
 
27346
27497
  /*!
27347
- * # Fomantic-UI 2.9.3-beta.4+bda537d - API
27498
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - API
27348
27499
  * https://github.com/fomantic/Fomantic-UI/
27349
27500
  *
27350
27501
  *
@@ -27991,7 +28142,7 @@
27991
28142
  module.debug('Adding error state');
27992
28143
  module.set.error();
27993
28144
  if (module.should.removeError()) {
27994
- setTimeout(module.remove.error, settings.errorDuration);
28145
+ setTimeout(function () { module.remove.error(); }, settings.errorDuration);
27995
28146
  }
27996
28147
  }
27997
28148
  module.debug('API Request failed', errorMessage, xhr);
@@ -28315,7 +28466,7 @@
28315
28466
  });
28316
28467
  }
28317
28468
  clearTimeout(module.performance.timer);
28318
- module.performance.timer = setTimeout(module.performance.display, 500);
28469
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
28319
28470
  },
28320
28471
  display: function () {
28321
28472
  var
@@ -28565,7 +28716,7 @@
28565
28716
  })(jQuery, window, document);
28566
28717
 
28567
28718
  /*!
28568
- * # Fomantic-UI 2.9.3-beta.4+bda537d - State
28719
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - State
28569
28720
  * https://github.com/fomantic/Fomantic-UI/
28570
28721
  *
28571
28722
  *
@@ -29048,7 +29199,7 @@
29048
29199
  });
29049
29200
  }
29050
29201
  clearTimeout(module.performance.timer);
29051
- module.performance.timer = setTimeout(module.performance.display, 500);
29202
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
29052
29203
  },
29053
29204
  display: function () {
29054
29205
  var
@@ -29261,7 +29412,7 @@
29261
29412
  })(jQuery, window, document);
29262
29413
 
29263
29414
  /*!
29264
- * # Fomantic-UI 2.9.3-beta.4+bda537d - Visibility
29415
+ * # Fomantic-UI 2.9.3-beta.41+41577bc - Visibility
29265
29416
  * https://github.com/fomantic/Fomantic-UI/
29266
29417
  *
29267
29418
  *
@@ -30350,7 +30501,7 @@
30350
30501
  });
30351
30502
  }
30352
30503
  clearTimeout(module.performance.timer);
30353
- module.performance.timer = setTimeout(module.performance.display, 500);
30504
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
30354
30505
  },
30355
30506
  display: function () {
30356
30507
  var