fomantic-ui 2.10.0-beta.5 → 2.10.0-beta.7

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 (173) 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 +46 -73
  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 +17 -8
  39. package/dist/components/embed.min.css +1 -1
  40. package/dist/components/embed.min.js +2 -2
  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 +18 -31
  49. package/dist/components/flyout.min.css +1 -1
  50. package/dist/components/flyout.min.js +2 -2
  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 +18 -31
  79. package/dist/components/modal.min.css +1 -1
  80. package/dist/components/modal.min.js +2 -2
  81. package/dist/components/nag.css +1 -1
  82. package/dist/components/nag.js +1 -1
  83. package/dist/components/nag.min.css +1 -1
  84. package/dist/components/nag.min.js +1 -1
  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 +11 -22
  89. package/dist/components/popup.min.css +1 -1
  90. package/dist/components/popup.min.js +2 -2
  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 +14 -5
  99. package/dist/components/rating.min.css +1 -1
  100. package/dist/components/rating.min.js +2 -2
  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 +18 -28
  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 +1 -1
  142. package/dist/components/table.min.css +1 -1
  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 +19 -32
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +2 -2
  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 +53 -53
  156. package/dist/semantic.js +178 -247
  157. package/dist/semantic.min.css +1 -1
  158. package/dist/semantic.min.js +2 -2
  159. package/package.json +1 -2
  160. package/src/definitions/modules/dropdown.js +45 -72
  161. package/src/definitions/modules/embed.js +16 -7
  162. package/src/definitions/modules/flyout.js +17 -30
  163. package/src/definitions/modules/modal.js +17 -30
  164. package/src/definitions/modules/popup.js +10 -21
  165. package/src/definitions/modules/rating.js +13 -4
  166. package/src/definitions/modules/search.js +17 -27
  167. package/src/definitions/modules/toast.js +18 -31
  168. package/tasks/config/defaults.js +0 -1
  169. package/tasks/config/project/install.js +5 -8
  170. package/tasks/install.js +10 -11
  171. package/types/fomantic-ui-dropdown.d.ts +1 -6
  172. package/types/fomantic-ui-embed.d.ts +1 -1
  173. package/types/fomantic-ui-search.d.ts +1 -1
package/dist/semantic.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.10.0-beta.5+789e0d0
2
+ * # Fomantic UI - 2.10.0-beta.7+13b1bae
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
@@ -9,7 +9,7 @@
9
9
  *
10
10
  */
11
11
  /*!
12
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Site
12
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Site
13
13
  * https://github.com/fomantic/Fomantic-UI/
14
14
  *
15
15
  *
@@ -465,7 +465,7 @@
465
465
  })(jQuery, window, document);
466
466
 
467
467
  /*!
468
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Form Validation
468
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Form Validation
469
469
  * https://github.com/fomantic/Fomantic-UI/
470
470
  *
471
471
  *
@@ -2660,7 +2660,7 @@
2660
2660
  })(jQuery, window, document);
2661
2661
 
2662
2662
  /*!
2663
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Accordion
2663
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Accordion
2664
2664
  * https://github.com/fomantic/Fomantic-UI/
2665
2665
  *
2666
2666
  *
@@ -3256,7 +3256,7 @@
3256
3256
  })(jQuery, window, document);
3257
3257
 
3258
3258
  /*!
3259
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Calendar
3259
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Calendar
3260
3260
  * https://github.com/fomantic/Fomantic-UI/
3261
3261
  *
3262
3262
  *
@@ -5302,7 +5302,7 @@
5302
5302
  })(jQuery, window, document);
5303
5303
 
5304
5304
  /*!
5305
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Checkbox
5305
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Checkbox
5306
5306
  * https://github.com/fomantic/Fomantic-UI/
5307
5307
  *
5308
5308
  *
@@ -6183,7 +6183,7 @@
6183
6183
  })(jQuery, window, document);
6184
6184
 
6185
6185
  /*!
6186
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Dimmer
6186
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Dimmer
6187
6187
  * https://github.com/fomantic/Fomantic-UI/
6188
6188
  *
6189
6189
  *
@@ -6916,7 +6916,7 @@
6916
6916
  })(jQuery, window, document);
6917
6917
 
6918
6918
  /*!
6919
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Dropdown
6919
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Dropdown
6920
6920
  * https://github.com/fomantic/Fomantic-UI/
6921
6921
  *
6922
6922
  *
@@ -7031,11 +7031,6 @@
7031
7031
  if (module.is.alreadySetup()) {
7032
7032
  module.setup.reference();
7033
7033
  } else {
7034
- if (settings.ignoreDiacritics && !String.prototype.normalize) {
7035
- settings.ignoreDiacritics = false;
7036
- module.error(error.noNormalize, element);
7037
- }
7038
-
7039
7034
  module.create.id();
7040
7035
  module.setup.layout();
7041
7036
 
@@ -8027,7 +8022,7 @@
8027
8022
  $input.append('<option disabled selected value></option>');
8028
8023
  $.each(values, function (index, item) {
8029
8024
  var
8030
- value = settings.templates.deQuote(item[fields.value]),
8025
+ value = settings.templates.escape(item[fields.value]),
8031
8026
  name = settings.templates.escape(
8032
8027
  item[fields.name] || '',
8033
8028
  settings
@@ -8679,6 +8674,7 @@
8679
8674
  }
8680
8675
  // down arrow (open menu)
8681
8676
  if (pressedKey === keys.downArrow && !module.is.visible()) {
8677
+ focused = true;
8682
8678
  module.verbose('Down key pressed, showing dropdown');
8683
8679
  module.show();
8684
8680
  event.preventDefault();
@@ -10757,26 +10753,19 @@
10757
10753
  },
10758
10754
  htmlEntities: function (string, forceAmpersand) {
10759
10755
  forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
10760
- var
10761
- badChars = /["'<>`]/g,
10762
- shouldEscape = /["&'<>`]/,
10763
- escape = {
10764
- '<': '&lt;',
10765
- '>': '&gt;',
10766
- '"': '&quot;',
10767
- "'": '&#x27;',
10768
- '`': '&#x60;',
10769
- },
10770
- escapedChar = function (chr) {
10771
- return escape[chr];
10772
- }
10773
- ;
10774
- if (shouldEscape.test(string)) {
10775
- string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&amp;');
10776
- string = string.replace(badChars, escapedChar);
10777
- }
10778
10756
 
10779
- return string;
10757
+ const badChars = forceAmpersand
10758
+ ? /["&'<>]/g
10759
+ : /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
10760
+ const escape = {
10761
+ '"': '&quot;',
10762
+ '&': '&amp;',
10763
+ "'": '&apos;',
10764
+ '<': '&lt;',
10765
+ '>': '&gt;',
10766
+ };
10767
+
10768
+ return string.replace(badChars, (chr) => escape[chr]);
10780
10769
  },
10781
10770
  },
10782
10771
 
@@ -11069,7 +11058,6 @@
11069
11058
  noAPI: 'The API module is required to load resources remotely',
11070
11059
  noStorage: 'Saving remote data requires session storage',
11071
11060
  noElement: 'This module requires ui {element}',
11072
- noNormalize: '"ignoreDiacritics" setting will be ignored. Browser does not support String().normalize(). You may consider including <https://cdn.jsdelivr.net/npm/unorm@1.4.1/lib/unorm.min.js> as a polyfill.',
11073
11061
  },
11074
11062
 
11075
11063
  regExp: {
@@ -11183,33 +11171,21 @@
11183
11171
 
11184
11172
  /* Templates */
11185
11173
  $.fn.dropdown.settings.templates = {
11186
- deQuote: function (string, encode) {
11187
- return String(string).replace(/"/g, encode ? '&quot;' : '');
11188
- },
11189
11174
  escape: function (string, settings) {
11190
- if (settings.preserveHTML) {
11175
+ if (settings !== undefined && settings.preserveHTML) {
11191
11176
  return string;
11192
11177
  }
11193
- var
11194
- badChars = /["'<>`]/g,
11195
- shouldEscape = /["&'<>`]/,
11196
- escape = {
11197
- '<': '&lt;',
11198
- '>': '&gt;',
11199
- '"': '&quot;',
11200
- "'": '&#x27;',
11201
- '`': '&#x60;',
11202
- },
11203
- escapedChar = function (chr) {
11204
- return escape[chr];
11205
- }
11206
- ;
11207
- if (shouldEscape.test(string)) {
11208
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
11209
- string = string.replace(badChars, escapedChar);
11210
- }
11211
11178
 
11212
- return string;
11179
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
11180
+ const escape = {
11181
+ '"': '&quot;',
11182
+ '&': '&amp;',
11183
+ "'": '&apos;',
11184
+ '<': '&lt;',
11185
+ '>': '&gt;',
11186
+ };
11187
+
11188
+ return string.replace(badChars, (chr) => escape[chr]);
11213
11189
  },
11214
11190
  // generates dropdown from select values
11215
11191
  dropdown: function (select, settings) {
@@ -11217,14 +11193,13 @@
11217
11193
  placeholder = select.placeholder || false,
11218
11194
  html = '',
11219
11195
  className = settings.className,
11220
- escape = settings.templates.escape,
11221
- deQuote = settings.templates.deQuote
11196
+ escape = settings.templates.escape
11222
11197
  ;
11223
11198
  html += '<i class="dropdown icon"></i>';
11224
11199
  html += placeholder
11225
11200
  ? '<div class="default text">' + escape(placeholder, settings) + '</div>'
11226
11201
  : '<div class="text"></div>';
11227
- html += '<div class="' + deQuote(className.menu) + '">';
11202
+ html += '<div class="' + escape(className.menu) + '">';
11228
11203
  html += settings.templates.menu(select, settings);
11229
11204
  html += '</div>';
11230
11205
 
@@ -11238,8 +11213,7 @@
11238
11213
  values = response[fields.values] || [],
11239
11214
  html = '',
11240
11215
  className = settings.className,
11241
- escape = settings.templates.escape,
11242
- deQuote = settings.templates.deQuote
11216
+ escape = settings.templates.escape
11243
11217
  ;
11244
11218
  $.each(values, function (index, option) {
11245
11219
  var
@@ -11255,14 +11229,14 @@
11255
11229
  for (dataKey in dataObject) {
11256
11230
  dataKeyEscaped = String(dataKey).replace(/\W/g, '');
11257
11231
  if (Object.prototype.hasOwnProperty.call(dataObject, dataKey) && ['text', 'value'].indexOf(dataKeyEscaped.toLowerCase()) === -1) {
11258
- maybeData += ' data-' + dataKeyEscaped + '="' + deQuote(String(dataObject[dataKey])) + '"';
11232
+ maybeData += ' data-' + dataKeyEscaped + '="' + escape(String(dataObject[dataKey])) + '"';
11259
11233
  }
11260
11234
  }
11261
11235
  }
11262
11236
  if (itemType === 'item' || isMenu) {
11263
11237
  var
11264
11238
  maybeText = option[fields.text]
11265
- ? ' data-text="' + deQuote(option[fields.text], true) + '"'
11239
+ ? ' data-text="' + escape(option[fields.text]) + '"'
11266
11240
  : '',
11267
11241
  maybeActionable = option[fields.actionable]
11268
11242
  ? className.actionable + ' '
@@ -11275,27 +11249,27 @@
11275
11249
  : '',
11276
11250
  hasDescription = escape(option[fields.description] || '', settings) !== ''
11277
11251
  ;
11278
- html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + maybeData + '>';
11252
+ html += '<div class="' + escape(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + escape(option[fields.value]) + '"' + maybeText + maybeData + '>';
11279
11253
  if (isMenu) {
11280
11254
  html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
11281
11255
  }
11282
11256
  if (option[fields.image]) {
11283
- html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + (option[fields.alt] ? '" alt="' + deQuote(option[fields.alt]) : '') + '">';
11257
+ html += '<img class="' + escape(option[fields.imageClass] || className.image) + '" src="' + escape(option[fields.image]) + '"' + (option[fields.alt] ? ' alt="' + escape(option[fields.alt]) + '"' : '') + '>';
11284
11258
  }
11285
11259
  if (option[fields.icon]) {
11286
- html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
11260
+ html += '<i class="' + escape(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
11287
11261
  }
11288
11262
  if (hasDescription) {
11289
- html += '<span class="' + deQuote(className.description) + '">' + escape(option[fields.description] || '', settings) + '</span>';
11290
- html += !isMenu ? '<span class="' + deQuote(className.text) + '">' : '';
11263
+ html += '<span class="' + escape(className.description) + '">' + escape(option[fields.description] || '', settings) + '</span>';
11264
+ html += !isMenu ? '<span class="' + escape(className.text) + '">' : '';
11291
11265
  }
11292
11266
  if (isMenu) {
11293
- html += '<span class="' + deQuote(className.text) + '">';
11267
+ html += '<span class="' + escape(className.text) + '">';
11294
11268
  }
11295
11269
  html += escape(option[fields.name] || '', settings);
11296
11270
  if (isMenu) {
11297
11271
  html += '</span>';
11298
- html += '<div class="' + deQuote(itemType) + '">';
11272
+ html += '<div class="' + escape(itemType) + '">';
11299
11273
  html += settings.templates.menu(option, settings);
11300
11274
  html += '</div>';
11301
11275
  } else if (hasDescription) {
@@ -11304,19 +11278,19 @@
11304
11278
  html += '</div>';
11305
11279
  } else if (itemType === 'header') {
11306
11280
  var
11307
- groupName = escape(option[fields.name] || '', settings),
11308
- groupIcon = deQuote(option[fields.icon] || className.groupIcon)
11281
+ groupName = option[fields.name] || '',
11282
+ groupIcon = option[fields.icon] || className.groupIcon
11309
11283
  ;
11310
11284
  if (groupName !== '' || groupIcon !== '') {
11311
- html += '<div class="' + deQuote(option[fields.class] || className.header) + '">';
11285
+ html += '<div class="' + escape(option[fields.class] || className.header) + '">';
11312
11286
  if (groupIcon !== '') {
11313
- html += '<i class="' + deQuote(groupIcon + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
11287
+ html += '<i class="' + escape(groupIcon + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
11314
11288
  }
11315
- html += groupName;
11289
+ html += escape(groupName, settings);
11316
11290
  html += '</div>';
11317
11291
  }
11318
11292
  if (option[fields.divider]) {
11319
- html += '<div class="' + deQuote(className.divider) + '"></div>';
11293
+ html += '<div class="' + escape(className.divider) + '"></div>';
11320
11294
  }
11321
11295
  }
11322
11296
  });
@@ -11328,11 +11302,10 @@
11328
11302
  label: function (value, text, settings) {
11329
11303
  var
11330
11304
  className = settings.className,
11331
- escape = settings.templates.escape,
11332
- deQuote = settings.templates.deQuote
11305
+ escape = settings.templates.escape
11333
11306
  ;
11334
11307
 
11335
- return escape(text, settings) + '<i class="' + deQuote(className.delete) + ' icon"></i>';
11308
+ return escape(text, settings) + '<i class="' + escape(className.delete) + ' icon"></i>';
11336
11309
  },
11337
11310
 
11338
11311
  // generates messages like "No results"
@@ -11349,7 +11322,7 @@
11349
11322
  })(jQuery, window, document);
11350
11323
 
11351
11324
  /*!
11352
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Embed
11325
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Embed
11353
11326
  * https://github.com/fomantic/Fomantic-UI/
11354
11327
  *
11355
11328
  *
@@ -11995,33 +11968,42 @@
11995
11968
  },
11996
11969
 
11997
11970
  templates: {
11998
- deQuote: function (string, encode) {
11999
- return String(string).replace(/"/g, encode ? '&quot;' : '');
11971
+ escape: function (string) {
11972
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
11973
+ const escape = {
11974
+ '"': '&quot;',
11975
+ '&': '&amp;',
11976
+ "'": '&apos;',
11977
+ '<': '&lt;',
11978
+ '>': '&gt;',
11979
+ };
11980
+
11981
+ return string.replace(badChars, (chr) => escape[chr]);
12000
11982
  },
12001
11983
  iframe: function (url, parameters) {
12002
11984
  var
12003
11985
  src = url,
12004
- deQuote = $.fn.embed.settings.templates.deQuote
11986
+ escape = $.fn.embed.settings.templates.escape
12005
11987
  ;
12006
11988
  if (parameters) {
12007
11989
  src += '?' + parameters;
12008
11990
  }
12009
11991
 
12010
11992
  return ''
12011
- + '<iframe src="' + deQuote(src) + '"'
11993
+ + '<iframe src="' + escape(src) + '"'
12012
11994
  + ' width="100%" height="100%"'
12013
11995
  + ' msallowFullScreen allowFullScreen></iframe>';
12014
11996
  },
12015
11997
  placeholder: function (image, icon, alt) {
12016
11998
  var
12017
11999
  html = '',
12018
- deQuote = $.fn.embed.settings.templates.deQuote
12000
+ escape = $.fn.embed.settings.templates.escape
12019
12001
  ;
12020
12002
  if (icon) {
12021
- html += '<i class="' + deQuote(icon) + ' icon"></i>';
12003
+ html += '<i class="' + escape(icon) + ' icon"></i>';
12022
12004
  }
12023
12005
  if (image) {
12024
- html += '<img class="placeholder" src="' + deQuote(image) + (alt ? '" alt="' + deQuote(alt) : '') + '">';
12006
+ html += '<img class="placeholder" src="' + escape(image) + '"' + (alt ? ' alt="' + escape(alt) + '"' : '') + '>';
12025
12007
  }
12026
12008
 
12027
12009
  return html;
@@ -12038,7 +12020,7 @@
12038
12020
  })(jQuery, window, document);
12039
12021
 
12040
12022
  /*!
12041
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Flyout
12023
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Flyout
12042
12024
  * https://github.com/fomantic/Fomantic-UI/
12043
12025
  *
12044
12026
  *
@@ -12156,10 +12138,10 @@
12156
12138
  }
12157
12139
  $module.addClass(settings.class);
12158
12140
  if (settings.title !== '') {
12159
- $module.find(selector.header).html(module.helpers.escape(settings.title)).addClass(settings.classTitle);
12141
+ $module.find(selector.header).html(module.helpers.escape(settings.title, settings)).addClass(settings.classTitle);
12160
12142
  }
12161
12143
  if (settings.content !== '') {
12162
- $module.find(selector.content).html(module.helpers.escape(settings.content)).addClass(settings.classContent);
12144
+ $module.find(selector.content).html(module.helpers.escape(settings.content, settings)).addClass(settings.classContent);
12163
12145
  }
12164
12146
  if (module.has.configActions()) {
12165
12147
  var $actions = $module.find(selector.actions).addClass(settings.classActions);
@@ -12171,10 +12153,10 @@
12171
12153
  settings.actions.forEach(function (el) {
12172
12154
  var
12173
12155
  icon = el[fields.icon]
12174
- ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.deQuote(el[fields.icon]) + ' icon"></i>'
12156
+ ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
12175
12157
  : '',
12176
- text = module.helpers.escape(el[fields.text] || ''),
12177
- cls = module.helpers.deQuote(el[fields.class] || ''),
12158
+ text = module.helpers.escape(el[fields.text] || '', settings),
12159
+ cls = module.helpers.escape(el[fields.class] || ''),
12178
12160
  click = el[fields.click] && isFunction(el[fields.click])
12179
12161
  ? el[fields.click]
12180
12162
  : function () {}
@@ -13118,34 +13100,21 @@
13118
13100
  },
13119
13101
 
13120
13102
  helpers: {
13121
- deQuote: function (string) {
13122
- return String(string).replace(/"/g, '');
13123
- },
13124
- escape: function (string) {
13125
- if (settings.preserveHTML) {
13103
+ escape: function (string, settings) {
13104
+ if (settings !== undefined && settings.preserveHTML) {
13126
13105
  return string;
13127
13106
  }
13128
- var
13129
- badChars = /["'<>`]/g,
13130
- shouldEscape = /["&'<>`]/,
13131
- escape = {
13132
- '<': '&lt;',
13133
- '>': '&gt;',
13134
- '"': '&quot;',
13135
- "'": '&#x27;',
13136
- '`': '&#x60;',
13137
- },
13138
- escapedChar = function (chr) {
13139
- return escape[chr];
13140
- }
13141
- ;
13142
- if (shouldEscape.test(string)) {
13143
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
13144
13107
 
13145
- return string.replace(badChars, escapedChar);
13146
- }
13108
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
13109
+ const escape = {
13110
+ '"': '&quot;',
13111
+ '&': '&amp;',
13112
+ "'": '&apos;',
13113
+ '<': '&lt;',
13114
+ '>': '&gt;',
13115
+ };
13147
13116
 
13148
- return string;
13117
+ return string.replace(badChars, (chr) => escape[chr]);
13149
13118
  },
13150
13119
  },
13151
13120
 
@@ -13521,7 +13490,7 @@
13521
13490
  input = $($.parseHTML(args.content)).filter('.ui.input')
13522
13491
  ;
13523
13492
  if (input.length === 0) {
13524
- args.content += '<p><div class="' + settings.className.prompt + '"><input placeholder="' + this.helpers.deQuote(args.placeholder || '') + '" type="text" value="' + this.helpers.deQuote(args.defaultValue || '') + '"></div></p>';
13493
+ args.content += '<p><div class="' + settings.className.prompt + '"><input placeholder="' + this.helpers.escape(args.placeholder || '') + '" type="text" value="' + this.helpers.escape(args.defaultValue || '') + '"></div></p>';
13525
13494
  }
13526
13495
 
13527
13496
  return {
@@ -13550,7 +13519,7 @@
13550
13519
  })(jQuery, window, document);
13551
13520
 
13552
13521
  /*!
13553
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Modal
13522
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Modal
13554
13523
  * https://github.com/fomantic/Fomantic-UI/
13555
13524
  *
13556
13525
  *
@@ -13662,10 +13631,10 @@
13662
13631
  }
13663
13632
  $module.addClass(settings.class);
13664
13633
  if (settings.title !== '') {
13665
- $module.find(selector.title).html(module.helpers.escape(settings.title)).addClass(settings.classTitle);
13634
+ $module.find(selector.title).html(module.helpers.escape(settings.title, settings)).addClass(settings.classTitle);
13666
13635
  }
13667
13636
  if (settings.content !== '') {
13668
- $module.find(selector.content).html(module.helpers.escape(settings.content)).addClass(settings.classContent);
13637
+ $module.find(selector.content).html(module.helpers.escape(settings.content, settings)).addClass(settings.classContent);
13669
13638
  }
13670
13639
  if (module.has.configActions()) {
13671
13640
  var $actions = $module.find(selector.actions).addClass(settings.classActions);
@@ -13677,10 +13646,10 @@
13677
13646
  settings.actions.forEach(function (el) {
13678
13647
  var
13679
13648
  icon = el[fields.icon]
13680
- ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.deQuote(el[fields.icon]) + ' icon"></i>'
13649
+ ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
13681
13650
  : '',
13682
- text = module.helpers.escape(el[fields.text] || ''),
13683
- cls = module.helpers.deQuote(el[fields.class] || ''),
13651
+ text = module.helpers.escape(el[fields.text] || '', settings),
13652
+ cls = module.helpers.escape(el[fields.class] || ''),
13684
13653
  click = el[fields.click] && isFunction(el[fields.click])
13685
13654
  ? el[fields.click]
13686
13655
  : function () {}
@@ -14478,34 +14447,21 @@
14478
14447
  module.debug('Caching modal and container sizes', module.cache);
14479
14448
  },
14480
14449
  helpers: {
14481
- deQuote: function (string) {
14482
- return String(string).replace(/"/g, '');
14483
- },
14484
- escape: function (string) {
14485
- if (settings.preserveHTML) {
14450
+ escape: function (string, settings) {
14451
+ if (settings !== undefined && settings.preserveHTML) {
14486
14452
  return string;
14487
14453
  }
14488
- var
14489
- badChars = /["'<>`]/g,
14490
- shouldEscape = /["&'<>`]/,
14491
- escape = {
14492
- '<': '&lt;',
14493
- '>': '&gt;',
14494
- '"': '&quot;',
14495
- "'": '&#x27;',
14496
- '`': '&#x60;',
14497
- },
14498
- escapedChar = function (chr) {
14499
- return escape[chr];
14500
- }
14501
- ;
14502
- if (shouldEscape.test(string)) {
14503
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
14504
14454
 
14505
- return string.replace(badChars, escapedChar);
14506
- }
14455
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
14456
+ const escape = {
14457
+ '"': '&quot;',
14458
+ '&': '&amp;',
14459
+ "'": '&apos;',
14460
+ '<': '&lt;',
14461
+ '>': '&gt;',
14462
+ };
14507
14463
 
14508
- return string;
14464
+ return string.replace(badChars, (chr) => escape[chr]);
14509
14465
  },
14510
14466
  },
14511
14467
  can: {
@@ -15141,7 +15097,7 @@
15141
15097
  }
15142
15098
  ;
15143
15099
  if (input.length === 0) {
15144
- args.content += '<p><div class="' + this.helpers.deQuote(settings.className.prompt) + '"><input placeholder="' + this.helpers.deQuote(args.placeholder || '') + '" type="text" value="' + this.helpers.deQuote(args.defaultValue || '') + '"></div></p>';
15100
+ args.content += '<p><div class="' + this.helpers.escape(settings.className.prompt) + '"><input placeholder="' + this.helpers.escape(args.placeholder || '') + '" type="text" value="' + this.helpers.escape(args.defaultValue || '') + '"></div></p>';
15145
15101
  }
15146
15102
 
15147
15103
  return {
@@ -15164,7 +15120,7 @@
15164
15120
  })(jQuery, window, document);
15165
15121
 
15166
15122
  /*!
15167
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Nag
15123
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Nag
15168
15124
  * https://github.com/fomantic/Fomantic-UI/
15169
15125
  *
15170
15126
  *
@@ -15731,7 +15687,7 @@
15731
15687
  })(jQuery, window, document);
15732
15688
 
15733
15689
  /*!
15734
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Popup
15690
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Popup
15735
15691
  * https://github.com/fomantic/Fomantic-UI/
15736
15692
  *
15737
15693
  *
@@ -17247,27 +17203,16 @@
17247
17203
 
17248
17204
  templates: {
17249
17205
  escape: function (string) {
17250
- var
17251
- badChars = /["'<>`]/g,
17252
- shouldEscape = /["&'<>`]/,
17253
- escape = {
17254
- '<': '&lt;',
17255
- '>': '&gt;',
17256
- '"': '&quot;',
17257
- "'": '&#x27;',
17258
- '`': '&#x60;',
17259
- },
17260
- escapedChar = function (chr) {
17261
- return escape[chr];
17262
- }
17263
- ;
17264
- if (shouldEscape.test(string)) {
17265
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
17266
-
17267
- return string.replace(badChars, escapedChar);
17268
- }
17206
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
17207
+ const escape = {
17208
+ '"': '&quot;',
17209
+ '&': '&amp;',
17210
+ "'": '&apos;',
17211
+ '<': '&lt;',
17212
+ '>': '&gt;',
17213
+ };
17269
17214
 
17270
- return string;
17215
+ return string.replace(badChars, (chr) => escape[chr]);
17271
17216
  },
17272
17217
  popup: function (text) {
17273
17218
  var
@@ -17293,7 +17238,7 @@
17293
17238
  })(jQuery, window, document);
17294
17239
 
17295
17240
  /*!
17296
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Progress
17241
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Progress
17297
17242
  * https://github.com/fomantic/Fomantic-UI/
17298
17243
  *
17299
17244
  *
@@ -18273,7 +18218,7 @@
18273
18218
  })(jQuery, window, document);
18274
18219
 
18275
18220
  /*!
18276
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Slider
18221
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Slider
18277
18222
  * https://github.com/fomantic/Fomantic-UI/
18278
18223
  *
18279
18224
  *
@@ -19820,7 +19765,7 @@
19820
19765
  })(jQuery, window, document);
19821
19766
 
19822
19767
  /*!
19823
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Rating
19768
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Rating
19824
19769
  * https://github.com/fomantic/Fomantic-UI/
19825
19770
  *
19826
19771
  *
@@ -20339,17 +20284,26 @@
20339
20284
  },
20340
20285
 
20341
20286
  templates: {
20342
- deQuote: function (string, encode) {
20343
- return String(string).replace(/"/g, encode ? '&quot;' : '');
20287
+ escape: function (string) {
20288
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
20289
+ const escape = {
20290
+ '"': '&quot;',
20291
+ '&': '&amp;',
20292
+ "'": '&apos;',
20293
+ '<': '&lt;',
20294
+ '>': '&gt;',
20295
+ };
20296
+
20297
+ return string.replace(badChars, (chr) => escape[chr]);
20344
20298
  },
20345
20299
  icon: function (maxRating, iconClass) {
20346
20300
  var
20347
20301
  icon = 1,
20348
20302
  html = '',
20349
- deQuote = $.fn.rating.settings.templates.deQuote
20303
+ escape = $.fn.rating.settings.templates.escape
20350
20304
  ;
20351
20305
  while (icon <= maxRating) {
20352
- html += '<i class="' + deQuote(iconClass) + ' icon"></i>';
20306
+ html += '<i class="' + escape(iconClass) + ' icon"></i>';
20353
20307
  icon++;
20354
20308
  }
20355
20309
 
@@ -20361,7 +20315,7 @@
20361
20315
  })(jQuery, window, document);
20362
20316
 
20363
20317
  /*!
20364
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Search
20318
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Search
20365
20319
  * https://github.com/fomantic/Fomantic-UI/
20366
20320
  *
20367
20321
  *
@@ -20823,10 +20777,6 @@
20823
20777
  settings.fullTextSearch = parameters.searchFullText;
20824
20778
  module.error(settings.error.oldSearchSyntax, element);
20825
20779
  }
20826
- if (settings.ignoreDiacritics && !String.prototype.normalize) {
20827
- settings.ignoreDiacritics = false;
20828
- module.error(error.noNormalize, element);
20829
- }
20830
20780
  },
20831
20781
  inputEvent: function () {
20832
20782
  var
@@ -21795,7 +21745,6 @@
21795
21745
  serverError: 'There was an issue querying the server.',
21796
21746
  maxResults: 'Results must be an array to use maxResults setting',
21797
21747
  method: 'The method you called is not defined.',
21798
- noNormalize: '"ignoreDiacritics" setting will be ignored. Browser does not support String().normalize(). You may consider including <https://cdn.jsdelivr.net/npm/unorm@1.4.1/lib/unorm.min.js> as a polyfill.',
21799
21748
  },
21800
21749
 
21801
21750
  metadata: {
@@ -21839,28 +21788,23 @@
21839
21788
 
21840
21789
  templates: {
21841
21790
  escape: function (string, settings) {
21842
- if (settings.preserveHTML) {
21791
+ if (settings !== undefined && settings.preserveHTML) {
21843
21792
  return string;
21844
21793
  }
21845
- var
21846
- badChars = /["'<>`]/g,
21847
- shouldEscape = /["&'<>`]/,
21848
- escape = {
21849
- '<': '&lt;',
21850
- '>': '&gt;',
21851
- '"': '&quot;',
21852
- "'": '&#x27;',
21853
- '`': '&#x60;',
21854
- },
21855
- escapedChar = function (chr) {
21856
- return escape[chr];
21857
- };
21858
- if (shouldEscape.test(string)) {
21859
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
21860
- string = string.replace(badChars, escapedChar);
21861
- // FUI controlled HTML is still allowed
21862
- string = string.replace(/&lt;(\/)*mark&gt;/g, '<$1mark>');
21863
- }
21794
+
21795
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
21796
+ const escape = {
21797
+ '"': '&quot;',
21798
+ '&': '&amp;',
21799
+ "'": '&apos;',
21800
+ '<': '&lt;',
21801
+ '>': '&gt;',
21802
+ };
21803
+
21804
+ string = string.replace(badChars, (chr) => escape[chr]);
21805
+
21806
+ // FUI controlled HTML is still allowed
21807
+ string = string.replace(/&lt;(\/)*mark&gt;/g, '<$1mark>');
21864
21808
 
21865
21809
  return string;
21866
21810
  },
@@ -21906,7 +21850,7 @@
21906
21850
  if (result[fields.image] !== undefined) {
21907
21851
  html += ''
21908
21852
  + '<div class="image">'
21909
- + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21853
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + '"' + (result[fields.alt] ? ' alt="' + result[fields.alt].replace(/"/g, '') + '"' : '') + '>'
21910
21854
  + '</div>';
21911
21855
  }
21912
21856
  html += '<div class="content">';
@@ -21960,7 +21904,7 @@
21960
21904
  if (result[fields.image] !== undefined) {
21961
21905
  html += ''
21962
21906
  + '<div class="image">'
21963
- + ' <img src="' + result[fields.image].replace(/"/g, '') + (result[fields.alt] ? '" alt="' + result[fields.alt].replace(/"/g, '') : '') + '">'
21907
+ + ' <img src="' + result[fields.image].replace(/"/g, '') + '"' + (result[fields.alt] ? ' alt="' + result[fields.alt].replace(/"/g, '') + '"' : '') + '>'
21964
21908
  + '</div>';
21965
21909
  }
21966
21910
  html += '<div class="content">';
@@ -22005,7 +21949,7 @@
22005
21949
  })(jQuery, window, document);
22006
21950
 
22007
21951
  /*!
22008
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Shape
21952
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Shape
22009
21953
  * https://github.com/fomantic/Fomantic-UI/
22010
21954
  *
22011
21955
  *
@@ -22803,7 +22747,7 @@
22803
22747
  })(jQuery, window, document);
22804
22748
 
22805
22749
  /*!
22806
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Sidebar
22750
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Sidebar
22807
22751
  * https://github.com/fomantic/Fomantic-UI/
22808
22752
  *
22809
22753
  *
@@ -23817,7 +23761,7 @@
23817
23761
  })(jQuery, window, document);
23818
23762
 
23819
23763
  /*!
23820
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Sticky
23764
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Sticky
23821
23765
  * https://github.com/fomantic/Fomantic-UI/
23822
23766
  *
23823
23767
  *
@@ -24735,7 +24679,7 @@
24735
24679
  })(jQuery, window, document);
24736
24680
 
24737
24681
  /*!
24738
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Tab
24682
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Tab
24739
24683
  * https://github.com/fomantic/Fomantic-UI/
24740
24684
  *
24741
24685
  *
@@ -25700,7 +25644,7 @@
25700
25644
  })(jQuery, window, document);
25701
25645
 
25702
25646
  /*!
25703
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Toast
25647
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Toast
25704
25648
  * https://github.com/fomantic/Fomantic-UI/
25705
25649
  *
25706
25650
  *
@@ -25893,7 +25837,7 @@
25893
25837
  $content.append($('<div/>', {
25894
25838
  class: className.title,
25895
25839
  id: titleId,
25896
- html: module.helpers.escape(settings.title),
25840
+ html: module.helpers.escape(settings.title, settings),
25897
25841
  }));
25898
25842
  }
25899
25843
  var descId = '_' + module.get.id() + 'desc';
@@ -25901,7 +25845,7 @@
25901
25845
  $content.append($('<div/>', {
25902
25846
  class: className.message,
25903
25847
  id: descId,
25904
- html: module.helpers.escape(settings.message),
25848
+ html: module.helpers.escape(settings.message, settings),
25905
25849
  }));
25906
25850
 
25907
25851
  $toast
@@ -25933,10 +25877,10 @@
25933
25877
  $toast.find(selector.image).attr('src', settings.showImage).attr('alt', settings.alt || '');
25934
25878
  }
25935
25879
  if (settings.title !== '') {
25936
- $toast.find(selector.title).html(module.helpers.escape(settings.title));
25880
+ $toast.find(selector.title).html(module.helpers.escape(settings.title, settings));
25937
25881
  }
25938
25882
  if (settings.message !== '') {
25939
- $toast.find(selector.message).html(module.helpers.escape(settings.message));
25883
+ $toast.find(selector.message).html(module.helpers.escape(settings.message, settings));
25940
25884
  }
25941
25885
  }
25942
25886
  if ($toast.hasClass(className.compact)) {
@@ -25961,10 +25905,10 @@
25961
25905
  var
25962
25906
  icon = el[fields.icon]
25963
25907
  ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '')
25964
- + ' class="' + module.helpers.deQuote(el[fields.icon]) + ' icon"></i>'
25908
+ + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
25965
25909
  : '',
25966
- text = module.helpers.escape(el[fields.text] || ''),
25967
- cls = module.helpers.deQuote(el[fields.class] || ''),
25910
+ text = module.helpers.escape(el[fields.text] || '', settings),
25911
+ cls = module.helpers.escape(el[fields.class] || ''),
25968
25912
  click = el[fields.click] && isFunction(el[fields.click])
25969
25913
  ? el[fields.click]
25970
25914
  : function () {}
@@ -26293,34 +26237,21 @@
26293
26237
 
26294
26238
  return result;
26295
26239
  },
26296
- deQuote: function (string) {
26297
- return String(string).replace(/"/g, '');
26298
- },
26299
- escape: function (string) {
26300
- if (settings.preserveHTML) {
26240
+ escape: function (string, settings) {
26241
+ if (settings !== undefined && settings.preserveHTML) {
26301
26242
  return string;
26302
26243
  }
26303
- var
26304
- badChars = /["'<>`]/g,
26305
- shouldEscape = /["&'<>`]/,
26306
- escape = {
26307
- '<': '&lt;',
26308
- '>': '&gt;',
26309
- '"': '&quot;',
26310
- "'": '&#x27;',
26311
- '`': '&#x60;',
26312
- },
26313
- escapedChar = function (chr) {
26314
- return escape[chr];
26315
- }
26316
- ;
26317
- if (shouldEscape.test(string)) {
26318
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
26319
26244
 
26320
- return string.replace(badChars, escapedChar);
26321
- }
26245
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
26246
+ const escape = {
26247
+ '"': '&quot;',
26248
+ '&': '&amp;',
26249
+ "'": '&apos;',
26250
+ '<': '&lt;',
26251
+ '>': '&gt;',
26252
+ };
26322
26253
 
26323
- return string;
26254
+ return string.replace(badChars, (chr) => escape[chr]);
26324
26255
  },
26325
26256
  },
26326
26257
 
@@ -26665,7 +26596,7 @@
26665
26596
  })(jQuery, window, document);
26666
26597
 
26667
26598
  /*!
26668
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Transition
26599
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Transition
26669
26600
  * https://github.com/fomantic/Fomantic-UI/
26670
26601
  *
26671
26602
  *
@@ -27700,7 +27631,7 @@
27700
27631
  })(jQuery, window, document);
27701
27632
 
27702
27633
  /*!
27703
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - API
27634
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - API
27704
27635
  * https://github.com/fomantic/Fomantic-UI/
27705
27636
  *
27706
27637
  *
@@ -28926,7 +28857,7 @@
28926
28857
  })(jQuery, window, document);
28927
28858
 
28928
28859
  /*!
28929
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - State
28860
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - State
28930
28861
  * https://github.com/fomantic/Fomantic-UI/
28931
28862
  *
28932
28863
  *
@@ -29624,7 +29555,7 @@
29624
29555
  })(jQuery, window, document);
29625
29556
 
29626
29557
  /*!
29627
- * # Fomantic-UI 2.10.0-beta.5+789e0d0 - Visibility
29558
+ * # Fomantic-UI 2.10.0-beta.7+13b1bae - Visibility
29628
29559
  * https://github.com/fomantic/Fomantic-UI/
29629
29560
  *
29630
29561
  *