fomantic-ui 2.9.4-beta.6 → 2.9.4-beta.60

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 (266) 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 +21 -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 +46 -38
  43. package/dist/components/dropdown.js +104 -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 +23 -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 +1 -1
  67. package/dist/components/header.min.css +1 -1
  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 -1
  77. package/dist/components/label.min.css +1 -1
  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 -1
  83. package/dist/components/menu.min.css +1 -1
  84. package/dist/components/message.css +2 -1
  85. package/dist/components/message.min.css +2 -2
  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 -1
  97. package/dist/components/popup.js +10 -4
  98. package/dist/components/popup.min.css +1 -1
  99. package/dist/components/popup.min.js +2 -2
  100. package/dist/components/progress.css +14 -5
  101. package/dist/components/progress.js +4 -2
  102. package/dist/components/progress.min.css +2 -2
  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 +270 -142
  165. package/dist/semantic.js +362 -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 +14 -14
  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 +16 -4
  179. package/src/definitions/collections/grid.less +4 -4
  180. package/src/definitions/collections/message.less +1 -0
  181. package/src/definitions/collections/table.less +69 -54
  182. package/src/definitions/elements/button.less +27 -3
  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 +103 -32
  192. package/src/definitions/modules/dropdown.less +43 -29
  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/progress.less +17 -5
  200. package/src/definitions/modules/rating.js +3 -1
  201. package/src/definitions/modules/search.js +66 -13
  202. package/src/definitions/modules/search.less +9 -2
  203. package/src/definitions/modules/shape.js +3 -1
  204. package/src/definitions/modules/sidebar.js +3 -1
  205. package/src/definitions/modules/slider.js +3 -1
  206. package/src/definitions/modules/sticky.js +3 -1
  207. package/src/definitions/modules/tab.js +3 -1
  208. package/src/definitions/modules/toast.js +6 -2
  209. package/src/definitions/modules/transition.js +6 -2
  210. package/src/definitions/views/feed.less +11 -0
  211. package/src/themes/basic/assets/fonts/LICENSE.txt +91 -0
  212. package/src/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  213. package/src/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  214. package/src/themes/default/collections/form.variables +1 -0
  215. package/src/themes/default/elements/button.variables +3 -0
  216. package/src/themes/default/globals/site.variables +3 -0
  217. package/src/themes/default/globals/variation.variables +3 -0
  218. package/src/themes/default/modules/dropdown.variables +3 -0
  219. package/src/themes/default/modules/search.variables +3 -0
  220. package/src/themes/default/views/feed.variables +3 -0
  221. package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
  222. package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
  223. package/tasks/admin/components/create.js +4 -4
  224. package/tasks/admin/components/init.js +2 -2
  225. package/tasks/admin/components/update.js +3 -3
  226. package/tasks/admin/distributions/create.js +3 -3
  227. package/tasks/admin/distributions/init.js +2 -2
  228. package/tasks/admin/distributions/update.js +4 -4
  229. package/tasks/build/assets.js +1 -1
  230. package/tasks/build/css.js +19 -10
  231. package/tasks/build/javascript.js +12 -5
  232. package/tasks/check-install.js +1 -1
  233. package/tasks/config/defaults.js +2 -0
  234. package/tasks/config/tasks.js +1 -1
  235. package/tasks/docs/build.js +3 -3
  236. package/tasks/docs/metadata.js +1 -1
  237. package/tasks/docs/serve.js +3 -1
  238. package/tasks/install.js +2 -2
  239. package/tasks/watch.js +1 -1
  240. package/types/fomantic-ui-accordion.d.ts +1 -1
  241. package/types/fomantic-ui-api.d.ts +9 -3
  242. package/types/fomantic-ui-calendar.d.ts +93 -8
  243. package/types/fomantic-ui-checkbox.d.ts +14 -4
  244. package/types/fomantic-ui-dimmer.d.ts +1 -1
  245. package/types/fomantic-ui-dropdown.d.ts +48 -35
  246. package/types/fomantic-ui-embed.d.ts +19 -2
  247. package/types/fomantic-ui-flyout.d.ts +24 -10
  248. package/types/fomantic-ui-form.d.ts +123 -15
  249. package/types/fomantic-ui-modal.d.ts +75 -5
  250. package/types/fomantic-ui-nag.d.ts +4 -4
  251. package/types/fomantic-ui-popup.d.ts +11 -11
  252. package/types/fomantic-ui-progress.d.ts +12 -6
  253. package/types/fomantic-ui-rating.d.ts +1 -1
  254. package/types/fomantic-ui-search.d.ts +125 -14
  255. package/types/fomantic-ui-shape.d.ts +2 -2
  256. package/types/fomantic-ui-sidebar.d.ts +4 -4
  257. package/types/fomantic-ui-slider.d.ts +1 -1
  258. package/types/fomantic-ui-sticky.d.ts +1 -1
  259. package/types/fomantic-ui-tab.d.ts +5 -5
  260. package/types/fomantic-ui-toast.d.ts +14 -2
  261. package/types/fomantic-ui-transition.d.ts +29 -1
  262. package/types/fomantic-ui-visibility.d.ts +3 -3
  263. package/types/index.d.ts +25 -25
  264. package/types/tests.ts +188 -0
  265. package/types/tsconfig.json +1 -1
  266. 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.6+b198514
2
+ * # Fomantic UI - 2.9.4-beta.60+c48cd9d
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.6+b198514 - Site
12
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - 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.6+b198514 - Form Validation
468
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - 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.6+b198514 - Accordion
2651
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - 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.6+b198514 - Calendar
3247
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - 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.6+b198514 - Checkbox
5270
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - 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.6+b198514 - Dimmer
6159
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - 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.6+b198514 - Dropdown
6892
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Dropdown
6843
6893
  * https://github.com/fomantic/Fomantic-UI/
6844
6894
  *
6845
6895
  *
@@ -6966,6 +7016,8 @@
6966
7016
  module.set.initialLoad();
6967
7017
  module.change.values(settings.values);
6968
7018
  module.remove.initialLoad();
7019
+ } else if (module.get.placeholderText() !== '') {
7020
+ module.set.placeholderText();
6969
7021
  }
6970
7022
 
6971
7023
  module.refreshData();
@@ -7633,7 +7685,7 @@
7633
7685
  }
7634
7686
  if (module.is.multiple()) {
7635
7687
  $.each(preSelected, function (index, value) {
7636
- $item.filter('[data-value="' + value + '"]')
7688
+ $item.filter('[data-' + metadata.value + '="' + value + '"]')
7637
7689
  .addClass(className.filtered)
7638
7690
  ;
7639
7691
  });
@@ -7730,11 +7782,13 @@
7730
7782
  ? query
7731
7783
  : module.get.query()
7732
7784
  ),
7733
- results = null,
7734
- escapedTerm = module.escape.string(searchTerm),
7735
- regExpFlags = (settings.ignoreSearchCase ? 'i' : '') + 'gm',
7785
+ results = null,
7786
+ escapedTerm = module.escape.string(searchTerm),
7787
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
7788
+ regExpFlags = regExpIgnore + 'gm',
7736
7789
  beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
7737
7790
  ;
7791
+ module.remove.filteredItem();
7738
7792
  // avoid loop if we're matching nothing
7739
7793
  if (module.has.query()) {
7740
7794
  results = [];
@@ -7778,12 +7832,34 @@
7778
7832
  ;
7779
7833
  }
7780
7834
  module.debug('Showing only matched items', searchTerm);
7781
- module.remove.filteredItem();
7782
7835
  if (results) {
7783
7836
  $item
7784
7837
  .not(results)
7785
7838
  .addClass(className.filtered)
7786
7839
  ;
7840
+ if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
7841
+ var querySplit = query.split(''),
7842
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
7843
+ htmlReg = '(?![^<]*>)',
7844
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
7845
+ markedReplacer = function () {
7846
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
7847
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
7848
+ });
7849
+
7850
+ return args.join('');
7851
+ }
7852
+ ;
7853
+ $.each(results, function (index, result) {
7854
+ var $result = $(result),
7855
+ markedHTML = module.get.choiceText($result, true)
7856
+ ;
7857
+ if (settings.ignoreDiacritics) {
7858
+ markedHTML = markedHTML.normalize('NFD');
7859
+ }
7860
+ $result.html(markedHTML.replace(markedRegExp, markedReplacer));
7861
+ });
7862
+ }
7787
7863
  }
7788
7864
 
7789
7865
  if (!module.has.query()) {
@@ -7819,8 +7895,10 @@
7819
7895
  termLength = term.length,
7820
7896
  queryLength = query.length
7821
7897
  ;
7822
- query = settings.ignoreSearchCase ? query.toLowerCase() : query;
7823
- term = settings.ignoreSearchCase ? term.toLowerCase() : term;
7898
+ if (settings.ignoreSearchCase) {
7899
+ query = query.toLowerCase();
7900
+ term = term.toLowerCase();
7901
+ }
7824
7902
  if (queryLength > termLength) {
7825
7903
  return false;
7826
7904
  }
@@ -8027,7 +8105,7 @@
8027
8105
  if (!itemActivated && !pageLostFocus) {
8028
8106
  if (settings.forceSelection) {
8029
8107
  module.forceSelection();
8030
- } else if (!settings.allowAdditions) {
8108
+ } else if (!settings.allowAdditions && !settings.keepSearchTerm && !module.has.menuSearch()) {
8031
8109
  module.remove.searchTerm();
8032
8110
  }
8033
8111
  module.hide();
@@ -8076,7 +8154,9 @@
8076
8154
  module.set.filtered();
8077
8155
  }
8078
8156
  clearTimeout(module.timer);
8079
- module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
8157
+ module.timer = setTimeout(function () {
8158
+ module.search();
8159
+ }, settings.delay.search);
8080
8160
  },
8081
8161
  label: {
8082
8162
  click: function (event) {
@@ -8253,7 +8333,9 @@
8253
8333
  module.remove.userAddition();
8254
8334
  }
8255
8335
  if (!settings.keepSearchTerm) {
8256
- module.remove.filteredItem();
8336
+ if (module.is.multiple()) {
8337
+ module.remove.filteredItem();
8338
+ }
8257
8339
  module.remove.searchTerm();
8258
8340
  }
8259
8341
  if (!module.is.visible() && $target.length > 0) {
@@ -9427,7 +9509,7 @@
9427
9509
  } else {
9428
9510
  $combo.text(text);
9429
9511
  }
9430
- } else if (settings.action === 'activate') {
9512
+ } else if (settings.action === 'activate' || isFunction(settings.action)) {
9431
9513
  if (text !== module.get.placeholderText() || isNotPlaceholder) {
9432
9514
  $text.removeClass(className.placeholder);
9433
9515
  }
@@ -9487,7 +9569,7 @@
9487
9569
  module.set.scrollPosition($nextValue);
9488
9570
  $selectedItem.removeClass(className.selected);
9489
9571
  $nextValue.addClass(className.selected);
9490
- if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
9572
+ if (settings.selectOnKeydown && module.is.single() && (!$nextItem || !$nextItem.hasClass(className.actionable))) {
9491
9573
  module.set.selectedItem($nextValue);
9492
9574
  }
9493
9575
  }
@@ -9608,19 +9690,27 @@
9608
9690
  $selectedItem = settings.allowAdditions
9609
9691
  ? $selectedItem || module.get.itemWithAdditions(value)
9610
9692
  : $selectedItem || module.get.item(value);
9611
- if (!$selectedItem) {
9693
+ if (!$selectedItem && value !== undefined) {
9612
9694
  return false;
9613
9695
  }
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()) {
9696
+ if (isMultiple) {
9697
+ if (!keepSearchTerm) {
9698
+ module.remove.searchWidth();
9699
+ }
9700
+ if (settings.useLabels) {
9701
+ module.remove.selectedItem();
9702
+ if (value === undefined) {
9703
+ module.remove.labels($module.find(selector.label), true);
9704
+ }
9705
+ }
9706
+ } else {
9619
9707
  module.remove.activeItem();
9620
9708
  module.remove.selectedItem();
9621
- } else if (settings.useLabels) {
9622
- module.remove.selectedItem();
9623
9709
  }
9710
+ if (!$selectedItem) {
9711
+ return false;
9712
+ }
9713
+ module.debug('Setting selected menu item to', $selectedItem);
9624
9714
  // select each item
9625
9715
  $selectedItem
9626
9716
  .each(function () {
@@ -9920,6 +10010,12 @@
9920
10010
  $item.removeClass(className.active);
9921
10011
  },
9922
10012
  filteredItem: function () {
10013
+ if (settings.highlightMatches) {
10014
+ $.each($item, function (index, item) {
10015
+ var $markItem = $(item);
10016
+ $markItem.html($markItem.html().replace(/<\/?mark>/g, ''));
10017
+ });
10018
+ }
9923
10019
  if (settings.useLabels && module.has.maxSelections()) {
9924
10020
  return;
9925
10021
  }
@@ -10264,7 +10360,12 @@
10264
10360
  return $selectedMenu.hasClass(className.leftward);
10265
10361
  },
10266
10362
  clearable: function () {
10267
- return $module.hasClass(className.clearable) || settings.clearable;
10363
+ var hasClearableClass = $module.hasClass(className.clearable);
10364
+ if (!hasClearableClass && settings.clearable) {
10365
+ $module.addClass(className.clearable);
10366
+ }
10367
+
10368
+ return hasClearableClass || settings.clearable;
10268
10369
  },
10269
10370
  disabled: function () {
10270
10371
  return $module.hasClass(className.disabled);
@@ -10587,12 +10688,16 @@
10587
10688
  show: function () {
10588
10689
  module.verbose('Delaying show event to ensure user intent');
10589
10690
  clearTimeout(module.timer);
10590
- module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
10691
+ module.timer = setTimeout(function () {
10692
+ module.show();
10693
+ }, settings.delay.show);
10591
10694
  },
10592
10695
  hide: function () {
10593
10696
  module.verbose('Delaying hide event to ensure user intent');
10594
10697
  clearTimeout(module.timer);
10595
- module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
10698
+ module.timer = setTimeout(function () {
10699
+ module.hide();
10700
+ }, settings.delay.hide);
10596
10701
  },
10597
10702
  },
10598
10703
 
@@ -10625,6 +10730,7 @@
10625
10730
  return text.replace(regExp.escape, '\\$&');
10626
10731
  },
10627
10732
  htmlEntities: function (string, forceAmpersand) {
10733
+ forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
10628
10734
  var
10629
10735
  badChars = /["'<>`]/g,
10630
10736
  shouldEscape = /["&'<>`]/,
@@ -10641,8 +10747,7 @@
10641
10747
  ;
10642
10748
  if (shouldEscape.test(string)) {
10643
10749
  string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&amp;');
10644
-
10645
- return string.replace(badChars, escapedChar);
10750
+ string = string.replace(badChars, escapedChar);
10646
10751
  }
10647
10752
 
10648
10753
  return string;
@@ -10718,7 +10823,9 @@
10718
10823
  });
10719
10824
  }
10720
10825
  clearTimeout(module.performance.timer);
10721
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
10826
+ module.performance.timer = setTimeout(function () {
10827
+ module.performance.display();
10828
+ }, 500);
10722
10829
  },
10723
10830
  display: function () {
10724
10831
  var
@@ -10845,6 +10952,7 @@
10845
10952
 
10846
10953
  match: 'both', // what to match against with search selection (both, text, or label)
10847
10954
  fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
10955
+ highlightMatches: false, // Whether search result should highlight matching strings
10848
10956
  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
10957
  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
10958
 
@@ -10960,9 +11068,11 @@
10960
11068
  descriptionVertical: 'descriptionVertical', // whether description should be vertical
10961
11069
  value: 'value', // actual dropdown value
10962
11070
  text: 'text', // displayed text when selected
11071
+ data: 'data', // custom data attributes
10963
11072
  type: 'type', // type of dropdown element
10964
11073
  image: 'image', // optional image path
10965
11074
  imageClass: 'imageClass', // optional individual class for image
11075
+ alt: 'alt', // optional alt text for image
10966
11076
  icon: 'icon', // optional icon name
10967
11077
  iconClass: 'iconClass', // optional individual class for icon (for example to use flag instead)
10968
11078
  class: 'class', // optional individual class for item/header
@@ -11069,8 +11179,7 @@
11069
11179
  ;
11070
11180
  if (shouldEscape.test(string)) {
11071
11181
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
11072
-
11073
- return string.replace(badChars, escapedChar);
11182
+ string = string.replace(badChars, escapedChar);
11074
11183
  }
11075
11184
 
11076
11185
  return string;
@@ -11105,9 +11214,21 @@
11105
11214
  $.each(values, function (index, option) {
11106
11215
  var
11107
11216
  itemType = option[fields.type] || 'item',
11108
- isMenu = itemType.indexOf('menu') !== -1
11217
+ isMenu = itemType.indexOf('menu') !== -1,
11218
+ maybeData = '',
11219
+ dataObject = option[fields.data]
11109
11220
  ;
11110
-
11221
+ if (dataObject) {
11222
+ var dataKey,
11223
+ dataKeyEscaped
11224
+ ;
11225
+ for (dataKey in dataObject) {
11226
+ dataKeyEscaped = String(dataKey).replace(/\W/g, '');
11227
+ if (Object.prototype.hasOwnProperty.call(dataObject, dataKey) && ['text', 'value'].indexOf(dataKeyEscaped.toLowerCase()) === -1) {
11228
+ maybeData += ' data-' + dataKeyEscaped + '="' + deQuote(String(dataObject[dataKey])) + '"';
11229
+ }
11230
+ }
11231
+ }
11111
11232
  if (itemType === 'item' || isMenu) {
11112
11233
  var
11113
11234
  maybeText = option[fields.text]
@@ -11124,12 +11245,12 @@
11124
11245
  : '',
11125
11246
  hasDescription = escape(option[fields.description] || '', preserveHTML) !== ''
11126
11247
  ;
11127
- html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
11248
+ html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + maybeData + '>';
11128
11249
  if (isMenu) {
11129
11250
  html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
11130
11251
  }
11131
11252
  if (option[fields.image]) {
11132
- html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + '">';
11253
+ html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + (option[fields.alt] ? '" alt="' + deQuote(option[fields.alt]) : '') + '">';
11133
11254
  }
11134
11255
  if (option[fields.icon]) {
11135
11256
  html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
@@ -11197,7 +11318,7 @@
11197
11318
  })(jQuery, window, document);
11198
11319
 
11199
11320
  /*!
11200
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Embed
11321
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Embed
11201
11322
  * https://github.com/fomantic/Fomantic-UI/
11202
11323
  *
11203
11324
  *
@@ -11317,11 +11438,12 @@
11317
11438
 
11318
11439
  createPlaceholder: function (placeholder) {
11319
11440
  var
11320
- icon = module.get.icon()
11441
+ icon = module.get.icon(),
11442
+ alt = module.get.alt()
11321
11443
  ;
11322
11444
  placeholder = placeholder || module.get.placeholder();
11323
- $module.html(templates.placeholder(placeholder, icon));
11324
- module.debug('Creating placeholder for embed', placeholder, icon);
11445
+ $module.html(templates.placeholder(placeholder, icon, alt));
11446
+ module.debug('Creating placeholder for embed', placeholder, icon, alt);
11325
11447
  },
11326
11448
 
11327
11449
  createEmbed: function (url) {
@@ -11401,6 +11523,9 @@
11401
11523
  placeholder: function () {
11402
11524
  return settings.placeholder || $module.data(metadata.placeholder);
11403
11525
  },
11526
+ alt: function () {
11527
+ return settings.alt || $module.data(metadata.alt);
11528
+ },
11404
11529
  icon: function () {
11405
11530
  return settings.icon || ($module.data(metadata.icon) !== undefined
11406
11531
  ? $module.data(metadata.icon)
@@ -11486,6 +11611,7 @@
11486
11611
  .removeData(metadata.id)
11487
11612
  .removeData(metadata.icon)
11488
11613
  .removeData(metadata.placeholder)
11614
+ .removeData(metadata.alt)
11489
11615
  .removeData(metadata.source)
11490
11616
  .removeData(metadata.url)
11491
11617
  ;
@@ -11638,7 +11764,9 @@
11638
11764
  });
11639
11765
  }
11640
11766
  clearTimeout(module.performance.timer);
11641
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
11767
+ module.performance.timer = setTimeout(function () {
11768
+ module.performance.display();
11769
+ }, 500);
11642
11770
  },
11643
11771
  display: function () {
11644
11772
  var
@@ -11753,6 +11881,8 @@
11753
11881
  source: false,
11754
11882
  url: false,
11755
11883
  id: false,
11884
+ placeholder: false,
11885
+ alt: false,
11756
11886
 
11757
11887
  // standard video settings
11758
11888
  autoplay: 'auto',
@@ -11775,6 +11905,7 @@
11775
11905
  id: 'id',
11776
11906
  icon: 'icon',
11777
11907
  placeholder: 'placeholder',
11908
+ alt: 'alt',
11778
11909
  source: 'source',
11779
11910
  url: 'url',
11780
11911
  },
@@ -11850,7 +11981,7 @@
11850
11981
  + ' width="100%" height="100%"'
11851
11982
  + ' msallowFullScreen allowFullScreen></iframe>';
11852
11983
  },
11853
- placeholder: function (image, icon) {
11984
+ placeholder: function (image, icon, alt) {
11854
11985
  var
11855
11986
  html = '',
11856
11987
  deQuote = $.fn.embed.settings.templates.deQuote
@@ -11859,7 +11990,7 @@
11859
11990
  html += '<i class="' + deQuote(icon) + ' icon"></i>';
11860
11991
  }
11861
11992
  if (image) {
11862
- html += '<img class="placeholder" src="' + deQuote(image) + '">';
11993
+ html += '<img class="placeholder" src="' + deQuote(image) + (alt ? '" alt="' + deQuote(alt) : '') + '">';
11863
11994
  }
11864
11995
 
11865
11996
  return html;
@@ -11876,7 +12007,7 @@
11876
12007
  })(jQuery, window, document);
11877
12008
 
11878
12009
  /*!
11879
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Flyout
12010
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Flyout
11880
12011
  * https://github.com/fomantic/Fomantic-UI/
11881
12012
  *
11882
12013
  *
@@ -13096,7 +13227,9 @@
13096
13227
  });
13097
13228
  }
13098
13229
  clearTimeout(module.performance.timer);
13099
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
13230
+ module.performance.timer = setTimeout(function () {
13231
+ module.performance.display();
13232
+ }, 500);
13100
13233
  },
13101
13234
  display: function () {
13102
13235
  var
@@ -13426,7 +13559,7 @@
13426
13559
  })(jQuery, window, document);
13427
13560
 
13428
13561
  /*!
13429
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Modal
13562
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Modal
13430
13563
  * https://github.com/fomantic/Fomantic-UI/
13431
13564
  *
13432
13565
  *
@@ -13954,7 +14087,9 @@
13954
14087
  },
13955
14088
  debounce: function (method, delay) {
13956
14089
  clearTimeout(module.timer);
13957
- module.timer = setTimeout(function () { method(); }, delay);
14090
+ module.timer = setTimeout(function () {
14091
+ method();
14092
+ }, delay);
13958
14093
  },
13959
14094
  keyboard: function (event) {
13960
14095
  var
@@ -14700,7 +14835,9 @@
14700
14835
  });
14701
14836
  }
14702
14837
  clearTimeout(module.performance.timer);
14703
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
14838
+ module.performance.timer = setTimeout(function () {
14839
+ module.performance.display();
14840
+ }, 500);
14704
14841
  },
14705
14842
  display: function () {
14706
14843
  var
@@ -15060,7 +15197,7 @@
15060
15197
  })(jQuery, window, document);
15061
15198
 
15062
15199
  /*!
15063
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Nag
15200
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Nag
15064
15201
  * https://github.com/fomantic/Fomantic-UI/
15065
15202
  *
15066
15203
  *
@@ -15149,7 +15286,9 @@
15149
15286
  }
15150
15287
 
15151
15288
  if (settings.displayTime > 0) {
15152
- setTimeout(function () { module.hide(); }, settings.displayTime);
15289
+ setTimeout(function () {
15290
+ module.hide();
15291
+ }, settings.displayTime);
15153
15292
  }
15154
15293
  module.show();
15155
15294
  },
@@ -15205,8 +15344,10 @@
15205
15344
  module.debug('Dismissing nag', settings.storageMethod, settings.key, settings.value, settings.expires);
15206
15345
  module.storage.set(settings.key, settings.value);
15207
15346
  }
15208
- event.stopImmediatePropagation();
15209
- event.preventDefault();
15347
+ if (event) {
15348
+ event.stopImmediatePropagation();
15349
+ event.preventDefault();
15350
+ }
15210
15351
  },
15211
15352
 
15212
15353
  should: {
@@ -15438,7 +15579,9 @@
15438
15579
  });
15439
15580
  }
15440
15581
  clearTimeout(module.performance.timer);
15441
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
15582
+ module.performance.timer = setTimeout(function () {
15583
+ module.performance.display();
15584
+ }, 500);
15442
15585
  },
15443
15586
  display: function () {
15444
15587
  var
@@ -15621,7 +15764,7 @@
15621
15764
  })(jQuery, window, document);
15622
15765
 
15623
15766
  /*!
15624
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Popup
15767
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Popup
15625
15768
  * https://github.com/fomantic/Fomantic-UI/
15626
15769
  *
15627
15770
  *
@@ -15816,7 +15959,9 @@
15816
15959
  ;
15817
15960
  clearTimeout(module.hideTimer);
15818
15961
  if (!openedWithTouch || (openedWithTouch && settings.addTouchEvents)) {
15819
- module.showTimer = setTimeout(function () { module.show(); }, delay);
15962
+ module.showTimer = setTimeout(function () {
15963
+ module.show();
15964
+ }, delay);
15820
15965
  }
15821
15966
  },
15822
15967
  end: function () {
@@ -15826,7 +15971,9 @@
15826
15971
  : settings.delay
15827
15972
  ;
15828
15973
  clearTimeout(module.showTimer);
15829
- module.hideTimer = setTimeout(function () { module.hide(); }, delay);
15974
+ module.hideTimer = setTimeout(function () {
15975
+ module.hide();
15976
+ }, delay);
15830
15977
  },
15831
15978
  touchstart: function (event) {
15832
15979
  openedWithTouch = true;
@@ -16866,7 +17013,9 @@
16866
17013
  });
16867
17014
  }
16868
17015
  clearTimeout(module.performance.timer);
16869
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
17016
+ module.performance.timer = setTimeout(function () {
17017
+ module.performance.display();
17018
+ }, 500);
16870
17019
  },
16871
17020
  display: function () {
16872
17021
  var
@@ -17177,7 +17326,7 @@
17177
17326
  })(jQuery, window, document);
17178
17327
 
17179
17328
  /*!
17180
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Progress
17329
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Progress
17181
17330
  * https://github.com/fomantic/Fomantic-UI/
17182
17331
  *
17183
17332
  *
@@ -17969,7 +18118,9 @@
17969
18118
  });
17970
18119
  }
17971
18120
  clearTimeout(module.performance.timer);
17972
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
18121
+ module.performance.timer = setTimeout(function () {
18122
+ module.performance.display();
18123
+ }, 500);
17973
18124
  },
17974
18125
  display: function () {
17975
18126
  var
@@ -18155,7 +18306,7 @@
18155
18306
  })(jQuery, window, document);
18156
18307
 
18157
18308
  /*!
18158
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Slider
18309
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Slider
18159
18310
  * https://github.com/fomantic/Fomantic-UI/
18160
18311
  *
18161
18312
  *
@@ -19423,7 +19574,9 @@
19423
19574
  });
19424
19575
  }
19425
19576
  clearTimeout(module.performance.timer);
19426
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
19577
+ module.performance.timer = setTimeout(function () {
19578
+ module.performance.display();
19579
+ }, 500);
19427
19580
  },
19428
19581
  display: function () {
19429
19582
  var
@@ -19604,7 +19757,7 @@
19604
19757
  })(jQuery, window, document);
19605
19758
 
19606
19759
  /*!
19607
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Rating
19760
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Rating
19608
19761
  * https://github.com/fomantic/Fomantic-UI/
19609
19762
  *
19610
19763
  *
@@ -19973,7 +20126,9 @@
19973
20126
  });
19974
20127
  }
19975
20128
  clearTimeout(module.performance.timer);
19976
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
20129
+ module.performance.timer = setTimeout(function () {
20130
+ module.performance.display();
20131
+ }, 500);
19977
20132
  },
19978
20133
  display: function () {
19979
20134
  var
@@ -20143,7 +20298,7 @@
20143
20298
  })(jQuery, window, document);
20144
20299
 
20145
20300
  /*!
20146
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Search
20301
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Search
20147
20302
  * https://github.com/fomantic/Fomantic-UI/
20148
20303
  *
20149
20304
  *
@@ -20279,7 +20434,10 @@
20279
20434
  // this makes sure $.extend does not add specified search fields to default fields
20280
20435
  // this is the only setting which should not extend defaults
20281
20436
  if (parameters && parameters.searchFields !== undefined) {
20282
- settings.searchFields = parameters.searchFields;
20437
+ settings.searchFields = Array.isArray(parameters.searchFields)
20438
+ ? parameters.searchFields
20439
+ : [parameters.searchFields]
20440
+ ;
20283
20441
  }
20284
20442
  },
20285
20443
  },
@@ -20313,7 +20471,9 @@
20313
20471
  callback = function () {
20314
20472
  module.cancel.query();
20315
20473
  module.remove.focus();
20316
- module.timer = setTimeout(function () { module.hideResults(); }, settings.hideDelay);
20474
+ module.timer = setTimeout(function () {
20475
+ module.hideResults();
20476
+ }, settings.hideDelay);
20317
20477
  }
20318
20478
  ;
20319
20479
  if (pageLostFocus) {
@@ -20773,7 +20933,7 @@
20773
20933
  exactResults = [],
20774
20934
  fuzzyResults = [],
20775
20935
  searchExp = searchTerm.replace(regExp.escape, '\\$&'),
20776
- matchRegExp = new RegExp(regExp.beginsWith + searchExp, 'i'),
20936
+ matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : ''),
20777
20937
 
20778
20938
  // avoid duplicates when pushing results
20779
20939
  addResult = function (array, result) {
@@ -20809,13 +20969,14 @@
20809
20969
  var concatenatedContent = [];
20810
20970
  $.each(searchFields, function (index, field) {
20811
20971
  var
20812
- fieldExists = (typeof content[field] === 'string') || (typeof content[field] === 'number')
20972
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
20813
20973
  ;
20814
20974
  if (fieldExists) {
20815
20975
  var text;
20816
20976
  text = typeof content[field] === 'string'
20817
20977
  ? module.remove.diacritics(content[field])
20818
20978
  : content[field].toString();
20979
+ text = $('<div/>', { html: text }).text().trim();
20819
20980
  if (settings.fullTextSearch === 'all') {
20820
20981
  concatenatedContent.push(text);
20821
20982
  if (index < lastSearchFieldIndex) {
@@ -20846,8 +21007,10 @@
20846
21007
  },
20847
21008
  },
20848
21009
  exactSearch: function (query, term) {
20849
- query = query.toLowerCase();
20850
- term = term.toLowerCase();
21010
+ if (settings.ignoreSearchCase) {
21011
+ query = query.toLowerCase();
21012
+ term = term.toLowerCase();
21013
+ }
20851
21014
 
20852
21015
  return term.indexOf(query) > -1;
20853
21016
  },
@@ -20874,8 +21037,10 @@
20874
21037
  if (typeof query !== 'string') {
20875
21038
  return false;
20876
21039
  }
20877
- query = query.toLowerCase();
20878
- term = term.toLowerCase();
21040
+ if (settings.ignoreSearchCase) {
21041
+ query = query.toLowerCase();
21042
+ term = term.toLowerCase();
21043
+ }
20879
21044
  if (queryLength > termLength) {
20880
21045
  return false;
20881
21046
  }
@@ -21230,6 +21395,39 @@
21230
21395
  response[fields.results] = response[fields.results].slice(0, settings.maxResults);
21231
21396
  }
21232
21397
  }
21398
+ if (settings.highlightMatches) {
21399
+ var results = response[fields.results],
21400
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
21401
+ querySplit = module.get.value().split(''),
21402
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
21403
+ htmlReg = '(?![^<]*>)',
21404
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
21405
+ markedReplacer = function () {
21406
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
21407
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
21408
+ });
21409
+
21410
+ return args.join('');
21411
+ }
21412
+ ;
21413
+ $.each(results, function (label, content) {
21414
+ $.each(settings.searchFields, function (index, field) {
21415
+ var
21416
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
21417
+ ;
21418
+ if (fieldExists) {
21419
+ var markedHTML = typeof content[field] === 'string'
21420
+ ? content[field]
21421
+ : content[field].toString();
21422
+ if (settings.ignoreDiacritics) {
21423
+ markedHTML = markedHTML.normalize('NFD');
21424
+ }
21425
+ markedHTML = markedHTML.replace(/<\/?mark>/g, '');
21426
+ response[fields.results][label][field] = markedHTML.replace(markedRegExp, markedReplacer);
21427
+ }
21428
+ });
21429
+ });
21430
+ }
21233
21431
  if (isFunction(template)) {
21234
21432
  html = template(response, fields, settings.preserveHTML);
21235
21433
  } else {
@@ -21315,7 +21513,9 @@
21315
21513
  });
21316
21514
  }
21317
21515
  clearTimeout(module.performance.timer);
21318
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
21516
+ module.performance.timer = setTimeout(function () {
21517
+ module.performance.display();
21518
+ }, 500);
21319
21519
  },
21320
21520
  display: function () {
21321
21521
  var
@@ -21456,9 +21656,15 @@
21456
21656
  // search anywhere in value (set to 'exact' to require exact matches
21457
21657
  fullTextSearch: 'exact',
21458
21658
 
21659
+ // Whether search result should highlight matching strings
21660
+ highlightMatches: false,
21661
+
21459
21662
  // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
21460
21663
  ignoreDiacritics: false,
21461
21664
 
21665
+ // whether to consider case sensitivity on local searching
21666
+ ignoreSearchCase: true,
21667
+
21462
21668
  // whether to add events to prompt automatically
21463
21669
  automatic: true,
21464
21670
 
@@ -21537,6 +21743,7 @@
21537
21743
  categoryResults: 'results', // array of results (category view)
21538
21744
  description: 'description', // result description
21539
21745
  image: 'image', // result image
21746
+ alt: 'alt', // result alt text for image
21540
21747
  price: 'price', // result price
21541
21748
  results: 'results', // array of results (standard)
21542
21749
  title: 'title', // result title
@@ -21576,8 +21783,9 @@
21576
21783
  };
21577
21784
  if (shouldEscape.test(string)) {
21578
21785
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
21579
-
21580
- return string.replace(badChars, escapedChar);
21786
+ string = string.replace(badChars, escapedChar);
21787
+ // FUI controlled HTML is still allowed
21788
+ string = string.replace(/&lt;(\/)*mark&gt;/g, '<$1mark>');
21581
21789
  }
21582
21790
 
21583
21791
  return string;
@@ -21623,7 +21831,7 @@
21623
21831
  if (result[fields.image] !== undefined) {
21624
21832
  html += ''
21625
21833
  + '<div class="image">'
21626
- + ' <img src="' + result[fields.image].replace(/"/g, '') + '">'
21834
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21627
21835
  + '</div>';
21628
21836
  }
21629
21837
  html += '<div class="content">';
@@ -21676,7 +21884,7 @@
21676
21884
  if (result[fields.image] !== undefined) {
21677
21885
  html += ''
21678
21886
  + '<div class="image">'
21679
- + ' <img src="' + result[fields.image].replace(/"/g, '') + '">'
21887
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21680
21888
  + '</div>';
21681
21889
  }
21682
21890
  html += '<div class="content">';
@@ -21721,7 +21929,7 @@
21721
21929
  })(jQuery, window, document);
21722
21930
 
21723
21931
  /*!
21724
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Shape
21932
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Shape
21725
21933
  * https://github.com/fomantic/Fomantic-UI/
21726
21934
  *
21727
21935
  *
@@ -22345,7 +22553,9 @@
22345
22553
  });
22346
22554
  }
22347
22555
  clearTimeout(module.performance.timer);
22348
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
22556
+ module.performance.timer = setTimeout(function () {
22557
+ module.performance.display();
22558
+ }, 500);
22349
22559
  },
22350
22560
  display: function () {
22351
22561
  var
@@ -22517,7 +22727,7 @@
22517
22727
  })(jQuery, window, document);
22518
22728
 
22519
22729
  /*!
22520
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Sidebar
22730
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Sidebar
22521
22731
  * https://github.com/fomantic/Fomantic-UI/
22522
22732
  *
22523
22733
  *
@@ -23389,7 +23599,9 @@
23389
23599
  });
23390
23600
  }
23391
23601
  clearTimeout(module.performance.timer);
23392
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
23602
+ module.performance.timer = setTimeout(function () {
23603
+ module.performance.display();
23604
+ }, 500);
23393
23605
  },
23394
23606
  display: function () {
23395
23607
  var
@@ -23570,7 +23782,7 @@
23570
23782
  })(jQuery, window, document);
23571
23783
 
23572
23784
  /*!
23573
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Sticky
23785
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Sticky
23574
23786
  * https://github.com/fomantic/Fomantic-UI/
23575
23787
  *
23576
23788
  *
@@ -24317,7 +24529,9 @@
24317
24529
  });
24318
24530
  }
24319
24531
  clearTimeout(module.performance.timer);
24320
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 0);
24532
+ module.performance.timer = setTimeout(function () {
24533
+ module.performance.display();
24534
+ }, 0);
24321
24535
  },
24322
24536
  display: function () {
24323
24537
  var
@@ -24486,7 +24700,7 @@
24486
24700
  })(jQuery, window, document);
24487
24701
 
24488
24702
  /*!
24489
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Tab
24703
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Tab
24490
24704
  * https://github.com/fomantic/Fomantic-UI/
24491
24705
  *
24492
24706
  *
@@ -25275,7 +25489,9 @@
25275
25489
  });
25276
25490
  }
25277
25491
  clearTimeout(module.performance.timer);
25278
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
25492
+ module.performance.timer = setTimeout(function () {
25493
+ module.performance.display();
25494
+ }, 500);
25279
25495
  },
25280
25496
  display: function () {
25281
25497
  var
@@ -25452,7 +25668,7 @@
25452
25668
  })(jQuery, window, document);
25453
25669
 
25454
25670
  /*!
25455
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Toast
25671
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Toast
25456
25672
  * https://github.com/fomantic/Fomantic-UI/
25457
25673
  *
25458
25674
  *
@@ -25636,6 +25852,7 @@
25636
25852
  $toast.append($('<img>', {
25637
25853
  class: className.image + ' ' + settings.classImage,
25638
25854
  src: settings.showImage,
25855
+ alt: settings.alt || '',
25639
25856
  }));
25640
25857
  }
25641
25858
  if (settings.title !== '') {
@@ -25681,7 +25898,7 @@
25681
25898
  $toast.find(selector.icon).attr('class', iconClass + ' ' + className.icon);
25682
25899
  }
25683
25900
  if (settings.showImage) {
25684
- $toast.find(selector.image).attr('src', settings.showImage);
25901
+ $toast.find(selector.image).attr('src', settings.showImage).attr('alt', settings.alt || '');
25685
25902
  }
25686
25903
  if (settings.title !== '') {
25687
25904
  $toast.find(selector.title).html(module.helpers.escape(settings.title, settings.preserveHTML));
@@ -26155,7 +26372,9 @@
26155
26372
  });
26156
26373
  }
26157
26374
  clearTimeout(module.performance.timer);
26158
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
26375
+ module.performance.timer = setTimeout(function () {
26376
+ module.performance.display();
26377
+ }, 500);
26159
26378
  },
26160
26379
  display: function () {
26161
26380
  var
@@ -26292,6 +26511,7 @@
26292
26511
  actions: false,
26293
26512
  preserveHTML: true,
26294
26513
  showImage: false,
26514
+ alt: false,
26295
26515
 
26296
26516
  // transition settings
26297
26517
  transition: {
@@ -26413,7 +26633,7 @@
26413
26633
  })(jQuery, window, document);
26414
26634
 
26415
26635
  /*!
26416
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Transition
26636
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Transition
26417
26637
  * https://github.com/fomantic/Fomantic-UI/
26418
26638
  *
26419
26639
  *
@@ -26556,7 +26776,9 @@
26556
26776
  ? ($allModules.length - index) * interval
26557
26777
  : index * interval;
26558
26778
  module.debug('Delaying animation by', delay);
26559
- setTimeout(function () { module.animate(); }, delay);
26779
+ setTimeout(function () {
26780
+ module.animate();
26781
+ }, delay);
26560
26782
  },
26561
26783
 
26562
26784
  animate: function (overrideSettings) {
@@ -27263,7 +27485,9 @@
27263
27485
  });
27264
27486
  }
27265
27487
  clearTimeout(module.performance.timer);
27266
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
27488
+ module.performance.timer = setTimeout(function () {
27489
+ module.performance.display();
27490
+ }, 500);
27267
27491
  },
27268
27492
  display: function () {
27269
27493
  var
@@ -27444,7 +27668,7 @@
27444
27668
  })(jQuery, window, document);
27445
27669
 
27446
27670
  /*!
27447
- * # Fomantic-UI 2.9.4-beta.6+b198514 - API
27671
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - API
27448
27672
  * https://github.com/fomantic/Fomantic-UI/
27449
27673
  *
27450
27674
  *
@@ -28092,7 +28316,9 @@
28092
28316
  module.debug('Adding error state');
28093
28317
  module.set.error();
28094
28318
  if (module.should.removeError()) {
28095
- setTimeout(function () { module.remove.error(); }, settings.errorDuration);
28319
+ setTimeout(function () {
28320
+ module.remove.error();
28321
+ }, settings.errorDuration);
28096
28322
  }
28097
28323
  }
28098
28324
  module.debug('API Request failed', errorMessage, xhr);
@@ -28416,7 +28642,9 @@
28416
28642
  });
28417
28643
  }
28418
28644
  clearTimeout(module.performance.timer);
28419
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
28645
+ module.performance.timer = setTimeout(function () {
28646
+ module.performance.display();
28647
+ }, 500);
28420
28648
  },
28421
28649
  display: function () {
28422
28650
  var
@@ -28666,7 +28894,7 @@
28666
28894
  })(jQuery, window, document);
28667
28895
 
28668
28896
  /*!
28669
- * # Fomantic-UI 2.9.4-beta.6+b198514 - State
28897
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - State
28670
28898
  * https://github.com/fomantic/Fomantic-UI/
28671
28899
  *
28672
28900
  *
@@ -29149,7 +29377,9 @@
29149
29377
  });
29150
29378
  }
29151
29379
  clearTimeout(module.performance.timer);
29152
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
29380
+ module.performance.timer = setTimeout(function () {
29381
+ module.performance.display();
29382
+ }, 500);
29153
29383
  },
29154
29384
  display: function () {
29155
29385
  var
@@ -29362,7 +29592,7 @@
29362
29592
  })(jQuery, window, document);
29363
29593
 
29364
29594
  /*!
29365
- * # Fomantic-UI 2.9.4-beta.6+b198514 - Visibility
29595
+ * # Fomantic-UI 2.9.4-beta.60+c48cd9d - Visibility
29366
29596
  * https://github.com/fomantic/Fomantic-UI/
29367
29597
  *
29368
29598
  *
@@ -30451,7 +30681,9 @@
30451
30681
  });
30452
30682
  }
30453
30683
  clearTimeout(module.performance.timer);
30454
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
30684
+ module.performance.timer = setTimeout(function () {
30685
+ module.performance.display();
30686
+ }, 500);
30455
30687
  },
30456
30688
  display: function () {
30457
30689
  var