fomantic-ui 2.9.4-beta.31 → 2.9.4-beta.33

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 (171) hide show
  1. package/dist/components/accordion.css +1 -1
  2. package/dist/components/accordion.js +1 -1
  3. package/dist/components/accordion.min.css +1 -1
  4. package/dist/components/accordion.min.js +1 -1
  5. package/dist/components/ad.css +1 -1
  6. package/dist/components/ad.min.css +1 -1
  7. package/dist/components/api.js +1 -1
  8. package/dist/components/api.min.js +1 -1
  9. package/dist/components/breadcrumb.css +1 -1
  10. package/dist/components/breadcrumb.min.css +1 -1
  11. package/dist/components/button.css +1 -1
  12. package/dist/components/button.min.css +1 -1
  13. package/dist/components/calendar.css +1 -1
  14. package/dist/components/calendar.js +1 -1
  15. package/dist/components/calendar.min.css +1 -1
  16. package/dist/components/calendar.min.js +1 -1
  17. package/dist/components/card.css +1 -1
  18. package/dist/components/card.min.css +1 -1
  19. package/dist/components/checkbox.css +1 -1
  20. package/dist/components/checkbox.js +1 -1
  21. package/dist/components/checkbox.min.css +1 -1
  22. package/dist/components/checkbox.min.js +1 -1
  23. package/dist/components/comment.css +1 -1
  24. package/dist/components/comment.min.css +1 -1
  25. package/dist/components/container.css +1 -1
  26. package/dist/components/container.min.css +1 -1
  27. package/dist/components/dimmer.css +1 -1
  28. package/dist/components/dimmer.js +1 -1
  29. package/dist/components/dimmer.min.css +1 -1
  30. package/dist/components/dimmer.min.js +1 -1
  31. package/dist/components/divider.css +1 -1
  32. package/dist/components/divider.min.css +1 -1
  33. package/dist/components/dropdown.css +1 -1
  34. package/dist/components/dropdown.js +44 -12
  35. package/dist/components/dropdown.min.css +1 -1
  36. package/dist/components/dropdown.min.js +2 -2
  37. package/dist/components/embed.css +1 -1
  38. package/dist/components/embed.js +1 -1
  39. package/dist/components/embed.min.css +1 -1
  40. package/dist/components/embed.min.js +1 -1
  41. package/dist/components/emoji.css +1 -1
  42. package/dist/components/emoji.min.css +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/flyout.css +1 -1
  48. package/dist/components/flyout.js +1 -1
  49. package/dist/components/flyout.min.css +1 -1
  50. package/dist/components/flyout.min.js +1 -1
  51. package/dist/components/form.css +1 -1
  52. package/dist/components/form.js +1 -1
  53. package/dist/components/form.min.css +1 -1
  54. package/dist/components/form.min.js +1 -1
  55. package/dist/components/grid.css +1 -1
  56. package/dist/components/grid.min.css +1 -1
  57. package/dist/components/header.css +1 -1
  58. package/dist/components/header.min.css +1 -1
  59. package/dist/components/icon.css +1 -1
  60. package/dist/components/icon.min.css +1 -1
  61. package/dist/components/image.css +1 -1
  62. package/dist/components/image.min.css +1 -1
  63. package/dist/components/input.css +1 -1
  64. package/dist/components/input.min.css +1 -1
  65. package/dist/components/item.css +1 -1
  66. package/dist/components/item.min.css +1 -1
  67. package/dist/components/label.css +1 -1
  68. package/dist/components/label.min.css +1 -1
  69. package/dist/components/list.css +1 -1
  70. package/dist/components/list.min.css +1 -1
  71. package/dist/components/loader.css +1 -1
  72. package/dist/components/loader.min.css +1 -1
  73. package/dist/components/menu.css +1 -1
  74. package/dist/components/menu.min.css +1 -1
  75. package/dist/components/message.css +1 -1
  76. package/dist/components/message.min.css +1 -1
  77. package/dist/components/modal.css +1 -1
  78. package/dist/components/modal.js +1 -1
  79. package/dist/components/modal.min.css +1 -1
  80. package/dist/components/modal.min.js +1 -1
  81. package/dist/components/nag.css +1 -1
  82. package/dist/components/nag.js +5 -3
  83. package/dist/components/nag.min.css +1 -1
  84. package/dist/components/nag.min.js +2 -2
  85. package/dist/components/placeholder.css +1 -1
  86. package/dist/components/placeholder.min.css +1 -1
  87. package/dist/components/popup.css +1 -1
  88. package/dist/components/popup.js +1 -1
  89. package/dist/components/popup.min.css +1 -1
  90. package/dist/components/popup.min.js +1 -1
  91. package/dist/components/progress.css +1 -1
  92. package/dist/components/progress.js +1 -1
  93. package/dist/components/progress.min.css +1 -1
  94. package/dist/components/progress.min.js +1 -1
  95. package/dist/components/rail.css +1 -1
  96. package/dist/components/rail.min.css +1 -1
  97. package/dist/components/rating.css +1 -1
  98. package/dist/components/rating.js +1 -1
  99. package/dist/components/rating.min.css +1 -1
  100. package/dist/components/rating.min.js +1 -1
  101. package/dist/components/reset.css +1 -1
  102. package/dist/components/reset.min.css +1 -1
  103. package/dist/components/reveal.css +1 -1
  104. package/dist/components/reveal.min.css +1 -1
  105. package/dist/components/search.css +1 -1
  106. package/dist/components/search.js +58 -10
  107. package/dist/components/search.min.css +1 -1
  108. package/dist/components/search.min.js +2 -2
  109. package/dist/components/segment.css +1 -1
  110. package/dist/components/segment.min.css +1 -1
  111. package/dist/components/shape.css +1 -1
  112. package/dist/components/shape.js +1 -1
  113. package/dist/components/shape.min.css +1 -1
  114. package/dist/components/shape.min.js +1 -1
  115. package/dist/components/sidebar.css +1 -1
  116. package/dist/components/sidebar.js +1 -1
  117. package/dist/components/sidebar.min.css +1 -1
  118. package/dist/components/sidebar.min.js +1 -1
  119. package/dist/components/site.css +1 -1
  120. package/dist/components/site.js +1 -1
  121. package/dist/components/site.min.css +1 -1
  122. package/dist/components/site.min.js +1 -1
  123. package/dist/components/slider.css +1 -1
  124. package/dist/components/slider.js +1 -1
  125. package/dist/components/slider.min.css +1 -1
  126. package/dist/components/slider.min.js +1 -1
  127. package/dist/components/state.js +1 -1
  128. package/dist/components/state.min.js +1 -1
  129. package/dist/components/statistic.css +1 -1
  130. package/dist/components/statistic.min.css +1 -1
  131. package/dist/components/step.css +1 -1
  132. package/dist/components/step.min.css +1 -1
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +1 -1
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +1 -1
  137. package/dist/components/tab.css +1 -1
  138. package/dist/components/tab.js +1 -1
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +1 -1
  141. package/dist/components/table.css +7 -7
  142. package/dist/components/table.min.css +2 -2
  143. package/dist/components/text.css +1 -1
  144. package/dist/components/text.min.css +1 -1
  145. package/dist/components/toast.css +1 -1
  146. package/dist/components/toast.js +1 -1
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +1 -1
  149. package/dist/components/transition.css +1 -1
  150. package/dist/components/transition.js +1 -1
  151. package/dist/components/transition.min.css +1 -1
  152. package/dist/components/transition.min.js +1 -1
  153. package/dist/components/visibility.js +1 -1
  154. package/dist/components/visibility.min.js +1 -1
  155. package/dist/semantic.css +59 -59
  156. package/dist/semantic.js +130 -48
  157. package/dist/semantic.min.css +2 -2
  158. package/dist/semantic.min.js +2 -2
  159. package/package.json +1 -1
  160. package/src/definitions/collections/table.less +6 -6
  161. package/src/definitions/modules/dropdown.js +43 -11
  162. package/src/definitions/modules/dropdown.less +7 -0
  163. package/src/definitions/modules/nag.js +4 -2
  164. package/src/definitions/modules/search.js +57 -9
  165. package/src/definitions/modules/search.less +9 -2
  166. package/src/themes/default/globals/site.variables +3 -0
  167. package/src/themes/default/globals/variation.variables +2 -0
  168. package/src/themes/default/modules/dropdown.variables +3 -0
  169. package/src/themes/default/modules/search.variables +3 -0
  170. package/types/fomantic-ui-dropdown.d.ts +6 -0
  171. package/types/fomantic-ui-search.d.ts +12 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fomantic-ui",
3
- "version": "2.9.4-beta.31+5437960",
3
+ "version": "2.9.4-beta.33+6daf34d",
4
4
  "description": "Fomantic empowers designers and developers by creating a shared vocabulary for UI.",
5
5
  "keywords": [
6
6
  "fomantic-ui",
@@ -117,16 +117,16 @@
117
117
  .ui.table > tfoot > tr > td:first-child {
118
118
  border-left: none;
119
119
  }
120
- .ui.table > tfoot > tr:first-child > th:first-child,
121
- .ui.table > tfoot > tr:first-child > td:first-child {
120
+ .ui.table > tfoot > tr:last-child > th:first-child,
121
+ .ui.table > tfoot > tr:last-child > td:first-child {
122
122
  border-radius: 0 0 0 @borderRadius;
123
123
  }
124
- .ui.table > tfoot > tr:first-child > th:last-child,
125
- .ui.table > tfoot > tr:first-child > td:last-child {
124
+ .ui.table > tfoot > tr:last-child > th:last-child,
125
+ .ui.table > tfoot > tr:last-child > td:last-child {
126
126
  border-radius: 0 0 @borderRadius 0;
127
127
  }
128
- .ui.table > tfoot > tr:first-child > th:only-child,
129
- .ui.table > tfoot > tr:first-child > td:only-child {
128
+ .ui.table > tfoot > tr:last-child > th:only-child,
129
+ .ui.table > tfoot > tr:last-child > td:only-child {
130
130
  border-radius: 0 0 @borderRadius @borderRadius;
131
131
  }
132
132
 
@@ -890,11 +890,13 @@
890
890
  ? query
891
891
  : module.get.query()
892
892
  ),
893
- results = null,
894
- escapedTerm = module.escape.string(searchTerm),
895
- regExpFlags = (settings.ignoreSearchCase ? 'i' : '') + 'gm',
893
+ results = null,
894
+ escapedTerm = module.escape.string(searchTerm),
895
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
896
+ regExpFlags = regExpIgnore + 'gm',
896
897
  beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
897
898
  ;
899
+ module.remove.filteredItem();
898
900
  // avoid loop if we're matching nothing
899
901
  if (module.has.query()) {
900
902
  results = [];
@@ -938,12 +940,34 @@
938
940
  ;
939
941
  }
940
942
  module.debug('Showing only matched items', searchTerm);
941
- module.remove.filteredItem();
942
943
  if (results) {
943
944
  $item
944
945
  .not(results)
945
946
  .addClass(className.filtered)
946
947
  ;
948
+ if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
949
+ var querySplit = query.split(''),
950
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
951
+ htmlReg = '(?![^<]*>)',
952
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
953
+ markedReplacer = function () {
954
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
955
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
956
+ });
957
+
958
+ return args.join('');
959
+ }
960
+ ;
961
+ $.each(results, function (index, result) {
962
+ var $result = $(result),
963
+ markedHTML = module.get.choiceText($result, true)
964
+ ;
965
+ if (settings.ignoreDiacritics) {
966
+ markedHTML = markedHTML.normalize('NFD');
967
+ }
968
+ $result.html(markedHTML.replace(markedRegExp, markedReplacer));
969
+ });
970
+ }
947
971
  }
948
972
 
949
973
  if (!module.has.query()) {
@@ -979,8 +1003,10 @@
979
1003
  termLength = term.length,
980
1004
  queryLength = query.length
981
1005
  ;
982
- query = settings.ignoreSearchCase ? query.toLowerCase() : query;
983
- term = settings.ignoreSearchCase ? term.toLowerCase() : term;
1006
+ if (settings.ignoreSearchCase) {
1007
+ query = query.toLowerCase();
1008
+ term = term.toLowerCase();
1009
+ }
984
1010
  if (queryLength > termLength) {
985
1011
  return false;
986
1012
  }
@@ -1187,7 +1213,7 @@
1187
1213
  if (!itemActivated && !pageLostFocus) {
1188
1214
  if (settings.forceSelection) {
1189
1215
  module.forceSelection();
1190
- } else if (!settings.allowAdditions) {
1216
+ } else if (!settings.allowAdditions && !settings.keepSearchTerm && !module.has.menuSearch()) {
1191
1217
  module.remove.searchTerm();
1192
1218
  }
1193
1219
  module.hide();
@@ -3084,6 +3110,12 @@
3084
3110
  $item.removeClass(className.active);
3085
3111
  },
3086
3112
  filteredItem: function () {
3113
+ if (settings.highlightMatches) {
3114
+ $.each($item, function (index, item) {
3115
+ var $markItem = $(item);
3116
+ $markItem.html($markItem.html().replace(/<\/?mark>/g, ''));
3117
+ });
3118
+ }
3087
3119
  if (settings.useLabels && module.has.maxSelections()) {
3088
3120
  return;
3089
3121
  }
@@ -3793,6 +3825,7 @@
3793
3825
  return text.replace(regExp.escape, '\\$&');
3794
3826
  },
3795
3827
  htmlEntities: function (string, forceAmpersand) {
3828
+ forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
3796
3829
  var
3797
3830
  badChars = /["'<>`]/g,
3798
3831
  shouldEscape = /["&'<>`]/,
@@ -3809,8 +3842,7 @@
3809
3842
  ;
3810
3843
  if (shouldEscape.test(string)) {
3811
3844
  string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&amp;');
3812
-
3813
- return string.replace(badChars, escapedChar);
3845
+ string = string.replace(badChars, escapedChar);
3814
3846
  }
3815
3847
 
3816
3848
  return string;
@@ -4015,6 +4047,7 @@
4015
4047
 
4016
4048
  match: 'both', // what to match against with search selection (both, text, or label)
4017
4049
  fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
4050
+ highlightMatches: false, // Whether search result should highlight matching strings
4018
4051
  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...)
4019
4052
  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)
4020
4053
 
@@ -4239,8 +4272,7 @@
4239
4272
  ;
4240
4273
  if (shouldEscape.test(string)) {
4241
4274
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
4242
-
4243
- return string.replace(badChars, escapedChar);
4275
+ string = string.replace(badChars, escapedChar);
4244
4276
  }
4245
4277
 
4246
4278
  return string;
@@ -1860,6 +1860,13 @@ select.ui.dropdown {
1860
1860
  });
1861
1861
  }
1862
1862
 
1863
+ & when (@variationDropdownHighlightMatches) {
1864
+ .ui.dropdown .menu > .item mark {
1865
+ background: @highlightMatchesBackground;
1866
+ color: @highlightMatchesColor;
1867
+ }
1868
+ }
1869
+
1863
1870
  & when (@variationDropdownInverted) {
1864
1871
  /* --------------
1865
1872
  Inverted
@@ -146,8 +146,10 @@
146
146
  module.debug('Dismissing nag', settings.storageMethod, settings.key, settings.value, settings.expires);
147
147
  module.storage.set(settings.key, settings.value);
148
148
  }
149
- event.stopImmediatePropagation();
150
- event.preventDefault();
149
+ if (event) {
150
+ event.stopImmediatePropagation();
151
+ event.preventDefault();
152
+ }
151
153
  },
152
154
 
153
155
  should: {
@@ -135,7 +135,10 @@
135
135
  // this makes sure $.extend does not add specified search fields to default fields
136
136
  // this is the only setting which should not extend defaults
137
137
  if (parameters && parameters.searchFields !== undefined) {
138
- settings.searchFields = parameters.searchFields;
138
+ settings.searchFields = Array.isArray(parameters.searchFields)
139
+ ? parameters.searchFields
140
+ : [parameters.searchFields]
141
+ ;
139
142
  }
140
143
  },
141
144
  },
@@ -631,7 +634,7 @@
631
634
  exactResults = [],
632
635
  fuzzyResults = [],
633
636
  searchExp = searchTerm.replace(regExp.escape, '\\$&'),
634
- matchRegExp = new RegExp(regExp.beginsWith + searchExp, 'i'),
637
+ matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : ''),
635
638
 
636
639
  // avoid duplicates when pushing results
637
640
  addResult = function (array, result) {
@@ -667,13 +670,14 @@
667
670
  var concatenatedContent = [];
668
671
  $.each(searchFields, function (index, field) {
669
672
  var
670
- fieldExists = (typeof content[field] === 'string') || (typeof content[field] === 'number')
673
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
671
674
  ;
672
675
  if (fieldExists) {
673
676
  var text;
674
677
  text = typeof content[field] === 'string'
675
678
  ? module.remove.diacritics(content[field])
676
679
  : content[field].toString();
680
+ text = $('<div/>', { html: text }).text().trim();
677
681
  if (settings.fullTextSearch === 'all') {
678
682
  concatenatedContent.push(text);
679
683
  if (index < lastSearchFieldIndex) {
@@ -704,8 +708,10 @@
704
708
  },
705
709
  },
706
710
  exactSearch: function (query, term) {
707
- query = query.toLowerCase();
708
- term = term.toLowerCase();
711
+ if (settings.ignoreSearchCase) {
712
+ query = query.toLowerCase();
713
+ term = term.toLowerCase();
714
+ }
709
715
 
710
716
  return term.indexOf(query) > -1;
711
717
  },
@@ -732,8 +738,10 @@
732
738
  if (typeof query !== 'string') {
733
739
  return false;
734
740
  }
735
- query = query.toLowerCase();
736
- term = term.toLowerCase();
741
+ if (settings.ignoreSearchCase) {
742
+ query = query.toLowerCase();
743
+ term = term.toLowerCase();
744
+ }
737
745
  if (queryLength > termLength) {
738
746
  return false;
739
747
  }
@@ -1088,6 +1096,39 @@
1088
1096
  response[fields.results] = response[fields.results].slice(0, settings.maxResults);
1089
1097
  }
1090
1098
  }
1099
+ if (settings.highlightMatches) {
1100
+ var results = response[fields.results],
1101
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
1102
+ querySplit = module.get.value().split(''),
1103
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
1104
+ htmlReg = '(?![^<]*>)',
1105
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
1106
+ markedReplacer = function () {
1107
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
1108
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
1109
+ });
1110
+
1111
+ return args.join('');
1112
+ }
1113
+ ;
1114
+ $.each(results, function (label, content) {
1115
+ $.each(settings.searchFields, function (index, field) {
1116
+ var
1117
+ fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
1118
+ ;
1119
+ if (fieldExists) {
1120
+ var markedHTML = typeof content[field] === 'string'
1121
+ ? content[field]
1122
+ : content[field].toString();
1123
+ if (settings.ignoreDiacritics) {
1124
+ markedHTML = markedHTML.normalize('NFD');
1125
+ }
1126
+ markedHTML = markedHTML.replace(/<\/?mark>/g, '');
1127
+ response[fields.results][label][field] = markedHTML.replace(markedRegExp, markedReplacer);
1128
+ }
1129
+ });
1130
+ });
1131
+ }
1091
1132
  if (isFunction(template)) {
1092
1133
  html = template(response, fields, settings.preserveHTML);
1093
1134
  } else {
@@ -1316,9 +1357,15 @@
1316
1357
  // search anywhere in value (set to 'exact' to require exact matches
1317
1358
  fullTextSearch: 'exact',
1318
1359
 
1360
+ // Whether search result should highlight matching strings
1361
+ highlightMatches: false,
1362
+
1319
1363
  // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
1320
1364
  ignoreDiacritics: false,
1321
1365
 
1366
+ // whether to consider case sensitivity on local searching
1367
+ ignoreSearchCase: true,
1368
+
1322
1369
  // whether to add events to prompt automatically
1323
1370
  automatic: true,
1324
1371
 
@@ -1436,8 +1483,9 @@
1436
1483
  };
1437
1484
  if (shouldEscape.test(string)) {
1438
1485
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
1439
-
1440
- return string.replace(badChars, escapedChar);
1486
+ string = string.replace(badChars, escapedChar);
1487
+ // FUI controlled HTML is still allowed
1488
+ string = string.replace(/&lt;(\/)*mark&gt;/g, '<$1mark>');
1441
1489
  }
1442
1490
 
1443
1491
  return string;
@@ -565,8 +565,8 @@
565
565
  .ui.search {
566
566
  font-size: @relativeMedium;
567
567
  }
568
- & when not (@variationFeedSizes = false) {
569
- each(@variationFeedSizes, {
568
+ & when not (@variationSearchSizes = false) {
569
+ each(@variationSearchSizes, {
570
570
  @s: @{value}SearchSize;
571
571
  .ui.@{value}.search {
572
572
  font-size: @@s;
@@ -574,6 +574,13 @@
574
574
  });
575
575
  }
576
576
 
577
+ & when (@variationSearchHighlightMatches) {
578
+ .ui.search > .results mark {
579
+ background: @highlightMatchesBackground;
580
+ color: @highlightMatchesColor;
581
+ }
582
+ }
583
+
577
584
  /* --------------
578
585
  Mobile
579
586
  --------------- */
@@ -1538,3 +1538,6 @@
1538
1538
 
1539
1539
  @inputWarningPlaceholderColor: if(iscolor(@formWarningColor), lighten(@formWarningColor, 40), @formWarningColor);
1540
1540
  @inputWarningPlaceholderFocusColor: if(iscolor(@formWarningColor), lighten(@formWarningColor, 30), @formWarningColor);
1541
+
1542
+ @defaultHighlightMatchesBackground: revert;
1543
+ @defaultHighlightMatchesColor: revert;
@@ -573,6 +573,7 @@
573
573
  @variationDropdownPointing: true;
574
574
  @variationDropdownColumnar: true;
575
575
  @variationDropdownScrollhint: true;
576
+ @variationDropdownHighlightMatches: false;
576
577
  @variationDropdownSizes: @variationAllSizes;
577
578
 
578
579
  /* Embed */
@@ -678,6 +679,7 @@
678
679
  @variationSearchVeryLong: true;
679
680
  @variationSearchResizable: true;
680
681
  @variationSearchScrolling: true;
682
+ @variationSearchHighlightMatches: false;
681
683
  @variationSearchSizes: @variationAllSizes;
682
684
 
683
685
  /* Shape */
@@ -480,3 +480,6 @@
480
480
 
481
481
  /* Resizable */
482
482
  @resizableDirection: vertical;
483
+
484
+ @highlightMatchesBackground: @defaultHighlightMatchesBackground;
485
+ @highlightMatchesColor: @defaultHighlightMatchesColor;
@@ -177,3 +177,6 @@
177
177
 
178
178
  /* Resizable */
179
179
  @resizableDirection: vertical;
180
+
181
+ @highlightMatchesBackground: @defaultHighlightMatchesBackground;
182
+ @highlightMatchesColor: @defaultHighlightMatchesColor;
@@ -385,6 +385,12 @@ declare namespace FomanticUI {
385
385
  */
386
386
  ignoreSearchCase: boolean;
387
387
 
388
+ /**
389
+ * Whether search result should highlight matching strings
390
+ * @default false
391
+ */
392
+ highlightMatches: boolean;
393
+
388
394
  /**
389
395
  * If disabled user additions will appear in the dropdown's menu using a specially formatted selection item formatted by 'templates.addition'.
390
396
  * @default true
@@ -228,6 +228,18 @@ declare namespace FomanticUI {
228
228
  */
229
229
  ignoreDiacritics: boolean;
230
230
 
231
+ /**
232
+ * Whether to consider case sensitivity on local searching
233
+ * @default true
234
+ */
235
+ ignoreSearchCase: boolean;
236
+
237
+ /**
238
+ * Whether search result should highlight matching strings
239
+ * @default false
240
+ */
241
+ highlightMatches: boolean;
242
+
231
243
  /**
232
244
  * Template to use (specified in settings.templates)
233
245
  * @default 'standard'