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

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 +4 -2
  24. package/dist/components/calendar.min.css +1 -1
  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 +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 +25 -22
  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 +223 -123
  165. package/dist/semantic.js +349 -129
  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 +3 -1
  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 +22 -11
  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.50+25a76d7
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.50+25a76d7 - 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.50+25a76d7 - 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.50+25a76d7 - 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.50+25a76d7 - Calendar
3218
3248
  * https://github.com/fomantic/Fomantic-UI/
3219
3249
  *
3220
3250
  *
@@ -4694,7 +4724,9 @@
4694
4724
  });
4695
4725
  }
4696
4726
  clearTimeout(module.performance.timer);
4697
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
4727
+ module.performance.timer = setTimeout(function () {
4728
+ module.performance.display();
4729
+ }, 500);
4698
4730
  },
4699
4731
  display: function () {
4700
4732
  var
@@ -5225,7 +5257,7 @@
5225
5257
  })(jQuery, window, document);
5226
5258
 
5227
5259
  /*!
5228
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Checkbox
5260
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Checkbox
5229
5261
  * https://github.com/fomantic/Fomantic-UI/
5230
5262
  *
5231
5263
  *
@@ -5436,7 +5468,7 @@
5436
5468
  ;
5437
5469
 
5438
5470
  var
5439
- r = module.get.radios(),
5471
+ r = module.get.radios().not(selector.disabled),
5440
5472
  rIndex = r.index($module),
5441
5473
  rLen = r.length,
5442
5474
  checkIndex = false
@@ -5454,7 +5486,10 @@
5454
5486
 
5455
5487
  return false;
5456
5488
  }
5457
- if (settings.beforeChecked.apply($(r[checkIndex]).children(selector.input)[0]) === false) {
5489
+ var nextOption = $(r[checkIndex]),
5490
+ nextInput = nextOption.children(selector.input),
5491
+ disallowOption = nextOption.hasClass(className.readOnly) || nextInput.prop('readonly');
5492
+ if (disallowOption || settings.beforeChecked.apply(nextInput[0]) === false) {
5458
5493
  module.verbose('Next option should not allow check, cancelling key navigation');
5459
5494
 
5460
5495
  return false;
@@ -5951,7 +5986,9 @@
5951
5986
  });
5952
5987
  }
5953
5988
  clearTimeout(module.performance.timer);
5954
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
5989
+ module.performance.timer = setTimeout(function () {
5990
+ module.performance.display();
5991
+ }, 500);
5955
5992
  },
5956
5993
  display: function () {
5957
5994
  var
@@ -6099,6 +6136,7 @@
6099
6136
 
6100
6137
  selector: {
6101
6138
  checkbox: '.ui.checkbox',
6139
+ disabled: '.disabled, :has(input[disabled])',
6102
6140
  label: 'label',
6103
6141
  input: 'input[type="checkbox"], input[type="radio"]',
6104
6142
  link: 'a[href]',
@@ -6108,7 +6146,7 @@
6108
6146
  })(jQuery, window, document);
6109
6147
 
6110
6148
  /*!
6111
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dimmer
6149
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dimmer
6112
6150
  * https://github.com/fomantic/Fomantic-UI/
6113
6151
  *
6114
6152
  *
@@ -6637,7 +6675,9 @@
6637
6675
  });
6638
6676
  }
6639
6677
  clearTimeout(module.performance.timer);
6640
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
6678
+ module.performance.timer = setTimeout(function () {
6679
+ module.performance.display();
6680
+ }, 500);
6641
6681
  },
6642
6682
  display: function () {
6643
6683
  var
@@ -6839,7 +6879,7 @@
6839
6879
  })(jQuery, window, document);
6840
6880
 
6841
6881
  /*!
6842
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dropdown
6882
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dropdown
6843
6883
  * https://github.com/fomantic/Fomantic-UI/
6844
6884
  *
6845
6885
  *
@@ -7633,7 +7673,7 @@
7633
7673
  }
7634
7674
  if (module.is.multiple()) {
7635
7675
  $.each(preSelected, function (index, value) {
7636
- $item.filter('[data-value="' + value + '"]')
7676
+ $item.filter('[data-' + metadata.value + '="' + value + '"]')
7637
7677
  .addClass(className.filtered)
7638
7678
  ;
7639
7679
  });
@@ -7730,11 +7770,13 @@
7730
7770
  ? query
7731
7771
  : module.get.query()
7732
7772
  ),
7733
- results = null,
7734
- escapedTerm = module.escape.string(searchTerm),
7735
- regExpFlags = (settings.ignoreSearchCase ? 'i' : '') + 'gm',
7773
+ results = null,
7774
+ escapedTerm = module.escape.string(searchTerm),
7775
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
7776
+ regExpFlags = regExpIgnore + 'gm',
7736
7777
  beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
7737
7778
  ;
7779
+ module.remove.filteredItem();
7738
7780
  // avoid loop if we're matching nothing
7739
7781
  if (module.has.query()) {
7740
7782
  results = [];
@@ -7778,12 +7820,34 @@
7778
7820
  ;
7779
7821
  }
7780
7822
  module.debug('Showing only matched items', searchTerm);
7781
- module.remove.filteredItem();
7782
7823
  if (results) {
7783
7824
  $item
7784
7825
  .not(results)
7785
7826
  .addClass(className.filtered)
7786
7827
  ;
7828
+ if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
7829
+ var querySplit = query.split(''),
7830
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
7831
+ htmlReg = '(?![^<]*>)',
7832
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
7833
+ markedReplacer = function () {
7834
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
7835
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
7836
+ });
7837
+
7838
+ return args.join('');
7839
+ }
7840
+ ;
7841
+ $.each(results, function (index, result) {
7842
+ var $result = $(result),
7843
+ markedHTML = module.get.choiceText($result, true)
7844
+ ;
7845
+ if (settings.ignoreDiacritics) {
7846
+ markedHTML = markedHTML.normalize('NFD');
7847
+ }
7848
+ $result.html(markedHTML.replace(markedRegExp, markedReplacer));
7849
+ });
7850
+ }
7787
7851
  }
7788
7852
 
7789
7853
  if (!module.has.query()) {
@@ -7819,8 +7883,10 @@
7819
7883
  termLength = term.length,
7820
7884
  queryLength = query.length
7821
7885
  ;
7822
- query = settings.ignoreSearchCase ? query.toLowerCase() : query;
7823
- term = settings.ignoreSearchCase ? term.toLowerCase() : term;
7886
+ if (settings.ignoreSearchCase) {
7887
+ query = query.toLowerCase();
7888
+ term = term.toLowerCase();
7889
+ }
7824
7890
  if (queryLength > termLength) {
7825
7891
  return false;
7826
7892
  }
@@ -8027,7 +8093,7 @@
8027
8093
  if (!itemActivated && !pageLostFocus) {
8028
8094
  if (settings.forceSelection) {
8029
8095
  module.forceSelection();
8030
- } else if (!settings.allowAdditions) {
8096
+ } else if (!settings.allowAdditions && !settings.keepSearchTerm && !module.has.menuSearch()) {
8031
8097
  module.remove.searchTerm();
8032
8098
  }
8033
8099
  module.hide();
@@ -8076,7 +8142,9 @@
8076
8142
  module.set.filtered();
8077
8143
  }
8078
8144
  clearTimeout(module.timer);
8079
- module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
8145
+ module.timer = setTimeout(function () {
8146
+ module.search();
8147
+ }, settings.delay.search);
8080
8148
  },
8081
8149
  label: {
8082
8150
  click: function (event) {
@@ -8253,7 +8321,9 @@
8253
8321
  module.remove.userAddition();
8254
8322
  }
8255
8323
  if (!settings.keepSearchTerm) {
8256
- module.remove.filteredItem();
8324
+ if (module.is.multiple()) {
8325
+ module.remove.filteredItem();
8326
+ }
8257
8327
  module.remove.searchTerm();
8258
8328
  }
8259
8329
  if (!module.is.visible() && $target.length > 0) {
@@ -9427,7 +9497,7 @@
9427
9497
  } else {
9428
9498
  $combo.text(text);
9429
9499
  }
9430
- } else if (settings.action === 'activate') {
9500
+ } else if (settings.action === 'activate' || isFunction(settings.action)) {
9431
9501
  if (text !== module.get.placeholderText() || isNotPlaceholder) {
9432
9502
  $text.removeClass(className.placeholder);
9433
9503
  }
@@ -9487,7 +9557,7 @@
9487
9557
  module.set.scrollPosition($nextValue);
9488
9558
  $selectedItem.removeClass(className.selected);
9489
9559
  $nextValue.addClass(className.selected);
9490
- if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
9560
+ if (settings.selectOnKeydown && module.is.single() && (!$nextItem || !$nextItem.hasClass(className.actionable))) {
9491
9561
  module.set.selectedItem($nextValue);
9492
9562
  }
9493
9563
  }
@@ -9608,19 +9678,27 @@
9608
9678
  $selectedItem = settings.allowAdditions
9609
9679
  ? $selectedItem || module.get.itemWithAdditions(value)
9610
9680
  : $selectedItem || module.get.item(value);
9611
- if (!$selectedItem) {
9681
+ if (!$selectedItem && value !== undefined) {
9612
9682
  return false;
9613
9683
  }
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()) {
9684
+ if (isMultiple) {
9685
+ if (!keepSearchTerm) {
9686
+ module.remove.searchWidth();
9687
+ }
9688
+ if (settings.useLabels) {
9689
+ module.remove.selectedItem();
9690
+ if (value === undefined) {
9691
+ module.remove.labels($module.find(selector.label), true);
9692
+ }
9693
+ }
9694
+ } else {
9619
9695
  module.remove.activeItem();
9620
9696
  module.remove.selectedItem();
9621
- } else if (settings.useLabels) {
9622
- module.remove.selectedItem();
9623
9697
  }
9698
+ if (!$selectedItem) {
9699
+ return false;
9700
+ }
9701
+ module.debug('Setting selected menu item to', $selectedItem);
9624
9702
  // select each item
9625
9703
  $selectedItem
9626
9704
  .each(function () {
@@ -9920,6 +9998,12 @@
9920
9998
  $item.removeClass(className.active);
9921
9999
  },
9922
10000
  filteredItem: function () {
10001
+ if (settings.highlightMatches) {
10002
+ $.each($item, function (index, item) {
10003
+ var $markItem = $(item);
10004
+ $markItem.html($markItem.html().replace(/<\/?mark>/g, ''));
10005
+ });
10006
+ }
9923
10007
  if (settings.useLabels && module.has.maxSelections()) {
9924
10008
  return;
9925
10009
  }
@@ -10264,7 +10348,12 @@
10264
10348
  return $selectedMenu.hasClass(className.leftward);
10265
10349
  },
10266
10350
  clearable: function () {
10267
- return $module.hasClass(className.clearable) || settings.clearable;
10351
+ var hasClearableClass = $module.hasClass(className.clearable);
10352
+ if (!hasClearableClass && settings.clearable) {
10353
+ $module.addClass(className.clearable);
10354
+ }
10355
+
10356
+ return hasClearableClass || settings.clearable;
10268
10357
  },
10269
10358
  disabled: function () {
10270
10359
  return $module.hasClass(className.disabled);
@@ -10587,12 +10676,16 @@
10587
10676
  show: function () {
10588
10677
  module.verbose('Delaying show event to ensure user intent');
10589
10678
  clearTimeout(module.timer);
10590
- module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
10679
+ module.timer = setTimeout(function () {
10680
+ module.show();
10681
+ }, settings.delay.show);
10591
10682
  },
10592
10683
  hide: function () {
10593
10684
  module.verbose('Delaying hide event to ensure user intent');
10594
10685
  clearTimeout(module.timer);
10595
- module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
10686
+ module.timer = setTimeout(function () {
10687
+ module.hide();
10688
+ }, settings.delay.hide);
10596
10689
  },
10597
10690
  },
10598
10691
 
@@ -10625,6 +10718,7 @@
10625
10718
  return text.replace(regExp.escape, '\\$&');
10626
10719
  },
10627
10720
  htmlEntities: function (string, forceAmpersand) {
10721
+ forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
10628
10722
  var
10629
10723
  badChars = /["'<>`]/g,
10630
10724
  shouldEscape = /["&'<>`]/,
@@ -10641,8 +10735,7 @@
10641
10735
  ;
10642
10736
  if (shouldEscape.test(string)) {
10643
10737
  string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&amp;');
10644
-
10645
- return string.replace(badChars, escapedChar);
10738
+ string = string.replace(badChars, escapedChar);
10646
10739
  }
10647
10740
 
10648
10741
  return string;
@@ -10718,7 +10811,9 @@
10718
10811
  });
10719
10812
  }
10720
10813
  clearTimeout(module.performance.timer);
10721
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
10814
+ module.performance.timer = setTimeout(function () {
10815
+ module.performance.display();
10816
+ }, 500);
10722
10817
  },
10723
10818
  display: function () {
10724
10819
  var
@@ -10845,6 +10940,7 @@
10845
10940
 
10846
10941
  match: 'both', // what to match against with search selection (both, text, or label)
10847
10942
  fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
10943
+ highlightMatches: false, // Whether search result should highlight matching strings
10848
10944
  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
10945
  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
10946
 
@@ -10960,9 +11056,11 @@
10960
11056
  descriptionVertical: 'descriptionVertical', // whether description should be vertical
10961
11057
  value: 'value', // actual dropdown value
10962
11058
  text: 'text', // displayed text when selected
11059
+ data: 'data', // custom data attributes
10963
11060
  type: 'type', // type of dropdown element
10964
11061
  image: 'image', // optional image path
10965
11062
  imageClass: 'imageClass', // optional individual class for image
11063
+ alt: 'alt', // optional alt text for image
10966
11064
  icon: 'icon', // optional icon name
10967
11065
  iconClass: 'iconClass', // optional individual class for icon (for example to use flag instead)
10968
11066
  class: 'class', // optional individual class for item/header
@@ -11069,8 +11167,7 @@
11069
11167
  ;
11070
11168
  if (shouldEscape.test(string)) {
11071
11169
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
11072
-
11073
- return string.replace(badChars, escapedChar);
11170
+ string = string.replace(badChars, escapedChar);
11074
11171
  }
11075
11172
 
11076
11173
  return string;
@@ -11105,9 +11202,21 @@
11105
11202
  $.each(values, function (index, option) {
11106
11203
  var
11107
11204
  itemType = option[fields.type] || 'item',
11108
- isMenu = itemType.indexOf('menu') !== -1
11205
+ isMenu = itemType.indexOf('menu') !== -1,
11206
+ maybeData = '',
11207
+ dataObject = option[fields.data]
11109
11208
  ;
11110
-
11209
+ if (dataObject) {
11210
+ var dataKey,
11211
+ dataKeyEscaped
11212
+ ;
11213
+ for (dataKey in dataObject) {
11214
+ dataKeyEscaped = String(dataKey).replace(/\W/g, '');
11215
+ if (Object.prototype.hasOwnProperty.call(dataObject, dataKey) && ['text', 'value'].indexOf(dataKeyEscaped.toLowerCase()) === -1) {
11216
+ maybeData += ' data-' + dataKeyEscaped + '="' + deQuote(String(dataObject[dataKey])) + '"';
11217
+ }
11218
+ }
11219
+ }
11111
11220
  if (itemType === 'item' || isMenu) {
11112
11221
  var
11113
11222
  maybeText = option[fields.text]
@@ -11124,12 +11233,12 @@
11124
11233
  : '',
11125
11234
  hasDescription = escape(option[fields.description] || '', preserveHTML) !== ''
11126
11235
  ;
11127
- html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
11236
+ html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + maybeData + '>';
11128
11237
  if (isMenu) {
11129
11238
  html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
11130
11239
  }
11131
11240
  if (option[fields.image]) {
11132
- html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + '">';
11241
+ html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + (option[fields.alt] ? '" alt="' + deQuote(option[fields.alt]) : '') + '">';
11133
11242
  }
11134
11243
  if (option[fields.icon]) {
11135
11244
  html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
@@ -11197,7 +11306,7 @@
11197
11306
  })(jQuery, window, document);
11198
11307
 
11199
11308
  /*!
11200
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Embed
11309
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Embed
11201
11310
  * https://github.com/fomantic/Fomantic-UI/
11202
11311
  *
11203
11312
  *
@@ -11317,11 +11426,12 @@
11317
11426
 
11318
11427
  createPlaceholder: function (placeholder) {
11319
11428
  var
11320
- icon = module.get.icon()
11429
+ icon = module.get.icon(),
11430
+ alt = module.get.alt()
11321
11431
  ;
11322
11432
  placeholder = placeholder || module.get.placeholder();
11323
- $module.html(templates.placeholder(placeholder, icon));
11324
- module.debug('Creating placeholder for embed', placeholder, icon);
11433
+ $module.html(templates.placeholder(placeholder, icon, alt));
11434
+ module.debug('Creating placeholder for embed', placeholder, icon, alt);
11325
11435
  },
11326
11436
 
11327
11437
  createEmbed: function (url) {
@@ -11401,6 +11511,9 @@
11401
11511
  placeholder: function () {
11402
11512
  return settings.placeholder || $module.data(metadata.placeholder);
11403
11513
  },
11514
+ alt: function () {
11515
+ return settings.alt || $module.data(metadata.alt);
11516
+ },
11404
11517
  icon: function () {
11405
11518
  return settings.icon || ($module.data(metadata.icon) !== undefined
11406
11519
  ? $module.data(metadata.icon)
@@ -11486,6 +11599,7 @@
11486
11599
  .removeData(metadata.id)
11487
11600
  .removeData(metadata.icon)
11488
11601
  .removeData(metadata.placeholder)
11602
+ .removeData(metadata.alt)
11489
11603
  .removeData(metadata.source)
11490
11604
  .removeData(metadata.url)
11491
11605
  ;
@@ -11638,7 +11752,9 @@
11638
11752
  });
11639
11753
  }
11640
11754
  clearTimeout(module.performance.timer);
11641
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
11755
+ module.performance.timer = setTimeout(function () {
11756
+ module.performance.display();
11757
+ }, 500);
11642
11758
  },
11643
11759
  display: function () {
11644
11760
  var
@@ -11753,6 +11869,8 @@
11753
11869
  source: false,
11754
11870
  url: false,
11755
11871
  id: false,
11872
+ placeholder: false,
11873
+ alt: false,
11756
11874
 
11757
11875
  // standard video settings
11758
11876
  autoplay: 'auto',
@@ -11775,6 +11893,7 @@
11775
11893
  id: 'id',
11776
11894
  icon: 'icon',
11777
11895
  placeholder: 'placeholder',
11896
+ alt: 'alt',
11778
11897
  source: 'source',
11779
11898
  url: 'url',
11780
11899
  },
@@ -11850,7 +11969,7 @@
11850
11969
  + ' width="100%" height="100%"'
11851
11970
  + ' msallowFullScreen allowFullScreen></iframe>';
11852
11971
  },
11853
- placeholder: function (image, icon) {
11972
+ placeholder: function (image, icon, alt) {
11854
11973
  var
11855
11974
  html = '',
11856
11975
  deQuote = $.fn.embed.settings.templates.deQuote
@@ -11859,7 +11978,7 @@
11859
11978
  html += '<i class="' + deQuote(icon) + ' icon"></i>';
11860
11979
  }
11861
11980
  if (image) {
11862
- html += '<img class="placeholder" src="' + deQuote(image) + '">';
11981
+ html += '<img class="placeholder" src="' + deQuote(image) + (alt ? '" alt="' + deQuote(alt) : '') + '">';
11863
11982
  }
11864
11983
 
11865
11984
  return html;
@@ -11876,7 +11995,7 @@
11876
11995
  })(jQuery, window, document);
11877
11996
 
11878
11997
  /*!
11879
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Flyout
11998
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Flyout
11880
11999
  * https://github.com/fomantic/Fomantic-UI/
11881
12000
  *
11882
12001
  *
@@ -13096,7 +13215,9 @@
13096
13215
  });
13097
13216
  }
13098
13217
  clearTimeout(module.performance.timer);
13099
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
13218
+ module.performance.timer = setTimeout(function () {
13219
+ module.performance.display();
13220
+ }, 500);
13100
13221
  },
13101
13222
  display: function () {
13102
13223
  var
@@ -13426,7 +13547,7 @@
13426
13547
  })(jQuery, window, document);
13427
13548
 
13428
13549
  /*!
13429
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Modal
13550
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Modal
13430
13551
  * https://github.com/fomantic/Fomantic-UI/
13431
13552
  *
13432
13553
  *
@@ -13954,7 +14075,9 @@
13954
14075
  },
13955
14076
  debounce: function (method, delay) {
13956
14077
  clearTimeout(module.timer);
13957
- module.timer = setTimeout(function () { method(); }, delay);
14078
+ module.timer = setTimeout(function () {
14079
+ method();
14080
+ }, delay);
13958
14081
  },
13959
14082
  keyboard: function (event) {
13960
14083
  var
@@ -14700,7 +14823,9 @@
14700
14823
  });
14701
14824
  }
14702
14825
  clearTimeout(module.performance.timer);
14703
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
14826
+ module.performance.timer = setTimeout(function () {
14827
+ module.performance.display();
14828
+ }, 500);
14704
14829
  },
14705
14830
  display: function () {
14706
14831
  var
@@ -15060,7 +15185,7 @@
15060
15185
  })(jQuery, window, document);
15061
15186
 
15062
15187
  /*!
15063
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Nag
15188
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Nag
15064
15189
  * https://github.com/fomantic/Fomantic-UI/
15065
15190
  *
15066
15191
  *
@@ -15149,7 +15274,9 @@
15149
15274
  }
15150
15275
 
15151
15276
  if (settings.displayTime > 0) {
15152
- setTimeout(function () { module.hide(); }, settings.displayTime);
15277
+ setTimeout(function () {
15278
+ module.hide();
15279
+ }, settings.displayTime);
15153
15280
  }
15154
15281
  module.show();
15155
15282
  },
@@ -15205,8 +15332,10 @@
15205
15332
  module.debug('Dismissing nag', settings.storageMethod, settings.key, settings.value, settings.expires);
15206
15333
  module.storage.set(settings.key, settings.value);
15207
15334
  }
15208
- event.stopImmediatePropagation();
15209
- event.preventDefault();
15335
+ if (event) {
15336
+ event.stopImmediatePropagation();
15337
+ event.preventDefault();
15338
+ }
15210
15339
  },
15211
15340
 
15212
15341
  should: {
@@ -15438,7 +15567,9 @@
15438
15567
  });
15439
15568
  }
15440
15569
  clearTimeout(module.performance.timer);
15441
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
15570
+ module.performance.timer = setTimeout(function () {
15571
+ module.performance.display();
15572
+ }, 500);
15442
15573
  },
15443
15574
  display: function () {
15444
15575
  var
@@ -15621,7 +15752,7 @@
15621
15752
  })(jQuery, window, document);
15622
15753
 
15623
15754
  /*!
15624
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Popup
15755
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Popup
15625
15756
  * https://github.com/fomantic/Fomantic-UI/
15626
15757
  *
15627
15758
  *
@@ -15816,7 +15947,9 @@
15816
15947
  ;
15817
15948
  clearTimeout(module.hideTimer);
15818
15949
  if (!openedWithTouch || (openedWithTouch && settings.addTouchEvents)) {
15819
- module.showTimer = setTimeout(function () { module.show(); }, delay);
15950
+ module.showTimer = setTimeout(function () {
15951
+ module.show();
15952
+ }, delay);
15820
15953
  }
15821
15954
  },
15822
15955
  end: function () {
@@ -15826,7 +15959,9 @@
15826
15959
  : settings.delay
15827
15960
  ;
15828
15961
  clearTimeout(module.showTimer);
15829
- module.hideTimer = setTimeout(function () { module.hide(); }, delay);
15962
+ module.hideTimer = setTimeout(function () {
15963
+ module.hide();
15964
+ }, delay);
15830
15965
  },
15831
15966
  touchstart: function (event) {
15832
15967
  openedWithTouch = true;
@@ -16866,7 +17001,9 @@
16866
17001
  });
16867
17002
  }
16868
17003
  clearTimeout(module.performance.timer);
16869
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
17004
+ module.performance.timer = setTimeout(function () {
17005
+ module.performance.display();
17006
+ }, 500);
16870
17007
  },
16871
17008
  display: function () {
16872
17009
  var
@@ -17177,7 +17314,7 @@
17177
17314
  })(jQuery, window, document);
17178
17315
 
17179
17316
  /*!
17180
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Progress
17317
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Progress
17181
17318
  * https://github.com/fomantic/Fomantic-UI/
17182
17319
  *
17183
17320
  *
@@ -17969,7 +18106,9 @@
17969
18106
  });
17970
18107
  }
17971
18108
  clearTimeout(module.performance.timer);
17972
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
18109
+ module.performance.timer = setTimeout(function () {
18110
+ module.performance.display();
18111
+ }, 500);
17973
18112
  },
17974
18113
  display: function () {
17975
18114
  var
@@ -18155,7 +18294,7 @@
18155
18294
  })(jQuery, window, document);
18156
18295
 
18157
18296
  /*!
18158
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Slider
18297
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Slider
18159
18298
  * https://github.com/fomantic/Fomantic-UI/
18160
18299
  *
18161
18300
  *
@@ -19423,7 +19562,9 @@
19423
19562
  });
19424
19563
  }
19425
19564
  clearTimeout(module.performance.timer);
19426
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19565
+ module.performance.timer = setTimeout(function () {
19566
+ module.performance.display();
19567
+ }, 500);
19427
19568
  },
19428
19569
  display: function () {
19429
19570
  var
@@ -19604,7 +19745,7 @@
19604
19745
  })(jQuery, window, document);
19605
19746
 
19606
19747
  /*!
19607
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Rating
19748
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Rating
19608
19749
  * https://github.com/fomantic/Fomantic-UI/
19609
19750
  *
19610
19751
  *
@@ -19973,7 +20114,9 @@
19973
20114
  });
19974
20115
  }
19975
20116
  clearTimeout(module.performance.timer);
19976
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
20117
+ module.performance.timer = setTimeout(function () {
20118
+ module.performance.display();
20119
+ }, 500);
19977
20120
  },
19978
20121
  display: function () {
19979
20122
  var
@@ -20143,7 +20286,7 @@
20143
20286
  })(jQuery, window, document);
20144
20287
 
20145
20288
  /*!
20146
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Search
20289
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Search
20147
20290
  * https://github.com/fomantic/Fomantic-UI/
20148
20291
  *
20149
20292
  *
@@ -20279,7 +20422,10 @@
20279
20422
  // this makes sure $.extend does not add specified search fields to default fields
20280
20423
  // this is the only setting which should not extend defaults
20281
20424
  if (parameters && parameters.searchFields !== undefined) {
20282
- settings.searchFields = parameters.searchFields;
20425
+ settings.searchFields = Array.isArray(parameters.searchFields)
20426
+ ? parameters.searchFields
20427
+ : [parameters.searchFields]
20428
+ ;
20283
20429
  }
20284
20430
  },
20285
20431
  },
@@ -20313,7 +20459,9 @@
20313
20459
  callback = function () {
20314
20460
  module.cancel.query();
20315
20461
  module.remove.focus();
20316
- module.timer = setTimeout(function () { module.hideResults(); }, settings.hideDelay);
20462
+ module.timer = setTimeout(function () {
20463
+ module.hideResults();
20464
+ }, settings.hideDelay);
20317
20465
  }
20318
20466
  ;
20319
20467
  if (pageLostFocus) {
@@ -20773,7 +20921,7 @@
20773
20921
  exactResults = [],
20774
20922
  fuzzyResults = [],
20775
20923
  searchExp = searchTerm.replace(regExp.escape, '\\$&'),
20776
- matchRegExp = new RegExp(regExp.beginsWith + searchExp, 'i'),
20924
+ matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : ''),
20777
20925
 
20778
20926
  // avoid duplicates when pushing results
20779
20927
  addResult = function (array, result) {
@@ -20809,13 +20957,14 @@
20809
20957
  var concatenatedContent = [];
20810
20958
  $.each(searchFields, function (index, field) {
20811
20959
  var
20812
- fieldExists = (typeof content[field] === 'string') || (typeof content[field] === 'number')
20960
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
20813
20961
  ;
20814
20962
  if (fieldExists) {
20815
20963
  var text;
20816
20964
  text = typeof content[field] === 'string'
20817
20965
  ? module.remove.diacritics(content[field])
20818
20966
  : content[field].toString();
20967
+ text = $('<div/>', { html: text }).text().trim();
20819
20968
  if (settings.fullTextSearch === 'all') {
20820
20969
  concatenatedContent.push(text);
20821
20970
  if (index < lastSearchFieldIndex) {
@@ -20846,8 +20995,10 @@
20846
20995
  },
20847
20996
  },
20848
20997
  exactSearch: function (query, term) {
20849
- query = query.toLowerCase();
20850
- term = term.toLowerCase();
20998
+ if (settings.ignoreSearchCase) {
20999
+ query = query.toLowerCase();
21000
+ term = term.toLowerCase();
21001
+ }
20851
21002
 
20852
21003
  return term.indexOf(query) > -1;
20853
21004
  },
@@ -20874,8 +21025,10 @@
20874
21025
  if (typeof query !== 'string') {
20875
21026
  return false;
20876
21027
  }
20877
- query = query.toLowerCase();
20878
- term = term.toLowerCase();
21028
+ if (settings.ignoreSearchCase) {
21029
+ query = query.toLowerCase();
21030
+ term = term.toLowerCase();
21031
+ }
20879
21032
  if (queryLength > termLength) {
20880
21033
  return false;
20881
21034
  }
@@ -21230,6 +21383,39 @@
21230
21383
  response[fields.results] = response[fields.results].slice(0, settings.maxResults);
21231
21384
  }
21232
21385
  }
21386
+ if (settings.highlightMatches) {
21387
+ var results = response[fields.results],
21388
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
21389
+ querySplit = module.get.value().split(''),
21390
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
21391
+ htmlReg = '(?![^<]*>)',
21392
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
21393
+ markedReplacer = function () {
21394
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
21395
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
21396
+ });
21397
+
21398
+ return args.join('');
21399
+ }
21400
+ ;
21401
+ $.each(results, function (label, content) {
21402
+ $.each(settings.searchFields, function (index, field) {
21403
+ var
21404
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
21405
+ ;
21406
+ if (fieldExists) {
21407
+ var markedHTML = typeof content[field] === 'string'
21408
+ ? content[field]
21409
+ : content[field].toString();
21410
+ if (settings.ignoreDiacritics) {
21411
+ markedHTML = markedHTML.normalize('NFD');
21412
+ }
21413
+ markedHTML = markedHTML.replace(/<\/?mark>/g, '');
21414
+ response[fields.results][label][field] = markedHTML.replace(markedRegExp, markedReplacer);
21415
+ }
21416
+ });
21417
+ });
21418
+ }
21233
21419
  if (isFunction(template)) {
21234
21420
  html = template(response, fields, settings.preserveHTML);
21235
21421
  } else {
@@ -21315,7 +21501,9 @@
21315
21501
  });
21316
21502
  }
21317
21503
  clearTimeout(module.performance.timer);
21318
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
21504
+ module.performance.timer = setTimeout(function () {
21505
+ module.performance.display();
21506
+ }, 500);
21319
21507
  },
21320
21508
  display: function () {
21321
21509
  var
@@ -21456,9 +21644,15 @@
21456
21644
  // search anywhere in value (set to 'exact' to require exact matches
21457
21645
  fullTextSearch: 'exact',
21458
21646
 
21647
+ // Whether search result should highlight matching strings
21648
+ highlightMatches: false,
21649
+
21459
21650
  // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
21460
21651
  ignoreDiacritics: false,
21461
21652
 
21653
+ // whether to consider case sensitivity on local searching
21654
+ ignoreSearchCase: true,
21655
+
21462
21656
  // whether to add events to prompt automatically
21463
21657
  automatic: true,
21464
21658
 
@@ -21537,6 +21731,7 @@
21537
21731
  categoryResults: 'results', // array of results (category view)
21538
21732
  description: 'description', // result description
21539
21733
  image: 'image', // result image
21734
+ alt: 'alt', // result alt text for image
21540
21735
  price: 'price', // result price
21541
21736
  results: 'results', // array of results (standard)
21542
21737
  title: 'title', // result title
@@ -21576,8 +21771,9 @@
21576
21771
  };
21577
21772
  if (shouldEscape.test(string)) {
21578
21773
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
21579
-
21580
- return string.replace(badChars, escapedChar);
21774
+ string = string.replace(badChars, escapedChar);
21775
+ // FUI controlled HTML is still allowed
21776
+ string = string.replace(/&lt;(\/)*mark&gt;/g, '<$1mark>');
21581
21777
  }
21582
21778
 
21583
21779
  return string;
@@ -21623,7 +21819,7 @@
21623
21819
  if (result[fields.image] !== undefined) {
21624
21820
  html += ''
21625
21821
  + '<div class="image">'
21626
- + ' <img src="' + result[fields.image].replace(/"/g, '') + '">'
21822
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21627
21823
  + '</div>';
21628
21824
  }
21629
21825
  html += '<div class="content">';
@@ -21676,7 +21872,7 @@
21676
21872
  if (result[fields.image] !== undefined) {
21677
21873
  html += ''
21678
21874
  + '<div class="image">'
21679
- + ' <img src="' + result[fields.image].replace(/"/g, '') + '">'
21875
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21680
21876
  + '</div>';
21681
21877
  }
21682
21878
  html += '<div class="content">';
@@ -21721,7 +21917,7 @@
21721
21917
  })(jQuery, window, document);
21722
21918
 
21723
21919
  /*!
21724
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Shape
21920
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Shape
21725
21921
  * https://github.com/fomantic/Fomantic-UI/
21726
21922
  *
21727
21923
  *
@@ -22345,7 +22541,9 @@
22345
22541
  });
22346
22542
  }
22347
22543
  clearTimeout(module.performance.timer);
22348
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
22544
+ module.performance.timer = setTimeout(function () {
22545
+ module.performance.display();
22546
+ }, 500);
22349
22547
  },
22350
22548
  display: function () {
22351
22549
  var
@@ -22517,7 +22715,7 @@
22517
22715
  })(jQuery, window, document);
22518
22716
 
22519
22717
  /*!
22520
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Sidebar
22718
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Sidebar
22521
22719
  * https://github.com/fomantic/Fomantic-UI/
22522
22720
  *
22523
22721
  *
@@ -23389,7 +23587,9 @@
23389
23587
  });
23390
23588
  }
23391
23589
  clearTimeout(module.performance.timer);
23392
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
23590
+ module.performance.timer = setTimeout(function () {
23591
+ module.performance.display();
23592
+ }, 500);
23393
23593
  },
23394
23594
  display: function () {
23395
23595
  var
@@ -23570,7 +23770,7 @@
23570
23770
  })(jQuery, window, document);
23571
23771
 
23572
23772
  /*!
23573
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Sticky
23773
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Sticky
23574
23774
  * https://github.com/fomantic/Fomantic-UI/
23575
23775
  *
23576
23776
  *
@@ -24317,7 +24517,9 @@
24317
24517
  });
24318
24518
  }
24319
24519
  clearTimeout(module.performance.timer);
24320
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 0);
24520
+ module.performance.timer = setTimeout(function () {
24521
+ module.performance.display();
24522
+ }, 0);
24321
24523
  },
24322
24524
  display: function () {
24323
24525
  var
@@ -24486,7 +24688,7 @@
24486
24688
  })(jQuery, window, document);
24487
24689
 
24488
24690
  /*!
24489
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Tab
24691
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Tab
24490
24692
  * https://github.com/fomantic/Fomantic-UI/
24491
24693
  *
24492
24694
  *
@@ -25275,7 +25477,9 @@
25275
25477
  });
25276
25478
  }
25277
25479
  clearTimeout(module.performance.timer);
25278
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
25480
+ module.performance.timer = setTimeout(function () {
25481
+ module.performance.display();
25482
+ }, 500);
25279
25483
  },
25280
25484
  display: function () {
25281
25485
  var
@@ -25452,7 +25656,7 @@
25452
25656
  })(jQuery, window, document);
25453
25657
 
25454
25658
  /*!
25455
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Toast
25659
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Toast
25456
25660
  * https://github.com/fomantic/Fomantic-UI/
25457
25661
  *
25458
25662
  *
@@ -25636,6 +25840,7 @@
25636
25840
  $toast.append($('<img>', {
25637
25841
  class: className.image + ' ' + settings.classImage,
25638
25842
  src: settings.showImage,
25843
+ alt: settings.alt || '',
25639
25844
  }));
25640
25845
  }
25641
25846
  if (settings.title !== '') {
@@ -25681,7 +25886,7 @@
25681
25886
  $toast.find(selector.icon).attr('class', iconClass + ' ' + className.icon);
25682
25887
  }
25683
25888
  if (settings.showImage) {
25684
- $toast.find(selector.image).attr('src', settings.showImage);
25889
+ $toast.find(selector.image).attr('src', settings.showImage).attr('alt', settings.alt || '');
25685
25890
  }
25686
25891
  if (settings.title !== '') {
25687
25892
  $toast.find(selector.title).html(module.helpers.escape(settings.title, settings.preserveHTML));
@@ -26155,7 +26360,9 @@
26155
26360
  });
26156
26361
  }
26157
26362
  clearTimeout(module.performance.timer);
26158
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
26363
+ module.performance.timer = setTimeout(function () {
26364
+ module.performance.display();
26365
+ }, 500);
26159
26366
  },
26160
26367
  display: function () {
26161
26368
  var
@@ -26292,6 +26499,7 @@
26292
26499
  actions: false,
26293
26500
  preserveHTML: true,
26294
26501
  showImage: false,
26502
+ alt: false,
26295
26503
 
26296
26504
  // transition settings
26297
26505
  transition: {
@@ -26413,7 +26621,7 @@
26413
26621
  })(jQuery, window, document);
26414
26622
 
26415
26623
  /*!
26416
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Transition
26624
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Transition
26417
26625
  * https://github.com/fomantic/Fomantic-UI/
26418
26626
  *
26419
26627
  *
@@ -26556,7 +26764,9 @@
26556
26764
  ? ($allModules.length - index) * interval
26557
26765
  : index * interval;
26558
26766
  module.debug('Delaying animation by', delay);
26559
- setTimeout(function () { module.animate(); }, delay);
26767
+ setTimeout(function () {
26768
+ module.animate();
26769
+ }, delay);
26560
26770
  },
26561
26771
 
26562
26772
  animate: function (overrideSettings) {
@@ -27263,7 +27473,9 @@
27263
27473
  });
27264
27474
  }
27265
27475
  clearTimeout(module.performance.timer);
27266
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
27476
+ module.performance.timer = setTimeout(function () {
27477
+ module.performance.display();
27478
+ }, 500);
27267
27479
  },
27268
27480
  display: function () {
27269
27481
  var
@@ -27444,7 +27656,7 @@
27444
27656
  })(jQuery, window, document);
27445
27657
 
27446
27658
  /*!
27447
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - API
27659
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - API
27448
27660
  * https://github.com/fomantic/Fomantic-UI/
27449
27661
  *
27450
27662
  *
@@ -28092,7 +28304,9 @@
28092
28304
  module.debug('Adding error state');
28093
28305
  module.set.error();
28094
28306
  if (module.should.removeError()) {
28095
- setTimeout(function () { module.remove.error(); }, settings.errorDuration);
28307
+ setTimeout(function () {
28308
+ module.remove.error();
28309
+ }, settings.errorDuration);
28096
28310
  }
28097
28311
  }
28098
28312
  module.debug('API Request failed', errorMessage, xhr);
@@ -28416,7 +28630,9 @@
28416
28630
  });
28417
28631
  }
28418
28632
  clearTimeout(module.performance.timer);
28419
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
28633
+ module.performance.timer = setTimeout(function () {
28634
+ module.performance.display();
28635
+ }, 500);
28420
28636
  },
28421
28637
  display: function () {
28422
28638
  var
@@ -28666,7 +28882,7 @@
28666
28882
  })(jQuery, window, document);
28667
28883
 
28668
28884
  /*!
28669
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - State
28885
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - State
28670
28886
  * https://github.com/fomantic/Fomantic-UI/
28671
28887
  *
28672
28888
  *
@@ -29149,7 +29365,9 @@
29149
29365
  });
29150
29366
  }
29151
29367
  clearTimeout(module.performance.timer);
29152
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
29368
+ module.performance.timer = setTimeout(function () {
29369
+ module.performance.display();
29370
+ }, 500);
29153
29371
  },
29154
29372
  display: function () {
29155
29373
  var
@@ -29362,7 +29580,7 @@
29362
29580
  })(jQuery, window, document);
29363
29581
 
29364
29582
  /*!
29365
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Visibility
29583
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Visibility
29366
29584
  * https://github.com/fomantic/Fomantic-UI/
29367
29585
  *
29368
29586
  *
@@ -30451,7 +30669,9 @@
30451
30669
  });
30452
30670
  }
30453
30671
  clearTimeout(module.performance.timer);
30454
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
30672
+ module.performance.timer = setTimeout(function () {
30673
+ module.performance.display();
30674
+ }, 500);
30455
30675
  },
30456
30676
  display: function () {
30457
30677
  var