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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/.all-contributorsrc +2 -2
  2. package/.github/FUNDING.yml +1 -1
  3. package/.github/auto_assign.yml +1 -1
  4. package/.github/workflows/ci.yml +2 -2
  5. package/CONTRIBUTORS.md +1 -1
  6. package/README.md +5 -2
  7. package/SECURITY.md +2 -1
  8. package/dist/components/accordion.css +1 -1
  9. package/dist/components/accordion.js +2 -2
  10. package/dist/components/accordion.min.css +1 -1
  11. package/dist/components/accordion.min.js +2 -2
  12. package/dist/components/ad.css +1 -1
  13. package/dist/components/ad.min.css +1 -1
  14. package/dist/components/api.js +3 -3
  15. package/dist/components/api.min.js +2 -2
  16. package/dist/components/breadcrumb.css +1 -1
  17. package/dist/components/breadcrumb.min.css +1 -1
  18. package/dist/components/button.css +2 -2
  19. package/dist/components/button.min.css +2 -2
  20. package/dist/components/calendar.css +1 -1
  21. package/dist/components/calendar.js +2 -2
  22. package/dist/components/calendar.min.css +1 -1
  23. package/dist/components/calendar.min.js +2 -2
  24. package/dist/components/card.css +1 -1
  25. package/dist/components/card.min.css +1 -1
  26. package/dist/components/checkbox.css +50 -6
  27. package/dist/components/checkbox.js +5 -3
  28. package/dist/components/checkbox.min.css +2 -2
  29. package/dist/components/checkbox.min.js +2 -2
  30. package/dist/components/comment.css +6 -1
  31. package/dist/components/comment.min.css +2 -2
  32. package/dist/components/container.css +62 -1
  33. package/dist/components/container.min.css +2 -2
  34. package/dist/components/dimmer.css +3 -3
  35. package/dist/components/dimmer.js +2 -2
  36. package/dist/components/dimmer.min.css +2 -2
  37. package/dist/components/dimmer.min.js +2 -2
  38. package/dist/components/divider.css +1 -1
  39. package/dist/components/divider.min.css +1 -1
  40. package/dist/components/dropdown.css +24 -3
  41. package/dist/components/dropdown.js +29 -21
  42. package/dist/components/dropdown.min.css +2 -2
  43. package/dist/components/dropdown.min.js +2 -2
  44. package/dist/components/embed.css +1 -1
  45. package/dist/components/embed.js +2 -2
  46. package/dist/components/embed.min.css +1 -1
  47. package/dist/components/embed.min.js +2 -2
  48. package/dist/components/emoji.css +697 -249
  49. package/dist/components/emoji.min.css +2 -2
  50. package/dist/components/feed.css +486 -5
  51. package/dist/components/feed.min.css +2 -2
  52. package/dist/components/flag.css +3 -2
  53. package/dist/components/flag.min.css +2 -2
  54. package/dist/components/flyout.css +1 -1
  55. package/dist/components/flyout.js +5 -3
  56. package/dist/components/flyout.min.css +1 -1
  57. package/dist/components/flyout.min.js +2 -2
  58. package/dist/components/form.css +53 -20
  59. package/dist/components/form.js +73 -32
  60. package/dist/components/form.min.css +2 -2
  61. package/dist/components/form.min.js +2 -2
  62. package/dist/components/grid.css +107 -107
  63. package/dist/components/grid.min.css +2 -2
  64. package/dist/components/header.css +1 -1
  65. package/dist/components/header.min.css +1 -1
  66. package/dist/components/icon.css +62 -62
  67. package/dist/components/icon.min.css +2 -2
  68. package/dist/components/image.css +1 -1
  69. package/dist/components/image.min.css +1 -1
  70. package/dist/components/input.css +3 -27
  71. package/dist/components/input.min.css +2 -2
  72. package/dist/components/item.css +6 -1
  73. package/dist/components/item.min.css +2 -2
  74. package/dist/components/label.css +21 -2
  75. package/dist/components/label.min.css +2 -2
  76. package/dist/components/list.css +13 -13
  77. package/dist/components/list.min.css +2 -2
  78. package/dist/components/loader.css +282 -282
  79. package/dist/components/loader.min.css +2 -2
  80. package/dist/components/menu.css +13 -7
  81. package/dist/components/menu.min.css +2 -2
  82. package/dist/components/message.css +1 -1
  83. package/dist/components/message.min.css +1 -1
  84. package/dist/components/modal.css +10 -3
  85. package/dist/components/modal.js +10 -10
  86. package/dist/components/modal.min.css +2 -2
  87. package/dist/components/modal.min.js +2 -2
  88. package/dist/components/nag.css +1 -1
  89. package/dist/components/nag.js +3 -3
  90. package/dist/components/nag.min.css +1 -1
  91. package/dist/components/nag.min.js +2 -2
  92. package/dist/components/placeholder.css +1 -1
  93. package/dist/components/placeholder.min.css +1 -1
  94. package/dist/components/popup.css +41 -40
  95. package/dist/components/popup.js +11 -9
  96. package/dist/components/popup.min.css +2 -2
  97. package/dist/components/popup.min.js +2 -2
  98. package/dist/components/progress.css +1 -1
  99. package/dist/components/progress.js +2 -2
  100. package/dist/components/progress.min.css +1 -1
  101. package/dist/components/progress.min.js +2 -2
  102. package/dist/components/rail.css +1 -1
  103. package/dist/components/rail.min.css +1 -1
  104. package/dist/components/rating.css +1 -1
  105. package/dist/components/rating.js +2 -2
  106. package/dist/components/rating.min.css +1 -1
  107. package/dist/components/rating.min.js +2 -2
  108. package/dist/components/reset.css +1 -1
  109. package/dist/components/reset.min.css +1 -1
  110. package/dist/components/reveal.css +1 -1
  111. package/dist/components/reveal.min.css +1 -1
  112. package/dist/components/search.css +26 -1
  113. package/dist/components/search.js +5 -4
  114. package/dist/components/search.min.css +2 -2
  115. package/dist/components/search.min.js +2 -2
  116. package/dist/components/segment.css +159 -33
  117. package/dist/components/segment.min.css +2 -2
  118. package/dist/components/shape.css +1 -1
  119. package/dist/components/shape.js +2 -2
  120. package/dist/components/shape.min.css +1 -1
  121. package/dist/components/shape.min.js +2 -2
  122. package/dist/components/sidebar.css +1 -1
  123. package/dist/components/sidebar.js +2 -2
  124. package/dist/components/sidebar.min.css +1 -1
  125. package/dist/components/sidebar.min.js +2 -2
  126. package/dist/components/site.css +1 -1
  127. package/dist/components/site.js +2 -2
  128. package/dist/components/site.min.css +1 -1
  129. package/dist/components/site.min.js +2 -2
  130. package/dist/components/slider.css +1 -1
  131. package/dist/components/slider.js +123 -27
  132. package/dist/components/slider.min.css +1 -1
  133. package/dist/components/slider.min.js +2 -2
  134. package/dist/components/state.js +2 -2
  135. package/dist/components/state.min.js +2 -2
  136. package/dist/components/statistic.css +1 -1
  137. package/dist/components/statistic.min.css +1 -1
  138. package/dist/components/step.css +1 -1
  139. package/dist/components/step.min.css +1 -1
  140. package/dist/components/sticky.css +1 -1
  141. package/dist/components/sticky.js +2 -2
  142. package/dist/components/sticky.min.css +1 -1
  143. package/dist/components/sticky.min.js +2 -2
  144. package/dist/components/tab.css +1 -1
  145. package/dist/components/tab.js +6 -4
  146. package/dist/components/tab.min.css +1 -1
  147. package/dist/components/tab.min.js +2 -2
  148. package/dist/components/table.css +65 -1
  149. package/dist/components/table.min.css +2 -2
  150. package/dist/components/text.css +1 -1
  151. package/dist/components/text.min.css +1 -1
  152. package/dist/components/toast.css +6 -1
  153. package/dist/components/toast.js +2 -2
  154. package/dist/components/toast.min.css +2 -2
  155. package/dist/components/toast.min.js +2 -2
  156. package/dist/components/transition.css +1 -1
  157. package/dist/components/transition.js +3 -3
  158. package/dist/components/transition.min.css +1 -1
  159. package/dist/components/transition.min.js +2 -2
  160. package/dist/components/visibility.js +2 -2
  161. package/dist/components/visibility.min.js +2 -2
  162. package/dist/semantic.css +2635 -959
  163. package/dist/semantic.js +303 -149
  164. package/dist/semantic.min.css +2 -2
  165. package/dist/semantic.min.js +2 -2
  166. package/package.json +3 -2
  167. package/src/definitions/behaviors/api.js +2 -2
  168. package/src/definitions/behaviors/form.js +72 -31
  169. package/src/definitions/behaviors/state.js +1 -1
  170. package/src/definitions/behaviors/visibility.js +1 -1
  171. package/src/definitions/collections/form.less +25 -12
  172. package/src/definitions/collections/grid.less +106 -106
  173. package/src/definitions/collections/menu.less +29 -22
  174. package/src/definitions/collections/table.less +66 -0
  175. package/src/definitions/elements/button.less +1 -1
  176. package/src/definitions/elements/container.less +63 -0
  177. package/src/definitions/elements/icon.less +5 -5
  178. package/src/definitions/elements/input.less +2 -2
  179. package/src/definitions/elements/label.less +21 -1
  180. package/src/definitions/elements/list.less +13 -13
  181. package/src/definitions/elements/loader.less +71 -71
  182. package/src/definitions/elements/segment.less +110 -13
  183. package/src/definitions/globals/site.js +1 -1
  184. package/src/definitions/modules/accordion.js +1 -1
  185. package/src/definitions/modules/calendar.js +1 -1
  186. package/src/definitions/modules/checkbox.js +4 -2
  187. package/src/definitions/modules/checkbox.less +61 -5
  188. package/src/definitions/modules/dimmer.js +1 -1
  189. package/src/definitions/modules/dimmer.less +2 -2
  190. package/src/definitions/modules/dropdown.js +28 -20
  191. package/src/definitions/modules/dropdown.less +33 -2
  192. package/src/definitions/modules/embed.js +1 -1
  193. package/src/definitions/modules/flyout.js +4 -2
  194. package/src/definitions/modules/modal.js +9 -9
  195. package/src/definitions/modules/modal.less +11 -2
  196. package/src/definitions/modules/nag.js +2 -2
  197. package/src/definitions/modules/popup.js +10 -8
  198. package/src/definitions/modules/popup.less +40 -38
  199. package/src/definitions/modules/progress.js +1 -1
  200. package/src/definitions/modules/rating.js +1 -1
  201. package/src/definitions/modules/search.js +4 -3
  202. package/src/definitions/modules/search.less +31 -0
  203. package/src/definitions/modules/shape.js +1 -1
  204. package/src/definitions/modules/sidebar.js +1 -1
  205. package/src/definitions/modules/slider.js +122 -26
  206. package/src/definitions/modules/sticky.js +1 -1
  207. package/src/definitions/modules/tab.js +5 -3
  208. package/src/definitions/modules/toast.js +1 -1
  209. package/src/definitions/modules/toast.less +7 -0
  210. package/src/definitions/modules/transition.js +2 -2
  211. package/src/definitions/views/comment.less +7 -0
  212. package/src/definitions/views/feed.less +238 -32
  213. package/src/definitions/views/item.less +7 -0
  214. package/src/themes/amazon/elements/button.variables +5 -1
  215. package/src/themes/bootstrap3/elements/button.variables +5 -1
  216. package/src/themes/chubby/elements/header.variables +6 -1
  217. package/src/themes/default/collections/message.variables +3 -9
  218. package/src/themes/default/collections/table.variables +3 -0
  219. package/src/themes/default/elements/button.variables +1 -3
  220. package/src/themes/default/elements/container.variables +3 -0
  221. package/src/themes/default/elements/emoji.variables +179 -67
  222. package/src/themes/default/elements/flag.variables +1 -1
  223. package/src/themes/default/elements/label.variables +5 -0
  224. package/src/themes/default/elements/segment.variables +8 -0
  225. package/src/themes/default/globals/site.variables +20 -1
  226. package/src/themes/default/globals/variation.variables +23 -1
  227. package/src/themes/default/modules/checkbox.variables +12 -0
  228. package/src/themes/default/modules/dropdown.variables +3 -0
  229. package/src/themes/default/modules/modal.variables +4 -0
  230. package/src/themes/default/modules/popup.variables +3 -1
  231. package/src/themes/default/modules/search.variables +3 -0
  232. package/src/themes/default/modules/toast.variables +1 -0
  233. package/src/themes/default/views/card.variables +4 -12
  234. package/src/themes/default/views/feed.variables +55 -1
  235. package/src/themes/github/elements/button.variables +5 -1
  236. package/src/themes/joypixels/elements/emoji.variables +182 -70
  237. package/src/themes/twitter/elements/button.variables +5 -1
  238. package/src/themes/twitter/elements/emoji.variables +178 -66
  239. package/tasks/admin/distributions/create.js +8 -3
  240. package/tasks/config/project/install.js +3 -0
  241. package/tasks/config/tasks.js +1 -8
  242. package/tasks/install.js +15 -5
  243. package/types/fomantic-ui-accordion.d.ts +244 -0
  244. package/types/fomantic-ui-api.d.ts +555 -0
  245. package/types/fomantic-ui-calendar.d.ts +766 -0
  246. package/types/fomantic-ui-checkbox.d.ts +332 -0
  247. package/types/fomantic-ui-dimmer.d.ts +408 -0
  248. package/types/fomantic-ui-dropdown.d.ts +1183 -0
  249. package/types/fomantic-ui-embed.d.ts +326 -0
  250. package/types/fomantic-ui-flyout.d.ts +525 -0
  251. package/types/fomantic-ui-form.d.ts +651 -0
  252. package/types/fomantic-ui-modal.d.ts +471 -0
  253. package/types/fomantic-ui-nag.d.ts +270 -0
  254. package/types/fomantic-ui-popup.d.ts +523 -0
  255. package/types/fomantic-ui-progress.d.ts +459 -0
  256. package/types/fomantic-ui-rating.d.ts +187 -0
  257. package/types/fomantic-ui-search.d.ts +496 -0
  258. package/types/fomantic-ui-shape.d.ts +274 -0
  259. package/types/fomantic-ui-sidebar.d.ts +402 -0
  260. package/types/fomantic-ui-slider.d.ts +316 -0
  261. package/types/fomantic-ui-sticky.d.ts +215 -0
  262. package/types/fomantic-ui-tab.d.ts +361 -0
  263. package/types/fomantic-ui-tests.ts +25 -0
  264. package/types/fomantic-ui-toast.d.ts +514 -0
  265. package/types/fomantic-ui-transition.d.ts +355 -0
  266. package/types/fomantic-ui-visibility.d.ts +355 -0
  267. package/types/index.d.ts +63 -0
  268. package/types/tsconfig.json +23 -0
  269. package/types/tslint.json +1 -0
@@ -528,7 +528,7 @@
528
528
  });
529
529
  }
530
530
  clearTimeout(module.performance.timer);
531
- module.performance.timer = setTimeout(module.performance.display, 500);
531
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
532
532
  },
533
533
  display: function () {
534
534
  var
@@ -220,7 +220,7 @@ body.dimmable > .dimmer {
220
220
  .light.light.light.light.light.dimmer {
221
221
  background: @lightBackgroundColor;
222
222
  }
223
- .very.light.light.light.light.dimmer {
223
+ .very.very.very.very.light.dimmer {
224
224
  background: @veryLightBackgroundColor;
225
225
  }
226
226
  }
@@ -249,7 +249,7 @@ body.dimmable > .dimmer {
249
249
  .light.light.light.light.light.inverted.dimmer {
250
250
  background: @lightInvertedBackgroundColor;
251
251
  }
252
- .very.light.light.light.light.inverted.dimmer {
252
+ .very.very.very.very.light.inverted.dimmer {
253
253
  background: @veryLightInvertedBackgroundColor;
254
254
  }
255
255
  }
@@ -363,7 +363,7 @@
363
363
  module.verbose('Adding clear icon');
364
364
  $clear = $('<i />')
365
365
  .addClass('remove icon')
366
- .insertBefore($text)
366
+ .insertAfter($icon)
367
367
  ;
368
368
  }
369
369
  if (module.is.search() && !module.has.search()) {
@@ -529,7 +529,7 @@
529
529
  callback = isFunction(callback)
530
530
  ? callback
531
531
  : function () {};
532
- if ((focused || iconClicked) && module.is.remote() && module.is.noApiCache()) {
532
+ if ((focused || iconClicked) && module.is.remote() && module.is.noApiCache() && !module.has.maxSelections()) {
533
533
  module.clearItems();
534
534
  }
535
535
  if (!module.can.show() && module.is.remote()) {
@@ -579,7 +579,10 @@
579
579
  if ($subMenu.length > 0) {
580
580
  module.verbose('Hiding sub-menu', $subMenu);
581
581
  $subMenu.each(function () {
582
- module.animate.hide(false, $(this));
582
+ var $sub = $(this);
583
+ if (!module.is.animating($sub)) {
584
+ module.animate.hide(false, $sub);
585
+ }
583
586
  });
584
587
  }
585
588
  }
@@ -774,6 +777,8 @@
774
777
  }
775
778
  ;
776
779
  if (settings.useLabels && module.has.maxSelections()) {
780
+ module.show();
781
+
777
782
  return;
778
783
  }
779
784
  if (settings.apiSettings) {
@@ -1097,8 +1102,8 @@
1097
1102
  notFoundTokens = []
1098
1103
  ;
1099
1104
  tokens.forEach(function (value) {
1100
- if (module.set.selected(module.escape.htmlEntities(value.trim()), null, true, true) === false) {
1101
- notFoundTokens.push(value);
1105
+ if (module.set.selected(module.escape.htmlEntities(value.trim()), null, false, true) === false) {
1106
+ notFoundTokens.push(value.trim());
1102
1107
  }
1103
1108
  });
1104
1109
  event.preventDefault();
@@ -1231,7 +1236,7 @@
1231
1236
  module.set.filtered();
1232
1237
  }
1233
1238
  clearTimeout(module.timer);
1234
- module.timer = setTimeout(module.search, settings.delay.search);
1239
+ module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
1235
1240
  },
1236
1241
  label: {
1237
1242
  click: function (event) {
@@ -1407,11 +1412,13 @@
1407
1412
  if (settings.allowAdditions) {
1408
1413
  module.remove.userAddition();
1409
1414
  }
1410
- module.remove.filteredItem();
1415
+ if (!settings.keepSearchTerm) {
1416
+ module.remove.filteredItem();
1417
+ module.remove.searchTerm();
1418
+ }
1411
1419
  if (!module.is.visible() && $target.length > 0) {
1412
1420
  module.show();
1413
1421
  }
1414
- module.remove.searchTerm();
1415
1422
  if (!module.is.focusedOnSearch() && skipRefocus !== true) {
1416
1423
  module.focusSearch(true);
1417
1424
  }
@@ -1597,7 +1604,9 @@
1597
1604
  module.verbose('Selecting item from keyboard shortcut', $selectedItem);
1598
1605
  module.event.item.click.call($selectedItem, event);
1599
1606
  if (module.is.searchSelection()) {
1600
- module.remove.searchTerm();
1607
+ if (!settings.keepSearchTerm) {
1608
+ module.remove.searchTerm();
1609
+ }
1601
1610
  if (module.is.multiple()) {
1602
1611
  $search.trigger('focus');
1603
1612
  }
@@ -1814,7 +1823,7 @@
1814
1823
  ? value
1815
1824
  : text;
1816
1825
  if (module.can.activate($(element))) {
1817
- module.set.selected(value, $(element));
1826
+ module.set.selected(value, $(element), false, settings.keepSearchTerm);
1818
1827
  if (!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
1819
1828
  module.hideAndClear();
1820
1829
  }
@@ -2166,7 +2175,7 @@
2166
2175
  return;
2167
2176
  }
2168
2177
  if (isMultiple) {
2169
- if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String)) !== -1) {
2178
+ if ($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(String).map(module.escape.htmlEntities)) !== -1) {
2170
2179
  $selectedItem = $selectedItem
2171
2180
  ? $selectedItem.add($choice)
2172
2181
  : $choice;
@@ -2227,7 +2236,7 @@
2227
2236
  return false;
2228
2237
  }
2229
2238
 
2230
- return true;
2239
+ return false;
2231
2240
  },
2232
2241
  disabled: function () {
2233
2242
  $search.attr('tabindex', module.is.disabled() ? -1 : 0);
@@ -2317,7 +2326,7 @@
2317
2326
  $.each(values, function (value, name) {
2318
2327
  module.set.text(name);
2319
2328
  });
2320
- } else {
2329
+ } else if (settings.useLabels) {
2321
2330
  $.each(values, function (value, name) {
2322
2331
  module.add.label(value, name);
2323
2332
  });
@@ -2464,7 +2473,7 @@
2464
2473
  valueIsSet = searchValue !== ''
2465
2474
  ;
2466
2475
  if (isMultiple && hasSearchValue) {
2467
- module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);
2476
+ module.verbose('Adjusting input width', searchWidth);
2468
2477
  $search.css('width', searchWidth + 'px');
2469
2478
  }
2470
2479
  if (hasSearchValue || (isSearchMultiple && valueIsSet)) {
@@ -2763,7 +2772,7 @@
2763
2772
  return false;
2764
2773
  }
2765
2774
  module.debug('Setting selected menu item to', $selectedItem);
2766
- if (module.is.multiple()) {
2775
+ if (module.is.multiple() && !keepSearchTerm) {
2767
2776
  module.remove.searchWidth();
2768
2777
  }
2769
2778
  if (module.is.single()) {
@@ -3738,12 +3747,12 @@
3738
3747
  show: function () {
3739
3748
  module.verbose('Delaying show event to ensure user intent');
3740
3749
  clearTimeout(module.timer);
3741
- module.timer = setTimeout(module.show, settings.delay.show);
3750
+ module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
3742
3751
  },
3743
3752
  hide: function () {
3744
3753
  module.verbose('Delaying hide event to ensure user intent');
3745
3754
  clearTimeout(module.timer);
3746
- module.timer = setTimeout(module.hide, settings.delay.hide);
3755
+ module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
3747
3756
  },
3748
3757
  },
3749
3758
 
@@ -3869,7 +3878,7 @@
3869
3878
  });
3870
3879
  }
3871
3880
  clearTimeout(module.performance.timer);
3872
- module.performance.timer = setTimeout(module.performance.display, 500);
3881
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
3873
3882
  },
3874
3883
  display: function () {
3875
3884
  var
@@ -4006,6 +4015,7 @@
4006
4015
  forceSelection: false, // force a choice on blur with search selection
4007
4016
 
4008
4017
  allowAdditions: false, // whether multiple select should allow user added values
4018
+ keepSearchTerm: false, // whether the search value should be kept and menu stays filtered on item selection
4009
4019
  ignoreCase: false, // whether to consider case sensitivity when creating labels
4010
4020
  ignoreSearchCase: true, // whether to consider case sensitivity when filtering items
4011
4021
  hideAdditions: true, // whether or not to hide special message prompting a user they can enter a value
@@ -4025,8 +4035,6 @@
4025
4035
  duration: 200, // duration of transition
4026
4036
  displayType: false, // displayType of transition
4027
4037
 
4028
- glyphWidth: 1.037, // widest glyph width in em (W is 1.037 em) used to calculate multiselect input width
4029
-
4030
4038
  headerDivider: true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
4031
4039
 
4032
4040
  collapseOnActionable: true, // whether the dropdown should collapse upon selection of an actionable item
@@ -1328,8 +1328,8 @@ select.ui.dropdown {
1328
1328
  margin: 0 !important;
1329
1329
  border-top: @menuBorder;
1330
1330
  }
1331
- .ui.scrolling.dropdown .menu .item.item.item,
1332
- .ui.dropdown .scrolling.menu > .item.item.item {
1331
+ .ui.ui.ui.scrolling.dropdown .menu .item,
1332
+ .ui.ui.ui.dropdown .scrolling.menu > .item {
1333
1333
  border-top: @scrollingMenuItemBorder;
1334
1334
  }
1335
1335
  .ui.scrolling.dropdown .menu .item:first-child,
@@ -1354,24 +1354,55 @@ select.ui.dropdown {
1354
1354
  .ui.dropdown .scrolling.menu {
1355
1355
  max-height: @scrollingMobileMaxMenuHeight;
1356
1356
  }
1357
+ & when (@variationDropdownResizable) {
1358
+ .ui.scrolling.resizable.dropdown .menu,
1359
+ .ui.dropdown .scrolling.resizable.menu {
1360
+ height: @scrollingMobileMaxMenuHeight;
1361
+ }
1362
+ }
1357
1363
  }
1358
1364
  @media only screen and (min-width: @tabletBreakpoint) {
1359
1365
  .ui.scrolling.dropdown .menu,
1360
1366
  .ui.dropdown .scrolling.menu {
1361
1367
  max-height: @scrollingTabletMaxMenuHeight;
1362
1368
  }
1369
+ & when (@variationDropdownResizable) {
1370
+ .ui.scrolling.resizable.dropdown .menu,
1371
+ .ui.dropdown .scrolling.resizable.menu {
1372
+ height: @scrollingTabletMaxMenuHeight;
1373
+ }
1374
+ }
1363
1375
  }
1364
1376
  @media only screen and (min-width: @computerBreakpoint) {
1365
1377
  .ui.scrolling.dropdown .menu,
1366
1378
  .ui.dropdown .scrolling.menu {
1367
1379
  max-height: @scrollingComputerMaxMenuHeight;
1368
1380
  }
1381
+ & when (@variationDropdownResizable) {
1382
+ .ui.scrolling.resizable.dropdown .menu,
1383
+ .ui.dropdown .scrolling.resizable.menu {
1384
+ height: @scrollingComputerMaxMenuHeight;
1385
+ }
1386
+ }
1369
1387
  }
1370
1388
  @media only screen and (min-width: @widescreenMonitorBreakpoint) {
1371
1389
  .ui.scrolling.dropdown .menu,
1372
1390
  .ui.dropdown .scrolling.menu {
1373
1391
  max-height: @scrollingWidescreenMaxMenuHeight;
1374
1392
  }
1393
+ & when (@variationDropdownResizable) {
1394
+ .ui.scrolling.resizable.dropdown .menu,
1395
+ .ui.dropdown .scrolling.resizable.menu {
1396
+ height: @scrollingWidescreenMaxMenuHeight;
1397
+ }
1398
+ }
1399
+ }
1400
+ & when (@variationDropdownResizable) {
1401
+ .ui.scrolling.resizable.dropdown .menu,
1402
+ .ui.dropdown .scrolling.resizable.menu {
1403
+ resize: @resizableDirection;
1404
+ max-height: none;
1405
+ }
1375
1406
  }
1376
1407
  }
1377
1408
 
@@ -440,7 +440,7 @@
440
440
  });
441
441
  }
442
442
  clearTimeout(module.performance.timer);
443
- module.performance.timer = setTimeout(module.performance.display, 500);
443
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
444
444
  },
445
445
  display: function () {
446
446
  var
@@ -525,7 +525,9 @@
525
525
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
526
526
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
527
527
  shouldRefreshInputs = true;
528
- ignoreAutofocus = false;
528
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
529
+ ignoreAutofocus = false;
530
+ }
529
531
  }
530
532
  }
531
533
 
@@ -1245,7 +1247,7 @@
1245
1247
  });
1246
1248
  }
1247
1249
  clearTimeout(module.performance.timer);
1248
- module.performance.timer = setTimeout(module.performance.display, 500);
1250
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
1249
1251
  },
1250
1252
  display: function () {
1251
1253
  var
@@ -290,7 +290,9 @@
290
290
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
291
291
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
292
292
  shouldRefreshInputs = true;
293
- ignoreAutofocus = false;
293
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
294
+ ignoreAutofocus = false;
295
+ }
294
296
  }
295
297
  }
296
298
 
@@ -525,7 +527,7 @@
525
527
  },
526
528
  debounce: function (method, delay) {
527
529
  clearTimeout(module.timer);
528
- module.timer = setTimeout(method, delay);
530
+ module.timer = setTimeout(function () { method(); }, delay);
529
531
  },
530
532
  keyboard: function (event) {
531
533
  var
@@ -620,7 +622,7 @@
620
622
  ignoreRepeatedEvents = false;
621
623
  if (settings.allowMultiple) {
622
624
  if (module.others.active()) {
623
- $otherModals.filter('.' + className.active).find(selector.dimmer).addClass('active');
625
+ $otherModals.filter('.' + className.active).find(selector.dimmer).removeClass('out').addClass('transition fade in active');
624
626
  }
625
627
 
626
628
  if (settings.detachable) {
@@ -692,6 +694,8 @@
692
694
  onStart: function () {
693
695
  if (!module.others.active() && !module.others.animating() && !keepDimmed) {
694
696
  module.hideDimmer();
697
+ } else if (settings.allowMultiple) {
698
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('in').addClass('out');
695
699
  }
696
700
  if (settings.keyboardShortcuts && !module.others.active()) {
697
701
  module.remove.keyboardShortcuts();
@@ -704,11 +708,7 @@
704
708
  $previousModal.addClass(className.front);
705
709
  $module.removeClass(className.front);
706
710
 
707
- if (hideOthersToo) {
708
- $allModals.find(selector.dimmer).removeClass('active');
709
- } else {
710
- $previousModal.find(selector.dimmer).removeClass('active');
711
- }
711
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('active');
712
712
  }
713
713
  if (isFunction(settings.onHidden)) {
714
714
  settings.onHidden.call(element);
@@ -1273,7 +1273,7 @@
1273
1273
  });
1274
1274
  }
1275
1275
  clearTimeout(module.performance.timer);
1276
- module.performance.timer = setTimeout(module.performance.display, 500);
1276
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
1277
1277
  },
1278
1278
  display: function () {
1279
1279
  var
@@ -437,19 +437,22 @@
437
437
  overflow: hidden;
438
438
  }
439
439
  .scrolling.dimmable > .dimmer {
440
- justify-content: flex-start;
440
+ justify-content: center;
441
441
  position: fixed;
442
442
  }
443
443
  .scrolling.dimmable:not(body) > .dimmer {
444
- justify-content: center;
445
444
  position: absolute;
446
445
  }
447
446
  .scrolling.dimmable.dimmed > .dimmer {
448
447
  overflow: auto;
449
448
  overscroll-behavior: @overscrollBehavior;
450
449
  }
450
+ .modals.dimmer .ui.scrolling.modal.fullscreen {
451
+ top: 0;
452
+ }
451
453
  .modals.dimmer .ui.scrolling.modal:not(.fullscreen) {
452
454
  margin: @scrollingMargin auto;
455
+ top: @scrollingTop;
453
456
  }
454
457
 
455
458
  /* Fix for Firefox, Edge, IE11 */
@@ -478,6 +481,12 @@
478
481
  overflow: auto;
479
482
  overscroll-behavior: @overscrollBehavior;
480
483
  }
484
+ & when (@variationTableResizable) {
485
+ .ui.modal > .resizable.scrolling.content {
486
+ resize: @resizableDirection;
487
+ max-height: none;
488
+ }
489
+ }
481
490
  }
482
491
 
483
492
  & when (@variationModalOverlay) {
@@ -88,7 +88,7 @@
88
88
  }
89
89
 
90
90
  if (settings.displayTime > 0) {
91
- setTimeout(module.hide, settings.displayTime);
91
+ setTimeout(function () { module.hide(); }, settings.displayTime);
92
92
  }
93
93
  module.show();
94
94
  },
@@ -377,7 +377,7 @@
377
377
  });
378
378
  }
379
379
  clearTimeout(module.performance.timer);
380
- module.performance.timer = setTimeout(module.performance.display, 500);
380
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
381
381
  },
382
382
  display: function () {
383
383
  var
@@ -194,7 +194,7 @@
194
194
  ;
195
195
  clearTimeout(module.hideTimer);
196
196
  if (!openedWithTouch || (openedWithTouch && settings.addTouchEvents)) {
197
- module.showTimer = setTimeout(module.show, delay);
197
+ module.showTimer = setTimeout(function () { module.show(); }, delay);
198
198
  }
199
199
  },
200
200
  end: function () {
@@ -204,7 +204,7 @@
204
204
  : settings.delay
205
205
  ;
206
206
  clearTimeout(module.showTimer);
207
- module.hideTimer = setTimeout(module.hide, delay);
207
+ module.hideTimer = setTimeout(function () { module.hide(); }, delay);
208
208
  },
209
209
  touchstart: function (event) {
210
210
  openedWithTouch = true;
@@ -248,9 +248,11 @@
248
248
  // generates popup html from metadata
249
249
  create: function () {
250
250
  var
251
+ targetSibling = $target.next(selector.popup),
252
+ contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false,
251
253
  html = module.get.html(),
252
254
  title = module.get.title(),
253
- content = module.get.content()
255
+ content = module.get.content(contentFallback)
254
256
  ;
255
257
 
256
258
  if (html || content || title) {
@@ -291,10 +293,10 @@
291
293
  if (settings.hoverable) {
292
294
  module.bind.popup();
293
295
  }
294
- } else if ($target.next(selector.popup).length > 0) {
296
+ } else if (targetSibling.length > 0) {
295
297
  module.verbose('Pre-existing popup found');
296
298
  settings.inline = true;
297
- settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
299
+ settings.popup = targetSibling.data(metadata.activator, $module);
298
300
  module.refresh();
299
301
  if (settings.hoverable) {
300
302
  module.bind.popup();
@@ -484,10 +486,10 @@
484
486
 
485
487
  return $module.data(metadata.title) || settings.title;
486
488
  },
487
- content: function () {
489
+ content: function (fallback) {
488
490
  $module.removeData(metadata.content);
489
491
 
490
- return $module.data(metadata.content) || settings.content || $module.attr('title');
492
+ return $module.data(metadata.content) || settings.content || fallback;
491
493
  },
492
494
  variation: function () {
493
495
  $module.removeData(metadata.variation);
@@ -1242,7 +1244,7 @@
1242
1244
  });
1243
1245
  }
1244
1246
  clearTimeout(module.performance.timer);
1245
- module.performance.timer = setTimeout(module.performance.display, 500);
1247
+ module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
1246
1248
  },
1247
1249
  display: function () {
1248
1250
  var