fomantic-ui 2.10.0-beta.63 → 2.10.0-beta.65

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 (211) hide show
  1. package/.eslintrc.js +0 -3
  2. package/changelog-setup.js +10 -10
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +40 -41
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +2 -2
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +57 -61
  10. package/dist/components/api.min.js +2 -2
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +1 -1
  16. package/dist/components/calendar.js +205 -206
  17. package/dist/components/calendar.min.css +1 -1
  18. package/dist/components/calendar.min.js +2 -2
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +29 -30
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +2 -2
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +1 -1
  28. package/dist/components/container.min.css +1 -1
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +22 -23
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +2 -2
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +1 -1
  36. package/dist/components/dropdown.js +285 -307
  37. package/dist/components/dropdown.min.css +1 -1
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +31 -32
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +2 -2
  43. package/dist/components/emoji.css +1 -1
  44. package/dist/components/emoji.min.css +1 -1
  45. package/dist/components/feed.css +1 -1
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +1 -1
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +1 -1
  50. package/dist/components/flyout.js +79 -84
  51. package/dist/components/flyout.min.css +1 -1
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +1 -1
  54. package/dist/components/form.js +142 -147
  55. package/dist/components/form.min.css +1 -1
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +1 -1
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +1 -1
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +1 -1
  62. package/dist/components/icon.min.css +1 -1
  63. package/dist/components/image.css +1 -1
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +1 -1
  66. package/dist/components/input.min.css +1 -1
  67. package/dist/components/item.css +1 -1
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +1 -1
  70. package/dist/components/label.min.css +1 -1
  71. package/dist/components/list.css +1 -1
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +1 -1
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +1 -1
  76. package/dist/components/menu.min.css +1 -1
  77. package/dist/components/message.css +1 -1
  78. package/dist/components/message.min.css +1 -1
  79. package/dist/components/modal.css +1 -1
  80. package/dist/components/modal.js +86 -85
  81. package/dist/components/modal.min.css +1 -1
  82. package/dist/components/modal.min.js +2 -2
  83. package/dist/components/nag.css +1 -1
  84. package/dist/components/nag.js +27 -28
  85. package/dist/components/nag.min.css +1 -1
  86. package/dist/components/nag.min.js +2 -2
  87. package/dist/components/placeholder.css +1 -1
  88. package/dist/components/placeholder.min.css +1 -1
  89. package/dist/components/popup.css +1 -1
  90. package/dist/components/popup.js +72 -84
  91. package/dist/components/popup.min.css +1 -1
  92. package/dist/components/popup.min.js +2 -2
  93. package/dist/components/progress.css +1 -1
  94. package/dist/components/progress.js +54 -55
  95. package/dist/components/progress.min.css +1 -1
  96. package/dist/components/progress.min.js +2 -2
  97. package/dist/components/rail.css +1 -1
  98. package/dist/components/rail.min.css +1 -1
  99. package/dist/components/rating.css +1 -1
  100. package/dist/components/rating.js +33 -34
  101. package/dist/components/rating.min.css +1 -1
  102. package/dist/components/rating.min.js +2 -2
  103. package/dist/components/reset.css +47 -208
  104. package/dist/components/reset.min.css +2 -2
  105. package/dist/components/reveal.css +1 -1
  106. package/dist/components/reveal.min.css +1 -1
  107. package/dist/components/search.css +1 -1
  108. package/dist/components/search.js +95 -102
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +2 -2
  111. package/dist/components/segment.css +1 -1
  112. package/dist/components/segment.min.css +1 -1
  113. package/dist/components/shape.css +1 -1
  114. package/dist/components/shape.js +44 -45
  115. package/dist/components/shape.min.css +1 -1
  116. package/dist/components/shape.min.js +2 -2
  117. package/dist/components/sidebar.css +1 -1
  118. package/dist/components/sidebar.js +56 -64
  119. package/dist/components/sidebar.min.css +1 -1
  120. package/dist/components/sidebar.min.js +2 -2
  121. package/dist/components/site.css +1 -1
  122. package/dist/components/site.js +16 -17
  123. package/dist/components/site.min.css +1 -1
  124. package/dist/components/site.min.js +2 -2
  125. package/dist/components/slider.css +1 -1
  126. package/dist/components/slider.js +144 -149
  127. package/dist/components/slider.min.css +1 -1
  128. package/dist/components/slider.min.js +2 -2
  129. package/dist/components/state.js +24 -25
  130. package/dist/components/state.min.js +2 -2
  131. package/dist/components/statistic.css +1 -1
  132. package/dist/components/statistic.min.css +1 -1
  133. package/dist/components/step.css +1 -1
  134. package/dist/components/step.min.css +1 -1
  135. package/dist/components/sticky.css +1 -1
  136. package/dist/components/sticky.js +53 -56
  137. package/dist/components/sticky.min.css +1 -1
  138. package/dist/components/sticky.min.js +2 -2
  139. package/dist/components/tab.css +1 -1
  140. package/dist/components/tab.js +56 -62
  141. package/dist/components/tab.min.css +1 -1
  142. package/dist/components/tab.min.js +2 -2
  143. package/dist/components/table.css +1 -1
  144. package/dist/components/table.min.css +1 -1
  145. package/dist/components/text.css +1 -1
  146. package/dist/components/text.min.css +1 -1
  147. package/dist/components/toast.css +1 -1
  148. package/dist/components/toast.js +39 -38
  149. package/dist/components/toast.min.css +1 -1
  150. package/dist/components/toast.min.js +2 -2
  151. package/dist/components/transition.css +1 -1
  152. package/dist/components/transition.js +35 -38
  153. package/dist/components/transition.min.css +1 -1
  154. package/dist/components/transition.min.js +2 -2
  155. package/dist/components/visibility.js +86 -89
  156. package/dist/components/visibility.min.js +2 -2
  157. package/dist/semantic.css +98 -268
  158. package/dist/semantic.js +1811 -1903
  159. package/dist/semantic.min.css +2 -2
  160. package/dist/semantic.min.js +2 -2
  161. package/package.json +1 -1
  162. package/scripts/nightly-version.js +3 -3
  163. package/src/definitions/behaviors/api.js +56 -60
  164. package/src/definitions/behaviors/form.js +141 -146
  165. package/src/definitions/behaviors/state.js +23 -24
  166. package/src/definitions/behaviors/visibility.js +85 -88
  167. package/src/definitions/globals/site.js +15 -16
  168. package/src/definitions/modules/accordion.js +39 -40
  169. package/src/definitions/modules/calendar.js +204 -205
  170. package/src/definitions/modules/checkbox.js +28 -29
  171. package/src/definitions/modules/dimmer.js +21 -22
  172. package/src/definitions/modules/dropdown.js +284 -306
  173. package/src/definitions/modules/embed.js +30 -31
  174. package/src/definitions/modules/flyout.js +78 -83
  175. package/src/definitions/modules/modal.js +85 -84
  176. package/src/definitions/modules/nag.js +26 -27
  177. package/src/definitions/modules/popup.js +71 -83
  178. package/src/definitions/modules/progress.js +53 -54
  179. package/src/definitions/modules/rating.js +32 -33
  180. package/src/definitions/modules/search.js +94 -101
  181. package/src/definitions/modules/shape.js +43 -44
  182. package/src/definitions/modules/sidebar.js +55 -63
  183. package/src/definitions/modules/slider.js +143 -148
  184. package/src/definitions/modules/sticky.js +52 -55
  185. package/src/definitions/modules/tab.js +55 -61
  186. package/src/definitions/modules/toast.js +38 -37
  187. package/src/definitions/modules/transition.js +34 -37
  188. package/src/themes/default/globals/reset.overrides +45 -201
  189. package/tasks/admin/components/create.js +11 -11
  190. package/tasks/admin/components/init.js +11 -12
  191. package/tasks/admin/components/update.js +19 -20
  192. package/tasks/admin/distributions/create.js +26 -38
  193. package/tasks/admin/distributions/init.js +11 -12
  194. package/tasks/admin/distributions/update.js +18 -19
  195. package/tasks/admin/register.js +7 -7
  196. package/tasks/build/assets.js +1 -1
  197. package/tasks/build/css.js +1 -1
  198. package/tasks/build/javascript.js +1 -1
  199. package/tasks/config/admin/github.js +1 -1
  200. package/tasks/config/admin/templates/css-package.js +1 -1
  201. package/tasks/config/admin/templates/less-package.js +1 -1
  202. package/tasks/config/project/config.js +7 -7
  203. package/tasks/config/project/install.js +12 -12
  204. package/tasks/config/project/release.js +5 -11
  205. package/tasks/config/tasks.js +5 -5
  206. package/tasks/config/user.js +1 -4
  207. package/tasks/docs/metadata.js +11 -12
  208. package/tasks/install.js +12 -10
  209. package/test/meteor/assets.js +3 -3
  210. package/test/meteor/fonts.js +10 -11
  211. package/test/modules/module.spec.js +18 -18
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.63+4e8f16d - Search
2
+ * # Fomantic-UI 2.10.0-beta.65+923b474 - Search
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -20,47 +20,45 @@
20
20
  : globalThis;
21
21
 
22
22
  $.fn.search = function (...args) {
23
- let $allModules = $(this);
23
+ const $allModules = $(this);
24
24
 
25
25
  let time = Date.now();
26
26
  let performance = [];
27
27
 
28
- let parameters = args[0];
29
- let methodInvoked = typeof parameters === 'string';
30
- let queryArguments = args.slice(1);
28
+ const parameters = args[0];
29
+ const methodInvoked = typeof parameters === 'string';
30
+ const queryArguments = args.slice(1);
31
31
  let returnedValue;
32
32
  $allModules.each(function () {
33
- let settings = $.isPlainObject(parameters)
33
+ const settings = $.isPlainObject(parameters)
34
34
  ? $.extend(true, {}, $.fn.search.settings, parameters)
35
35
  : $.extend({}, $.fn.search.settings);
36
36
 
37
- let className = settings.className;
38
- let metadata = settings.metadata;
39
- let regExp = settings.regExp;
40
- let fields = settings.fields;
41
- let selector = settings.selector;
42
- let error = settings.error;
43
- let namespace = settings.namespace;
37
+ const className = settings.className;
38
+ const metadata = settings.metadata;
39
+ const regExp = settings.regExp;
40
+ const fields = settings.fields;
41
+ const selector = settings.selector;
42
+ const error = settings.error;
43
+ const namespace = settings.namespace;
44
44
 
45
- let eventNamespace = '.' + namespace;
46
- let moduleNamespace = namespace + '-module';
45
+ const eventNamespace = '.' + namespace;
46
+ const moduleNamespace = namespace + '-module';
47
47
 
48
- let $module = $(this);
48
+ const $module = $(this);
49
49
  let $prompt = $module.find(selector.prompt);
50
50
  let $searchButton = $module.find(selector.searchButton);
51
51
  let $results = $module.find(selector.results);
52
52
  let $result = $module.find(selector.result);
53
53
  let $category = $module.find(selector.category);
54
54
 
55
- let element = this;
55
+ const element = this;
56
56
  let instance = $module.data(moduleNamespace);
57
57
 
58
58
  let disabledBubbled = false;
59
59
  let resultsDismissed = false;
60
60
 
61
- let module;
62
-
63
- module = {
61
+ const module = {
64
62
 
65
63
  initialize: function () {
66
64
  module.verbose('Initializing module');
@@ -158,8 +156,8 @@
158
156
  }
159
157
  },
160
158
  blur: function (event) {
161
- let pageLostFocus = document.activeElement === this;
162
- let callback = function () {
159
+ const pageLostFocus = document.activeElement === this;
160
+ const callback = function () {
163
161
  module.cancel.query();
164
162
  module.remove.focus();
165
163
  module.timer = setTimeout(function () {
@@ -204,18 +202,18 @@
204
202
  },
205
203
  click: function (event) {
206
204
  module.debug('Search result selected');
207
- let $result = $(this);
208
- let $title = $result.find(selector.title).eq(0);
209
- let $link = $result.is('a[href]') ? $result : $();
210
- let href = $link.attr('href') || false;
211
- let target = $link.attr('target') || false;
205
+ const $result = $(this);
206
+ const $title = $result.find(selector.title).eq(0);
207
+ const $link = $result.is('a[href]') ? $result : $();
208
+ const href = $link.attr('href') || false;
209
+ const target = $link.attr('target') || false;
212
210
  // title is used for result lookup
213
- let value = $title.length > 0
211
+ const value = $title.length > 0
214
212
  ? $title.text()
215
213
  : false;
216
- let results = module.get.results();
217
- let result = $result.data(metadata.result) || module.get.result(value, results);
218
- let oldValue = module.get.value();
214
+ const results = module.get.results();
215
+ const result = $result.data(metadata.result) || module.get.result(value, results);
216
+ const oldValue = module.get.value();
219
217
  if (isFunction(settings.onSelect) && settings.onSelect.call(element, result, results) === false) {
220
218
  module.debug('Custom onSelect callback cancelled default select action');
221
219
  disabledBubbled = true;
@@ -239,18 +237,14 @@
239
237
  },
240
238
  },
241
239
  ensureVisible: function ($el) {
242
- let elTop;
243
- let elBottom;
244
- let resultsScrollTop;
245
- let resultsHeight;
246
240
  if ($el.length === 0) {
247
241
  return;
248
242
  }
249
- elTop = $el.position().top;
250
- elBottom = elTop + $el.outerHeight(true);
243
+ const elTop = $el.position().top;
244
+ const elBottom = elTop + $el.outerHeight(true);
251
245
 
252
- resultsScrollTop = $results.scrollTop();
253
- resultsHeight = $results.height();
246
+ const resultsScrollTop = $results.scrollTop();
247
+ const resultsHeight = $results.height();
254
248
 
255
249
  if (elTop < 0) {
256
250
  $results.scrollTop(resultsScrollTop + elTop);
@@ -260,15 +254,15 @@
260
254
  },
261
255
  handleKeyboard: function (event) {
262
256
  // force selector refresh
263
- let $result = $module.find(selector.result);
264
- let $category = $module.find(selector.category);
265
- let $activeResult = $result.filter('.' + className.active);
266
- let currentIndex = $result.index($activeResult);
267
- let resultSize = $result.length;
268
- let hasActiveResult = $activeResult.length > 0;
269
-
270
- let keyCode = event.which;
271
- let keys = {
257
+ const $result = $module.find(selector.result);
258
+ const $category = $module.find(selector.category);
259
+ const $activeResult = $result.filter('.' + className.active);
260
+ const currentIndex = $result.index($activeResult);
261
+ const resultSize = $result.length;
262
+ const hasActiveResult = $activeResult.length > 0;
263
+
264
+ const keyCode = event.which;
265
+ const keys = {
272
266
  backspace: 8,
273
267
  enter: 13,
274
268
  escape: 27,
@@ -337,7 +331,7 @@
337
331
 
338
332
  setup: {
339
333
  api: function (searchTerm, callback) {
340
- let apiSettings = {
334
+ const apiSettings = {
341
335
  debug: settings.debug,
342
336
  on: false,
343
337
  cache: settings.cache,
@@ -346,7 +340,7 @@
346
340
  query: searchTerm,
347
341
  },
348
342
  };
349
- let apiCallbacks = {
343
+ const apiCallbacks = {
350
344
  onSuccess: function (response, $module, xhr) {
351
345
  module.parse.response.call(element, response, searchTerm);
352
346
  callback();
@@ -405,8 +399,8 @@
405
399
  if (!event.target) {
406
400
  return;
407
401
  }
408
- let $target = $(event.target);
409
- let isInDOM = document.documentElement.contains(event.target);
402
+ const $target = $(event.target);
403
+ const isInDOM = document.documentElement.contains(event.target);
410
404
 
411
405
  return isInDOM && $target.closest(selector.message).length > 0;
412
406
  },
@@ -429,8 +423,8 @@
429
423
  }
430
424
  },
431
425
  inputEvent: function () {
432
- let prompt = $prompt[0];
433
- let inputEvent = prompt !== undefined && prompt.oninput !== undefined
426
+ const prompt = $prompt[0];
427
+ const inputEvent = prompt !== undefined && prompt.oninput !== undefined
434
428
  ? 'input'
435
429
  : (prompt !== undefined && prompt.onpropertychange !== undefined
436
430
  ? 'propertychange'
@@ -514,8 +508,8 @@
514
508
  callback = isFunction(callback)
515
509
  ? callback
516
510
  : function () {};
517
- let searchTerm = module.get.value();
518
- let cache = module.read.cache(searchTerm);
511
+ const searchTerm = module.get.value();
512
+ const cache = module.read.cache(searchTerm);
519
513
  if (module.has.minimumCharacters()) {
520
514
  if (cache) {
521
515
  module.debug('Reading result from cache', searchTerm);
@@ -545,7 +539,6 @@
545
539
  search: {
546
540
  local: function (searchTerm) {
547
541
  let results = module.search.object(searchTerm, settings.source);
548
- let searchHTML;
549
542
  module.set.loading();
550
543
  module.save.results(results);
551
544
  module.debug('Returned full local search results', results);
@@ -556,7 +549,7 @@
556
549
  if (settings.type === 'category') {
557
550
  results = module.create.categoryResults(results);
558
551
  }
559
- searchHTML = module.generateResults({
552
+ const searchHTML = module.generateResults({
560
553
  results: results,
561
554
  });
562
555
  module.remove.loading();
@@ -580,17 +573,17 @@
580
573
  },
581
574
  object: function (searchTerm, source = settings.source, searchFields = settings.searchFields) {
582
575
  searchTerm = module.remove.diacritics(String(searchTerm));
583
- let results = [];
584
- let exactResults = [];
585
- let fuzzyResults = [];
586
- let searchExp = searchTerm.replace(regExp.escape, '\\$&');
587
- let matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : '');
576
+ const results = [];
577
+ const exactResults = [];
578
+ const fuzzyResults = [];
579
+ const searchExp = searchTerm.replace(regExp.escape, '\\$&');
580
+ const matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : '');
588
581
 
589
582
  // avoid duplicates when pushing results
590
- let addResult = function (array, result) {
591
- let notResult = !results.includes(result);
592
- let notFuzzyResult = !fuzzyResults.includes(result);
593
- let notExactResults = !exactResults.includes(result);
583
+ const addResult = function (array, result) {
584
+ const notResult = !results.includes(result);
585
+ const notFuzzyResult = !fuzzyResults.includes(result);
586
+ const notExactResults = !exactResults.includes(result);
594
587
  if (notResult && notFuzzyResult && notExactResults) {
595
588
  array.push(result);
596
589
  }
@@ -608,11 +601,11 @@
608
601
  return [];
609
602
  }
610
603
  // iterate through search fields looking for matches
611
- let lastSearchFieldIndex = searchFields.length - 1;
604
+ const lastSearchFieldIndex = searchFields.length - 1;
612
605
  $.each(source, function (label, content) {
613
- let concatenatedContent = [];
606
+ const concatenatedContent = [];
614
607
  $.each(searchFields, function (index, field) {
615
- let fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number';
608
+ const fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number';
616
609
  if (fieldExists) {
617
610
  let text;
618
611
  text = typeof content[field] === 'string'
@@ -655,7 +648,7 @@
655
648
  return term.includes(query);
656
649
  },
657
650
  wordSearch: function (query, term, matchAll) {
658
- let allWords = query.split(/\s+/);
651
+ const allWords = query.split(/\s+/);
659
652
  let found = false;
660
653
  for (const w of allWords) {
661
654
  found = module.exactSearch(w, term);
@@ -667,8 +660,8 @@
667
660
  return found;
668
661
  },
669
662
  fuzzySearch: function (query, term) {
670
- let termLength = term.length;
671
- let queryLength = query.length;
663
+ const termLength = term.length;
664
+ const queryLength = query.length;
672
665
  if (typeof query !== 'string') {
673
666
  return false;
674
667
  }
@@ -684,7 +677,7 @@
684
677
  }
685
678
  for (let characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
686
679
  let continueSearch = false;
687
- let queryCharacter = query.codePointAt(characterIndex);
680
+ const queryCharacter = query.codePointAt(characterIndex);
688
681
  while (nextCharacterIndex < termLength) {
689
682
  if (term.codePointAt(nextCharacterIndex++) === queryCharacter) {
690
683
  continueSearch = true;
@@ -704,11 +697,11 @@
704
697
  parse: {
705
698
  response: function (response, searchTerm) {
706
699
  if (Array.isArray(response)) {
707
- let o = {};
700
+ const o = {};
708
701
  o[fields.results] = response;
709
702
  response = o;
710
703
  }
711
- let searchHTML = module.generateResults(response);
704
+ const searchHTML = module.generateResults(response);
712
705
  module.verbose('Parsing server response', response);
713
706
  if (response !== undefined && searchTerm !== undefined && response[fields.results] !== undefined) {
714
707
  module.addResults(searchHTML);
@@ -732,8 +725,8 @@
732
725
 
733
726
  has: {
734
727
  minimumCharacters: function () {
735
- let searchTerm = module.get.value();
736
- let numCharacters = searchTerm.length;
728
+ const searchTerm = module.get.value();
729
+ const numCharacters = searchTerm.length;
737
730
 
738
731
  return numCharacters >= settings.minCharacters;
739
732
  },
@@ -741,7 +734,7 @@
741
734
  if ($results.length === 0) {
742
735
  return false;
743
736
  }
744
- let html = $results.html();
737
+ const html = $results.html();
745
738
 
746
739
  return html !== '';
747
740
  },
@@ -749,7 +742,7 @@
749
742
 
750
743
  clear: {
751
744
  cache: function (value) {
752
- let cache = $module.data(metadata.cache);
745
+ const cache = $module.data(metadata.cache);
753
746
  if (!value) {
754
747
  module.debug('Clearing cache', value);
755
748
  $module.removeData(metadata.cache);
@@ -766,7 +759,7 @@
766
759
 
767
760
  read: {
768
761
  cache: function (name) {
769
- let cache = $module.data(metadata.cache);
762
+ const cache = $module.data(metadata.cache);
770
763
  if (settings.cache) {
771
764
  module.verbose('Checking cache for generated html for query', name);
772
765
 
@@ -781,7 +774,7 @@
781
774
 
782
775
  create: {
783
776
  categoryResults: function (results) {
784
- let categoryResults = {};
777
+ const categoryResults = {};
785
778
  $.each(results, function (index, result) {
786
779
  if (!result.category) {
787
780
  return;
@@ -800,7 +793,7 @@
800
793
  return categoryResults;
801
794
  },
802
795
  id: function (resultIndex, categoryIndex) {
803
- let resultID = resultIndex + 1; // not zero indexed
796
+ const resultID = resultIndex + 1; // not zero indexed
804
797
  let letterID;
805
798
  let id;
806
799
  if (categoryIndex !== undefined) {
@@ -827,7 +820,7 @@
827
820
  inject: {
828
821
  result: function (result, resultIndex, categoryIndex) {
829
822
  module.verbose('Injecting result into results');
830
- let $selectedResult = categoryIndex !== undefined
823
+ const $selectedResult = categoryIndex !== undefined
831
824
  ? $results
832
825
  .children().eq(categoryIndex)
833
826
  .children(selector.results)
@@ -884,7 +877,7 @@
884
877
 
885
878
  write: {
886
879
  cache: function (name, value) {
887
- let cache = $module.data(metadata.cache) !== undefined
880
+ const cache = $module.data(metadata.cache) !== undefined
888
881
  ? $module.data(metadata.cache)
889
882
  : {};
890
883
  if (settings.cache) {
@@ -935,7 +928,7 @@
935
928
  silent: settings.silent,
936
929
  duration: settings.duration,
937
930
  onShow: function () {
938
- let $firstResult = $module.find(selector.result).eq(0);
931
+ const $firstResult = $module.find(selector.result).eq(0);
939
932
  module.ensureVisible($firstResult);
940
933
  },
941
934
  onComplete: function () {
@@ -983,9 +976,9 @@
983
976
 
984
977
  generateResults: function (response) {
985
978
  module.debug('Generating html from response', response);
986
- let template = settings.templates[settings.type];
987
- let isProperObject = $.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results]);
988
- let isProperArray = Array.isArray(response[fields.results]) && response[fields.results].length > 0;
979
+ const template = settings.templates[settings.type];
980
+ const isProperObject = $.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results]);
981
+ const isProperArray = Array.isArray(response[fields.results]) && response[fields.results].length > 0;
989
982
  let html = '';
990
983
  if (isProperObject || isProperArray) {
991
984
  if (settings.maxResults > 0) {
@@ -998,13 +991,13 @@
998
991
  }
999
992
  }
1000
993
  if (settings.highlightMatches) {
1001
- let results = response[fields.results];
1002
- let regExpIgnore = settings.ignoreSearchCase ? 'i' : '';
1003
- let querySplit = [...module.get.value()];
1004
- let diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '';
1005
- let htmlReg = '(?![^<]*>)';
1006
- let markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore);
1007
- let markedReplacer = function (...args) {
994
+ const results = response[fields.results];
995
+ const regExpIgnore = settings.ignoreSearchCase ? 'i' : '';
996
+ const querySplit = [...module.get.value()];
997
+ const diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '';
998
+ const htmlReg = '(?![^<]*>)';
999
+ const markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore);
1000
+ const markedReplacer = function (...args) {
1008
1001
  args = args.slice(1, querySplit.length * 2).map(function (x, i) {
1009
1002
  return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
1010
1003
  });
@@ -1013,7 +1006,7 @@
1013
1006
  };
1014
1007
  $.each(results, function (label, content) {
1015
1008
  $.each(settings.searchFields, function (index, field) {
1016
- let fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number';
1009
+ const fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number';
1017
1010
  if (fieldExists) {
1018
1011
  let markedHTML = typeof content[field] === 'string'
1019
1012
  ? content[field]
@@ -1142,7 +1135,7 @@
1142
1135
  query = query.split(/[ .]/);
1143
1136
  maxDepth = query.length - 1;
1144
1137
  $.each(query, function (depth, value) {
1145
- let camelCaseValue = depth !== maxDepth
1138
+ const camelCaseValue = depth !== maxDepth
1146
1139
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1147
1140
  : query;
1148
1141
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
@@ -1386,8 +1379,8 @@
1386
1379
  },
1387
1380
  category: function (response, settings) {
1388
1381
  let html = '';
1389
- let fields = settings.fields;
1390
- let escape = settings.templates.escape;
1382
+ const fields = settings.fields;
1383
+ const escape = settings.templates.escape;
1391
1384
  if (response[fields.categoryResults] !== undefined) {
1392
1385
  // each category
1393
1386
  $.each(response[fields.categoryResults], function (index, category) {
@@ -1459,8 +1452,8 @@
1459
1452
  },
1460
1453
  standard: function (response, settings) {
1461
1454
  let html = '';
1462
- let fields = settings.fields;
1463
- let escape = settings.templates.escape;
1455
+ const fields = settings.fields;
1456
+ const escape = settings.templates.escape;
1464
1457
  if (response[fields.results] !== undefined) {
1465
1458
  // each result
1466
1459
  $.each(response[fields.results], function (index, result) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.63+4e8f16d - Search
2
+ * # Fomantic-UI 2.10.0-beta.65+923b474 - Search
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.10.0-beta.63+4e8f16d
2
+ * # Fomantic UI - 2.10.0-beta.65+923b474
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
@@ -8,4 +8,4 @@
8
8
  * https://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
- !function(j,F,q){"use strict";function D(e){return"function"==typeof e&&"number"!=typeof e.nodeType}F=void 0!==F&&F.Math===Math?F:globalThis,j.fn.search=function(...e){let S=j(this),x=Date.now(),C=[],A=e[0],w="string"==typeof A,T=e.slice(1),k;return S.each(function(){let f=j.isPlainObject(A)?j.extend(!0,{},j.fn.search.settings,A):j.extend({},j.fn.search.settings),g=f.className,u=f.metadata,i=f.regExp,l=f.fields,h=f.selector,p=f.error;var e=f.namespace;let n="."+e,t=e+"-module",v=j(this),m=v.find(h.prompt),s=v.find(h.searchButton),r=v.find(h.results),a=v.find(h.result),o=void v.find(h.category),d=this,c=v.data(t),y=!1,b=!1,R;R={initialize:function(){R.verbose("Initializing module"),R.get.settings(),R.determine.searchFields(),R.bind.events(),R.set.type(),R.create.results(),R.instantiate()},instantiate:function(){R.verbose("Storing instance of module",R),c=R,v.data(t,R)},destroy:function(){R.verbose("Destroying instance"),v.off(n).removeData(t)},refresh:function(){R.debug("Refreshing selector cache"),m=v.find(h.prompt),s=v.find(h.searchButton),o=v.find(h.category),r=v.find(h.results),a=v.find(h.result)},refreshResults:function(){r=v.find(h.results),a=v.find(h.result)},bind:{events:function(){R.verbose("Binding events to search"),f.automatic&&(v.on(R.get.inputEvent()+n,h.prompt,R.event.input),m.attr("autocomplete",R.is.chrome()?"fomantic-search":"off")),v.on("focus"+n,h.prompt,R.event.focus).on("blur"+n,h.prompt,R.event.blur).on("keydown"+n,h.prompt,R.handleKeyboard).on("click"+n,h.searchButton,R.query).on("mousedown"+n,h.results,R.event.result.mousedown).on("mouseup"+n,h.results,R.event.result.mouseup).on("click"+n,h.result,R.event.result.click).on("click"+n,h.remove,R.event.remove.click)}},determine:{searchFields:function(){A&&void 0!==A.searchFields&&(f.searchFields=Array.isArray(A.searchFields)?A.searchFields:[A.searchFields])}},event:{input:function(){f.searchDelay?(clearTimeout(R.timer),R.timer=setTimeout(function(){R.is.focused()&&R.query()},f.searchDelay)):R.query()},focus:function(){R.set.focus(),f.searchOnFocus&&R.has.minimumCharacters()&&R.query(function(){R.can.show()&&R.showResults()})},blur:function(e){var t=q.activeElement===this;function s(){R.cancel.query(),R.remove.focus(),R.timer=setTimeout(function(){R.hideResults()},f.hideDelay)}t||(b=!1,R.resultsClicked?(R.debug("Determining if user action caused search to close"),v.one("click.close"+n,h.results,function(e){R.is.inMessage(e)||y?m.trigger("focus"):(y=!1,R.is.animating()||R.is.hidden()||s())})):(R.debug("Input blurred without user action, closing results"),s()))},remove:{click:function(){R.clear.value(),m.trigger("focus")}},result:{mousedown:function(){R.resultsClicked=!0},mouseup:function(){R.resultsClicked=!1},click:function(e){R.debug("Search result selected");let t=j(this),s=t.find(h.title).eq(0),i=t.is("a[href]")?t:j();var n=i.attr("href")||!1,r=i.attr("target")||!1,a=0<s.length&&s.text(),o=R.get.results(),c=t.data(u.result)||R.get.result(a,o),l=R.get.value();if(D(f.onSelect)&&!1===f.onSelect.call(d,c,o))return R.debug("Custom onSelect callback cancelled default select action"),void(y=!0);R.hideResults(),a&&R.get.value()===l&&R.set.value(a),n&&(e.preventDefault(),R.verbose("Opening search link found in result",i),"_blank"===r||e.ctrlKey?F.open(n):F.location.href=n)}}},ensureVisible:function(e){var t,s,i;0!==e.length&&(e=(t=e.position().top)+e.outerHeight(!0),s=r.scrollTop(),i=r.height(),t<0?r.scrollTop(s+t):i<e&&r.scrollTop(s+(e-i)))},handleKeyboard:function(e){let t=v.find(h.result),s=v.find(h.category);var i=t.filter("."+g.active),n=t.index(i),r=t.length,i=0<i.length,a=e.which;let o=13,c=27,l=38,u=40,d;if(a===c&&(R.is.visible()?R.hideResults():(R.verbose("Escape key pressed, blurring search field"),m.trigger("blur")),e.stopPropagation(),b=!0),R.is.visible())if(a===o){if(R.verbose("Enter key pressed, selecting active result"),0<t.filter("."+g.active).length)return R.event.result.click.call(t.filter("."+g.active),e),e.preventDefault(),!1}else a===l&&i?(R.verbose("Up key pressed, changing active result"),d=n-1<0?n:n-1,s.removeClass(g.active),t.removeClass(g.active).eq(d).addClass(g.active).closest(s).addClass(g.active),R.ensureVisible(t.eq(d)),e.preventDefault()):a===u&&(R.verbose("Down key pressed, changing active result"),d=r<=n+1?n:n+1,s.removeClass(g.active),t.removeClass(g.active).eq(d).addClass(g.active).closest(s).addClass(g.active),R.ensureVisible(t.eq(d)),e.preventDefault());else a===o&&(R.verbose("Enter key pressed, executing query"),R.query(),R.set.buttonPressed(),m.one("keyup",R.remove.buttonFocus))},setup:{api:function(i,n){var e={debug:f.debug,on:!1,cache:f.cache,action:"search",urlData:{query:i}},t={onSuccess:function(e,t,s){R.parse.response.call(d,e,i),n(),f.apiSettings&&"function"==typeof f.apiSettings.onSuccess&&f.apiSettings.onSuccess.call(this,e,t,s)},onFailure:function(e,t,s){R.displayMessage(p.serverError),n(),f.apiSettings&&"function"==typeof f.apiSettings.onFailure&&f.apiSettings.onFailure.call(this,e,t,s)},onAbort:function(e,t,s){f.apiSettings&&"function"==typeof f.apiSettings.onAbort&&f.apiSettings.onAbort.call(this,e,t,s)},onError:function(e,t,s){R.error(),f.apiSettings&&"function"==typeof f.apiSettings.onError&&f.apiSettings.onError.call(this,e,t,s)}};j.extend(!0,e,f.apiSettings,t),R.verbose("Setting up API request",e),v.api(e)}},can:{useAPI:function(){return void 0!==j.fn.api},show:function(){return R.is.focused()&&!R.is.visible()&&!R.is.empty()},transition:function(){return f.transition&&void 0!==j.fn.transition}},is:{animating:function(){return r.hasClass(g.animating)},chrome:function(){return!!F.chrome&&!F.StyleMedia},hidden:function(){return r.hasClass(g.hidden)},inMessage:function(t){if(t.target){let e=j(t.target);return q.documentElement.contains(t.target)&&0<e.closest(h.message).length}},empty:function(){return""===r.html()},visible:function(){return 0<r.filter(":visible").length},focused:function(){return 0<m.filter(":focus").length}},get:{settings:function(){j.isPlainObject(A)&&A.searchFullText&&(f.fullTextSearch=A.searchFullText,R.error(f.error.oldSearchSyntax,d))},inputEvent:function(){var e=m[0];return void 0!==e&&void 0!==e.oninput?"input":void 0!==e&&void 0!==e.onpropertychange?"propertychange":"keyup"},value:function(){return m.val()},results:function(){return v.data(u.results)},result:function(s=R.get.value(),e=R.get.results()){let i=!1;return"category"===f.type?(R.debug("Finding result that matches",s),j.each(e,function(e,t){if(Array.isArray(t.results)&&(i=R.search.object(s,t.results)[0]))return!1})):(R.debug("Finding result in results object",s),i=R.search.object(s,e)[0]),i||!1}},select:{firstResult:function(){R.verbose("Selecting first result"),a.first().addClass(g.active)}},set:{focus:function(){v.addClass(g.focus)},loading:function(){v.addClass(g.loading)},value:function(e){R.verbose("Setting search input value",e),m.val(e)},type:function(e=f.type){g[e]&&v.addClass(g[e])},buttonPressed:function(){s.addClass(g.pressed)}},remove:{loading:function(){v.removeClass(g.loading)},focus:function(){v.removeClass(g.focus)},buttonPressed:function(){s.removeClass(g.pressed)},diacritics:function(e){return f.ignoreDiacritics?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}},query:function(e=function(){}){e=D(e)?e:function(){};var t=R.get.value(),s=R.read.cache(t);R.has.minimumCharacters()?(s?(R.debug("Reading result from cache",t),R.save.results(s.results),f.onResults.call(d,s.results,!0),R.addResults(s.html),R.inject.id(s.results),e()):(R.debug("Querying for",t),j.isPlainObject(f.source)||Array.isArray(f.source)?(R.search.local(t),e()):R.can.useAPI()?R.search.remote(t,e):(R.error(p.source),e())),f.onSearchQuery.call(d,t)):R.hideResults()},search:{local:function(e){let t=R.search.object(e,f.source);var s;R.set.loading(),R.save.results(t),R.debug("Returned full local search results",t),0<f.maxResults&&(R.debug("Using specified max results",t),t=t.slice(0,f.maxResults)),"category"===f.type&&(t=R.create.categoryResults(t)),s=R.generateResults({results:t}),R.remove.loading(),R.addResults(s),R.inject.id(t),R.write.cache(e,{html:s,results:t})},remote:function(e,t){t=D(t)?t:function(){},v.api("is loading")&&v.api("abort"),R.setup.api(e,t),v.api("query")},object:function(r,e=f.source,t=f.searchFields){r=R.remove.diacritics(String(r));let a=[],o=[],c=[];var s=r.replace(i.escape,"\\$&");function l(e,t){var s=!a.includes(t),i=!c.includes(t),n=!o.includes(t);s&&i&&n&&e.push(t)}let u=new RegExp(i.beginsWith+s,f.ignoreSearchCase?"i":"");if(Array.isArray(t)||(t=[t]),void 0===e||!1===e)return R.error(p.source),[];let d=t.length-1;return j.each(e,function(e,i){let n=[];j.each(t,function(t,s){if("string"==typeof i[s]||"number"==typeof i[s]){let e;if(e="string"==typeof i[s]?R.remove.diacritics(i[s]):i[s].toString(),e=j("<div/>",{html:e}).text().trim(),"all"===f.fullTextSearch){if(n.push(e),t<d)return!0;e=n.join(" ")}"all"!==f.fullTextSearch&&-1!==e.search(u)?l(a,i):"exact"===f.fullTextSearch&&R.exactSearch(r,e)||"some"===f.fullTextSearch&&R.wordSearch(r,e)||"all"===f.fullTextSearch&&R.wordSearch(r,e,!0)?l(o,i):!0===f.fullTextSearch&&R.fuzzySearch(r,e)&&l(c,i)}})}),[...a,...o,...c]}},exactSearch:function(e,t){return f.ignoreSearchCase&&(e=e.toLowerCase(),t=t.toLowerCase()),t.includes(e)},wordSearch:function(e,t,s){let i=!1;for(const n of e.split(/\s+/))if(!(i=R.exactSearch(n,t))&&s||i&&!s)break;return i},fuzzySearch:function(i,n){var r=n.length,e=i.length;if("string"!=typeof i)return!1;if(f.ignoreSearchCase&&(i=i.toLowerCase(),n=n.toLowerCase()),r<e)return!1;if(e===r)return i===n;for(let t=0,s=0;t<e;t++){let e=!1;for(var a=i.codePointAt(t);s<r;)if(n.codePointAt(s++)===a){e=!0;break}if(!e)return!1}return!0},parse:{response:function(t,e){if(Array.isArray(t)){let e={};e[l.results]=t,t=e}var s=R.generateResults(t);R.verbose("Parsing server response",t),void 0!==t&&void 0!==e&&void 0!==t[l.results]&&(R.addResults(s),R.inject.id(t[l.results]),R.write.cache(e,{html:s,results:t[l.results]}),R.save.results(t[l.results]))}},cancel:{query:function(){R.can.useAPI()&&v.api("abort")}},has:{minimumCharacters:function(){return R.get.value().length>=f.minCharacters},results:function(){return 0!==r.length&&""!==r.html()}},clear:{cache:function(e){let t=v.data(u.cache);e?t&&t[e]&&(R.debug("Removing value from cache",e),delete t[e],v.data(u.cache,t)):(R.debug("Clearing cache",e),v.removeData(u.cache))},value:function(){R.set.value("")}},read:{cache:function(e){var t=v.data(u.cache);return!!f.cache&&(R.verbose("Checking cache for generated html for query",e),"object"==typeof t&&void 0!==t[e]&&t[e])}},create:{categoryResults:function(e){let s={};return j.each(e,function(e,t){t.category&&(void 0===s[t.category]?(R.verbose("Creating new category of results",t.category),s[t.category]={name:t.category,results:[t]}):s[t.category].results.push(t))}),s},id:function(e,t){e+=1;let s;return void 0!==t?(t=String.fromCodePoint(97+t),s=t+e,R.verbose("Creating category result id",s)):(s=e,R.verbose("Creating result id",s)),s},results:function(){0===r.length&&(r=j("<div />").addClass(g.results).appendTo(v))}},inject:{result:function(e,t,s){R.verbose("Injecting result into results");let i=(void 0!==s?r.children().eq(s).children(h.results).first():r).children(h.result).eq(t);R.verbose("Injecting results metadata",i),i.data(u.result,e)},id:function(e){R.debug("Injecting unique ids into results");let s=0,i=0;return"category"===f.type?j.each(e,function(e,t){0<t.results.length&&(i=0,j.each(t.results,function(e,t){void 0===t.id&&(t.id=R.create.id(i,s)),R.inject.result(t,i,s),i++}),s++)}):j.each(e,function(e,t){void 0===t.id&&(t.id=R.create.id(i)),R.inject.result(t,i),i++}),e}},save:{results:function(e){R.verbose("Saving current search results to metadata",e),v.data(u.results,e)}},write:{cache:function(e,t){let s=void 0!==v.data(u.cache)?v.data(u.cache):{};f.cache&&(R.verbose("Writing generated html to cache",e,t),s[e]=t,v.data(u.cache,s))}},addResults:function(e){if(D(f.onResultsAdd)&&!1===f.onResultsAdd.call(r,e))return R.debug("onResultsAdd callback cancelled default action"),!1;e?(r.html(e),R.refreshResults(),f.selectFirstResult&&R.select.firstResult(),R.showResults()):R.hideResults(function(){r.empty()})},showResults:function(e){e=D(e)?e:function(){},b||!R.is.visible()&&R.has.results()&&(R.can.transition()?(R.debug("Showing results with css animations"),r.transition({animation:f.transition+" in",debug:f.debug,verbose:f.verbose,silent:f.silent,duration:f.duration,onShow:function(){var e=v.find(h.result).eq(0);R.ensureVisible(e)},onComplete:function(){e()},queue:!0})):(R.debug("Showing results with javascript"),r.stop().fadeIn(f.duration,f.easing)),f.onResultsOpen.call(r))},hideResults:function(e){e=D(e)?e:function(){},R.is.visible()&&(R.can.transition()?(R.debug("Hiding results with css animations"),r.transition({animation:f.transition+" out",debug:f.debug,verbose:f.verbose,silent:f.silent,duration:f.duration,onComplete:function(){e()},queue:!0})):(R.debug("Hiding results with javascript"),r.stop().fadeOut(f.duration,f.easing)),f.onResultsClose.call(r))},generateResults:function(a){R.debug("Generating html from response",a);let e=f.templates[f.type];var s=j.isPlainObject(a[l.results])&&!j.isEmptyObject(a[l.results]),i=Array.isArray(a[l.results])&&0<a[l.results].length;let t="";if(s||i){if(0<f.maxResults&&(s?"standard"===f.type&&R.error(p.maxResults):a[l.results]=a[l.results].slice(0,f.maxResults)),f.highlightMatches){i=a[l.results],s=f.ignoreSearchCase?"i":"";let t=[...R.get.value()];var o=f.ignoreDiacritics?"[̀-ͯ]?":"",c="(?![^<]*>)";let n=new RegExp(c+"("+t.join(o+")(.*?)"+c+"(")+o+")",s),r=function(...e){return(e=e.slice(1,2*t.length).map(function(e,t){return 1&t?e:"<mark>"+e+"</mark>"})).join("")};j.each(i,function(s,i){j.each(f.searchFields,function(e,t){if("string"==typeof i[t]||"number"==typeof i[t]){let e="string"==typeof i[t]?i[t]:i[t].toString();e=(e=f.ignoreDiacritics?e.normalize("NFD"):e).replace(/<\/?mark>/g,""),a[l.results][s][t]=e.replace(n,r)}})})}D(e)?t=e(a,f):R.error(p.noTemplate,!1)}else f.showNoResults&&(t=R.displayMessage(p.noResults,"empty",p.noResultsHeader));return f.onResults.call(d,a),t},displayMessage:function(e,t="standard",s=!1){return R.debug("Displaying message",e,t,s),R.addResults(f.templates.message(e,t,s)),f.templates.message(e,t,s)},setting:function(e,t){if(j.isPlainObject(e))j.extend(!0,f,e);else{if(void 0===t)return f[e];f[e]=t}},internal:function(e,t){if(j.isPlainObject(e))j.extend(!0,R,e);else{if(void 0===t)return R[e];R[e]=t}},debug:function(...e){!f.silent&&f.debug&&(f.performance?R.performance.log(e):(R.debug=Function.prototype.bind.call(console.info,console,f.name+":"),R.debug.apply(console,e)))},verbose:function(...e){!f.silent&&f.verbose&&f.debug&&(f.performance?R.performance.log(e):(R.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),R.verbose.apply(console,e)))},error:function(...e){f.silent||(R.error=Function.prototype.bind.call(console.error,console,f.name+":"),R.error.apply(console,e))},performance:{log:function(e){var t,s;f.performance&&(s=(t=Date.now())-(x||t),x=t,C.push({Name:e[0],Arguments:e.slice(1),Element:d,"Execution Time":s})),clearTimeout(R.performance.timer),R.performance.timer=setTimeout(function(){R.performance.display()},500)},display:function(){let e=f.name+":",s=0;x=!1,clearTimeout(R.performance.timer),j.each(C,function(e,t){s+=t["Execution Time"]}),e+=" "+s+"ms",1<S.length&&(e+=" ("+S.length+")"),0<C.length&&(console.groupCollapsed(e),console.table(C),console.groupEnd()),C=[]}},invoke:function(i,e=T,t=d){let n=c,r,a,s;return"string"==typeof i&&void 0!==n&&(i=i.split(/[ .]/),r=i.length-1,j.each(i,function(e,t){var s=e!==r?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(j.isPlainObject(n[s])&&e!==r)n=n[s];else{if(void 0!==n[s])return a=n[s],!1;{if(!j.isPlainObject(n[t])||e===r)return void 0!==n[t]?a=n[t]:R.error(p.method,i),!1;n=n[t]}}})),D(a)?s=a.apply(t,e):void 0!==a&&(s=a),Array.isArray(k)?k.push(s):void 0!==k?k=[k,s]:void 0!==s&&(k=s),a}},w?(void 0===c&&R.initialize(),R.invoke(A)):(void 0!==c&&c.invoke("destroy"),R.initialize())}),void 0!==k?k:this},j.fn.search.settings={name:"Search",namespace:"search",silent:!1,debug:!1,verbose:!1,performance:!0,type:"standard",minCharacters:1,selectFirstResult:!1,apiSettings:!1,source:!1,searchOnFocus:!0,searchFields:["id","title","description"],displayField:"",fullTextSearch:"exact",highlightMatches:!1,ignoreDiacritics:!1,ignoreSearchCase:!0,automatic:!0,hideDelay:0,searchDelay:200,maxResults:7,cache:!0,showNoResults:!0,preserveHTML:!1,transition:"scale",duration:200,easing:"easeOutExpo",onSelect:!1,onResultsAdd:!1,onSearchQuery:function(e){},onResults:function(e,t){},onResultsOpen:function(){},onResultsClose:function(){},className:{animating:"animating",active:"active",category:"category",empty:"empty",focus:"focus",hidden:"hidden",loading:"loading",results:"results",pressed:"down"},error:{source:"Cannot search. No source used, and Fomantic API module was not included",noResultsHeader:"No Results",noResults:"Your search returned no results",noTemplate:"A valid template name was not specified.",oldSearchSyntax:"searchFullText setting has been renamed fullTextSearch for consistency, please adjust your settings.",serverError:"There was an issue querying the server.",maxResults:"Results must be an array to use maxResults setting",method:"The method you called is not defined."},metadata:{cache:"cache",results:"results",result:"result"},regExp:{escape:/[$()*+./?[\\\]^{|}-]/g,beginsWith:"(?:\\s|^)"},fields:{categories:"results",categoryName:"name",categoryResults:"results",description:"description",image:"image",alt:"alt",price:"price",results:"results",title:"title",url:"url",id:"id",class:"class",action:"action",actionText:"text",actionURL:"url"},selector:{prompt:".prompt",remove:"> .icon.input > .remove.icon",searchButton:".search.button",results:".results",message:".results > .message",category:".category",result:".result",title:".title, .name"},templates:{escape:function(e,t){if(void 0!==t&&t.preserveHTML)return e;const s={'"':"&quot;","&":"&amp;","'":"&apos;","<":"&lt;",">":"&gt;"};return e=(e=String(e).replace(/["&'<>]/g,e=>s[e])).replace(/&lt;(\/)*mark&gt;/g,"<$1mark>")},message:function(e,t,s){let i="";return void 0!==e&&void 0!==t&&(i+='<div class="message '+t+'">',s&&(i+='<div class="header">'+s+"</div>"),i=i+' <div class="description">'+e+"</div></div>"),i},category:function(e,s){let i="",n=s.fields,r=s.templates.escape;return void 0!==e[n.categoryResults]&&(j.each(e[n.categoryResults],function(e,t){void 0!==t[n.results]&&0<t.results.length&&(i+='<div class="category">',void 0!==t[n.categoryName]&&(i+='<div class="name">'+r(t[n.categoryName],s)+"</div>"),i+='<div class="results">',j.each(t.results,function(e,t){i=(i=(i+=t[n.url]?'<a href="'+t[n.url].replaceAll('"',"")+'" ':"<div ")+(void 0!==t[n.id]?' id="'+t[n.id].replaceAll('"',"")+'" ':""))+(void 0!==t[n.class]?' class="result '+t[n.class].replaceAll('"',"")+'">':' class="result">'),void 0!==t[n.image]&&(i+='<div class="image"> <img src="'+t[n.image].replaceAll('"',"")+'"'+(t[n.alt]?' alt="'+t[n.alt].replaceAll('"',"")+'"':"")+"></div>"),i+='<div class="content">',void 0!==t[n.price]&&(i+='<div class="price">'+r(t[n.price],s)+"</div>"),void 0!==t[n.title]&&(i+='<div class="title">'+r(t[n.title],s)+"</div>"),void 0!==t[n.description]&&(i+='<div class="description">'+r(t[n.description],s)+"</div>"),i=(i+="</div>")+(t[n.url]?"</a>":"</div>")}),i+="</div></div>")}),e[n.action]&&(i+=!1===n.actionURL?'<div class="action">'+r(e[n.action][n.actionText],s)+"</div>":'<a href="'+e[n.action][n.actionURL].replaceAll('"',"")+'" class="action">'+r(e[n.action][n.actionText],s)+"</a>"),i)},standard:function(e,s){let i="",n=s.fields,r=s.templates.escape;return void 0!==e[n.results]&&(j.each(e[n.results],function(e,t){i=(i=(i+=t[n.url]?'<a href="'+t[n.url].replaceAll('"',"")+'" ':"<div ")+(void 0!==t[n.id]?'id="'+t[n.id].replaceAll('"',"")+'" ':""))+(void 0!==t[n.class]?'class="result '+t[n.class].replaceAll('"',"")+'">':'class="result">'),void 0!==t[n.image]&&(i+='<div class="image"> <img src="'+t[n.image].replaceAll('"',"")+'"'+(t[n.alt]?' alt="'+t[n.alt].replaceAll('"',"")+'"':"")+"></div>"),i+='<div class="content">',void 0!==t[n.price]&&(i+='<div class="price">'+r(t[n.price],s)+"</div>"),void 0!==t[n.title]&&(i+='<div class="title">'+r(t[n.title],s)+"</div>"),void 0!==t[n.description]&&(i+='<div class="description">'+r(t[n.description],s)+"</div>"),i=(i+="</div>")+(t[n.url]?"</a>":"</div>")}),e[n.action]&&(i+=!1===n.actionURL?'<div class="action">'+r(e[n.action][n.actionText],s)+"</div>":'<a href="'+e[n.action][n.actionURL].replaceAll('"',"")+'" class="action">'+r(e[n.action][n.actionText],s)+"</a>"),i)}}},j.extend(j.easing,{easeOutExpo:function(e){return 1===e?1:1-2**(-10*e)}})}(jQuery,window,document);
11
+ !function(j,F,q){"use strict";function D(e){return"function"==typeof e&&"number"!=typeof e.nodeType}F=void 0!==F&&F.Math===Math?F:globalThis,j.fn.search=function(...e){const l=j(this);let x=Date.now(),C=[];const A=e[0],w="string"==typeof A,T=e.slice(1);let k;return l.each(function(){const f=j.isPlainObject(A)?j.extend(!0,{},j.fn.search.settings,A):j.extend({},j.fn.search.settings),g=f.className,u=f.metadata,n=f.regExp,d=f.fields,h=f.selector,p=f.error;var e=f.namespace;const i="."+e,t=e+"-module",v=j(this);let m=v.find(h.prompt),s=v.find(h.searchButton),r=v.find(h.results),a=v.find(h.result),o=void v.find(h.category);const y=this;let c=v.data(t),b=!1,R=!1;const S={initialize:function(){S.verbose("Initializing module"),S.get.settings(),S.determine.searchFields(),S.bind.events(),S.set.type(),S.create.results(),S.instantiate()},instantiate:function(){S.verbose("Storing instance of module",S),c=S,v.data(t,S)},destroy:function(){S.verbose("Destroying instance"),v.off(i).removeData(t)},refresh:function(){S.debug("Refreshing selector cache"),m=v.find(h.prompt),s=v.find(h.searchButton),o=v.find(h.category),r=v.find(h.results),a=v.find(h.result)},refreshResults:function(){r=v.find(h.results),a=v.find(h.result)},bind:{events:function(){S.verbose("Binding events to search"),f.automatic&&(v.on(S.get.inputEvent()+i,h.prompt,S.event.input),m.attr("autocomplete",S.is.chrome()?"fomantic-search":"off")),v.on("focus"+i,h.prompt,S.event.focus).on("blur"+i,h.prompt,S.event.blur).on("keydown"+i,h.prompt,S.handleKeyboard).on("click"+i,h.searchButton,S.query).on("mousedown"+i,h.results,S.event.result.mousedown).on("mouseup"+i,h.results,S.event.result.mouseup).on("click"+i,h.result,S.event.result.click).on("click"+i,h.remove,S.event.remove.click)}},determine:{searchFields:function(){A&&void 0!==A.searchFields&&(f.searchFields=Array.isArray(A.searchFields)?A.searchFields:[A.searchFields])}},event:{input:function(){f.searchDelay?(clearTimeout(S.timer),S.timer=setTimeout(function(){S.is.focused()&&S.query()},f.searchDelay)):S.query()},focus:function(){S.set.focus(),f.searchOnFocus&&S.has.minimumCharacters()&&S.query(function(){S.can.show()&&S.showResults()})},blur:function(e){var t=q.activeElement===this;function s(){S.cancel.query(),S.remove.focus(),S.timer=setTimeout(function(){S.hideResults()},f.hideDelay)}t||(R=!1,S.resultsClicked?(S.debug("Determining if user action caused search to close"),v.one("click.close"+i,h.results,function(e){S.is.inMessage(e)||b?m.trigger("focus"):(b=!1,S.is.animating()||S.is.hidden()||s())})):(S.debug("Input blurred without user action, closing results"),s()))},remove:{click:function(){S.clear.value(),m.trigger("focus")}},result:{mousedown:function(){S.resultsClicked=!0},mouseup:function(){S.resultsClicked=!1},click:function(e){S.debug("Search result selected");const t=j(this),s=t.find(h.title).eq(0),n=t.is("a[href]")?t:j();var i=n.attr("href")||!1,r=n.attr("target")||!1,a=0<s.length&&s.text(),o=S.get.results(),c=t.data(u.result)||S.get.result(a,o),l=S.get.value();if(D(f.onSelect)&&!1===f.onSelect.call(y,c,o))return S.debug("Custom onSelect callback cancelled default select action"),void(b=!0);S.hideResults(),a&&S.get.value()===l&&S.set.value(a),i&&(e.preventDefault(),S.verbose("Opening search link found in result",n),"_blank"===r||e.ctrlKey?F.open(i):F.location.href=i)}}},ensureVisible:function(e){var t,s,n;0!==e.length&&(e=(t=e.position().top)+e.outerHeight(!0),s=r.scrollTop(),n=r.height(),t<0?r.scrollTop(s+t):n<e&&r.scrollTop(s+(e-n)))},handleKeyboard:function(e){const t=v.find(h.result),s=v.find(h.category);var n=t.filter("."+g.active),i=t.index(n),r=t.length,n=0<n.length,a=e.which;const o=13,c=27,l=38,u=40;let d;if(a===c&&(S.is.visible()?S.hideResults():(S.verbose("Escape key pressed, blurring search field"),m.trigger("blur")),e.stopPropagation(),R=!0),S.is.visible())if(a===o){if(S.verbose("Enter key pressed, selecting active result"),0<t.filter("."+g.active).length)return S.event.result.click.call(t.filter("."+g.active),e),e.preventDefault(),!1}else a===l&&n?(S.verbose("Up key pressed, changing active result"),d=i-1<0?i:i-1,s.removeClass(g.active),t.removeClass(g.active).eq(d).addClass(g.active).closest(s).addClass(g.active),S.ensureVisible(t.eq(d)),e.preventDefault()):a===u&&(S.verbose("Down key pressed, changing active result"),d=r<=i+1?i:i+1,s.removeClass(g.active),t.removeClass(g.active).eq(d).addClass(g.active).closest(s).addClass(g.active),S.ensureVisible(t.eq(d)),e.preventDefault());else a===o&&(S.verbose("Enter key pressed, executing query"),S.query(),S.set.buttonPressed(),m.one("keyup",S.remove.buttonFocus))},setup:{api:function(n,i){var e={debug:f.debug,on:!1,cache:f.cache,action:"search",urlData:{query:n}},t={onSuccess:function(e,t,s){S.parse.response.call(y,e,n),i(),f.apiSettings&&"function"==typeof f.apiSettings.onSuccess&&f.apiSettings.onSuccess.call(this,e,t,s)},onFailure:function(e,t,s){S.displayMessage(p.serverError),i(),f.apiSettings&&"function"==typeof f.apiSettings.onFailure&&f.apiSettings.onFailure.call(this,e,t,s)},onAbort:function(e,t,s){f.apiSettings&&"function"==typeof f.apiSettings.onAbort&&f.apiSettings.onAbort.call(this,e,t,s)},onError:function(e,t,s){S.error(),f.apiSettings&&"function"==typeof f.apiSettings.onError&&f.apiSettings.onError.call(this,e,t,s)}};j.extend(!0,e,f.apiSettings,t),S.verbose("Setting up API request",e),v.api(e)}},can:{useAPI:function(){return void 0!==j.fn.api},show:function(){return S.is.focused()&&!S.is.visible()&&!S.is.empty()},transition:function(){return f.transition&&void 0!==j.fn.transition}},is:{animating:function(){return r.hasClass(g.animating)},chrome:function(){return!!F.chrome&&!F.StyleMedia},hidden:function(){return r.hasClass(g.hidden)},inMessage:function(e){if(e.target){const t=j(e.target);return q.documentElement.contains(e.target)&&0<t.closest(h.message).length}},empty:function(){return""===r.html()},visible:function(){return 0<r.filter(":visible").length},focused:function(){return 0<m.filter(":focus").length}},get:{settings:function(){j.isPlainObject(A)&&A.searchFullText&&(f.fullTextSearch=A.searchFullText,S.error(f.error.oldSearchSyntax,y))},inputEvent:function(){var e=m[0];return void 0!==e&&void 0!==e.oninput?"input":void 0!==e&&void 0!==e.onpropertychange?"propertychange":"keyup"},value:function(){return m.val()},results:function(){return v.data(u.results)},result:function(s=S.get.value(),e=S.get.results()){let n=!1;return"category"===f.type?(S.debug("Finding result that matches",s),j.each(e,function(e,t){if(Array.isArray(t.results)&&(n=S.search.object(s,t.results)[0]))return!1})):(S.debug("Finding result in results object",s),n=S.search.object(s,e)[0]),n||!1}},select:{firstResult:function(){S.verbose("Selecting first result"),a.first().addClass(g.active)}},set:{focus:function(){v.addClass(g.focus)},loading:function(){v.addClass(g.loading)},value:function(e){S.verbose("Setting search input value",e),m.val(e)},type:function(e=f.type){g[e]&&v.addClass(g[e])},buttonPressed:function(){s.addClass(g.pressed)}},remove:{loading:function(){v.removeClass(g.loading)},focus:function(){v.removeClass(g.focus)},buttonPressed:function(){s.removeClass(g.pressed)},diacritics:function(e){return f.ignoreDiacritics?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}},query:function(e=function(){}){e=D(e)?e:function(){};var t=S.get.value(),s=S.read.cache(t);S.has.minimumCharacters()?(s?(S.debug("Reading result from cache",t),S.save.results(s.results),f.onResults.call(y,s.results,!0),S.addResults(s.html),S.inject.id(s.results),e()):(S.debug("Querying for",t),j.isPlainObject(f.source)||Array.isArray(f.source)?(S.search.local(t),e()):S.can.useAPI()?S.search.remote(t,e):(S.error(p.source),e())),f.onSearchQuery.call(y,t)):S.hideResults()},search:{local:function(e){let t=S.search.object(e,f.source);S.set.loading(),S.save.results(t),S.debug("Returned full local search results",t),0<f.maxResults&&(S.debug("Using specified max results",t),t=t.slice(0,f.maxResults)),"category"===f.type&&(t=S.create.categoryResults(t));var s=S.generateResults({results:t});S.remove.loading(),S.addResults(s),S.inject.id(t),S.write.cache(e,{html:s,results:t})},remote:function(e,t){t=D(t)?t:function(){},v.api("is loading")&&v.api("abort"),S.setup.api(e,t),v.api("query")},object:function(r,e=f.source,t=f.searchFields){r=S.remove.diacritics(String(r));const a=[],o=[],c=[];var s=r.replace(n.escape,"\\$&");function l(e,t){var s=!a.includes(t),n=!c.includes(t),i=!o.includes(t);s&&n&&i&&e.push(t)}const u=new RegExp(n.beginsWith+s,f.ignoreSearchCase?"i":"");if(Array.isArray(t)||(t=[t]),void 0===e||!1===e)return S.error(p.source),[];const d=t.length-1;return j.each(e,function(e,n){const i=[];j.each(t,function(t,s){if("string"==typeof n[s]||"number"==typeof n[s]){let e;if(e="string"==typeof n[s]?S.remove.diacritics(n[s]):n[s].toString(),e=j("<div/>",{html:e}).text().trim(),"all"===f.fullTextSearch){if(i.push(e),t<d)return!0;e=i.join(" ")}"all"!==f.fullTextSearch&&-1!==e.search(u)?l(a,n):"exact"===f.fullTextSearch&&S.exactSearch(r,e)||"some"===f.fullTextSearch&&S.wordSearch(r,e)||"all"===f.fullTextSearch&&S.wordSearch(r,e,!0)?l(o,n):!0===f.fullTextSearch&&S.fuzzySearch(r,e)&&l(c,n)}})}),[...a,...o,...c]}},exactSearch:function(e,t){return f.ignoreSearchCase&&(e=e.toLowerCase(),t=t.toLowerCase()),t.includes(e)},wordSearch:function(e,t,s){let n=!1;for(const i of e.split(/\s+/))if(!(n=S.exactSearch(i,t))&&s||n&&!s)break;return n},fuzzySearch:function(n,i){var r=i.length,e=n.length;if("string"!=typeof n)return!1;if(f.ignoreSearchCase&&(n=n.toLowerCase(),i=i.toLowerCase()),r<e)return!1;if(e===r)return n===i;for(let t=0,s=0;t<e;t++){let e=!1;for(var a=n.codePointAt(t);s<r;)if(i.codePointAt(s++)===a){e=!0;break}if(!e)return!1}return!0},parse:{response:function(e,t){if(Array.isArray(e)){const n={};n[d.results]=e,e=n}var s=S.generateResults(e);S.verbose("Parsing server response",e),void 0!==e&&void 0!==t&&void 0!==e[d.results]&&(S.addResults(s),S.inject.id(e[d.results]),S.write.cache(t,{html:s,results:e[d.results]}),S.save.results(e[d.results]))}},cancel:{query:function(){S.can.useAPI()&&v.api("abort")}},has:{minimumCharacters:function(){return S.get.value().length>=f.minCharacters},results:function(){return 0!==r.length&&""!==r.html()}},clear:{cache:function(e){const t=v.data(u.cache);e?t&&t[e]&&(S.debug("Removing value from cache",e),delete t[e],v.data(u.cache,t)):(S.debug("Clearing cache",e),v.removeData(u.cache))},value:function(){S.set.value("")}},read:{cache:function(e){var t=v.data(u.cache);return!!f.cache&&(S.verbose("Checking cache for generated html for query",e),"object"==typeof t&&void 0!==t[e]&&t[e])}},create:{categoryResults:function(e){const s={};return j.each(e,function(e,t){t.category&&(void 0===s[t.category]?(S.verbose("Creating new category of results",t.category),s[t.category]={name:t.category,results:[t]}):s[t.category].results.push(t))}),s},id:function(e,t){e+=1;let s;return void 0!==t?(t=String.fromCodePoint(97+t),s=t+e,S.verbose("Creating category result id",s)):(s=e,S.verbose("Creating result id",s)),s},results:function(){0===r.length&&(r=j("<div />").addClass(g.results).appendTo(v))}},inject:{result:function(e,t,s){S.verbose("Injecting result into results");const n=(void 0!==s?r.children().eq(s).children(h.results).first():r).children(h.result).eq(t);S.verbose("Injecting results metadata",n),n.data(u.result,e)},id:function(e){S.debug("Injecting unique ids into results");let s=0,n=0;return"category"===f.type?j.each(e,function(e,t){0<t.results.length&&(n=0,j.each(t.results,function(e,t){void 0===t.id&&(t.id=S.create.id(n,s)),S.inject.result(t,n,s),n++}),s++)}):j.each(e,function(e,t){void 0===t.id&&(t.id=S.create.id(n)),S.inject.result(t,n),n++}),e}},save:{results:function(e){S.verbose("Saving current search results to metadata",e),v.data(u.results,e)}},write:{cache:function(e,t){const s=void 0!==v.data(u.cache)?v.data(u.cache):{};f.cache&&(S.verbose("Writing generated html to cache",e,t),s[e]=t,v.data(u.cache,s))}},addResults:function(e){if(D(f.onResultsAdd)&&!1===f.onResultsAdd.call(r,e))return S.debug("onResultsAdd callback cancelled default action"),!1;e?(r.html(e),S.refreshResults(),f.selectFirstResult&&S.select.firstResult(),S.showResults()):S.hideResults(function(){r.empty()})},showResults:function(e){e=D(e)?e:function(){},R||!S.is.visible()&&S.has.results()&&(S.can.transition()?(S.debug("Showing results with css animations"),r.transition({animation:f.transition+" in",debug:f.debug,verbose:f.verbose,silent:f.silent,duration:f.duration,onShow:function(){var e=v.find(h.result).eq(0);S.ensureVisible(e)},onComplete:function(){e()},queue:!0})):(S.debug("Showing results with javascript"),r.stop().fadeIn(f.duration,f.easing)),f.onResultsOpen.call(r))},hideResults:function(e){e=D(e)?e:function(){},S.is.visible()&&(S.can.transition()?(S.debug("Hiding results with css animations"),r.transition({animation:f.transition+" out",debug:f.debug,verbose:f.verbose,silent:f.silent,duration:f.duration,onComplete:function(){e()},queue:!0})):(S.debug("Hiding results with javascript"),r.stop().fadeOut(f.duration,f.easing)),f.onResultsClose.call(r))},generateResults:function(i){S.debug("Generating html from response",i);const e=f.templates[f.type];var t=j.isPlainObject(i[d.results])&&!j.isEmptyObject(i[d.results]),s=Array.isArray(i[d.results])&&0<i[d.results].length;let n="";if(t||s){if(0<f.maxResults&&(t?"standard"===f.type&&S.error(p.maxResults):i[d.results]=i[d.results].slice(0,f.maxResults)),f.highlightMatches){s=i[d.results],t=f.ignoreSearchCase?"i":"";const o=[...S.get.value()];var r=f.ignoreDiacritics?"[̀-ͯ]?":"",a="(?![^<]*>)";const c=new RegExp(a+"("+o.join(r+")(.*?)"+a+"(")+r+")",t),l=function(...e){return(e=e.slice(1,2*o.length).map(function(e,t){return 1&t?e:"<mark>"+e+"</mark>"})).join("")};j.each(s,function(s,n){j.each(f.searchFields,function(e,t){if("string"==typeof n[t]||"number"==typeof n[t]){let e="string"==typeof n[t]?n[t]:n[t].toString();e=(e=f.ignoreDiacritics?e.normalize("NFD"):e).replace(/<\/?mark>/g,""),i[d.results][s][t]=e.replace(c,l)}})})}D(e)?n=e(i,f):S.error(p.noTemplate,!1)}else f.showNoResults&&(n=S.displayMessage(p.noResults,"empty",p.noResultsHeader));return f.onResults.call(y,i),n},displayMessage:function(e,t="standard",s=!1){return S.debug("Displaying message",e,t,s),S.addResults(f.templates.message(e,t,s)),f.templates.message(e,t,s)},setting:function(e,t){if(j.isPlainObject(e))j.extend(!0,f,e);else{if(void 0===t)return f[e];f[e]=t}},internal:function(e,t){if(j.isPlainObject(e))j.extend(!0,S,e);else{if(void 0===t)return S[e];S[e]=t}},debug:function(...e){!f.silent&&f.debug&&(f.performance?S.performance.log(e):(S.debug=Function.prototype.bind.call(console.info,console,f.name+":"),S.debug.apply(console,e)))},verbose:function(...e){!f.silent&&f.verbose&&f.debug&&(f.performance?S.performance.log(e):(S.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),S.verbose.apply(console,e)))},error:function(...e){f.silent||(S.error=Function.prototype.bind.call(console.error,console,f.name+":"),S.error.apply(console,e))},performance:{log:function(e){var t,s;f.performance&&(s=(t=Date.now())-(x||t),x=t,C.push({Name:e[0],Arguments:e.slice(1),Element:y,"Execution Time":s})),clearTimeout(S.performance.timer),S.performance.timer=setTimeout(function(){S.performance.display()},500)},display:function(){let e=f.name+":",s=0;x=!1,clearTimeout(S.performance.timer),j.each(C,function(e,t){s+=t["Execution Time"]}),e+=" "+s+"ms",1<l.length&&(e+=" ("+l.length+")"),0<C.length&&(console.groupCollapsed(e),console.table(C),console.groupEnd()),C=[]}},invoke:function(n,e=T,t=y){let i=c,r,a,s;return"string"==typeof n&&void 0!==i&&(n=n.split(/[ .]/),r=n.length-1,j.each(n,function(e,t){var s=e!==r?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(j.isPlainObject(i[s])&&e!==r)i=i[s];else{if(void 0!==i[s])return a=i[s],!1;{if(!j.isPlainObject(i[t])||e===r)return void 0!==i[t]?a=i[t]:S.error(p.method,n),!1;i=i[t]}}})),D(a)?s=a.apply(t,e):void 0!==a&&(s=a),Array.isArray(k)?k.push(s):void 0!==k?k=[k,s]:void 0!==s&&(k=s),a}};w?(void 0===c&&S.initialize(),S.invoke(A)):(void 0!==c&&c.invoke("destroy"),S.initialize())}),void 0!==k?k:this},j.fn.search.settings={name:"Search",namespace:"search",silent:!1,debug:!1,verbose:!1,performance:!0,type:"standard",minCharacters:1,selectFirstResult:!1,apiSettings:!1,source:!1,searchOnFocus:!0,searchFields:["id","title","description"],displayField:"",fullTextSearch:"exact",highlightMatches:!1,ignoreDiacritics:!1,ignoreSearchCase:!0,automatic:!0,hideDelay:0,searchDelay:200,maxResults:7,cache:!0,showNoResults:!0,preserveHTML:!1,transition:"scale",duration:200,easing:"easeOutExpo",onSelect:!1,onResultsAdd:!1,onSearchQuery:function(e){},onResults:function(e,t){},onResultsOpen:function(){},onResultsClose:function(){},className:{animating:"animating",active:"active",category:"category",empty:"empty",focus:"focus",hidden:"hidden",loading:"loading",results:"results",pressed:"down"},error:{source:"Cannot search. No source used, and Fomantic API module was not included",noResultsHeader:"No Results",noResults:"Your search returned no results",noTemplate:"A valid template name was not specified.",oldSearchSyntax:"searchFullText setting has been renamed fullTextSearch for consistency, please adjust your settings.",serverError:"There was an issue querying the server.",maxResults:"Results must be an array to use maxResults setting",method:"The method you called is not defined."},metadata:{cache:"cache",results:"results",result:"result"},regExp:{escape:/[$()*+./?[\\\]^{|}-]/g,beginsWith:"(?:\\s|^)"},fields:{categories:"results",categoryName:"name",categoryResults:"results",description:"description",image:"image",alt:"alt",price:"price",results:"results",title:"title",url:"url",id:"id",class:"class",action:"action",actionText:"text",actionURL:"url"},selector:{prompt:".prompt",remove:"> .icon.input > .remove.icon",searchButton:".search.button",results:".results",message:".results > .message",category:".category",result:".result",title:".title, .name"},templates:{escape:function(e,t){if(void 0!==t&&t.preserveHTML)return e;const s={'"':"&quot;","&":"&amp;","'":"&apos;","<":"&lt;",">":"&gt;"};return e=(e=String(e).replace(/["&'<>]/g,e=>s[e])).replace(/&lt;(\/)*mark&gt;/g,"<$1mark>")},message:function(e,t,s){let n="";return void 0!==e&&void 0!==t&&(n+='<div class="message '+t+'">',s&&(n+='<div class="header">'+s+"</div>"),n=n+' <div class="description">'+e+"</div></div>"),n},category:function(e,s){let n="";const i=s.fields,r=s.templates.escape;return void 0!==e[i.categoryResults]&&(j.each(e[i.categoryResults],function(e,t){void 0!==t[i.results]&&0<t.results.length&&(n+='<div class="category">',void 0!==t[i.categoryName]&&(n+='<div class="name">'+r(t[i.categoryName],s)+"</div>"),n+='<div class="results">',j.each(t.results,function(e,t){n=(n=(n+=t[i.url]?'<a href="'+t[i.url].replaceAll('"',"")+'" ':"<div ")+(void 0!==t[i.id]?' id="'+t[i.id].replaceAll('"',"")+'" ':""))+(void 0!==t[i.class]?' class="result '+t[i.class].replaceAll('"',"")+'">':' class="result">'),void 0!==t[i.image]&&(n+='<div class="image"> <img src="'+t[i.image].replaceAll('"',"")+'"'+(t[i.alt]?' alt="'+t[i.alt].replaceAll('"',"")+'"':"")+"></div>"),n+='<div class="content">',void 0!==t[i.price]&&(n+='<div class="price">'+r(t[i.price],s)+"</div>"),void 0!==t[i.title]&&(n+='<div class="title">'+r(t[i.title],s)+"</div>"),void 0!==t[i.description]&&(n+='<div class="description">'+r(t[i.description],s)+"</div>"),n=(n+="</div>")+(t[i.url]?"</a>":"</div>")}),n+="</div></div>")}),e[i.action]&&(n+=!1===i.actionURL?'<div class="action">'+r(e[i.action][i.actionText],s)+"</div>":'<a href="'+e[i.action][i.actionURL].replaceAll('"',"")+'" class="action">'+r(e[i.action][i.actionText],s)+"</a>"),n)},standard:function(e,s){let n="";const i=s.fields,r=s.templates.escape;return void 0!==e[i.results]&&(j.each(e[i.results],function(e,t){n=(n=(n+=t[i.url]?'<a href="'+t[i.url].replaceAll('"',"")+'" ':"<div ")+(void 0!==t[i.id]?'id="'+t[i.id].replaceAll('"',"")+'" ':""))+(void 0!==t[i.class]?'class="result '+t[i.class].replaceAll('"',"")+'">':'class="result">'),void 0!==t[i.image]&&(n+='<div class="image"> <img src="'+t[i.image].replaceAll('"',"")+'"'+(t[i.alt]?' alt="'+t[i.alt].replaceAll('"',"")+'"':"")+"></div>"),n+='<div class="content">',void 0!==t[i.price]&&(n+='<div class="price">'+r(t[i.price],s)+"</div>"),void 0!==t[i.title]&&(n+='<div class="title">'+r(t[i.title],s)+"</div>"),void 0!==t[i.description]&&(n+='<div class="description">'+r(t[i.description],s)+"</div>"),n=(n+="</div>")+(t[i.url]?"</a>":"</div>")}),e[i.action]&&(n+=!1===i.actionURL?'<div class="action">'+r(e[i.action][i.actionText],s)+"</div>":'<a href="'+e[i.action][i.actionURL].replaceAll('"',"")+'" class="action">'+r(e[i.action][i.actionText],s)+"</a>"),n)}}},j.extend(j.easing,{easeOutExpo:function(e){return 1===e?1:1-2**(-10*e)}})}(jQuery,window,document);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.63+4e8f16d - Segment
2
+ * # Fomantic-UI 2.10.0-beta.65+923b474 - Segment
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.63+4e8f16d - Segment
2
+ * # Fomantic-UI 2.10.0-beta.65+923b474 - Segment
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.63+4e8f16d - Shape
2
+ * # Fomantic-UI 2.10.0-beta.65+923b474 - Shape
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *