fomantic-ui 2.9.3-beta.7 → 2.9.3-beta.70

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 (289) 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 +5 -5
  5. package/.github/workflows/nightly.yml +1 -1
  6. package/.github/workflows/release.yml +1 -1
  7. package/CONTRIBUTORS.md +1 -1
  8. package/README.md +5 -2
  9. package/SECURITY.md +2 -1
  10. package/dist/components/accordion.css +1 -1
  11. package/dist/components/accordion.js +2 -2
  12. package/dist/components/accordion.min.css +1 -1
  13. package/dist/components/accordion.min.js +2 -2
  14. package/dist/components/ad.css +1 -1
  15. package/dist/components/ad.min.css +1 -1
  16. package/dist/components/api.js +10 -9
  17. package/dist/components/api.min.js +2 -2
  18. package/dist/components/breadcrumb.css +1 -1
  19. package/dist/components/breadcrumb.min.css +1 -1
  20. package/dist/components/button.css +2 -2
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +140 -3
  23. package/dist/components/calendar.js +2 -2
  24. package/dist/components/calendar.min.css +2 -2
  25. package/dist/components/calendar.min.js +2 -2
  26. package/dist/components/card.css +1 -1
  27. package/dist/components/card.min.css +1 -1
  28. package/dist/components/checkbox.css +50 -6
  29. package/dist/components/checkbox.js +5 -3
  30. package/dist/components/checkbox.min.css +2 -2
  31. package/dist/components/checkbox.min.js +2 -2
  32. package/dist/components/comment.css +6 -1
  33. package/dist/components/comment.min.css +2 -2
  34. package/dist/components/container.css +62 -1
  35. package/dist/components/container.min.css +2 -2
  36. package/dist/components/dimmer.css +3 -3
  37. package/dist/components/dimmer.js +2 -2
  38. package/dist/components/dimmer.min.css +2 -2
  39. package/dist/components/dimmer.min.js +2 -2
  40. package/dist/components/divider.css +1 -1
  41. package/dist/components/divider.min.css +1 -1
  42. package/dist/components/dropdown.css +101 -25
  43. package/dist/components/dropdown.js +29 -21
  44. package/dist/components/dropdown.min.css +2 -2
  45. package/dist/components/dropdown.min.js +2 -2
  46. package/dist/components/embed.css +1 -1
  47. package/dist/components/embed.js +2 -2
  48. package/dist/components/embed.min.css +1 -1
  49. package/dist/components/embed.min.js +2 -2
  50. package/dist/components/emoji.css +697 -249
  51. package/dist/components/emoji.min.css +2 -2
  52. package/dist/components/feed.css +486 -5
  53. package/dist/components/feed.min.css +2 -2
  54. package/dist/components/flag.css +3 -2
  55. package/dist/components/flag.min.css +2 -2
  56. package/dist/components/flyout.css +1 -1
  57. package/dist/components/flyout.js +5 -3
  58. package/dist/components/flyout.min.css +1 -1
  59. package/dist/components/flyout.min.js +2 -2
  60. package/dist/components/form.css +34 -32
  61. package/dist/components/form.js +72 -31
  62. package/dist/components/form.min.css +2 -2
  63. package/dist/components/form.min.js +2 -2
  64. package/dist/components/grid.css +107 -107
  65. package/dist/components/grid.min.css +2 -2
  66. package/dist/components/header.css +1 -1
  67. package/dist/components/header.min.css +1 -1
  68. package/dist/components/icon.css +62 -62
  69. package/dist/components/icon.min.css +2 -2
  70. package/dist/components/image.css +1 -1
  71. package/dist/components/image.min.css +1 -1
  72. package/dist/components/input.css +3 -27
  73. package/dist/components/input.min.css +2 -2
  74. package/dist/components/item.css +6 -1
  75. package/dist/components/item.min.css +2 -2
  76. package/dist/components/label.css +21 -2
  77. package/dist/components/label.min.css +2 -2
  78. package/dist/components/list.css +13 -13
  79. package/dist/components/list.min.css +2 -2
  80. package/dist/components/loader.css +282 -282
  81. package/dist/components/loader.min.css +2 -2
  82. package/dist/components/menu.css +13 -7
  83. package/dist/components/menu.min.css +2 -2
  84. package/dist/components/message.css +1 -1
  85. package/dist/components/message.min.css +1 -1
  86. package/dist/components/modal.css +5 -1
  87. package/dist/components/modal.js +10 -10
  88. package/dist/components/modal.min.css +2 -2
  89. package/dist/components/modal.min.js +2 -2
  90. package/dist/components/nag.css +1 -1
  91. package/dist/components/nag.js +3 -3
  92. package/dist/components/nag.min.css +1 -1
  93. package/dist/components/nag.min.js +2 -2
  94. package/dist/components/placeholder.css +1 -1
  95. package/dist/components/placeholder.min.css +1 -1
  96. package/dist/components/popup.css +3 -3
  97. package/dist/components/popup.js +11 -9
  98. package/dist/components/popup.min.css +2 -2
  99. package/dist/components/popup.min.js +2 -2
  100. package/dist/components/progress.css +1 -1
  101. package/dist/components/progress.js +2 -2
  102. package/dist/components/progress.min.css +1 -1
  103. package/dist/components/progress.min.js +2 -2
  104. package/dist/components/rail.css +1 -1
  105. package/dist/components/rail.min.css +1 -1
  106. package/dist/components/rating.css +1 -1
  107. package/dist/components/rating.js +2 -2
  108. package/dist/components/rating.min.css +1 -1
  109. package/dist/components/rating.min.js +2 -2
  110. package/dist/components/reset.css +1 -1
  111. package/dist/components/reset.min.css +1 -1
  112. package/dist/components/reveal.css +1 -1
  113. package/dist/components/reveal.min.css +1 -1
  114. package/dist/components/search.css +26 -1
  115. package/dist/components/search.js +5 -4
  116. package/dist/components/search.min.css +2 -2
  117. package/dist/components/search.min.js +2 -2
  118. package/dist/components/segment.css +159 -33
  119. package/dist/components/segment.min.css +2 -2
  120. package/dist/components/shape.css +1 -1
  121. package/dist/components/shape.js +2 -2
  122. package/dist/components/shape.min.css +1 -1
  123. package/dist/components/shape.min.js +2 -2
  124. package/dist/components/sidebar.css +1 -1
  125. package/dist/components/sidebar.js +2 -2
  126. package/dist/components/sidebar.min.css +1 -1
  127. package/dist/components/sidebar.min.js +2 -2
  128. package/dist/components/site.css +1 -1
  129. package/dist/components/site.js +2 -2
  130. package/dist/components/site.min.css +1 -1
  131. package/dist/components/site.min.js +2 -2
  132. package/dist/components/slider.css +1 -1
  133. package/dist/components/slider.js +126 -26
  134. package/dist/components/slider.min.css +1 -1
  135. package/dist/components/slider.min.js +2 -2
  136. package/dist/components/state.js +2 -2
  137. package/dist/components/state.min.js +2 -2
  138. package/dist/components/statistic.css +1 -1
  139. package/dist/components/statistic.min.css +1 -1
  140. package/dist/components/step.css +1 -1
  141. package/dist/components/step.min.css +1 -1
  142. package/dist/components/sticky.css +1 -1
  143. package/dist/components/sticky.js +2 -2
  144. package/dist/components/sticky.min.css +1 -1
  145. package/dist/components/sticky.min.js +2 -2
  146. package/dist/components/tab.css +1 -1
  147. package/dist/components/tab.js +6 -4
  148. package/dist/components/tab.min.css +1 -1
  149. package/dist/components/tab.min.js +2 -2
  150. package/dist/components/table.css +65 -1
  151. package/dist/components/table.min.css +2 -2
  152. package/dist/components/text.css +1 -1
  153. package/dist/components/text.min.css +1 -1
  154. package/dist/components/toast.css +6 -1
  155. package/dist/components/toast.js +2 -2
  156. package/dist/components/toast.min.css +2 -2
  157. package/dist/components/toast.min.js +2 -2
  158. package/dist/components/transition.css +1 -1
  159. package/dist/components/transition.js +3 -3
  160. package/dist/components/transition.min.css +1 -1
  161. package/dist/components/transition.min.js +2 -2
  162. package/dist/components/visibility.js +2 -2
  163. package/dist/components/visibility.min.js +2 -2
  164. package/dist/semantic.css +2822 -954
  165. package/dist/semantic.js +312 -153
  166. package/dist/semantic.min.css +2 -2
  167. package/dist/semantic.min.js +2 -2
  168. package/package.json +4 -3
  169. package/scripts/nightly-version.js +2 -2
  170. package/src/definitions/behaviors/api.js +9 -8
  171. package/src/definitions/behaviors/form.js +71 -30
  172. package/src/definitions/behaviors/state.js +1 -1
  173. package/src/definitions/behaviors/visibility.js +1 -1
  174. package/src/definitions/collections/form.less +9 -14
  175. package/src/definitions/collections/grid.less +106 -106
  176. package/src/definitions/collections/menu.less +29 -22
  177. package/src/definitions/collections/table.less +66 -0
  178. package/src/definitions/elements/button.less +1 -1
  179. package/src/definitions/elements/container.less +63 -0
  180. package/src/definitions/elements/icon.less +5 -5
  181. package/src/definitions/elements/input.less +2 -2
  182. package/src/definitions/elements/label.less +21 -1
  183. package/src/definitions/elements/list.less +13 -13
  184. package/src/definitions/elements/loader.less +71 -71
  185. package/src/definitions/elements/segment.less +110 -13
  186. package/src/definitions/globals/site.js +1 -1
  187. package/src/definitions/modules/accordion.js +1 -1
  188. package/src/definitions/modules/calendar.js +1 -1
  189. package/src/definitions/modules/calendar.less +40 -11
  190. package/src/definitions/modules/checkbox.js +4 -2
  191. package/src/definitions/modules/checkbox.less +61 -5
  192. package/src/definitions/modules/dimmer.js +1 -1
  193. package/src/definitions/modules/dimmer.less +2 -2
  194. package/src/definitions/modules/dropdown.js +28 -20
  195. package/src/definitions/modules/dropdown.less +124 -21
  196. package/src/definitions/modules/embed.js +1 -1
  197. package/src/definitions/modules/flyout.js +4 -2
  198. package/src/definitions/modules/modal.js +9 -9
  199. package/src/definitions/modules/modal.less +6 -0
  200. package/src/definitions/modules/nag.js +2 -2
  201. package/src/definitions/modules/popup.js +10 -8
  202. package/src/definitions/modules/popup.less +4 -4
  203. package/src/definitions/modules/progress.js +1 -1
  204. package/src/definitions/modules/rating.js +1 -1
  205. package/src/definitions/modules/search.js +4 -3
  206. package/src/definitions/modules/search.less +31 -0
  207. package/src/definitions/modules/shape.js +1 -1
  208. package/src/definitions/modules/sidebar.js +1 -1
  209. package/src/definitions/modules/slider.js +125 -25
  210. package/src/definitions/modules/sticky.js +1 -1
  211. package/src/definitions/modules/tab.js +5 -3
  212. package/src/definitions/modules/toast.js +1 -1
  213. package/src/definitions/modules/toast.less +7 -0
  214. package/src/definitions/modules/transition.js +2 -2
  215. package/src/definitions/views/comment.less +7 -0
  216. package/src/definitions/views/feed.less +238 -32
  217. package/src/definitions/views/item.less +7 -0
  218. package/src/theme.less +1 -1
  219. package/src/themes/amazon/elements/button.variables +5 -1
  220. package/src/themes/bootstrap3/elements/button.variables +5 -1
  221. package/src/themes/chubby/elements/header.variables +6 -1
  222. package/src/themes/default/collections/message.variables +3 -9
  223. package/src/themes/default/collections/table.variables +11 -8
  224. package/src/themes/default/elements/button.variables +8 -10
  225. package/src/themes/default/elements/container.variables +3 -0
  226. package/src/themes/default/elements/emoji.variables +179 -67
  227. package/src/themes/default/elements/flag.variables +1 -1
  228. package/src/themes/default/elements/label.variables +6 -1
  229. package/src/themes/default/elements/segment.variables +8 -0
  230. package/src/themes/default/globals/site.variables +362 -341
  231. package/src/themes/default/globals/variation.variables +24 -1
  232. package/src/themes/default/modules/calendar.variables +11 -0
  233. package/src/themes/default/modules/checkbox.variables +12 -0
  234. package/src/themes/default/modules/dropdown.variables +10 -4
  235. package/src/themes/default/modules/modal.variables +3 -0
  236. package/src/themes/default/modules/popup.variables +1 -1
  237. package/src/themes/default/modules/search.variables +3 -0
  238. package/src/themes/default/modules/toast.variables +6 -5
  239. package/src/themes/default/views/card.variables +4 -12
  240. package/src/themes/default/views/feed.variables +55 -1
  241. package/src/themes/default/views/item.variables +5 -5
  242. package/src/themes/flat/collections/form.variables +4 -4
  243. package/src/themes/flat/globals/site.variables +1 -1
  244. package/src/themes/github/elements/button.variables +5 -1
  245. package/src/themes/joypixels/elements/emoji.variables +182 -70
  246. package/src/themes/material/globals/site.variables +1 -1
  247. package/src/themes/twitter/elements/button.variables +5 -1
  248. package/src/themes/twitter/elements/emoji.variables +178 -66
  249. package/tasks/admin/components/create.js +1 -2
  250. package/tasks/admin/components/init.js +3 -4
  251. package/tasks/admin/components/update.js +2 -3
  252. package/tasks/admin/distributions/create.js +9 -5
  253. package/tasks/admin/distributions/init.js +3 -4
  254. package/tasks/admin/distributions/update.js +2 -3
  255. package/tasks/config/project/install.js +3 -0
  256. package/tasks/config/tasks.js +1 -8
  257. package/tasks/config/user.js +1 -1
  258. package/tasks/docs/build.js +2 -2
  259. package/tasks/docs/metadata.js +1 -1
  260. package/tasks/docs/serve.js +1 -1
  261. package/tasks/install.js +19 -10
  262. package/tasks/watch.js +1 -2
  263. package/types/fomantic-ui-accordion.d.ts +244 -0
  264. package/types/fomantic-ui-api.d.ts +555 -0
  265. package/types/fomantic-ui-calendar.d.ts +766 -0
  266. package/types/fomantic-ui-checkbox.d.ts +332 -0
  267. package/types/fomantic-ui-dimmer.d.ts +408 -0
  268. package/types/fomantic-ui-dropdown.d.ts +1183 -0
  269. package/types/fomantic-ui-embed.d.ts +326 -0
  270. package/types/fomantic-ui-flyout.d.ts +525 -0
  271. package/types/fomantic-ui-form.d.ts +651 -0
  272. package/types/fomantic-ui-modal.d.ts +471 -0
  273. package/types/fomantic-ui-nag.d.ts +270 -0
  274. package/types/fomantic-ui-popup.d.ts +523 -0
  275. package/types/fomantic-ui-progress.d.ts +459 -0
  276. package/types/fomantic-ui-rating.d.ts +187 -0
  277. package/types/fomantic-ui-search.d.ts +496 -0
  278. package/types/fomantic-ui-shape.d.ts +274 -0
  279. package/types/fomantic-ui-sidebar.d.ts +402 -0
  280. package/types/fomantic-ui-slider.d.ts +316 -0
  281. package/types/fomantic-ui-sticky.d.ts +215 -0
  282. package/types/fomantic-ui-tab.d.ts +361 -0
  283. package/types/fomantic-ui-tests.ts +25 -0
  284. package/types/fomantic-ui-toast.d.ts +514 -0
  285. package/types/fomantic-ui-transition.d.ts +355 -0
  286. package/types/fomantic-ui-visibility.d.ts +355 -0
  287. package/types/index.d.ts +63 -0
  288. package/types/tsconfig.json +23 -0
  289. package/types/tslint.json +1 -0
package/dist/semantic.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.3-beta.7+81f7c2c
2
+ * # Fomantic UI - 2.9.3-beta.70+9dc98bd
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.7+81f7c2c - Site
12
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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.7+81f7c2c - Form Validation
466
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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),
@@ -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.7+81f7c2c - Accordion
2621
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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.7+81f7c2c - Calendar
3215
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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.7+81f7c2c - Checkbox
5226
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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.7+81f7c2c - Dimmer
6109
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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.7+81f7c2c - Dropdown
6840
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - 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()) {
@@ -7374,7 +7417,10 @@
7374
7417
  if ($subMenu.length > 0) {
7375
7418
  module.verbose('Hiding sub-menu', $subMenu);
7376
7419
  $subMenu.each(function () {
7377
- module.animate.hide(false, $(this));
7420
+ var $sub = $(this);
7421
+ if (!module.is.animating($sub)) {
7422
+ module.animate.hide(false, $sub);
7423
+ }
7378
7424
  });
7379
7425
  }
7380
7426
  }
@@ -7569,6 +7615,8 @@
7569
7615
  }
7570
7616
  ;
7571
7617
  if (settings.useLabels && module.has.maxSelections()) {
7618
+ module.show();
7619
+
7572
7620
  return;
7573
7621
  }
7574
7622
  if (settings.apiSettings) {
@@ -7892,8 +7940,8 @@
7892
7940
  notFoundTokens = []
7893
7941
  ;
7894
7942
  tokens.forEach(function (value) {
7895
- if (module.set.selected(module.escape.htmlEntities(value.trim()), null, true, true) === false) {
7896
- notFoundTokens.push(value);
7943
+ if (module.set.selected(module.escape.htmlEntities(value.trim()), null, false, true) === false) {
7944
+ notFoundTokens.push(value.trim());
7897
7945
  }
7898
7946
  });
7899
7947
  event.preventDefault();
@@ -8026,7 +8074,7 @@
8026
8074
  module.set.filtered();
8027
8075
  }
8028
8076
  clearTimeout(module.timer);
8029
- module.timer = setTimeout(module.search, settings.delay.search);
8077
+ module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
8030
8078
  },
8031
8079
  label: {
8032
8080
  click: function (event) {
@@ -8202,11 +8250,13 @@
8202
8250
  if (settings.allowAdditions) {
8203
8251
  module.remove.userAddition();
8204
8252
  }
8205
- module.remove.filteredItem();
8253
+ if (!settings.keepSearchTerm) {
8254
+ module.remove.filteredItem();
8255
+ module.remove.searchTerm();
8256
+ }
8206
8257
  if (!module.is.visible() && $target.length > 0) {
8207
8258
  module.show();
8208
8259
  }
8209
- module.remove.searchTerm();
8210
8260
  if (!module.is.focusedOnSearch() && skipRefocus !== true) {
8211
8261
  module.focusSearch(true);
8212
8262
  }
@@ -8392,7 +8442,9 @@
8392
8442
  module.verbose('Selecting item from keyboard shortcut', $selectedItem);
8393
8443
  module.event.item.click.call($selectedItem, event);
8394
8444
  if (module.is.searchSelection()) {
8395
- module.remove.searchTerm();
8445
+ if (!settings.keepSearchTerm) {
8446
+ module.remove.searchTerm();
8447
+ }
8396
8448
  if (module.is.multiple()) {
8397
8449
  $search.trigger('focus');
8398
8450
  }
@@ -8609,7 +8661,7 @@
8609
8661
  ? value
8610
8662
  : text;
8611
8663
  if (module.can.activate($(element))) {
8612
- module.set.selected(value, $(element));
8664
+ module.set.selected(value, $(element), false, settings.keepSearchTerm);
8613
8665
  if (!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
8614
8666
  module.hideAndClear();
8615
8667
  }
@@ -8961,7 +9013,7 @@
8961
9013
  return;
8962
9014
  }
8963
9015
  if (isMultiple) {
8964
- if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String)) !== -1) {
9016
+ if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String).map(module.escape.htmlEntities)) !== -1) {
8965
9017
  $selectedItem = $selectedItem
8966
9018
  ? $selectedItem.add($choice)
8967
9019
  : $choice;
@@ -9022,7 +9074,7 @@
9022
9074
  return false;
9023
9075
  }
9024
9076
 
9025
- return true;
9077
+ return false;
9026
9078
  },
9027
9079
  disabled: function () {
9028
9080
  $search.attr('tabindex', module.is.disabled() ? -1 : 0);
@@ -9112,7 +9164,7 @@
9112
9164
  $.each(values, function (value, name) {
9113
9165
  module.set.text(name);
9114
9166
  });
9115
- } else {
9167
+ } else if (settings.useLabels) {
9116
9168
  $.each(values, function (value, name) {
9117
9169
  module.add.label(value, name);
9118
9170
  });
@@ -9259,7 +9311,7 @@
9259
9311
  valueIsSet = searchValue !== ''
9260
9312
  ;
9261
9313
  if (isMultiple && hasSearchValue) {
9262
- module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);
9314
+ module.verbose('Adjusting input width', searchWidth);
9263
9315
  $search.css('width', searchWidth + 'px');
9264
9316
  }
9265
9317
  if (hasSearchValue || (isSearchMultiple && valueIsSet)) {
@@ -9558,7 +9610,7 @@
9558
9610
  return false;
9559
9611
  }
9560
9612
  module.debug('Setting selected menu item to', $selectedItem);
9561
- if (module.is.multiple()) {
9613
+ if (module.is.multiple() && !keepSearchTerm) {
9562
9614
  module.remove.searchWidth();
9563
9615
  }
9564
9616
  if (module.is.single()) {
@@ -10533,12 +10585,12 @@
10533
10585
  show: function () {
10534
10586
  module.verbose('Delaying show event to ensure user intent');
10535
10587
  clearTimeout(module.timer);
10536
- module.timer = setTimeout(module.show, settings.delay.show);
10588
+ module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
10537
10589
  },
10538
10590
  hide: function () {
10539
10591
  module.verbose('Delaying hide event to ensure user intent');
10540
10592
  clearTimeout(module.timer);
10541
- module.timer = setTimeout(module.hide, settings.delay.hide);
10593
+ module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
10542
10594
  },
10543
10595
  },
10544
10596
 
@@ -10664,7 +10716,7 @@
10664
10716
  });
10665
10717
  }
10666
10718
  clearTimeout(module.performance.timer);
10667
- module.performance.timer = setTimeout(module.performance.display, 500);
10719
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
10668
10720
  },
10669
10721
  display: function () {
10670
10722
  var
@@ -10801,6 +10853,7 @@
10801
10853
  forceSelection: false, // force a choice on blur with search selection
10802
10854
 
10803
10855
  allowAdditions: false, // whether multiple select should allow user added values
10856
+ keepSearchTerm: false, // whether the search value should be kept and menu stays filtered on item selection
10804
10857
  ignoreCase: false, // whether to consider case sensitivity when creating labels
10805
10858
  ignoreSearchCase: true, // whether to consider case sensitivity when filtering items
10806
10859
  hideAdditions: true, // whether or not to hide special message prompting a user they can enter a value
@@ -10820,8 +10873,6 @@
10820
10873
  duration: 200, // duration of transition
10821
10874
  displayType: false, // displayType of transition
10822
10875
 
10823
- glyphWidth: 1.037, // widest glyph width in em (W is 1.037 em) used to calculate multiselect input width
10824
-
10825
10876
  headerDivider: true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
10826
10877
 
10827
10878
  collapseOnActionable: true, // whether the dropdown should collapse upon selection of an actionable item
@@ -11144,7 +11195,7 @@
11144
11195
  })(jQuery, window, document);
11145
11196
 
11146
11197
  /*!
11147
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Embed
11198
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Embed
11148
11199
  * https://github.com/fomantic/Fomantic-UI/
11149
11200
  *
11150
11201
  *
@@ -11585,7 +11636,7 @@
11585
11636
  });
11586
11637
  }
11587
11638
  clearTimeout(module.performance.timer);
11588
- module.performance.timer = setTimeout(module.performance.display, 500);
11639
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
11589
11640
  },
11590
11641
  display: function () {
11591
11642
  var
@@ -11823,7 +11874,7 @@
11823
11874
  })(jQuery, window, document);
11824
11875
 
11825
11876
  /*!
11826
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Flyout
11877
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Flyout
11827
11878
  * https://github.com/fomantic/Fomantic-UI/
11828
11879
  *
11829
11880
  *
@@ -12349,7 +12400,9 @@
12349
12400
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
12350
12401
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
12351
12402
  shouldRefreshInputs = true;
12352
- ignoreAutofocus = false;
12403
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
12404
+ ignoreAutofocus = false;
12405
+ }
12353
12406
  }
12354
12407
  }
12355
12408
 
@@ -13069,7 +13122,7 @@
13069
13122
  });
13070
13123
  }
13071
13124
  clearTimeout(module.performance.timer);
13072
- module.performance.timer = setTimeout(module.performance.display, 500);
13125
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
13073
13126
  },
13074
13127
  display: function () {
13075
13128
  var
@@ -13402,7 +13455,7 @@
13402
13455
  })(jQuery, window, document);
13403
13456
 
13404
13457
  /*!
13405
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Modal
13458
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Modal
13406
13459
  * https://github.com/fomantic/Fomantic-UI/
13407
13460
  *
13408
13461
  *
@@ -13693,7 +13746,9 @@
13693
13746
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
13694
13747
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
13695
13748
  shouldRefreshInputs = true;
13696
- ignoreAutofocus = false;
13749
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
13750
+ ignoreAutofocus = false;
13751
+ }
13697
13752
  }
13698
13753
  }
13699
13754
 
@@ -13928,7 +13983,7 @@
13928
13983
  },
13929
13984
  debounce: function (method, delay) {
13930
13985
  clearTimeout(module.timer);
13931
- module.timer = setTimeout(method, delay);
13986
+ module.timer = setTimeout(function () { method(); }, delay);
13932
13987
  },
13933
13988
  keyboard: function (event) {
13934
13989
  var
@@ -14023,7 +14078,7 @@
14023
14078
  ignoreRepeatedEvents = false;
14024
14079
  if (settings.allowMultiple) {
14025
14080
  if (module.others.active()) {
14026
- $otherModals.filter('.' + className.active).find(selector.dimmer).addClass('active');
14081
+ $otherModals.filter('.' + className.active).find(selector.dimmer).removeClass('out').addClass('transition fade in active');
14027
14082
  }
14028
14083
 
14029
14084
  if (settings.detachable) {
@@ -14095,6 +14150,8 @@
14095
14150
  onStart: function () {
14096
14151
  if (!module.others.active() && !module.others.animating() && !keepDimmed) {
14097
14152
  module.hideDimmer();
14153
+ } else if (settings.allowMultiple) {
14154
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('in').addClass('out');
14098
14155
  }
14099
14156
  if (settings.keyboardShortcuts && !module.others.active()) {
14100
14157
  module.remove.keyboardShortcuts();
@@ -14107,11 +14164,7 @@
14107
14164
  $previousModal.addClass(className.front);
14108
14165
  $module.removeClass(className.front);
14109
14166
 
14110
- if (hideOthersToo) {
14111
- $allModals.find(selector.dimmer).removeClass('active');
14112
- } else {
14113
- $previousModal.find(selector.dimmer).removeClass('active');
14114
- }
14167
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('active');
14115
14168
  }
14116
14169
  if (isFunction(settings.onHidden)) {
14117
14170
  settings.onHidden.call(element);
@@ -14676,7 +14729,7 @@
14676
14729
  });
14677
14730
  }
14678
14731
  clearTimeout(module.performance.timer);
14679
- module.performance.timer = setTimeout(module.performance.display, 500);
14732
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
14680
14733
  },
14681
14734
  display: function () {
14682
14735
  var
@@ -15036,7 +15089,7 @@
15036
15089
  })(jQuery, window, document);
15037
15090
 
15038
15091
  /*!
15039
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Nag
15092
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Nag
15040
15093
  * https://github.com/fomantic/Fomantic-UI/
15041
15094
  *
15042
15095
  *
@@ -15125,7 +15178,7 @@
15125
15178
  }
15126
15179
 
15127
15180
  if (settings.displayTime > 0) {
15128
- setTimeout(module.hide, settings.displayTime);
15181
+ setTimeout(function () { module.hide(); }, settings.displayTime);
15129
15182
  }
15130
15183
  module.show();
15131
15184
  },
@@ -15414,7 +15467,7 @@
15414
15467
  });
15415
15468
  }
15416
15469
  clearTimeout(module.performance.timer);
15417
- module.performance.timer = setTimeout(module.performance.display, 500);
15470
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
15418
15471
  },
15419
15472
  display: function () {
15420
15473
  var
@@ -15597,7 +15650,7 @@
15597
15650
  })(jQuery, window, document);
15598
15651
 
15599
15652
  /*!
15600
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Popup
15653
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Popup
15601
15654
  * https://github.com/fomantic/Fomantic-UI/
15602
15655
  *
15603
15656
  *
@@ -15792,7 +15845,7 @@
15792
15845
  ;
15793
15846
  clearTimeout(module.hideTimer);
15794
15847
  if (!openedWithTouch || (openedWithTouch && settings.addTouchEvents)) {
15795
- module.showTimer = setTimeout(module.show, delay);
15848
+ module.showTimer = setTimeout(function () { module.show(); }, delay);
15796
15849
  }
15797
15850
  },
15798
15851
  end: function () {
@@ -15802,7 +15855,7 @@
15802
15855
  : settings.delay
15803
15856
  ;
15804
15857
  clearTimeout(module.showTimer);
15805
- module.hideTimer = setTimeout(module.hide, delay);
15858
+ module.hideTimer = setTimeout(function () { module.hide(); }, delay);
15806
15859
  },
15807
15860
  touchstart: function (event) {
15808
15861
  openedWithTouch = true;
@@ -15846,9 +15899,11 @@
15846
15899
  // generates popup html from metadata
15847
15900
  create: function () {
15848
15901
  var
15902
+ targetSibling = $target.next(selector.popup),
15903
+ contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false,
15849
15904
  html = module.get.html(),
15850
15905
  title = module.get.title(),
15851
- content = module.get.content()
15906
+ content = module.get.content(contentFallback)
15852
15907
  ;
15853
15908
 
15854
15909
  if (html || content || title) {
@@ -15889,10 +15944,10 @@
15889
15944
  if (settings.hoverable) {
15890
15945
  module.bind.popup();
15891
15946
  }
15892
- } else if ($target.next(selector.popup).length > 0) {
15947
+ } else if (targetSibling.length > 0) {
15893
15948
  module.verbose('Pre-existing popup found');
15894
15949
  settings.inline = true;
15895
- settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
15950
+ settings.popup = targetSibling.data(metadata.activator, $module);
15896
15951
  module.refresh();
15897
15952
  if (settings.hoverable) {
15898
15953
  module.bind.popup();
@@ -16082,10 +16137,10 @@
16082
16137
 
16083
16138
  return $module.data(metadata.title) || settings.title;
16084
16139
  },
16085
- content: function () {
16140
+ content: function (fallback) {
16086
16141
  $module.removeData(metadata.content);
16087
16142
 
16088
- return $module.data(metadata.content) || settings.content || $module.attr('title');
16143
+ return $module.data(metadata.content) || settings.content || fallback;
16089
16144
  },
16090
16145
  variation: function () {
16091
16146
  $module.removeData(metadata.variation);
@@ -16840,7 +16895,7 @@
16840
16895
  });
16841
16896
  }
16842
16897
  clearTimeout(module.performance.timer);
16843
- module.performance.timer = setTimeout(module.performance.display, 500);
16898
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
16844
16899
  },
16845
16900
  display: function () {
16846
16901
  var
@@ -17151,7 +17206,7 @@
17151
17206
  })(jQuery, window, document);
17152
17207
 
17153
17208
  /*!
17154
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Progress
17209
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Progress
17155
17210
  * https://github.com/fomantic/Fomantic-UI/
17156
17211
  *
17157
17212
  *
@@ -17943,7 +17998,7 @@
17943
17998
  });
17944
17999
  }
17945
18000
  clearTimeout(module.performance.timer);
17946
- module.performance.timer = setTimeout(module.performance.display, 500);
18001
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
17947
18002
  },
17948
18003
  display: function () {
17949
18004
  var
@@ -18129,7 +18184,7 @@
18129
18184
  })(jQuery, window, document);
18130
18185
 
18131
18186
  /*!
18132
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Slider
18187
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Slider
18133
18188
  * https://github.com/fomantic/Fomantic-UI/
18134
18189
  *
18135
18190
  *
@@ -18265,20 +18320,32 @@
18265
18320
  $module.attr('tabindex', 0);
18266
18321
  }
18267
18322
  if ($module.find('.inner').length === 0) {
18268
- $module.append("<div class='inner'>"
18269
- + "<div class='track'></div>"
18270
- + "<div class='track-fill'></div>"
18271
- + "<div class='thumb'></div>"
18323
+ $module.append('<div class="inner">'
18324
+ + '<div class="track"></div>'
18325
+ + '<div class="track-fill"></div>'
18326
+ + '<div class="thumb"></div>'
18272
18327
  + '</div>');
18273
18328
  }
18274
18329
  precision = module.get.precision();
18275
18330
  $thumb = $module.find('.thumb:not(.second)');
18331
+ if (settings.showThumbTooltip) {
18332
+ $thumb
18333
+ .attr('data-position', settings.tooltipConfig.position)
18334
+ .attr('data-variation', settings.tooltipConfig.variation)
18335
+ ;
18336
+ }
18276
18337
  $currThumb = $thumb;
18277
18338
  if (module.is.range()) {
18278
18339
  if ($module.find('.thumb.second').length === 0) {
18279
- $module.find('.inner').append("<div class='thumb second'></div>");
18340
+ $module.find('.inner').append('<div class="thumb second"></div>');
18280
18341
  }
18281
18342
  $secondThumb = $module.find('.thumb.second');
18343
+ if (settings.showThumbTooltip) {
18344
+ $secondThumb
18345
+ .attr('data-position', settings.tooltipConfig.position)
18346
+ .attr('data-variation', settings.tooltipConfig.variation)
18347
+ ;
18348
+ }
18282
18349
  }
18283
18350
  $track = $module.find('.track');
18284
18351
  $trackFill = $module.find('.track-fill');
@@ -18332,9 +18399,10 @@
18332
18399
  for (var i = 0, len = module.get.numLabels(); i <= len; i++) {
18333
18400
  var
18334
18401
  labelText = module.get.label(i),
18335
- $label = labelText !== ''
18402
+ showLabel = settings.restrictedLabels.length === 0 || settings.restrictedLabels.indexOf(labelText) >= 0,
18403
+ $label = labelText !== '' && (showLabel || settings.showLabelTicks === 'always')
18336
18404
  ? (!(i % module.get.gapRatio())
18337
- ? $('<li class="label">' + labelText + '</li>')
18405
+ ? $('<li class="label">' + (showLabel ? labelText : '') + '</li>')
18338
18406
  : $('<li class="halftick label"></li>'))
18339
18407
  : null,
18340
18408
  ratio = i / len
@@ -18478,6 +18546,18 @@
18478
18546
  ;
18479
18547
  $currThumb = initialPosition > newPos ? $thumb : $secondThumb;
18480
18548
  }
18549
+ if (module.is.range() && (settings.minRange || settings.maxRange)) {
18550
+ var currentRangeDiff = module.get.currentRangeDiff(value),
18551
+ isSecondThumb = $currThumb.hasClass('second')
18552
+ ;
18553
+ if ((settings.minRange && currentRangeDiff < settings.minRange)
18554
+ || (settings.maxRange && currentRangeDiff > settings.maxRange)
18555
+ || (settings.preventCrossover && !isSecondThumb && value > module.secondThumbVal)
18556
+ || (settings.preventCrossover && isSecondThumb && value < module.thumbVal)
18557
+ ) {
18558
+ return;
18559
+ }
18560
+ }
18481
18561
  if (module.get.step() === 0 || module.is.smooth()) {
18482
18562
  var
18483
18563
  thumbVal = module.thumbVal,
@@ -18513,6 +18593,17 @@
18513
18593
  return;
18514
18594
  }
18515
18595
  var value = module.determine.valueFromEvent(event);
18596
+ if (module.is.range() && (settings.minRange || settings.maxRange)) {
18597
+ if ($currThumb === undefined) {
18598
+ $currThumb = value <= module.get.currentThumbValue() ? $thumb : $secondThumb;
18599
+ }
18600
+ var currentRangeDiff = module.get.currentRangeDiff(value);
18601
+ if (settings.minRange && currentRangeDiff < settings.minRange) {
18602
+ value = module.get.edgeValue(value, settings.minRange);
18603
+ } else if (settings.maxRange && currentRangeDiff > settings.maxRange) {
18604
+ value = module.get.edgeValue(value, settings.maxRange);
18605
+ }
18606
+ }
18516
18607
  module.set.value(value);
18517
18608
  module.unbind.slidingEvents();
18518
18609
  touchIdentifier = undefined;
@@ -18633,7 +18724,13 @@
18633
18724
 
18634
18725
  is: {
18635
18726
  range: function () {
18636
- return $module.hasClass(settings.className.range);
18727
+ var isRange = $module.hasClass(className.range);
18728
+ if (!isRange && (settings.minRange || settings.maxRange)) {
18729
+ $module.addClass(className.range);
18730
+ isRange = true;
18731
+ }
18732
+
18733
+ return isRange;
18637
18734
  },
18638
18735
  hover: function () {
18639
18736
  return isHover;
@@ -18642,23 +18739,56 @@
18642
18739
  return $module.is(':focus');
18643
18740
  },
18644
18741
  disabled: function () {
18645
- return $module.hasClass(settings.className.disabled);
18742
+ return $module.hasClass(className.disabled);
18646
18743
  },
18647
18744
  labeled: function () {
18648
- return $module.hasClass(settings.className.labeled);
18745
+ var isLabeled = $module.hasClass(className.labeled);
18746
+ if (!isLabeled && (settings.restrictedLabels.length > 0 || settings.showLabelTicks !== false)) {
18747
+ $module.addClass(className.labeled);
18748
+ isLabeled = true;
18749
+ }
18750
+
18751
+ return isLabeled;
18649
18752
  },
18650
18753
  reversed: function () {
18651
- return $module.hasClass(settings.className.reversed);
18754
+ return $module.hasClass(className.reversed);
18652
18755
  },
18653
18756
  vertical: function () {
18654
- return $module.hasClass(settings.className.vertical);
18757
+ return $module.hasClass(className.vertical);
18655
18758
  },
18656
18759
  smooth: function () {
18657
- return settings.smooth || $module.hasClass(settings.className.smooth);
18760
+ return settings.smooth || $module.hasClass(className.smooth);
18658
18761
  },
18659
18762
  },
18660
18763
 
18661
18764
  get: {
18765
+ currentRangeDiff: function (value) {
18766
+ var currentRangeDiff;
18767
+ if ($currThumb.hasClass('second')) {
18768
+ currentRangeDiff = module.thumbVal < value
18769
+ ? value - module.thumbVal
18770
+ : module.thumbVal - value;
18771
+ } else {
18772
+ currentRangeDiff = module.secondThumbVal > value
18773
+ ? module.secondThumbVal - value
18774
+ : value - module.secondThumbVal;
18775
+ }
18776
+
18777
+ return currentRangeDiff;
18778
+ },
18779
+ edgeValue: function (value, edgeValue) {
18780
+ if ($currThumb.hasClass('second')) {
18781
+ value = module.thumbVal < value
18782
+ ? module.thumbVal + edgeValue
18783
+ : module.thumbVal - edgeValue;
18784
+ } else {
18785
+ value = module.secondThumbVal < value
18786
+ ? module.secondThumbVal + edgeValue
18787
+ : module.secondThumbVal - edgeValue;
18788
+ }
18789
+
18790
+ return value;
18791
+ },
18662
18792
  trackOffset: function () {
18663
18793
  if (module.is.vertical()) {
18664
18794
  return $track.offset().top;
@@ -18729,7 +18859,8 @@
18729
18859
  var
18730
18860
  step = module.get.step(),
18731
18861
  min = module.get.min(),
18732
- quotient = step === 0 ? 0 : Math.floor((settings.max - min) / step),
18862
+ precision = module.get.precision(),
18863
+ quotient = step === 0 ? 0 : Math.floor(Math.round(((settings.max - min) / step) * precision) / precision),
18733
18864
  remainder = step === 0 ? 0 : (settings.max - min) % step
18734
18865
  ;
18735
18866
 
@@ -18739,7 +18870,9 @@
18739
18870
  return settings.step;
18740
18871
  },
18741
18872
  numLabels: function () {
18742
- var value = Math.round((module.get.max() - module.get.min()) / (module.get.step() === 0 ? 1 : module.get.step()));
18873
+ var step = module.get.step(),
18874
+ precision = module.get.precision(),
18875
+ value = Math.round(((module.get.max() - module.get.min()) / (step === 0 ? 1 : step)) * precision) / precision;
18743
18876
  module.debug('Determined that there should be ' + value + ' labels');
18744
18877
 
18745
18878
  return value;
@@ -18754,7 +18887,9 @@
18754
18887
 
18755
18888
  switch (settings.labelType) {
18756
18889
  case settings.labelTypes.number: {
18757
- return Math.round(((value * (module.get.step() === 0 ? 1 : module.get.step())) + module.get.min()) * precision) / precision;
18890
+ var step = module.get.step();
18891
+
18892
+ return Math.round(((value * (step === 0 ? 1 : step)) + module.get.min()) * precision) / precision;
18758
18893
  }
18759
18894
  case settings.labelTypes.letter: {
18760
18895
  return alphabet[value % 26];
@@ -18862,13 +18997,10 @@
18862
18997
  return thumbDelta <= secondThumbDelta ? thumbPos : secondThumbPos;
18863
18998
  },
18864
18999
  thumbPos: function ($element) {
18865
- var
18866
- pos = module.is.vertical()
18867
- ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
18868
- : (module.is.reversed() ? $element.css('right') : $element.css('left'))
19000
+ return module.is.vertical()
19001
+ ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
19002
+ : (module.is.reversed() ? $element.css('right') : $element.css('left'))
18869
19003
  ;
18870
-
18871
- return pos;
18872
19004
  },
18873
19005
  positionFromValue: function (val) {
18874
19006
  var
@@ -18892,6 +19024,7 @@
18892
19024
  position = Math.round(ratio * trackLength),
18893
19025
  adjustedPos = step === 0 ? position : Math.round(position / step) * step
18894
19026
  ;
19027
+ module.verbose('Determined position: ' + position + ' from ratio: ' + ratio);
18895
19028
 
18896
19029
  return adjustedPos;
18897
19030
  },
@@ -19115,12 +19248,12 @@
19115
19248
  }
19116
19249
  if (!$currThumb.hasClass('second')) {
19117
19250
  if (settings.preventCrossover && module.is.range()) {
19118
- newValue = Math.min(module.secondThumbVal, newValue);
19251
+ newValue = Math.min(module.secondThumbVal - (settings.minRange || 0), newValue);
19119
19252
  }
19120
19253
  module.thumbVal = newValue;
19121
19254
  } else {
19122
19255
  if (settings.preventCrossover && module.is.range()) {
19123
- newValue = Math.max(module.thumbVal, newValue);
19256
+ newValue = Math.max(module.thumbVal + (settings.minRange || 0), newValue);
19124
19257
  }
19125
19258
  module.secondThumbVal = newValue;
19126
19259
  }
@@ -19139,6 +19272,10 @@
19139
19272
  thumbVal = module.thumbVal || module.get.min(),
19140
19273
  secondThumbVal = module.secondThumbVal || module.get.min()
19141
19274
  ;
19275
+ if (settings.showThumbTooltip) {
19276
+ var precision = module.get.precision();
19277
+ $targetThumb.attr('data-tooltip', Math.round(newValue * precision) / precision);
19278
+ }
19142
19279
  if (module.is.range()) {
19143
19280
  if (!$targetThumb.hasClass('second')) {
19144
19281
  position = newPos;
@@ -19227,6 +19364,14 @@
19227
19364
  settings: function () {
19228
19365
  if (settings.start !== false) {
19229
19366
  if (module.is.range()) {
19367
+ var rangeDiff = settings.end - settings.start;
19368
+ if (rangeDiff < 0
19369
+ || (settings.minRange && rangeDiff < settings.minRange)
19370
+ || (settings.maxRange && rangeDiff > settings.maxRange)
19371
+ || (settings.minRange && settings.maxRange && settings.minRange > settings.maxRange)
19372
+ ) {
19373
+ module.error(error.invalidRanges, settings.start, settings.end, settings.minRange, settings.maxRange);
19374
+ }
19230
19375
  module.debug('Start position set from settings', settings.start, settings.end);
19231
19376
  module.set.rangeValue(settings.start, settings.end);
19232
19377
  } else {
@@ -19307,7 +19452,7 @@
19307
19452
  });
19308
19453
  }
19309
19454
  clearTimeout(module.performance.timer);
19310
- module.performance.timer = setTimeout(module.performance.display, 500);
19455
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19311
19456
  },
19312
19457
  display: function () {
19313
19458
  var
@@ -19419,6 +19564,7 @@
19419
19564
  error: {
19420
19565
  method: 'The method you called is not defined.',
19421
19566
  notrange: 'This slider is not a range slider',
19567
+ invalidRanges: 'Invalid range settings (start/end/minRange/maxRange)',
19422
19568
  },
19423
19569
 
19424
19570
  metadata: {
@@ -19431,6 +19577,8 @@
19431
19577
  step: 1,
19432
19578
  start: 0,
19433
19579
  end: 20,
19580
+ minRange: false,
19581
+ maxRange: false,
19434
19582
  labelType: 'number',
19435
19583
  showLabelTicks: false,
19436
19584
  smooth: false,
@@ -19467,6 +19615,13 @@
19467
19615
  downArrow: 40,
19468
19616
  },
19469
19617
 
19618
+ restrictedLabels: [],
19619
+ showThumbTooltip: false,
19620
+ tooltipConfig: {
19621
+ position: 'top center',
19622
+ variation: 'tiny black',
19623
+ },
19624
+
19470
19625
  labelTypes: {
19471
19626
  number: 'number',
19472
19627
  letter: 'letter',
@@ -19478,7 +19633,7 @@
19478
19633
  })(jQuery, window, document);
19479
19634
 
19480
19635
  /*!
19481
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Rating
19636
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Rating
19482
19637
  * https://github.com/fomantic/Fomantic-UI/
19483
19638
  *
19484
19639
  *
@@ -19847,7 +20002,7 @@
19847
20002
  });
19848
20003
  }
19849
20004
  clearTimeout(module.performance.timer);
19850
- module.performance.timer = setTimeout(module.performance.display, 500);
20005
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19851
20006
  },
19852
20007
  display: function () {
19853
20008
  var
@@ -20017,7 +20172,7 @@
20017
20172
  })(jQuery, window, document);
20018
20173
 
20019
20174
  /*!
20020
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Search
20175
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Search
20021
20176
  * https://github.com/fomantic/Fomantic-UI/
20022
20177
  *
20023
20178
  *
@@ -20187,7 +20342,7 @@
20187
20342
  callback = function () {
20188
20343
  module.cancel.query();
20189
20344
  module.remove.focus();
20190
- module.timer = setTimeout(module.hideResults, settings.hideDelay);
20345
+ module.timer = setTimeout(function () { module.hideResults(); }, settings.hideDelay);
20191
20346
  }
20192
20347
  ;
20193
20348
  if (pageLostFocus) {
@@ -20579,6 +20734,7 @@
20579
20734
  if (cache) {
20580
20735
  module.debug('Reading result from cache', searchTerm);
20581
20736
  module.save.results(cache.results);
20737
+ settings.onResults.call(element, cache.results, true);
20582
20738
  module.addResults(cache.html);
20583
20739
  module.inject.id(cache.results);
20584
20740
  callback();
@@ -21188,7 +21344,7 @@
21188
21344
  });
21189
21345
  }
21190
21346
  clearTimeout(module.performance.timer);
21191
- module.performance.timer = setTimeout(module.performance.display, 500);
21347
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
21192
21348
  },
21193
21349
  display: function () {
21194
21350
  var
@@ -21363,7 +21519,7 @@
21363
21519
  onResultsAdd: false,
21364
21520
 
21365
21521
  onSearchQuery: function (query) {},
21366
- onResults: function (response) {},
21522
+ onResults: function (response, fromCache) {},
21367
21523
 
21368
21524
  onResultsOpen: function () {},
21369
21525
  onResultsClose: function () {},
@@ -21594,7 +21750,7 @@
21594
21750
  })(jQuery, window, document);
21595
21751
 
21596
21752
  /*!
21597
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Shape
21753
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Shape
21598
21754
  * https://github.com/fomantic/Fomantic-UI/
21599
21755
  *
21600
21756
  *
@@ -22218,7 +22374,7 @@
22218
22374
  });
22219
22375
  }
22220
22376
  clearTimeout(module.performance.timer);
22221
- module.performance.timer = setTimeout(module.performance.display, 500);
22377
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
22222
22378
  },
22223
22379
  display: function () {
22224
22380
  var
@@ -22390,7 +22546,7 @@
22390
22546
  })(jQuery, window, document);
22391
22547
 
22392
22548
  /*!
22393
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Sidebar
22549
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Sidebar
22394
22550
  * https://github.com/fomantic/Fomantic-UI/
22395
22551
  *
22396
22552
  *
@@ -23289,7 +23445,7 @@
23289
23445
  });
23290
23446
  }
23291
23447
  clearTimeout(module.performance.timer);
23292
- module.performance.timer = setTimeout(module.performance.display, 500);
23448
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
23293
23449
  },
23294
23450
  display: function () {
23295
23451
  var
@@ -23473,7 +23629,7 @@
23473
23629
  })(jQuery, window, document);
23474
23630
 
23475
23631
  /*!
23476
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Sticky
23632
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Sticky
23477
23633
  * https://github.com/fomantic/Fomantic-UI/
23478
23634
  *
23479
23635
  *
@@ -24220,7 +24376,7 @@
24220
24376
  });
24221
24377
  }
24222
24378
  clearTimeout(module.performance.timer);
24223
- module.performance.timer = setTimeout(module.performance.display, 0);
24379
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 0);
24224
24380
  },
24225
24381
  display: function () {
24226
24382
  var
@@ -24389,7 +24545,7 @@
24389
24545
  })(jQuery, window, document);
24390
24546
 
24391
24547
  /*!
24392
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Tab
24548
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Tab
24393
24549
  * https://github.com/fomantic/Fomantic-UI/
24394
24550
  *
24395
24551
  *
@@ -24489,7 +24645,7 @@
24489
24645
  module.bind.events();
24490
24646
 
24491
24647
  if (settings.history && !initializedHistory) {
24492
- module.initializeHistory();
24648
+ settings.history = module.initializeHistory();
24493
24649
  initializedHistory = true;
24494
24650
  }
24495
24651
 
@@ -24499,7 +24655,7 @@
24499
24655
  module.debug('No active tab detected, setting tab active', activeTab);
24500
24656
  module.changeTab(activeTab);
24501
24657
  }
24502
- if (activeTab !== null && settings.history) {
24658
+ if (activeTab !== null && settings.history && settings.historyType === 'state') {
24503
24659
  var autoUpdate = $.address.autoUpdate();
24504
24660
  $.address.autoUpdate(false);
24505
24661
  $.address.value(activeTab);
@@ -24592,6 +24748,8 @@
24592
24748
  $.address
24593
24749
  .bind('change', module.event.history.change)
24594
24750
  ;
24751
+
24752
+ return true;
24595
24753
  },
24596
24754
 
24597
24755
  event: {
@@ -25176,7 +25334,7 @@
25176
25334
  });
25177
25335
  }
25178
25336
  clearTimeout(module.performance.timer);
25179
- module.performance.timer = setTimeout(module.performance.display, 500);
25337
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
25180
25338
  },
25181
25339
  display: function () {
25182
25340
  var
@@ -25353,7 +25511,7 @@
25353
25511
  })(jQuery, window, document);
25354
25512
 
25355
25513
  /*!
25356
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Toast
25514
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Toast
25357
25515
  * https://github.com/fomantic/Fomantic-UI/
25358
25516
  *
25359
25517
  *
@@ -26056,7 +26214,7 @@
26056
26214
  });
26057
26215
  }
26058
26216
  clearTimeout(module.performance.timer);
26059
- module.performance.timer = setTimeout(module.performance.display, 500);
26217
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
26060
26218
  },
26061
26219
  display: function () {
26062
26220
  var
@@ -26314,7 +26472,7 @@
26314
26472
  })(jQuery, window, document);
26315
26473
 
26316
26474
  /*!
26317
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Transition
26475
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Transition
26318
26476
  * https://github.com/fomantic/Fomantic-UI/
26319
26477
  *
26320
26478
  *
@@ -26457,7 +26615,7 @@
26457
26615
  ? ($allModules.length - index) * interval
26458
26616
  : index * interval;
26459
26617
  module.debug('Delaying animation by', delay);
26460
- setTimeout(module.animate, delay);
26618
+ setTimeout(function () { module.animate(); }, delay);
26461
26619
  },
26462
26620
 
26463
26621
  animate: function (overrideSettings) {
@@ -27164,7 +27322,7 @@
27164
27322
  });
27165
27323
  }
27166
27324
  clearTimeout(module.performance.timer);
27167
- module.performance.timer = setTimeout(module.performance.display, 500);
27325
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
27168
27326
  },
27169
27327
  display: function () {
27170
27328
  var
@@ -27345,7 +27503,7 @@
27345
27503
  })(jQuery, window, document);
27346
27504
 
27347
27505
  /*!
27348
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - API
27506
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - API
27349
27507
  * https://github.com/fomantic/Fomantic-UI/
27350
27508
  *
27351
27509
  *
@@ -27404,6 +27562,7 @@
27404
27562
  : $.extend({}, $.fn.api.settings),
27405
27563
 
27406
27564
  // internal aliases
27565
+ regExp = settings.regExp,
27407
27566
  namespace = settings.namespace,
27408
27567
  metadata = settings.metadata,
27409
27568
  selector = settings.selector,
@@ -27706,8 +27865,8 @@
27706
27865
  optionalVariables
27707
27866
  ;
27708
27867
  if (url) {
27709
- requiredVariables = url.match(settings.regExp.required);
27710
- optionalVariables = url.match(settings.regExp.optional);
27868
+ requiredVariables = url.match(regExp.required);
27869
+ optionalVariables = url.match(regExp.optional);
27711
27870
  urlData = urlData || settings.urlData;
27712
27871
  if (requiredVariables) {
27713
27872
  module.debug('Looking for required URL variables', requiredVariables);
@@ -27804,7 +27963,7 @@
27804
27963
  });
27805
27964
  });
27806
27965
  $.each(formArray, function (i, el) {
27807
- if (!settings.regExp.validate.test(el.name)) {
27966
+ if (!regExp.validate.test(el.name)) {
27808
27967
  return;
27809
27968
  }
27810
27969
  var
@@ -27815,7 +27974,7 @@
27815
27974
  || (String(floatValue) === el.value
27816
27975
  ? floatValue
27817
27976
  : (el.value === 'false' ? false : el.value)),
27818
- nameKeys = el.name.match(settings.regExp.key) || [],
27977
+ nameKeys = el.name.match(regExp.key) || [],
27819
27978
  pushKey = el.name.replace(/\[]$/, '')
27820
27979
  ;
27821
27980
  if (!(pushKey in pushes)) {
@@ -27835,9 +27994,9 @@
27835
27994
 
27836
27995
  if (k === '' && !Array.isArray(value)) { // foo[]
27837
27996
  value = build([], pushes[pushKey]++, value);
27838
- } else if (settings.regExp.fixed.test(k)) { // foo[n]
27997
+ } else if (regExp.fixed.test(k)) { // foo[n]
27839
27998
  value = build([], k, value);
27840
- } else if (settings.regExp.named.test(k)) { // foo; foo[bar]
27999
+ } else if (regExp.named.test(k)) { // foo; foo[bar]
27841
28000
  value = build({}, k, value);
27842
28001
  }
27843
28002
  }
@@ -27992,7 +28151,7 @@
27992
28151
  module.debug('Adding error state');
27993
28152
  module.set.error();
27994
28153
  if (module.should.removeError()) {
27995
- setTimeout(module.remove.error, settings.errorDuration);
28154
+ setTimeout(function () { module.remove.error(); }, settings.errorDuration);
27996
28155
  }
27997
28156
  }
27998
28157
  module.debug('API Request failed', errorMessage, xhr);
@@ -28316,7 +28475,7 @@
28316
28475
  });
28317
28476
  }
28318
28477
  clearTimeout(module.performance.timer);
28319
- module.performance.timer = setTimeout(module.performance.display, 500);
28478
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
28320
28479
  },
28321
28480
  display: function () {
28322
28481
  var
@@ -28566,7 +28725,7 @@
28566
28725
  })(jQuery, window, document);
28567
28726
 
28568
28727
  /*!
28569
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - State
28728
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - State
28570
28729
  * https://github.com/fomantic/Fomantic-UI/
28571
28730
  *
28572
28731
  *
@@ -29049,7 +29208,7 @@
29049
29208
  });
29050
29209
  }
29051
29210
  clearTimeout(module.performance.timer);
29052
- module.performance.timer = setTimeout(module.performance.display, 500);
29211
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
29053
29212
  },
29054
29213
  display: function () {
29055
29214
  var
@@ -29262,7 +29421,7 @@
29262
29421
  })(jQuery, window, document);
29263
29422
 
29264
29423
  /*!
29265
- * # Fomantic-UI 2.9.3-beta.7+81f7c2c - Visibility
29424
+ * # Fomantic-UI 2.9.3-beta.70+9dc98bd - Visibility
29266
29425
  * https://github.com/fomantic/Fomantic-UI/
29267
29426
  *
29268
29427
  *
@@ -30351,7 +30510,7 @@
30351
30510
  });
30352
30511
  }
30353
30512
  clearTimeout(module.performance.timer);
30354
- module.performance.timer = setTimeout(module.performance.display, 500);
30513
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
30355
30514
  },
30356
30515
  display: function () {
30357
30516
  var