fomantic-ui 2.9.4-beta.5 → 2.9.4-beta.51

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 (248) hide show
  1. package/.all-contributorsrc +20 -1
  2. package/.eslintrc.js +17 -0
  3. package/.github/FUNDING.yml +1 -1
  4. package/.github/workflows/ci.yml +5 -5
  5. package/.github/workflows/depsreview.yml +14 -0
  6. package/.github/workflows/nightly.yml +1 -1
  7. package/.github/workflows/release.yml +1 -1
  8. package/CONTRIBUTORS.md +2 -0
  9. package/README.md +2 -12
  10. package/dist/components/accordion.css +1 -1
  11. package/dist/components/accordion.js +4 -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 +7 -3
  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 +19 -3
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +1 -1
  23. package/dist/components/calendar.js +15 -3
  24. package/dist/components/calendar.min.css +1 -1
  25. package/dist/components/calendar.min.js +3 -3
  26. package/dist/components/card.css +1 -1
  27. package/dist/components/card.min.css +1 -1
  28. package/dist/components/checkbox.css +1 -1
  29. package/dist/components/checkbox.js +10 -4
  30. package/dist/components/checkbox.min.css +1 -1
  31. package/dist/components/checkbox.min.js +3 -3
  32. package/dist/components/comment.css +1 -1
  33. package/dist/components/comment.min.css +1 -1
  34. package/dist/components/container.css +1 -1
  35. package/dist/components/container.min.css +1 -1
  36. package/dist/components/dimmer.css +7 -3
  37. package/dist/components/dimmer.js +4 -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 +41 -38
  43. package/dist/components/dropdown.js +102 -33
  44. package/dist/components/dropdown.min.css +2 -2
  45. package/dist/components/dropdown.min.js +3 -3
  46. package/dist/components/embed.css +1 -1
  47. package/dist/components/embed.js +17 -7
  48. package/dist/components/embed.min.css +1 -1
  49. package/dist/components/embed.min.js +3 -3
  50. package/dist/components/emoji.css +1 -1
  51. package/dist/components/emoji.min.css +1 -1
  52. package/dist/components/feed.css +12 -1
  53. package/dist/components/feed.min.css +2 -2
  54. package/dist/components/flag.css +1 -1
  55. package/dist/components/flag.min.css +1 -1
  56. package/dist/components/flyout.css +1 -1
  57. package/dist/components/flyout.js +4 -2
  58. package/dist/components/flyout.min.css +1 -1
  59. package/dist/components/flyout.min.js +2 -2
  60. package/dist/components/form.css +15 -5
  61. package/dist/components/form.js +46 -20
  62. package/dist/components/form.min.css +2 -2
  63. package/dist/components/form.min.js +3 -3
  64. package/dist/components/grid.css +5 -5
  65. package/dist/components/grid.min.css +2 -2
  66. package/dist/components/header.css +4 -1
  67. package/dist/components/header.min.css +2 -2
  68. package/dist/components/icon.css +1 -1
  69. package/dist/components/icon.min.css +1 -1
  70. package/dist/components/image.css +1 -1
  71. package/dist/components/image.min.css +1 -1
  72. package/dist/components/input.css +30 -10
  73. package/dist/components/input.min.css +2 -2
  74. package/dist/components/item.css +1 -1
  75. package/dist/components/item.min.css +1 -1
  76. package/dist/components/label.css +1 -2
  77. package/dist/components/label.min.css +2 -2
  78. package/dist/components/list.css +1 -1
  79. package/dist/components/list.min.css +1 -1
  80. package/dist/components/loader.css +1 -1
  81. package/dist/components/loader.min.css +1 -1
  82. package/dist/components/menu.css +1 -2
  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 +1 -1
  87. package/dist/components/modal.js +7 -3
  88. package/dist/components/modal.min.css +1 -1
  89. package/dist/components/modal.min.js +2 -2
  90. package/dist/components/nag.css +1 -1
  91. package/dist/components/nag.js +11 -5
  92. package/dist/components/nag.min.css +1 -1
  93. package/dist/components/nag.min.js +3 -3
  94. package/dist/components/placeholder.css +1 -1
  95. package/dist/components/placeholder.min.css +1 -1
  96. package/dist/components/popup.css +1 -2
  97. package/dist/components/popup.js +10 -4
  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 +4 -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 +4 -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 +1 -1
  115. package/dist/components/search.js +67 -14
  116. package/dist/components/search.min.css +1 -1
  117. package/dist/components/search.min.js +3 -3
  118. package/dist/components/segment.css +1 -1
  119. package/dist/components/segment.min.css +1 -1
  120. package/dist/components/shape.css +1 -1
  121. package/dist/components/shape.js +4 -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 +4 -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 +14 -6
  129. package/dist/components/site.js +4 -2
  130. package/dist/components/site.min.css +2 -2
  131. package/dist/components/site.min.js +2 -2
  132. package/dist/components/slider.css +1 -1
  133. package/dist/components/slider.js +4 -2
  134. package/dist/components/slider.min.css +1 -1
  135. package/dist/components/slider.min.js +2 -2
  136. package/dist/components/state.js +4 -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 +4 -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 +4 -2
  148. package/dist/components/tab.min.css +1 -1
  149. package/dist/components/tab.min.js +2 -2
  150. package/dist/components/table.css +32 -21
  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 +1 -1
  155. package/dist/components/toast.js +7 -3
  156. package/dist/components/toast.min.css +1 -1
  157. package/dist/components/toast.min.js +3 -3
  158. package/dist/components/transition.css +1 -1
  159. package/dist/components/transition.js +7 -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 +4 -2
  163. package/dist/components/visibility.min.js +2 -2
  164. package/dist/semantic.css +239 -139
  165. package/dist/semantic.js +360 -130
  166. package/dist/semantic.min.css +3 -3
  167. package/dist/semantic.min.js +3 -3
  168. package/dist/themes/basic/assets/fonts/LICENSE.txt +91 -0
  169. package/dist/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  170. package/dist/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  171. package/dist/themes/github/assets/fonts/LICENSE.txt +94 -0
  172. package/dist/themes/material/assets/fonts/LICENSE.txt +202 -0
  173. package/package.json +3 -3
  174. package/src/definitions/behaviors/api.js +6 -2
  175. package/src/definitions/behaviors/form.js +45 -19
  176. package/src/definitions/behaviors/state.js +3 -1
  177. package/src/definitions/behaviors/visibility.js +3 -1
  178. package/src/definitions/collections/form.less +14 -4
  179. package/src/definitions/collections/grid.less +4 -4
  180. package/src/definitions/collections/table.less +69 -54
  181. package/src/definitions/elements/button.less +25 -3
  182. package/src/definitions/elements/header.less +5 -0
  183. package/src/definitions/elements/input.less +14 -6
  184. package/src/definitions/globals/site.js +3 -1
  185. package/src/definitions/globals/site.less +17 -12
  186. package/src/definitions/modules/accordion.js +3 -1
  187. package/src/definitions/modules/calendar.js +14 -2
  188. package/src/definitions/modules/checkbox.js +9 -3
  189. package/src/definitions/modules/dimmer.js +3 -1
  190. package/src/definitions/modules/dimmer.less +8 -5
  191. package/src/definitions/modules/dropdown.js +101 -32
  192. package/src/definitions/modules/dropdown.less +38 -27
  193. package/src/definitions/modules/embed.js +16 -6
  194. package/src/definitions/modules/flyout.js +3 -1
  195. package/src/definitions/modules/modal.js +6 -2
  196. package/src/definitions/modules/nag.js +10 -4
  197. package/src/definitions/modules/popup.js +9 -3
  198. package/src/definitions/modules/progress.js +3 -1
  199. package/src/definitions/modules/rating.js +3 -1
  200. package/src/definitions/modules/search.js +66 -13
  201. package/src/definitions/modules/search.less +9 -2
  202. package/src/definitions/modules/shape.js +3 -1
  203. package/src/definitions/modules/sidebar.js +3 -1
  204. package/src/definitions/modules/slider.js +3 -1
  205. package/src/definitions/modules/sticky.js +3 -1
  206. package/src/definitions/modules/tab.js +3 -1
  207. package/src/definitions/modules/toast.js +6 -2
  208. package/src/definitions/modules/transition.js +6 -2
  209. package/src/definitions/views/feed.less +11 -0
  210. package/src/themes/basic/assets/fonts/LICENSE.txt +91 -0
  211. package/src/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  212. package/src/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  213. package/src/themes/default/collections/form.variables +1 -0
  214. package/src/themes/default/elements/button.variables +2 -0
  215. package/src/themes/default/globals/site.variables +3 -0
  216. package/src/themes/default/globals/variation.variables +3 -0
  217. package/src/themes/default/modules/dropdown.variables +3 -0
  218. package/src/themes/default/modules/search.variables +3 -0
  219. package/src/themes/default/views/feed.variables +3 -0
  220. package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
  221. package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
  222. package/types/fomantic-ui-accordion.d.ts +1 -1
  223. package/types/fomantic-ui-api.d.ts +9 -3
  224. package/types/fomantic-ui-calendar.d.ts +93 -8
  225. package/types/fomantic-ui-checkbox.d.ts +14 -4
  226. package/types/fomantic-ui-dimmer.d.ts +1 -1
  227. package/types/fomantic-ui-dropdown.d.ts +48 -35
  228. package/types/fomantic-ui-embed.d.ts +19 -2
  229. package/types/fomantic-ui-flyout.d.ts +24 -10
  230. package/types/fomantic-ui-form.d.ts +123 -15
  231. package/types/fomantic-ui-modal.d.ts +75 -5
  232. package/types/fomantic-ui-nag.d.ts +4 -4
  233. package/types/fomantic-ui-popup.d.ts +11 -11
  234. package/types/fomantic-ui-progress.d.ts +12 -6
  235. package/types/fomantic-ui-rating.d.ts +1 -1
  236. package/types/fomantic-ui-search.d.ts +125 -14
  237. package/types/fomantic-ui-shape.d.ts +2 -2
  238. package/types/fomantic-ui-sidebar.d.ts +4 -4
  239. package/types/fomantic-ui-slider.d.ts +1 -1
  240. package/types/fomantic-ui-sticky.d.ts +1 -1
  241. package/types/fomantic-ui-tab.d.ts +5 -5
  242. package/types/fomantic-ui-toast.d.ts +14 -2
  243. package/types/fomantic-ui-transition.d.ts +29 -1
  244. package/types/fomantic-ui-visibility.d.ts +3 -3
  245. package/types/index.d.ts +25 -25
  246. package/types/tests.ts +188 -0
  247. package/types/tsconfig.json +1 -1
  248. package/types/fomantic-ui-tests.ts +0 -25
package/dist/semantic.js CHANGED
@@ -1,15 +1,15 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.4-beta.5+f855ed7
2
+ * # Fomantic UI - 2.9.4-beta.51+fa62639
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
6
- * Copyright 2023 Contributors
6
+ * Copyright 2024 Contributors
7
7
  * Released under the MIT license
8
8
  * https://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
11
  /*!
12
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Site
12
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Site
13
13
  * https://github.com/fomantic/Fomantic-UI/
14
14
  *
15
15
  *
@@ -302,7 +302,9 @@
302
302
  });
303
303
  }
304
304
  clearTimeout(module.performance.timer);
305
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
305
+ module.performance.timer = setTimeout(function () {
306
+ module.performance.display();
307
+ }, 500);
306
308
  },
307
309
  display: function () {
308
310
  var
@@ -463,7 +465,7 @@
463
465
  })(jQuery, window, document);
464
466
 
465
467
  /*!
466
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Form Validation
468
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Form Validation
467
469
  * https://github.com/fomantic/Fomantic-UI/
468
470
  *
469
471
  *
@@ -1002,6 +1004,13 @@
1002
1004
  fullFields[name].rules.push({ type: rule });
1003
1005
  });
1004
1006
  }
1007
+
1008
+ $.each(fullFields[name].rules, function (index, rule) {
1009
+ var ruleName = module.get.ruleName(rule);
1010
+ if (ruleName === 'empty') {
1011
+ module.warn('*** DEPRECATED *** : Rule "empty" for field "' + name + '" will be removed in a future version. -> Use "notEmpty" rule instead.');
1012
+ }
1013
+ });
1005
1014
  });
1006
1015
 
1007
1016
  return fullFields;
@@ -1015,9 +1024,10 @@
1015
1024
  ancillary = module.get.ancillaryValue(rule),
1016
1025
  $field = module.get.field(field.identifier),
1017
1026
  value = $field.val(),
1018
- prompt = isFunction(rule.prompt)
1019
- ? rule.prompt(value)
1020
- : rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,
1027
+ promptCheck = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,
1028
+ prompt = String(isFunction(promptCheck)
1029
+ ? promptCheck.call($field[0], value)
1030
+ : promptCheck),
1021
1031
  requiresValue = prompt.search('{value}') !== -1,
1022
1032
  requiresName = prompt.search('{name}') !== -1,
1023
1033
  parts,
@@ -1055,10 +1065,10 @@
1055
1065
  },
1056
1066
  settings: function () {
1057
1067
  if ($.isPlainObject(parameters)) {
1058
- if (parameters.fields) {
1059
- parameters.fields = module.get.fieldsFromShorthand(parameters.fields);
1060
- }
1061
1068
  settings = $.extend(true, {}, $.fn.form.settings, parameters);
1069
+ if (settings.fields) {
1070
+ settings.fields = module.get.fieldsFromShorthand(settings.fields);
1071
+ }
1062
1072
  validation = $.extend(true, {}, $.fn.form.settings.defaults, settings.fields);
1063
1073
  module.verbose('Extending settings', validation, settings);
1064
1074
  } else {
@@ -1175,7 +1185,7 @@
1175
1185
  var
1176
1186
  $field = $(field),
1177
1187
  $calendar = $field.closest(selector.uiCalendar),
1178
- name = $field.prop('name'),
1188
+ name = $field.prop('name') || $field.prop('id'),
1179
1189
  value = $field.val(),
1180
1190
  isCheckbox = $field.is(selector.checkbox),
1181
1191
  isRadio = $field.is(selector.radio),
@@ -1701,20 +1711,20 @@
1701
1711
  isRequired = $el.prop('required') || $elGroup.hasClass(className.required) || $elGroup.parent().hasClass(className.required),
1702
1712
  isDisabled = $el.is(':disabled') || $elGroup.hasClass(className.disabled) || $elGroup.parent().hasClass(className.disabled),
1703
1713
  validation = module.get.validation($el),
1704
- hasEmptyRule = validation
1714
+ hasNotEmptyRule = validation
1705
1715
  ? $.grep(validation.rules, function (rule) {
1706
- return rule.type === 'empty';
1707
- }) !== 0
1716
+ return ['notEmpty', 'checked', 'empty'].indexOf(rule.type) >= 0;
1717
+ }).length > 0
1708
1718
  : false,
1709
1719
  identifier = module.get.identifier(validation, $el)
1710
1720
  ;
1711
- if (isRequired && !isDisabled && !hasEmptyRule && identifier !== undefined) {
1721
+ if (isRequired && !isDisabled && !hasNotEmptyRule && identifier !== undefined) {
1712
1722
  if (isCheckbox) {
1713
1723
  module.verbose("Adding 'checked' rule on field", identifier);
1714
1724
  module.add.rule(identifier, 'checked');
1715
1725
  } else {
1716
- module.verbose("Adding 'empty' rule on field", identifier);
1717
- module.add.rule(identifier, 'empty');
1726
+ module.verbose("Adding 'notEmpty' rule on field", identifier);
1727
+ module.add.rule(identifier, 'notEmpty');
1718
1728
  }
1719
1729
  }
1720
1730
  });
@@ -1806,28 +1816,30 @@
1806
1816
  var
1807
1817
  identifier = field.identifier || fieldName,
1808
1818
  $field = module.get.field(identifier),
1819
+ $fieldGroup = $field.closest($group),
1809
1820
  $dependsField = field.depends
1810
1821
  ? module.get.field(field.depends)
1811
1822
  : false,
1812
1823
  fieldValid = true,
1813
1824
  fieldErrors = [],
1814
- isDisabled = $field.filter(':not(:disabled)').length === 0,
1825
+ isDisabled = $field.filter(':not(:disabled)').length === 0 || $fieldGroup.hasClass(className.disabled) || $fieldGroup.parent().hasClass(className.disabled),
1815
1826
  validationMessage = $field[0].validationMessage,
1827
+ noNativeValidation = field.noNativeValidation || settings.noNativeValidation || $field.filter('[formnovalidate],[novalidate]').length > 0 || $module.filter('[novalidate]').length > 0,
1816
1828
  errorLimit
1817
1829
  ;
1818
1830
  if (!field.identifier) {
1819
1831
  module.debug('Using field name as identifier', identifier);
1820
1832
  field.identifier = identifier;
1821
1833
  }
1822
- if (validationMessage) {
1834
+ if (validationMessage && !noNativeValidation && !isDisabled) {
1823
1835
  module.debug('Field is natively invalid', identifier);
1824
1836
  fieldErrors.push(validationMessage);
1825
1837
  fieldValid = false;
1826
1838
  if (showErrors) {
1827
- $field.closest($group).addClass(className.error);
1839
+ $fieldGroup.addClass(className.error);
1828
1840
  }
1829
1841
  } else if (showErrors) {
1830
- $field.closest($group).removeClass(className.error);
1842
+ $fieldGroup.removeClass(className.error);
1831
1843
  }
1832
1844
  if (isDisabled) {
1833
1845
  module.debug('Field is disabled. Skipping', identifier);
@@ -1955,6 +1967,12 @@
1955
1967
  module.error.apply(console, arguments);
1956
1968
  }
1957
1969
  },
1970
+ warn: function () {
1971
+ if (!settings.silent) {
1972
+ module.warn = Function.prototype.bind.call(console.warn, console, settings.name + ':');
1973
+ module.warn.apply(console, arguments);
1974
+ }
1975
+ },
1958
1976
  performance: {
1959
1977
  log: function (message) {
1960
1978
  var
@@ -1975,7 +1993,9 @@
1975
1993
  });
1976
1994
  }
1977
1995
  clearTimeout(module.performance.timer);
1978
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
1996
+ module.performance.timer = setTimeout(function () {
1997
+ module.performance.display();
1998
+ }, 500);
1979
1999
  },
1980
2000
  display: function () {
1981
2001
  var
@@ -2069,6 +2089,7 @@
2069
2089
  name: 'Form',
2070
2090
  namespace: 'form',
2071
2091
 
2092
+ silent: false,
2072
2093
  debug: false,
2073
2094
  verbose: false,
2074
2095
  performance: true,
@@ -2091,6 +2112,7 @@
2091
2112
  errorFocus: true,
2092
2113
  dateHandling: 'date', // 'date', 'input', 'formatter'
2093
2114
  errorLimit: 0,
2115
+ noNativeValidation: false,
2094
2116
 
2095
2117
  onValid: function () {},
2096
2118
  onInvalid: function () {},
@@ -2133,6 +2155,7 @@
2133
2155
  maxValue: '{name} must have a maximum value of {ruleValue}',
2134
2156
  minValue: '{name} must have a minimum value of {ruleValue}',
2135
2157
  empty: '{name} must have a value',
2158
+ notEmpty: '{name} must have a value',
2136
2159
  checked: '{name} must be checked',
2137
2160
  email: '{name} must be a valid e-mail',
2138
2161
  url: '{name} must be a valid url',
@@ -2265,10 +2288,15 @@
2265
2288
  rules: {
2266
2289
 
2267
2290
  // is not empty or blank string
2268
- empty: function (value) {
2291
+ notEmpty: function (value) {
2269
2292
  return !(value === undefined || value === '' || (Array.isArray(value) && value.length === 0));
2270
2293
  },
2271
2294
 
2295
+ /* Deprecated */
2296
+ empty: function (value) {
2297
+ return $.fn.form.settings.rules.notEmpty(value);
2298
+ },
2299
+
2272
2300
  // checkbox checked
2273
2301
  checked: function () {
2274
2302
  return $(this).filter(':checked').length > 0;
@@ -2620,7 +2648,7 @@
2620
2648
  })(jQuery, window, document);
2621
2649
 
2622
2650
  /*!
2623
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Accordion
2651
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Accordion
2624
2652
  * https://github.com/fomantic/Fomantic-UI/
2625
2653
  *
2626
2654
  *
@@ -3059,7 +3087,9 @@
3059
3087
  });
3060
3088
  }
3061
3089
  clearTimeout(module.performance.timer);
3062
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
3090
+ module.performance.timer = setTimeout(function () {
3091
+ module.performance.display();
3092
+ }, 500);
3063
3093
  },
3064
3094
  display: function () {
3065
3095
  var
@@ -3214,7 +3244,7 @@
3214
3244
  })(jQuery, window, document);
3215
3245
 
3216
3246
  /*!
3217
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Calendar
3247
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Calendar
3218
3248
  * https://github.com/fomantic/Fomantic-UI/
3219
3249
  *
3220
3250
  *
@@ -3317,7 +3347,17 @@
3317
3347
 
3318
3348
  destroy: function () {
3319
3349
  module.verbose('Destroying previous calendar for', element);
3320
- $module.removeData(moduleNamespace);
3350
+ $module.removeData([
3351
+ metadata.date,
3352
+ metadata.focusDate,
3353
+ metadata.startDate,
3354
+ metadata.endDate,
3355
+ metadata.minDate,
3356
+ metadata.maxDate,
3357
+ metadata.mode,
3358
+ metadata.monthOffset,
3359
+ moduleNamespace,
3360
+ ]);
3321
3361
  module.unbind.events();
3322
3362
  module.disconnect.classObserver();
3323
3363
  },
@@ -4694,7 +4734,9 @@
4694
4734
  });
4695
4735
  }
4696
4736
  clearTimeout(module.performance.timer);
4697
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
4737
+ module.performance.timer = setTimeout(function () {
4738
+ module.performance.display();
4739
+ }, 500);
4698
4740
  },
4699
4741
  display: function () {
4700
4742
  var
@@ -5225,7 +5267,7 @@
5225
5267
  })(jQuery, window, document);
5226
5268
 
5227
5269
  /*!
5228
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Checkbox
5270
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Checkbox
5229
5271
  * https://github.com/fomantic/Fomantic-UI/
5230
5272
  *
5231
5273
  *
@@ -5436,7 +5478,7 @@
5436
5478
  ;
5437
5479
 
5438
5480
  var
5439
- r = module.get.radios(),
5481
+ r = module.get.radios().not(selector.disabled),
5440
5482
  rIndex = r.index($module),
5441
5483
  rLen = r.length,
5442
5484
  checkIndex = false
@@ -5454,7 +5496,10 @@
5454
5496
 
5455
5497
  return false;
5456
5498
  }
5457
- if (settings.beforeChecked.apply($(r[checkIndex]).children(selector.input)[0]) === false) {
5499
+ var nextOption = $(r[checkIndex]),
5500
+ nextInput = nextOption.children(selector.input),
5501
+ disallowOption = nextOption.hasClass(className.readOnly) || nextInput.prop('readonly');
5502
+ if (disallowOption || settings.beforeChecked.apply(nextInput[0]) === false) {
5458
5503
  module.verbose('Next option should not allow check, cancelling key navigation');
5459
5504
 
5460
5505
  return false;
@@ -5951,7 +5996,9 @@
5951
5996
  });
5952
5997
  }
5953
5998
  clearTimeout(module.performance.timer);
5954
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
5999
+ module.performance.timer = setTimeout(function () {
6000
+ module.performance.display();
6001
+ }, 500);
5955
6002
  },
5956
6003
  display: function () {
5957
6004
  var
@@ -6099,6 +6146,7 @@
6099
6146
 
6100
6147
  selector: {
6101
6148
  checkbox: '.ui.checkbox',
6149
+ disabled: '.disabled, :has(input[disabled])',
6102
6150
  label: 'label',
6103
6151
  input: 'input[type="checkbox"], input[type="radio"]',
6104
6152
  link: 'a[href]',
@@ -6108,7 +6156,7 @@
6108
6156
  })(jQuery, window, document);
6109
6157
 
6110
6158
  /*!
6111
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dimmer
6159
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Dimmer
6112
6160
  * https://github.com/fomantic/Fomantic-UI/
6113
6161
  *
6114
6162
  *
@@ -6637,7 +6685,9 @@
6637
6685
  });
6638
6686
  }
6639
6687
  clearTimeout(module.performance.timer);
6640
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
6688
+ module.performance.timer = setTimeout(function () {
6689
+ module.performance.display();
6690
+ }, 500);
6641
6691
  },
6642
6692
  display: function () {
6643
6693
  var
@@ -6839,7 +6889,7 @@
6839
6889
  })(jQuery, window, document);
6840
6890
 
6841
6891
  /*!
6842
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dropdown
6892
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Dropdown
6843
6893
  * https://github.com/fomantic/Fomantic-UI/
6844
6894
  *
6845
6895
  *
@@ -7633,7 +7683,7 @@
7633
7683
  }
7634
7684
  if (module.is.multiple()) {
7635
7685
  $.each(preSelected, function (index, value) {
7636
- $item.filter('[data-value="' + value + '"]')
7686
+ $item.filter('[data-' + metadata.value + '="' + value + '"]')
7637
7687
  .addClass(className.filtered)
7638
7688
  ;
7639
7689
  });
@@ -7730,11 +7780,13 @@
7730
7780
  ? query
7731
7781
  : module.get.query()
7732
7782
  ),
7733
- results = null,
7734
- escapedTerm = module.escape.string(searchTerm),
7735
- regExpFlags = (settings.ignoreSearchCase ? 'i' : '') + 'gm',
7783
+ results = null,
7784
+ escapedTerm = module.escape.string(searchTerm),
7785
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
7786
+ regExpFlags = regExpIgnore + 'gm',
7736
7787
  beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
7737
7788
  ;
7789
+ module.remove.filteredItem();
7738
7790
  // avoid loop if we're matching nothing
7739
7791
  if (module.has.query()) {
7740
7792
  results = [];
@@ -7778,12 +7830,34 @@
7778
7830
  ;
7779
7831
  }
7780
7832
  module.debug('Showing only matched items', searchTerm);
7781
- module.remove.filteredItem();
7782
7833
  if (results) {
7783
7834
  $item
7784
7835
  .not(results)
7785
7836
  .addClass(className.filtered)
7786
7837
  ;
7838
+ if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
7839
+ var querySplit = query.split(''),
7840
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
7841
+ htmlReg = '(?![^<]*>)',
7842
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
7843
+ markedReplacer = function () {
7844
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
7845
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
7846
+ });
7847
+
7848
+ return args.join('');
7849
+ }
7850
+ ;
7851
+ $.each(results, function (index, result) {
7852
+ var $result = $(result),
7853
+ markedHTML = module.get.choiceText($result, true)
7854
+ ;
7855
+ if (settings.ignoreDiacritics) {
7856
+ markedHTML = markedHTML.normalize('NFD');
7857
+ }
7858
+ $result.html(markedHTML.replace(markedRegExp, markedReplacer));
7859
+ });
7860
+ }
7787
7861
  }
7788
7862
 
7789
7863
  if (!module.has.query()) {
@@ -7819,8 +7893,10 @@
7819
7893
  termLength = term.length,
7820
7894
  queryLength = query.length
7821
7895
  ;
7822
- query = settings.ignoreSearchCase ? query.toLowerCase() : query;
7823
- term = settings.ignoreSearchCase ? term.toLowerCase() : term;
7896
+ if (settings.ignoreSearchCase) {
7897
+ query = query.toLowerCase();
7898
+ term = term.toLowerCase();
7899
+ }
7824
7900
  if (queryLength > termLength) {
7825
7901
  return false;
7826
7902
  }
@@ -8027,7 +8103,7 @@
8027
8103
  if (!itemActivated && !pageLostFocus) {
8028
8104
  if (settings.forceSelection) {
8029
8105
  module.forceSelection();
8030
- } else if (!settings.allowAdditions) {
8106
+ } else if (!settings.allowAdditions && !settings.keepSearchTerm && !module.has.menuSearch()) {
8031
8107
  module.remove.searchTerm();
8032
8108
  }
8033
8109
  module.hide();
@@ -8076,7 +8152,9 @@
8076
8152
  module.set.filtered();
8077
8153
  }
8078
8154
  clearTimeout(module.timer);
8079
- module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
8155
+ module.timer = setTimeout(function () {
8156
+ module.search();
8157
+ }, settings.delay.search);
8080
8158
  },
8081
8159
  label: {
8082
8160
  click: function (event) {
@@ -8253,7 +8331,9 @@
8253
8331
  module.remove.userAddition();
8254
8332
  }
8255
8333
  if (!settings.keepSearchTerm) {
8256
- module.remove.filteredItem();
8334
+ if (module.is.multiple()) {
8335
+ module.remove.filteredItem();
8336
+ }
8257
8337
  module.remove.searchTerm();
8258
8338
  }
8259
8339
  if (!module.is.visible() && $target.length > 0) {
@@ -9427,7 +9507,7 @@
9427
9507
  } else {
9428
9508
  $combo.text(text);
9429
9509
  }
9430
- } else if (settings.action === 'activate') {
9510
+ } else if (settings.action === 'activate' || isFunction(settings.action)) {
9431
9511
  if (text !== module.get.placeholderText() || isNotPlaceholder) {
9432
9512
  $text.removeClass(className.placeholder);
9433
9513
  }
@@ -9487,7 +9567,7 @@
9487
9567
  module.set.scrollPosition($nextValue);
9488
9568
  $selectedItem.removeClass(className.selected);
9489
9569
  $nextValue.addClass(className.selected);
9490
- if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
9570
+ if (settings.selectOnKeydown && module.is.single() && (!$nextItem || !$nextItem.hasClass(className.actionable))) {
9491
9571
  module.set.selectedItem($nextValue);
9492
9572
  }
9493
9573
  }
@@ -9608,19 +9688,27 @@
9608
9688
  $selectedItem = settings.allowAdditions
9609
9689
  ? $selectedItem || module.get.itemWithAdditions(value)
9610
9690
  : $selectedItem || module.get.item(value);
9611
- if (!$selectedItem) {
9691
+ if (!$selectedItem && value !== undefined) {
9612
9692
  return false;
9613
9693
  }
9614
- module.debug('Setting selected menu item to', $selectedItem);
9615
- if (module.is.multiple() && !keepSearchTerm) {
9616
- module.remove.searchWidth();
9617
- }
9618
- if (module.is.single()) {
9694
+ if (isMultiple) {
9695
+ if (!keepSearchTerm) {
9696
+ module.remove.searchWidth();
9697
+ }
9698
+ if (settings.useLabels) {
9699
+ module.remove.selectedItem();
9700
+ if (value === undefined) {
9701
+ module.remove.labels($module.find(selector.label), true);
9702
+ }
9703
+ }
9704
+ } else {
9619
9705
  module.remove.activeItem();
9620
9706
  module.remove.selectedItem();
9621
- } else if (settings.useLabels) {
9622
- module.remove.selectedItem();
9623
9707
  }
9708
+ if (!$selectedItem) {
9709
+ return false;
9710
+ }
9711
+ module.debug('Setting selected menu item to', $selectedItem);
9624
9712
  // select each item
9625
9713
  $selectedItem
9626
9714
  .each(function () {
@@ -9920,6 +10008,12 @@
9920
10008
  $item.removeClass(className.active);
9921
10009
  },
9922
10010
  filteredItem: function () {
10011
+ if (settings.highlightMatches) {
10012
+ $.each($item, function (index, item) {
10013
+ var $markItem = $(item);
10014
+ $markItem.html($markItem.html().replace(/<\/?mark>/g, ''));
10015
+ });
10016
+ }
9923
10017
  if (settings.useLabels && module.has.maxSelections()) {
9924
10018
  return;
9925
10019
  }
@@ -10264,7 +10358,12 @@
10264
10358
  return $selectedMenu.hasClass(className.leftward);
10265
10359
  },
10266
10360
  clearable: function () {
10267
- return $module.hasClass(className.clearable) || settings.clearable;
10361
+ var hasClearableClass = $module.hasClass(className.clearable);
10362
+ if (!hasClearableClass && settings.clearable) {
10363
+ $module.addClass(className.clearable);
10364
+ }
10365
+
10366
+ return hasClearableClass || settings.clearable;
10268
10367
  },
10269
10368
  disabled: function () {
10270
10369
  return $module.hasClass(className.disabled);
@@ -10587,12 +10686,16 @@
10587
10686
  show: function () {
10588
10687
  module.verbose('Delaying show event to ensure user intent');
10589
10688
  clearTimeout(module.timer);
10590
- module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
10689
+ module.timer = setTimeout(function () {
10690
+ module.show();
10691
+ }, settings.delay.show);
10591
10692
  },
10592
10693
  hide: function () {
10593
10694
  module.verbose('Delaying hide event to ensure user intent');
10594
10695
  clearTimeout(module.timer);
10595
- module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
10696
+ module.timer = setTimeout(function () {
10697
+ module.hide();
10698
+ }, settings.delay.hide);
10596
10699
  },
10597
10700
  },
10598
10701
 
@@ -10625,6 +10728,7 @@
10625
10728
  return text.replace(regExp.escape, '\\$&');
10626
10729
  },
10627
10730
  htmlEntities: function (string, forceAmpersand) {
10731
+ forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
10628
10732
  var
10629
10733
  badChars = /["'<>`]/g,
10630
10734
  shouldEscape = /["&'<>`]/,
@@ -10641,8 +10745,7 @@
10641
10745
  ;
10642
10746
  if (shouldEscape.test(string)) {
10643
10747
  string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&amp;');
10644
-
10645
- return string.replace(badChars, escapedChar);
10748
+ string = string.replace(badChars, escapedChar);
10646
10749
  }
10647
10750
 
10648
10751
  return string;
@@ -10718,7 +10821,9 @@
10718
10821
  });
10719
10822
  }
10720
10823
  clearTimeout(module.performance.timer);
10721
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
10824
+ module.performance.timer = setTimeout(function () {
10825
+ module.performance.display();
10826
+ }, 500);
10722
10827
  },
10723
10828
  display: function () {
10724
10829
  var
@@ -10845,6 +10950,7 @@
10845
10950
 
10846
10951
  match: 'both', // what to match against with search selection (both, text, or label)
10847
10952
  fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
10953
+ highlightMatches: false, // Whether search result should highlight matching strings
10848
10954
  ignoreDiacritics: false, // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
10849
10955
  hideDividers: false, // Whether to hide any divider elements (specified in selector.divider) that are sibling to any items when searched (set to true will hide all dividers, set to 'empty' will hide them when they are not followed by a visible item)
10850
10956
 
@@ -10960,9 +11066,11 @@
10960
11066
  descriptionVertical: 'descriptionVertical', // whether description should be vertical
10961
11067
  value: 'value', // actual dropdown value
10962
11068
  text: 'text', // displayed text when selected
11069
+ data: 'data', // custom data attributes
10963
11070
  type: 'type', // type of dropdown element
10964
11071
  image: 'image', // optional image path
10965
11072
  imageClass: 'imageClass', // optional individual class for image
11073
+ alt: 'alt', // optional alt text for image
10966
11074
  icon: 'icon', // optional icon name
10967
11075
  iconClass: 'iconClass', // optional individual class for icon (for example to use flag instead)
10968
11076
  class: 'class', // optional individual class for item/header
@@ -11069,8 +11177,7 @@
11069
11177
  ;
11070
11178
  if (shouldEscape.test(string)) {
11071
11179
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
11072
-
11073
- return string.replace(badChars, escapedChar);
11180
+ string = string.replace(badChars, escapedChar);
11074
11181
  }
11075
11182
 
11076
11183
  return string;
@@ -11105,9 +11212,21 @@
11105
11212
  $.each(values, function (index, option) {
11106
11213
  var
11107
11214
  itemType = option[fields.type] || 'item',
11108
- isMenu = itemType.indexOf('menu') !== -1
11215
+ isMenu = itemType.indexOf('menu') !== -1,
11216
+ maybeData = '',
11217
+ dataObject = option[fields.data]
11109
11218
  ;
11110
-
11219
+ if (dataObject) {
11220
+ var dataKey,
11221
+ dataKeyEscaped
11222
+ ;
11223
+ for (dataKey in dataObject) {
11224
+ dataKeyEscaped = String(dataKey).replace(/\W/g, '');
11225
+ if (Object.prototype.hasOwnProperty.call(dataObject, dataKey) && ['text', 'value'].indexOf(dataKeyEscaped.toLowerCase()) === -1) {
11226
+ maybeData += ' data-' + dataKeyEscaped + '="' + deQuote(String(dataObject[dataKey])) + '"';
11227
+ }
11228
+ }
11229
+ }
11111
11230
  if (itemType === 'item' || isMenu) {
11112
11231
  var
11113
11232
  maybeText = option[fields.text]
@@ -11124,12 +11243,12 @@
11124
11243
  : '',
11125
11244
  hasDescription = escape(option[fields.description] || '', preserveHTML) !== ''
11126
11245
  ;
11127
- html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
11246
+ html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + maybeData + '>';
11128
11247
  if (isMenu) {
11129
11248
  html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
11130
11249
  }
11131
11250
  if (option[fields.image]) {
11132
- html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + '">';
11251
+ html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + (option[fields.alt] ? '" alt="' + deQuote(option[fields.alt]) : '') + '">';
11133
11252
  }
11134
11253
  if (option[fields.icon]) {
11135
11254
  html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
@@ -11197,7 +11316,7 @@
11197
11316
  })(jQuery, window, document);
11198
11317
 
11199
11318
  /*!
11200
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Embed
11319
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Embed
11201
11320
  * https://github.com/fomantic/Fomantic-UI/
11202
11321
  *
11203
11322
  *
@@ -11317,11 +11436,12 @@
11317
11436
 
11318
11437
  createPlaceholder: function (placeholder) {
11319
11438
  var
11320
- icon = module.get.icon()
11439
+ icon = module.get.icon(),
11440
+ alt = module.get.alt()
11321
11441
  ;
11322
11442
  placeholder = placeholder || module.get.placeholder();
11323
- $module.html(templates.placeholder(placeholder, icon));
11324
- module.debug('Creating placeholder for embed', placeholder, icon);
11443
+ $module.html(templates.placeholder(placeholder, icon, alt));
11444
+ module.debug('Creating placeholder for embed', placeholder, icon, alt);
11325
11445
  },
11326
11446
 
11327
11447
  createEmbed: function (url) {
@@ -11401,6 +11521,9 @@
11401
11521
  placeholder: function () {
11402
11522
  return settings.placeholder || $module.data(metadata.placeholder);
11403
11523
  },
11524
+ alt: function () {
11525
+ return settings.alt || $module.data(metadata.alt);
11526
+ },
11404
11527
  icon: function () {
11405
11528
  return settings.icon || ($module.data(metadata.icon) !== undefined
11406
11529
  ? $module.data(metadata.icon)
@@ -11486,6 +11609,7 @@
11486
11609
  .removeData(metadata.id)
11487
11610
  .removeData(metadata.icon)
11488
11611
  .removeData(metadata.placeholder)
11612
+ .removeData(metadata.alt)
11489
11613
  .removeData(metadata.source)
11490
11614
  .removeData(metadata.url)
11491
11615
  ;
@@ -11638,7 +11762,9 @@
11638
11762
  });
11639
11763
  }
11640
11764
  clearTimeout(module.performance.timer);
11641
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
11765
+ module.performance.timer = setTimeout(function () {
11766
+ module.performance.display();
11767
+ }, 500);
11642
11768
  },
11643
11769
  display: function () {
11644
11770
  var
@@ -11753,6 +11879,8 @@
11753
11879
  source: false,
11754
11880
  url: false,
11755
11881
  id: false,
11882
+ placeholder: false,
11883
+ alt: false,
11756
11884
 
11757
11885
  // standard video settings
11758
11886
  autoplay: 'auto',
@@ -11775,6 +11903,7 @@
11775
11903
  id: 'id',
11776
11904
  icon: 'icon',
11777
11905
  placeholder: 'placeholder',
11906
+ alt: 'alt',
11778
11907
  source: 'source',
11779
11908
  url: 'url',
11780
11909
  },
@@ -11850,7 +11979,7 @@
11850
11979
  + ' width="100%" height="100%"'
11851
11980
  + ' msallowFullScreen allowFullScreen></iframe>';
11852
11981
  },
11853
- placeholder: function (image, icon) {
11982
+ placeholder: function (image, icon, alt) {
11854
11983
  var
11855
11984
  html = '',
11856
11985
  deQuote = $.fn.embed.settings.templates.deQuote
@@ -11859,7 +11988,7 @@
11859
11988
  html += '<i class="' + deQuote(icon) + ' icon"></i>';
11860
11989
  }
11861
11990
  if (image) {
11862
- html += '<img class="placeholder" src="' + deQuote(image) + '">';
11991
+ html += '<img class="placeholder" src="' + deQuote(image) + (alt ? '" alt="' + deQuote(alt) : '') + '">';
11863
11992
  }
11864
11993
 
11865
11994
  return html;
@@ -11876,7 +12005,7 @@
11876
12005
  })(jQuery, window, document);
11877
12006
 
11878
12007
  /*!
11879
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Flyout
12008
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Flyout
11880
12009
  * https://github.com/fomantic/Fomantic-UI/
11881
12010
  *
11882
12011
  *
@@ -13096,7 +13225,9 @@
13096
13225
  });
13097
13226
  }
13098
13227
  clearTimeout(module.performance.timer);
13099
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
13228
+ module.performance.timer = setTimeout(function () {
13229
+ module.performance.display();
13230
+ }, 500);
13100
13231
  },
13101
13232
  display: function () {
13102
13233
  var
@@ -13426,7 +13557,7 @@
13426
13557
  })(jQuery, window, document);
13427
13558
 
13428
13559
  /*!
13429
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Modal
13560
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Modal
13430
13561
  * https://github.com/fomantic/Fomantic-UI/
13431
13562
  *
13432
13563
  *
@@ -13954,7 +14085,9 @@
13954
14085
  },
13955
14086
  debounce: function (method, delay) {
13956
14087
  clearTimeout(module.timer);
13957
- module.timer = setTimeout(function () { method(); }, delay);
14088
+ module.timer = setTimeout(function () {
14089
+ method();
14090
+ }, delay);
13958
14091
  },
13959
14092
  keyboard: function (event) {
13960
14093
  var
@@ -14700,7 +14833,9 @@
14700
14833
  });
14701
14834
  }
14702
14835
  clearTimeout(module.performance.timer);
14703
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
14836
+ module.performance.timer = setTimeout(function () {
14837
+ module.performance.display();
14838
+ }, 500);
14704
14839
  },
14705
14840
  display: function () {
14706
14841
  var
@@ -15060,7 +15195,7 @@
15060
15195
  })(jQuery, window, document);
15061
15196
 
15062
15197
  /*!
15063
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Nag
15198
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Nag
15064
15199
  * https://github.com/fomantic/Fomantic-UI/
15065
15200
  *
15066
15201
  *
@@ -15149,7 +15284,9 @@
15149
15284
  }
15150
15285
 
15151
15286
  if (settings.displayTime > 0) {
15152
- setTimeout(function () { module.hide(); }, settings.displayTime);
15287
+ setTimeout(function () {
15288
+ module.hide();
15289
+ }, settings.displayTime);
15153
15290
  }
15154
15291
  module.show();
15155
15292
  },
@@ -15205,8 +15342,10 @@
15205
15342
  module.debug('Dismissing nag', settings.storageMethod, settings.key, settings.value, settings.expires);
15206
15343
  module.storage.set(settings.key, settings.value);
15207
15344
  }
15208
- event.stopImmediatePropagation();
15209
- event.preventDefault();
15345
+ if (event) {
15346
+ event.stopImmediatePropagation();
15347
+ event.preventDefault();
15348
+ }
15210
15349
  },
15211
15350
 
15212
15351
  should: {
@@ -15438,7 +15577,9 @@
15438
15577
  });
15439
15578
  }
15440
15579
  clearTimeout(module.performance.timer);
15441
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
15580
+ module.performance.timer = setTimeout(function () {
15581
+ module.performance.display();
15582
+ }, 500);
15442
15583
  },
15443
15584
  display: function () {
15444
15585
  var
@@ -15621,7 +15762,7 @@
15621
15762
  })(jQuery, window, document);
15622
15763
 
15623
15764
  /*!
15624
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Popup
15765
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Popup
15625
15766
  * https://github.com/fomantic/Fomantic-UI/
15626
15767
  *
15627
15768
  *
@@ -15816,7 +15957,9 @@
15816
15957
  ;
15817
15958
  clearTimeout(module.hideTimer);
15818
15959
  if (!openedWithTouch || (openedWithTouch && settings.addTouchEvents)) {
15819
- module.showTimer = setTimeout(function () { module.show(); }, delay);
15960
+ module.showTimer = setTimeout(function () {
15961
+ module.show();
15962
+ }, delay);
15820
15963
  }
15821
15964
  },
15822
15965
  end: function () {
@@ -15826,7 +15969,9 @@
15826
15969
  : settings.delay
15827
15970
  ;
15828
15971
  clearTimeout(module.showTimer);
15829
- module.hideTimer = setTimeout(function () { module.hide(); }, delay);
15972
+ module.hideTimer = setTimeout(function () {
15973
+ module.hide();
15974
+ }, delay);
15830
15975
  },
15831
15976
  touchstart: function (event) {
15832
15977
  openedWithTouch = true;
@@ -16866,7 +17011,9 @@
16866
17011
  });
16867
17012
  }
16868
17013
  clearTimeout(module.performance.timer);
16869
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
17014
+ module.performance.timer = setTimeout(function () {
17015
+ module.performance.display();
17016
+ }, 500);
16870
17017
  },
16871
17018
  display: function () {
16872
17019
  var
@@ -17177,7 +17324,7 @@
17177
17324
  })(jQuery, window, document);
17178
17325
 
17179
17326
  /*!
17180
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Progress
17327
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Progress
17181
17328
  * https://github.com/fomantic/Fomantic-UI/
17182
17329
  *
17183
17330
  *
@@ -17969,7 +18116,9 @@
17969
18116
  });
17970
18117
  }
17971
18118
  clearTimeout(module.performance.timer);
17972
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
18119
+ module.performance.timer = setTimeout(function () {
18120
+ module.performance.display();
18121
+ }, 500);
17973
18122
  },
17974
18123
  display: function () {
17975
18124
  var
@@ -18155,7 +18304,7 @@
18155
18304
  })(jQuery, window, document);
18156
18305
 
18157
18306
  /*!
18158
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Slider
18307
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Slider
18159
18308
  * https://github.com/fomantic/Fomantic-UI/
18160
18309
  *
18161
18310
  *
@@ -19423,7 +19572,9 @@
19423
19572
  });
19424
19573
  }
19425
19574
  clearTimeout(module.performance.timer);
19426
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19575
+ module.performance.timer = setTimeout(function () {
19576
+ module.performance.display();
19577
+ }, 500);
19427
19578
  },
19428
19579
  display: function () {
19429
19580
  var
@@ -19604,7 +19755,7 @@
19604
19755
  })(jQuery, window, document);
19605
19756
 
19606
19757
  /*!
19607
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Rating
19758
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Rating
19608
19759
  * https://github.com/fomantic/Fomantic-UI/
19609
19760
  *
19610
19761
  *
@@ -19973,7 +20124,9 @@
19973
20124
  });
19974
20125
  }
19975
20126
  clearTimeout(module.performance.timer);
19976
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
20127
+ module.performance.timer = setTimeout(function () {
20128
+ module.performance.display();
20129
+ }, 500);
19977
20130
  },
19978
20131
  display: function () {
19979
20132
  var
@@ -20143,7 +20296,7 @@
20143
20296
  })(jQuery, window, document);
20144
20297
 
20145
20298
  /*!
20146
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Search
20299
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Search
20147
20300
  * https://github.com/fomantic/Fomantic-UI/
20148
20301
  *
20149
20302
  *
@@ -20279,7 +20432,10 @@
20279
20432
  // this makes sure $.extend does not add specified search fields to default fields
20280
20433
  // this is the only setting which should not extend defaults
20281
20434
  if (parameters && parameters.searchFields !== undefined) {
20282
- settings.searchFields = parameters.searchFields;
20435
+ settings.searchFields = Array.isArray(parameters.searchFields)
20436
+ ? parameters.searchFields
20437
+ : [parameters.searchFields]
20438
+ ;
20283
20439
  }
20284
20440
  },
20285
20441
  },
@@ -20313,7 +20469,9 @@
20313
20469
  callback = function () {
20314
20470
  module.cancel.query();
20315
20471
  module.remove.focus();
20316
- module.timer = setTimeout(function () { module.hideResults(); }, settings.hideDelay);
20472
+ module.timer = setTimeout(function () {
20473
+ module.hideResults();
20474
+ }, settings.hideDelay);
20317
20475
  }
20318
20476
  ;
20319
20477
  if (pageLostFocus) {
@@ -20773,7 +20931,7 @@
20773
20931
  exactResults = [],
20774
20932
  fuzzyResults = [],
20775
20933
  searchExp = searchTerm.replace(regExp.escape, '\\$&'),
20776
- matchRegExp = new RegExp(regExp.beginsWith + searchExp, 'i'),
20934
+ matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : ''),
20777
20935
 
20778
20936
  // avoid duplicates when pushing results
20779
20937
  addResult = function (array, result) {
@@ -20809,13 +20967,14 @@
20809
20967
  var concatenatedContent = [];
20810
20968
  $.each(searchFields, function (index, field) {
20811
20969
  var
20812
- fieldExists = (typeof content[field] === 'string') || (typeof content[field] === 'number')
20970
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
20813
20971
  ;
20814
20972
  if (fieldExists) {
20815
20973
  var text;
20816
20974
  text = typeof content[field] === 'string'
20817
20975
  ? module.remove.diacritics(content[field])
20818
20976
  : content[field].toString();
20977
+ text = $('<div/>', { html: text }).text().trim();
20819
20978
  if (settings.fullTextSearch === 'all') {
20820
20979
  concatenatedContent.push(text);
20821
20980
  if (index < lastSearchFieldIndex) {
@@ -20846,8 +21005,10 @@
20846
21005
  },
20847
21006
  },
20848
21007
  exactSearch: function (query, term) {
20849
- query = query.toLowerCase();
20850
- term = term.toLowerCase();
21008
+ if (settings.ignoreSearchCase) {
21009
+ query = query.toLowerCase();
21010
+ term = term.toLowerCase();
21011
+ }
20851
21012
 
20852
21013
  return term.indexOf(query) > -1;
20853
21014
  },
@@ -20874,8 +21035,10 @@
20874
21035
  if (typeof query !== 'string') {
20875
21036
  return false;
20876
21037
  }
20877
- query = query.toLowerCase();
20878
- term = term.toLowerCase();
21038
+ if (settings.ignoreSearchCase) {
21039
+ query = query.toLowerCase();
21040
+ term = term.toLowerCase();
21041
+ }
20879
21042
  if (queryLength > termLength) {
20880
21043
  return false;
20881
21044
  }
@@ -21230,6 +21393,39 @@
21230
21393
  response[fields.results] = response[fields.results].slice(0, settings.maxResults);
21231
21394
  }
21232
21395
  }
21396
+ if (settings.highlightMatches) {
21397
+ var results = response[fields.results],
21398
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
21399
+ querySplit = module.get.value().split(''),
21400
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
21401
+ htmlReg = '(?![^<]*>)',
21402
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
21403
+ markedReplacer = function () {
21404
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
21405
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
21406
+ });
21407
+
21408
+ return args.join('');
21409
+ }
21410
+ ;
21411
+ $.each(results, function (label, content) {
21412
+ $.each(settings.searchFields, function (index, field) {
21413
+ var
21414
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
21415
+ ;
21416
+ if (fieldExists) {
21417
+ var markedHTML = typeof content[field] === 'string'
21418
+ ? content[field]
21419
+ : content[field].toString();
21420
+ if (settings.ignoreDiacritics) {
21421
+ markedHTML = markedHTML.normalize('NFD');
21422
+ }
21423
+ markedHTML = markedHTML.replace(/<\/?mark>/g, '');
21424
+ response[fields.results][label][field] = markedHTML.replace(markedRegExp, markedReplacer);
21425
+ }
21426
+ });
21427
+ });
21428
+ }
21233
21429
  if (isFunction(template)) {
21234
21430
  html = template(response, fields, settings.preserveHTML);
21235
21431
  } else {
@@ -21315,7 +21511,9 @@
21315
21511
  });
21316
21512
  }
21317
21513
  clearTimeout(module.performance.timer);
21318
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
21514
+ module.performance.timer = setTimeout(function () {
21515
+ module.performance.display();
21516
+ }, 500);
21319
21517
  },
21320
21518
  display: function () {
21321
21519
  var
@@ -21456,9 +21654,15 @@
21456
21654
  // search anywhere in value (set to 'exact' to require exact matches
21457
21655
  fullTextSearch: 'exact',
21458
21656
 
21657
+ // Whether search result should highlight matching strings
21658
+ highlightMatches: false,
21659
+
21459
21660
  // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
21460
21661
  ignoreDiacritics: false,
21461
21662
 
21663
+ // whether to consider case sensitivity on local searching
21664
+ ignoreSearchCase: true,
21665
+
21462
21666
  // whether to add events to prompt automatically
21463
21667
  automatic: true,
21464
21668
 
@@ -21537,6 +21741,7 @@
21537
21741
  categoryResults: 'results', // array of results (category view)
21538
21742
  description: 'description', // result description
21539
21743
  image: 'image', // result image
21744
+ alt: 'alt', // result alt text for image
21540
21745
  price: 'price', // result price
21541
21746
  results: 'results', // array of results (standard)
21542
21747
  title: 'title', // result title
@@ -21576,8 +21781,9 @@
21576
21781
  };
21577
21782
  if (shouldEscape.test(string)) {
21578
21783
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
21579
-
21580
- return string.replace(badChars, escapedChar);
21784
+ string = string.replace(badChars, escapedChar);
21785
+ // FUI controlled HTML is still allowed
21786
+ string = string.replace(/&lt;(\/)*mark&gt;/g, '<$1mark>');
21581
21787
  }
21582
21788
 
21583
21789
  return string;
@@ -21623,7 +21829,7 @@
21623
21829
  if (result[fields.image] !== undefined) {
21624
21830
  html += ''
21625
21831
  + '<div class="image">'
21626
- + ' <img src="' + result[fields.image].replace(/"/g, '') + '">'
21832
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21627
21833
  + '</div>';
21628
21834
  }
21629
21835
  html += '<div class="content">';
@@ -21676,7 +21882,7 @@
21676
21882
  if (result[fields.image] !== undefined) {
21677
21883
  html += ''
21678
21884
  + '<div class="image">'
21679
- + ' <img src="' + result[fields.image].replace(/"/g, '') + '">'
21885
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21680
21886
  + '</div>';
21681
21887
  }
21682
21888
  html += '<div class="content">';
@@ -21721,7 +21927,7 @@
21721
21927
  })(jQuery, window, document);
21722
21928
 
21723
21929
  /*!
21724
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Shape
21930
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Shape
21725
21931
  * https://github.com/fomantic/Fomantic-UI/
21726
21932
  *
21727
21933
  *
@@ -22345,7 +22551,9 @@
22345
22551
  });
22346
22552
  }
22347
22553
  clearTimeout(module.performance.timer);
22348
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
22554
+ module.performance.timer = setTimeout(function () {
22555
+ module.performance.display();
22556
+ }, 500);
22349
22557
  },
22350
22558
  display: function () {
22351
22559
  var
@@ -22517,7 +22725,7 @@
22517
22725
  })(jQuery, window, document);
22518
22726
 
22519
22727
  /*!
22520
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Sidebar
22728
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Sidebar
22521
22729
  * https://github.com/fomantic/Fomantic-UI/
22522
22730
  *
22523
22731
  *
@@ -23389,7 +23597,9 @@
23389
23597
  });
23390
23598
  }
23391
23599
  clearTimeout(module.performance.timer);
23392
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
23600
+ module.performance.timer = setTimeout(function () {
23601
+ module.performance.display();
23602
+ }, 500);
23393
23603
  },
23394
23604
  display: function () {
23395
23605
  var
@@ -23570,7 +23780,7 @@
23570
23780
  })(jQuery, window, document);
23571
23781
 
23572
23782
  /*!
23573
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Sticky
23783
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Sticky
23574
23784
  * https://github.com/fomantic/Fomantic-UI/
23575
23785
  *
23576
23786
  *
@@ -24317,7 +24527,9 @@
24317
24527
  });
24318
24528
  }
24319
24529
  clearTimeout(module.performance.timer);
24320
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 0);
24530
+ module.performance.timer = setTimeout(function () {
24531
+ module.performance.display();
24532
+ }, 0);
24321
24533
  },
24322
24534
  display: function () {
24323
24535
  var
@@ -24486,7 +24698,7 @@
24486
24698
  })(jQuery, window, document);
24487
24699
 
24488
24700
  /*!
24489
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Tab
24701
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Tab
24490
24702
  * https://github.com/fomantic/Fomantic-UI/
24491
24703
  *
24492
24704
  *
@@ -25275,7 +25487,9 @@
25275
25487
  });
25276
25488
  }
25277
25489
  clearTimeout(module.performance.timer);
25278
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
25490
+ module.performance.timer = setTimeout(function () {
25491
+ module.performance.display();
25492
+ }, 500);
25279
25493
  },
25280
25494
  display: function () {
25281
25495
  var
@@ -25452,7 +25666,7 @@
25452
25666
  })(jQuery, window, document);
25453
25667
 
25454
25668
  /*!
25455
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Toast
25669
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Toast
25456
25670
  * https://github.com/fomantic/Fomantic-UI/
25457
25671
  *
25458
25672
  *
@@ -25636,6 +25850,7 @@
25636
25850
  $toast.append($('<img>', {
25637
25851
  class: className.image + ' ' + settings.classImage,
25638
25852
  src: settings.showImage,
25853
+ alt: settings.alt || '',
25639
25854
  }));
25640
25855
  }
25641
25856
  if (settings.title !== '') {
@@ -25681,7 +25896,7 @@
25681
25896
  $toast.find(selector.icon).attr('class', iconClass + ' ' + className.icon);
25682
25897
  }
25683
25898
  if (settings.showImage) {
25684
- $toast.find(selector.image).attr('src', settings.showImage);
25899
+ $toast.find(selector.image).attr('src', settings.showImage).attr('alt', settings.alt || '');
25685
25900
  }
25686
25901
  if (settings.title !== '') {
25687
25902
  $toast.find(selector.title).html(module.helpers.escape(settings.title, settings.preserveHTML));
@@ -26155,7 +26370,9 @@
26155
26370
  });
26156
26371
  }
26157
26372
  clearTimeout(module.performance.timer);
26158
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
26373
+ module.performance.timer = setTimeout(function () {
26374
+ module.performance.display();
26375
+ }, 500);
26159
26376
  },
26160
26377
  display: function () {
26161
26378
  var
@@ -26292,6 +26509,7 @@
26292
26509
  actions: false,
26293
26510
  preserveHTML: true,
26294
26511
  showImage: false,
26512
+ alt: false,
26295
26513
 
26296
26514
  // transition settings
26297
26515
  transition: {
@@ -26413,7 +26631,7 @@
26413
26631
  })(jQuery, window, document);
26414
26632
 
26415
26633
  /*!
26416
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Transition
26634
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Transition
26417
26635
  * https://github.com/fomantic/Fomantic-UI/
26418
26636
  *
26419
26637
  *
@@ -26556,7 +26774,9 @@
26556
26774
  ? ($allModules.length - index) * interval
26557
26775
  : index * interval;
26558
26776
  module.debug('Delaying animation by', delay);
26559
- setTimeout(function () { module.animate(); }, delay);
26777
+ setTimeout(function () {
26778
+ module.animate();
26779
+ }, delay);
26560
26780
  },
26561
26781
 
26562
26782
  animate: function (overrideSettings) {
@@ -27263,7 +27483,9 @@
27263
27483
  });
27264
27484
  }
27265
27485
  clearTimeout(module.performance.timer);
27266
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
27486
+ module.performance.timer = setTimeout(function () {
27487
+ module.performance.display();
27488
+ }, 500);
27267
27489
  },
27268
27490
  display: function () {
27269
27491
  var
@@ -27444,7 +27666,7 @@
27444
27666
  })(jQuery, window, document);
27445
27667
 
27446
27668
  /*!
27447
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - API
27669
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - API
27448
27670
  * https://github.com/fomantic/Fomantic-UI/
27449
27671
  *
27450
27672
  *
@@ -28092,7 +28314,9 @@
28092
28314
  module.debug('Adding error state');
28093
28315
  module.set.error();
28094
28316
  if (module.should.removeError()) {
28095
- setTimeout(function () { module.remove.error(); }, settings.errorDuration);
28317
+ setTimeout(function () {
28318
+ module.remove.error();
28319
+ }, settings.errorDuration);
28096
28320
  }
28097
28321
  }
28098
28322
  module.debug('API Request failed', errorMessage, xhr);
@@ -28416,7 +28640,9 @@
28416
28640
  });
28417
28641
  }
28418
28642
  clearTimeout(module.performance.timer);
28419
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
28643
+ module.performance.timer = setTimeout(function () {
28644
+ module.performance.display();
28645
+ }, 500);
28420
28646
  },
28421
28647
  display: function () {
28422
28648
  var
@@ -28666,7 +28892,7 @@
28666
28892
  })(jQuery, window, document);
28667
28893
 
28668
28894
  /*!
28669
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - State
28895
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - State
28670
28896
  * https://github.com/fomantic/Fomantic-UI/
28671
28897
  *
28672
28898
  *
@@ -29149,7 +29375,9 @@
29149
29375
  });
29150
29376
  }
29151
29377
  clearTimeout(module.performance.timer);
29152
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
29378
+ module.performance.timer = setTimeout(function () {
29379
+ module.performance.display();
29380
+ }, 500);
29153
29381
  },
29154
29382
  display: function () {
29155
29383
  var
@@ -29362,7 +29590,7 @@
29362
29590
  })(jQuery, window, document);
29363
29591
 
29364
29592
  /*!
29365
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Visibility
29593
+ * # Fomantic-UI 2.9.4-beta.51+fa62639 - Visibility
29366
29594
  * https://github.com/fomantic/Fomantic-UI/
29367
29595
  *
29368
29596
  *
@@ -30451,7 +30679,9 @@
30451
30679
  });
30452
30680
  }
30453
30681
  clearTimeout(module.performance.timer);
30454
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
30682
+ module.performance.timer = setTimeout(function () {
30683
+ module.performance.display();
30684
+ }, 500);
30455
30685
  },
30456
30686
  display: function () {
30457
30687
  var