fomantic-ui 2.9.3-beta.1 → 2.9.3-beta.11

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 (246) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CONTRIBUTORS.md +102 -99
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +1 -5
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +2 -2
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +14 -8
  10. package/dist/components/api.min.js +2 -2
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +6 -6
  16. package/dist/components/calendar.js +1 -6
  17. package/dist/components/calendar.min.css +2 -2
  18. package/dist/components/calendar.min.js +2 -2
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +1 -5
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +2 -2
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +1 -1
  28. package/dist/components/container.min.css +1 -1
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +1 -5
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +2 -2
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +19 -2
  36. package/dist/components/dropdown.js +29 -14
  37. package/dist/components/dropdown.min.css +2 -2
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +1 -6
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +2 -2
  43. package/dist/components/emoji.css +1 -1
  44. package/dist/components/emoji.min.css +1 -1
  45. package/dist/components/feed.css +1 -1
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +1 -1
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +1 -1
  50. package/dist/components/flyout.js +40 -27
  51. package/dist/components/flyout.min.css +1 -1
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +52 -5
  54. package/dist/components/form.js +32 -24
  55. package/dist/components/form.min.css +2 -2
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +1 -1
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +1 -1
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +1 -1
  62. package/dist/components/icon.min.css +1 -1
  63. package/dist/components/image.css +1 -1
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +1 -1
  66. package/dist/components/input.min.css +1 -1
  67. package/dist/components/item.css +1 -1
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +21 -2
  70. package/dist/components/label.min.css +2 -2
  71. package/dist/components/list.css +1 -1
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +1 -1
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +9 -3
  76. package/dist/components/menu.min.css +2 -2
  77. package/dist/components/message.css +1 -1
  78. package/dist/components/message.min.css +1 -1
  79. package/dist/components/modal.css +6 -3
  80. package/dist/components/modal.js +44 -32
  81. package/dist/components/modal.min.css +2 -2
  82. package/dist/components/modal.min.js +2 -2
  83. package/dist/components/nag.css +1 -1
  84. package/dist/components/nag.js +16 -8
  85. package/dist/components/nag.min.css +1 -1
  86. package/dist/components/nag.min.js +2 -2
  87. package/dist/components/placeholder.css +1 -1
  88. package/dist/components/placeholder.min.css +1 -1
  89. package/dist/components/popup.css +41 -40
  90. package/dist/components/popup.js +25 -17
  91. package/dist/components/popup.min.css +2 -2
  92. package/dist/components/popup.min.js +2 -2
  93. package/dist/components/progress.css +1 -1
  94. package/dist/components/progress.js +1 -6
  95. package/dist/components/progress.min.css +1 -1
  96. package/dist/components/progress.min.js +2 -2
  97. package/dist/components/rail.css +1 -1
  98. package/dist/components/rail.min.css +1 -1
  99. package/dist/components/rating.css +1 -1
  100. package/dist/components/rating.js +1 -5
  101. package/dist/components/rating.min.css +1 -1
  102. package/dist/components/rating.min.js +2 -2
  103. package/dist/components/reset.css +1 -1
  104. package/dist/components/reset.min.css +1 -1
  105. package/dist/components/reveal.css +1 -1
  106. package/dist/components/reveal.min.css +1 -1
  107. package/dist/components/search.css +1 -1
  108. package/dist/components/search.js +3 -6
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +2 -2
  111. package/dist/components/segment.css +29 -6
  112. package/dist/components/segment.min.css +2 -2
  113. package/dist/components/shape.css +1 -1
  114. package/dist/components/shape.js +1 -5
  115. package/dist/components/shape.min.css +1 -1
  116. package/dist/components/shape.min.js +2 -2
  117. package/dist/components/sidebar.css +1 -1
  118. package/dist/components/sidebar.js +15 -8
  119. package/dist/components/sidebar.min.css +1 -1
  120. package/dist/components/sidebar.min.js +2 -2
  121. package/dist/components/site.css +1 -1
  122. package/dist/components/site.js +1 -1
  123. package/dist/components/site.min.css +1 -1
  124. package/dist/components/site.min.js +1 -1
  125. package/dist/components/slider.css +1 -1
  126. package/dist/components/slider.js +122 -31
  127. package/dist/components/slider.min.css +1 -1
  128. package/dist/components/slider.min.js +2 -2
  129. package/dist/components/state.js +23 -20
  130. package/dist/components/state.min.js +2 -2
  131. package/dist/components/statistic.css +1 -1
  132. package/dist/components/statistic.min.css +1 -1
  133. package/dist/components/step.css +1 -1
  134. package/dist/components/step.min.css +1 -1
  135. package/dist/components/sticky.css +1 -1
  136. package/dist/components/sticky.js +17 -16
  137. package/dist/components/sticky.min.css +1 -1
  138. package/dist/components/sticky.min.js +2 -2
  139. package/dist/components/tab.css +1 -1
  140. package/dist/components/tab.js +14 -6
  141. package/dist/components/tab.min.css +1 -1
  142. package/dist/components/tab.min.js +2 -2
  143. package/dist/components/table.css +1 -1
  144. package/dist/components/table.min.css +1 -1
  145. package/dist/components/text.css +1 -1
  146. package/dist/components/text.min.css +1 -1
  147. package/dist/components/toast.css +6 -1
  148. package/dist/components/toast.js +17 -9
  149. package/dist/components/toast.min.css +2 -2
  150. package/dist/components/toast.min.js +2 -2
  151. package/dist/components/transition.css +1 -1
  152. package/dist/components/transition.js +1 -5
  153. package/dist/components/transition.min.css +1 -1
  154. package/dist/components/transition.min.js +2 -2
  155. package/dist/components/visibility.js +15 -6
  156. package/dist/components/visibility.min.js +2 -2
  157. package/dist/semantic.css +264 -114
  158. package/dist/semantic.js +437 -282
  159. package/dist/semantic.min.css +2 -2
  160. package/dist/semantic.min.js +2 -2
  161. package/package.json +1 -1
  162. package/src/definitions/behaviors/api.js +13 -7
  163. package/src/definitions/behaviors/form.js +31 -23
  164. package/src/definitions/behaviors/state.js +22 -19
  165. package/src/definitions/behaviors/visibility.js +14 -5
  166. package/src/definitions/collections/breadcrumb.less +2 -1
  167. package/src/definitions/collections/form.less +26 -5
  168. package/src/definitions/collections/grid.less +2 -1
  169. package/src/definitions/collections/menu.less +29 -21
  170. package/src/definitions/collections/message.less +2 -1
  171. package/src/definitions/collections/table.less +2 -1
  172. package/src/definitions/elements/button.less +3 -1
  173. package/src/definitions/elements/container.less +2 -1
  174. package/src/definitions/elements/divider.less +2 -1
  175. package/src/definitions/elements/emoji.less +2 -1
  176. package/src/definitions/elements/flag.less +2 -1
  177. package/src/definitions/elements/header.less +2 -1
  178. package/src/definitions/elements/icon.less +2 -1
  179. package/src/definitions/elements/image.less +2 -1
  180. package/src/definitions/elements/input.less +2 -1
  181. package/src/definitions/elements/label.less +23 -2
  182. package/src/definitions/elements/list.less +2 -1
  183. package/src/definitions/elements/loader.less +2 -1
  184. package/src/definitions/elements/placeholder.less +2 -1
  185. package/src/definitions/elements/rail.less +2 -1
  186. package/src/definitions/elements/reveal.less +2 -1
  187. package/src/definitions/elements/segment.less +37 -11
  188. package/src/definitions/elements/step.less +2 -1
  189. package/src/definitions/elements/text.less +2 -1
  190. package/src/definitions/globals/reset.less +2 -1
  191. package/src/definitions/globals/site.less +2 -1
  192. package/src/definitions/modules/accordion.js +0 -4
  193. package/src/definitions/modules/accordion.less +2 -1
  194. package/src/definitions/modules/calendar.js +0 -5
  195. package/src/definitions/modules/calendar.less +3 -2
  196. package/src/definitions/modules/checkbox.js +0 -4
  197. package/src/definitions/modules/checkbox.less +2 -1
  198. package/src/definitions/modules/dimmer.js +0 -4
  199. package/src/definitions/modules/dimmer.less +2 -1
  200. package/src/definitions/modules/dropdown.js +28 -13
  201. package/src/definitions/modules/dropdown.less +22 -2
  202. package/src/definitions/modules/embed.js +0 -5
  203. package/src/definitions/modules/embed.less +2 -1
  204. package/src/definitions/modules/flyout.js +39 -26
  205. package/src/definitions/modules/flyout.less +2 -1
  206. package/src/definitions/modules/modal.js +43 -31
  207. package/src/definitions/modules/modal.less +7 -3
  208. package/src/definitions/modules/nag.js +15 -7
  209. package/src/definitions/modules/nag.less +3 -1
  210. package/src/definitions/modules/popup.js +24 -16
  211. package/src/definitions/modules/popup.less +42 -39
  212. package/src/definitions/modules/progress.js +0 -5
  213. package/src/definitions/modules/progress.less +2 -1
  214. package/src/definitions/modules/rating.js +0 -4
  215. package/src/definitions/modules/rating.less +2 -1
  216. package/src/definitions/modules/search.js +2 -5
  217. package/src/definitions/modules/search.less +2 -1
  218. package/src/definitions/modules/shape.js +0 -4
  219. package/src/definitions/modules/shape.less +2 -1
  220. package/src/definitions/modules/sidebar.js +14 -7
  221. package/src/definitions/modules/sidebar.less +2 -1
  222. package/src/definitions/modules/slider.js +121 -30
  223. package/src/definitions/modules/slider.less +2 -1
  224. package/src/definitions/modules/sticky.js +16 -15
  225. package/src/definitions/modules/sticky.less +2 -1
  226. package/src/definitions/modules/tab.js +13 -5
  227. package/src/definitions/modules/tab.less +2 -1
  228. package/src/definitions/modules/toast.js +16 -8
  229. package/src/definitions/modules/toast.less +9 -1
  230. package/src/definitions/modules/transition.js +0 -4
  231. package/src/definitions/modules/transition.less +2 -1
  232. package/src/definitions/views/ad.less +2 -1
  233. package/src/definitions/views/card.less +2 -1
  234. package/src/definitions/views/comment.less +2 -1
  235. package/src/definitions/views/feed.less +2 -1
  236. package/src/definitions/views/item.less +2 -1
  237. package/src/definitions/views/statistic.less +2 -1
  238. package/src/overrides.less +7 -0
  239. package/src/theme.less +7 -6
  240. package/src/themes/default/elements/label.variables +5 -0
  241. package/src/themes/default/elements/segment.variables +4 -0
  242. package/src/themes/default/globals/site.variables +3 -0
  243. package/src/themes/default/modules/dropdown.variables +3 -0
  244. package/src/themes/default/modules/modal.variables +1 -0
  245. package/src/themes/default/modules/popup.variables +3 -1
  246. package/src/themes/default/modules/toast.variables +1 -0
@@ -26,15 +26,25 @@
26
26
  $document = $(document),
27
27
  $body = $('body'),
28
28
 
29
- moduleSelector = $allModules.selector || '',
30
-
31
29
  time = Date.now(),
32
30
  performance = [],
33
31
 
34
32
  query = arguments[0],
35
33
  methodInvoked = typeof query === 'string',
36
34
  queryArguments = [].slice.call(arguments, 1),
35
+ contextCheck = function (context, win) {
36
+ var $context;
37
+ if ([window, document].indexOf(context) >= 0) {
38
+ $context = $body;
39
+ } else {
40
+ $context = $(win.document).find(context);
41
+ if ($context.length === 0) {
42
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
43
+ }
44
+ }
37
45
 
46
+ return $context;
47
+ },
38
48
  returnedValue
39
49
  ;
40
50
 
@@ -54,7 +64,7 @@
54
64
  moduleNamespace = 'module-' + namespace,
55
65
 
56
66
  $module = $(this),
57
- $context = [window, document].indexOf(settings.context) < 0 ? $document.find(settings.context) : $body,
67
+ $context = contextCheck(settings.context, window),
58
68
  isBody = $context[0] === $body[0],
59
69
  $closeIcon = $module.find(selector.closeIcon),
60
70
  $inputs,
@@ -78,6 +88,7 @@
78
88
  tempBodyMargin = '',
79
89
  keepScrollingClass = false,
80
90
  hadScrollbar = false,
91
+ windowRefocused = false,
81
92
 
82
93
  elementEventNamespace,
83
94
  id,
@@ -241,6 +252,7 @@
241
252
  .off(eventNamespace)
242
253
  ;
243
254
  $window.off(elementEventNamespace);
255
+ $context.off(elementEventNamespace);
244
256
  $dimmer.off(elementEventNamespace);
245
257
  $closeIcon.off(elementEventNamespace);
246
258
  if ($inputs) {
@@ -262,11 +274,12 @@
262
274
  return nodes;
263
275
  },
264
276
  shouldRefresh = false,
265
- shouldRefreshInputs = false
277
+ shouldRefreshInputs = false,
278
+ ignoreAutofocus = true
266
279
  ;
267
280
  mutations.every(function (mutation) {
268
281
  if (mutation.type === 'attributes') {
269
- if (observeAttributes && (mutation.attributeName === 'disabled' || $(mutation.target).find(':input').addBack(':input').length > 0)) {
282
+ if (observeAttributes && (mutation.attributeName === 'disabled' || $(mutation.target).find(':input').addBack(':input').filter(':visible').length > 0)) {
270
283
  shouldRefreshInputs = true;
271
284
  }
272
285
  } else {
@@ -277,6 +290,9 @@
277
290
  $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
278
291
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
279
292
  shouldRefreshInputs = true;
293
+ if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
294
+ ignoreAutofocus = false;
295
+ }
280
296
  }
281
297
  }
282
298
 
@@ -288,7 +304,7 @@
288
304
  module.refresh();
289
305
  }
290
306
  if (shouldRefreshInputs) {
291
- module.refreshInputs();
307
+ module.refreshInputs(ignoreAutofocus);
292
308
  }
293
309
  });
294
310
  observer.observe(element, {
@@ -316,7 +332,7 @@
316
332
  $allModals = $otherModals.add($module);
317
333
  },
318
334
 
319
- refreshInputs: function () {
335
+ refreshInputs: function (ignoreAutofocus) {
320
336
  if ($inputs) {
321
337
  $inputs
322
338
  .off('keydown' + elementEventNamespace)
@@ -325,8 +341,8 @@
325
341
  $inputs = $module.find('a[href], [tabindex], :input:enabled').filter(':visible').filter(function () {
326
342
  return $(this).closest('.disabled').length === 0;
327
343
  });
328
- if ($inputs.length === 0) {
329
- $inputs = $module;
344
+ if ($inputs.filter(':input').length === 0) {
345
+ $inputs = $module.add($inputs);
330
346
  $module.attr('tabindex', -1);
331
347
  } else {
332
348
  $module.removeAttr('tabindex');
@@ -337,7 +353,7 @@
337
353
  $inputs.last()
338
354
  .on('keydown' + elementEventNamespace, module.event.inputKeyDown.last)
339
355
  ;
340
- if (settings.autofocus && $inputs.filter(':focus').length === 0) {
356
+ if (!ignoreAutofocus && settings.autofocus && $inputs.filter(':focus').length === 0) {
341
357
  module.set.autofocus();
342
358
  }
343
359
  },
@@ -375,6 +391,9 @@
375
391
  .on('resize' + elementEventNamespace, module.event.resize)
376
392
  .on('focus' + elementEventNamespace, module.event.focus)
377
393
  ;
394
+ $context
395
+ .on('click' + elementEventNamespace, module.event.click)
396
+ ;
378
397
  },
379
398
  scrollLock: function () {
380
399
  // touch events default to passive, due to changes in chrome to optimize mobile perf
@@ -532,9 +551,13 @@
532
551
  }
533
552
  },
534
553
  focus: function () {
535
- if ($dimmable.dimmer('is active') && module.is.active() && settings.autofocus) {
554
+ windowRefocused = true;
555
+ },
556
+ click: function (event) {
557
+ if (windowRefocused && document.activeElement !== event.target && $dimmable.dimmer('is active') && module.is.active() && settings.autofocus && $(document.activeElement).closest(selector.modal).length === 0) {
536
558
  requestAnimationFrame(module.set.autofocus);
537
559
  }
560
+ windowRefocused = false;
538
561
  },
539
562
  },
540
563
 
@@ -599,7 +622,7 @@
599
622
  ignoreRepeatedEvents = false;
600
623
  if (settings.allowMultiple) {
601
624
  if (module.others.active()) {
602
- $otherModals.filter('.' + className.active).find(selector.dimmer).addClass('active');
625
+ $otherModals.filter('.' + className.active).find(selector.dimmer).removeClass('out').addClass('transition fade in active');
603
626
  }
604
627
 
605
628
  if (settings.detachable) {
@@ -671,6 +694,8 @@
671
694
  onStart: function () {
672
695
  if (!module.others.active() && !module.others.animating() && !keepDimmed) {
673
696
  module.hideDimmer();
697
+ } else if (settings.allowMultiple) {
698
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('in').addClass('out');
674
699
  }
675
700
  if (settings.keyboardShortcuts && !module.others.active()) {
676
701
  module.remove.keyboardShortcuts();
@@ -683,11 +708,7 @@
683
708
  $previousModal.addClass(className.front);
684
709
  $module.removeClass(className.front);
685
710
 
686
- if (hideOthersToo) {
687
- $allModals.find(selector.dimmer).removeClass('active');
688
- } else {
689
- $previousModal.find(selector.dimmer).removeClass('active');
690
- }
711
+ (hideOthersToo ? $allModals : $previousModal).find(selector.dimmer).removeClass('active');
691
712
  }
692
713
  if (isFunction(settings.onHidden)) {
693
714
  settings.onHidden.call(element);
@@ -1044,20 +1065,14 @@
1044
1065
  var
1045
1066
  $autofocus = $inputs.filter('[autofocus]'),
1046
1067
  $rawInputs = $inputs.filter(':input'),
1047
- $input = $autofocus.length > 0
1048
- ? $autofocus.first()
1068
+ $input = ($autofocus.length > 0
1069
+ ? $autofocus
1049
1070
  : ($rawInputs.length > 0
1050
1071
  ? $rawInputs
1051
- : $inputs.filter(':not(i.close)')
1052
- ).first()
1072
+ : $module)
1073
+ ).first()
1053
1074
  ;
1054
- // check if only the close icon is remaining
1055
- if ($input.length === 0 && $inputs.length > 0) {
1056
- $input = $inputs.first();
1057
- }
1058
- if ($input.length > 0) {
1059
- $input.trigger('focus');
1060
- }
1075
+ $input.trigger('focus');
1061
1076
  },
1062
1077
  bodyMargin: function () {
1063
1078
  var position = module.can.leftBodyScrollbar() ? 'left' : 'right';
@@ -1271,9 +1286,6 @@
1271
1286
  totalTime += data['Execution Time'];
1272
1287
  });
1273
1288
  title += ' ' + totalTime + 'ms';
1274
- if (moduleSelector) {
1275
- title += ' \'' + moduleSelector + '\'';
1276
- }
1277
1289
  if (performance.length > 0) {
1278
1290
  console.groupCollapsed(title);
1279
1291
  if (console.table) {
@@ -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 */
@@ -620,4 +623,5 @@
620
623
  }
621
624
  }
622
625
 
623
- .loadUIOverrides();
626
+ // stylelint-disable no-invalid-position-at-import-rule
627
+ @import (multiple, optional) "../../overrides.less";
@@ -22,7 +22,7 @@
22
22
  $.fn.nag = function (parameters) {
23
23
  var
24
24
  $allModules = $(this),
25
- moduleSelector = $allModules.selector || '',
25
+ $body = $('body'),
26
26
 
27
27
  time = Date.now(),
28
28
  performance = [],
@@ -30,6 +30,19 @@
30
30
  query = arguments[0],
31
31
  methodInvoked = typeof query === 'string',
32
32
  queryArguments = [].slice.call(arguments, 1),
33
+ contextCheck = function (context, win) {
34
+ var $context;
35
+ if ([window, document].indexOf(context) >= 0) {
36
+ $context = $(context);
37
+ } else {
38
+ $context = $(win.document).find(context);
39
+ if ($context.length === 0) {
40
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
41
+ }
42
+ }
43
+
44
+ return $context;
45
+ },
33
46
  returnedValue
34
47
  ;
35
48
  $allModules.each(function () {
@@ -47,9 +60,7 @@
47
60
 
48
61
  $module = $(this),
49
62
 
50
- $context = settings.context
51
- ? ([window, document].indexOf(settings.context) < 0 ? $(document).find(settings.context) : $(settings.context))
52
- : $('body'),
63
+ $context = settings.context ? contextCheck(settings.context, window) : $body,
53
64
 
54
65
  element = this,
55
66
  instance = $module.data(moduleNamespace),
@@ -379,9 +390,6 @@
379
390
  totalTime += data['Execution Time'];
380
391
  });
381
392
  title += ' ' + totalTime + 'ms';
382
- if (moduleSelector) {
383
- title += ' \'' + moduleSelector + '\'';
384
- }
385
393
  if (performance.length > 0) {
386
394
  console.groupCollapsed(title);
387
395
  if (console.table) {
@@ -207,4 +207,6 @@ a.ui.nag {
207
207
  border-radius: @borderRadius;
208
208
  }
209
209
  }
210
- .loadUIOverrides();
210
+
211
+ // stylelint-disable no-invalid-position-at-import-rule
212
+ @import (multiple, optional) "../../overrides.less";
@@ -26,8 +26,6 @@
26
26
  $window = $(window),
27
27
  $body = $('body'),
28
28
 
29
- moduleSelector = $allModules.selector || '',
30
-
31
29
  clickEvent = 'ontouchstart' in document.documentElement
32
30
  ? 'touchstart'
33
31
  : 'click',
@@ -38,6 +36,19 @@
38
36
  query = arguments[0],
39
37
  methodInvoked = typeof query === 'string',
40
38
  queryArguments = [].slice.call(arguments, 1),
39
+ contextCheck = function (context, win) {
40
+ var $context;
41
+ if ([window, document].indexOf(context) >= 0) {
42
+ $context = $(context);
43
+ } else {
44
+ $context = $(win.document).find(context);
45
+ if ($context.length === 0) {
46
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
47
+ }
48
+ }
49
+
50
+ return $context;
51
+ },
41
52
 
42
53
  returnedValue
43
54
  ;
@@ -57,12 +68,10 @@
57
68
  moduleNamespace = 'module-' + namespace,
58
69
 
59
70
  $module = $(this),
60
- $context = [window, document].indexOf(settings.context) < 0 ? $document.find(settings.context) : $(settings.context),
61
- $scrollContext = [window, document].indexOf(settings.scrollContext) < 0 ? $document.find(settings.scrollContext) : $(settings.scrollContext),
62
- $boundary = [window, document].indexOf(settings.boundary) < 0 ? $document.find(settings.boundary) : $(settings.boundary),
63
- $target = settings.target
64
- ? ([window, document].indexOf(settings.target) < 0 ? $document.find(settings.target) : $(settings.target))
65
- : $module,
71
+ $context = contextCheck(settings.context, window),
72
+ $scrollContext = contextCheck(settings.scrollContext, window),
73
+ $boundary = contextCheck(settings.boundary, window),
74
+ $target = settings.target ? contextCheck(settings.target, window) : $module,
66
75
 
67
76
  $popup,
68
77
  $offsetParent,
@@ -239,9 +248,11 @@
239
248
  // generates popup html from metadata
240
249
  create: function () {
241
250
  var
251
+ targetSibling = $target.next(selector.popup),
252
+ contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false,
242
253
  html = module.get.html(),
243
254
  title = module.get.title(),
244
- content = module.get.content()
255
+ content = module.get.content(contentFallback)
245
256
  ;
246
257
 
247
258
  if (html || content || title) {
@@ -282,10 +293,10 @@
282
293
  if (settings.hoverable) {
283
294
  module.bind.popup();
284
295
  }
285
- } else if ($target.next(selector.popup).length > 0) {
296
+ } else if (targetSibling.length > 0) {
286
297
  module.verbose('Pre-existing popup found');
287
298
  settings.inline = true;
288
- settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
299
+ settings.popup = targetSibling.data(metadata.activator, $module);
289
300
  module.refresh();
290
301
  if (settings.hoverable) {
291
302
  module.bind.popup();
@@ -475,10 +486,10 @@
475
486
 
476
487
  return $module.data(metadata.title) || settings.title;
477
488
  },
478
- content: function () {
489
+ content: function (fallback) {
479
490
  $module.removeData(metadata.content);
480
491
 
481
- return $module.data(metadata.content) || settings.content || $module.attr('title');
492
+ return $module.data(metadata.content) || settings.content || fallback;
482
493
  },
483
494
  variation: function () {
484
495
  $module.removeData(metadata.variation);
@@ -1246,9 +1257,6 @@
1246
1257
  totalTime += data['Execution Time'];
1247
1258
  });
1248
1259
  title += ' ' + totalTime + 'ms';
1249
- if (moduleSelector) {
1250
- title += ' \'' + moduleSelector + '\'';
1251
- }
1252
1260
  if (performance.length > 0) {
1253
1261
  console.groupCollapsed(title);
1254
1262
  if (console.table) {
@@ -86,7 +86,6 @@
86
86
  width: @arrowSize;
87
87
  height: @arrowSize;
88
88
  background: @tooltipArrowBackground;
89
- transform: rotate(45deg);
90
89
  z-index: @arrowZIndex;
91
90
  box-shadow: @tooltipArrowBoxShadow;
92
91
  }
@@ -114,67 +113,59 @@
114
113
  z-index: @tooltipZIndex;
115
114
  }
116
115
 
117
- /* Default Position (Top Center) */
118
- [data-tooltip]:not([data-position])::before {
119
- top: auto;
120
- right: auto;
121
- bottom: 100%;
122
- left: 50%;
123
- background: @tooltipArrowBottomBackground;
124
- margin-left: @tooltipArrowHorizontalOffset;
125
- margin-bottom: -@tooltipArrowVerticalOffset;
126
- }
127
- [data-tooltip]:not([data-position])::after {
128
- left: 50%;
129
- transform: translateX(-50%);
130
- bottom: 100%;
131
- margin-bottom: @tooltipDistanceAway;
132
- }
133
-
134
116
  /* Animation */
135
117
  [data-tooltip]::before,
136
118
  [data-tooltip]::after {
137
119
  pointer-events: none;
138
- visibility: hidden;
139
120
  opacity: 0;
140
121
  transition:
141
122
  transform @tooltipDuration @tooltipEasing,
142
123
  opacity @tooltipDuration @tooltipEasing;
143
124
  }
125
+ [data-tooltip]::after,
126
+ [data-tooltip]:hover::before {
127
+ transition-delay: @tooltipDelay;
128
+ }
129
+ [data-tooltip]::before,
130
+ [data-tooltip]:hover::after {
131
+ transition-delay: 0s;
132
+ }
144
133
  [data-tooltip]::before {
145
- transform: rotate(45deg) scale(0) !important;
134
+ transform: rotate(45deg) scale(@tooltipScaleInit);
146
135
  transform-origin: center top;
147
136
  }
148
137
  [data-tooltip]::after {
149
138
  transform-origin: center bottom;
150
139
  }
140
+ [data-tooltip][data-variation~="visible"]::before,
141
+ [data-tooltip][data-variation~="visible"]::after,
151
142
  [data-tooltip]:hover::before,
152
143
  [data-tooltip]:hover::after {
153
- visibility: visible;
154
144
  pointer-events: auto;
155
145
  opacity: 1;
156
146
  }
157
147
  [data-tooltip]:hover::before {
158
- transform: rotate(45deg) scale(1) !important;
148
+ transform: rotate(45deg) scale(1);
159
149
  }
160
150
 
161
151
  /* Animation Position */
162
- [data-tooltip]::after,
152
+ [data-tooltip]:not([data-position])::after,
163
153
  [data-tooltip][data-position="top center"]::after,
164
154
  [data-tooltip][data-position="bottom center"]::after {
165
- transform: translateX(-50%) scale(0) !important;
155
+ transform: translateX(-50%) scale(@tooltipScaleInit);
166
156
  }
167
- [data-tooltip]:hover::after,
157
+ [data-tooltip]:not([data-position]):hover::after,
158
+ [data-tooltip][data-position="top center"]:hover::after,
168
159
  [data-tooltip][data-position="bottom center"]:hover::after {
169
- transform: translateX(-50%) scale(1) !important;
160
+ transform: translateX(-50%) scale(1);
170
161
  }
171
162
  [data-tooltip][data-position="left center"]::after,
172
163
  [data-tooltip][data-position="right center"]::after {
173
- transform: translateY(-50%) scale(0) !important;
164
+ transform: translateY(-50%) scale(@tooltipScaleInit);
174
165
  }
175
166
  [data-tooltip][data-position="left center"]:hover::after,
176
167
  [data-tooltip][data-position="right center"]:hover::after {
177
- transform: translateY(-50%) scale(1) !important;
168
+ transform: translateY(-50%) scale(1);
178
169
  // https://github.com/fomantic/Fomantic-UI/pull/1537
179
170
  // stylelint-disable-next-line property-no-vendor-prefix
180
171
  -moz-transform: translateY(-50%) scale(1.0001) !important;
@@ -183,13 +174,13 @@
183
174
  [data-tooltip][data-position="top right"]::after,
184
175
  [data-tooltip][data-position="bottom left"]::after,
185
176
  [data-tooltip][data-position="bottom right"]::after {
186
- transform: scale(0) !important;
177
+ transform: scale(@tooltipScaleInit);
187
178
  }
188
179
  [data-tooltip][data-position="top left"]:hover::after,
189
180
  [data-tooltip][data-position="top right"]:hover::after,
190
181
  [data-tooltip][data-position="bottom left"]:hover::after,
191
182
  [data-tooltip][data-position="bottom right"]:hover::after {
192
- transform: scale(1) !important;
183
+ transform: scale(1);
193
184
  }
194
185
  & when (@variationPopupFixed) {
195
186
  [data-tooltip][data-variation~="fixed"]::after {
@@ -215,11 +206,11 @@
215
206
 
216
207
  /* Arrow */
217
208
  [data-tooltip][data-inverted]::before {
218
- box-shadow: none !important;
209
+ box-shadow: none;
219
210
  }
220
211
 
221
212
  /* Arrow Position */
222
- [data-tooltip][data-inverted]::before {
213
+ [data-tooltip]:not([data-position])[data-inverted]::before {
223
214
  background: @invertedArrowBottomBackground;
224
215
  }
225
216
 
@@ -241,15 +232,16 @@
241
232
  background: @arrowBottomBackground;
242
233
  }
243
234
  & when (@variationPopupCenter) {
244
- /* Top Center */
235
+ /* Top Center (default) */
236
+ [data-tooltip]:not([data-position])::after,
245
237
  [data-position="top center"][data-tooltip]::after {
246
238
  top: auto;
247
239
  right: auto;
248
240
  left: 50%;
249
241
  bottom: 100%;
250
- transform: translateX(-50%);
251
242
  margin-bottom: @tooltipDistanceAway;
252
243
  }
244
+ [data-tooltip]:not([data-position])::before,
253
245
  [data-position="top center"][data-tooltip]::before {
254
246
  top: auto;
255
247
  right: auto;
@@ -310,7 +302,6 @@
310
302
  right: auto;
311
303
  left: 50%;
312
304
  top: 100%;
313
- transform: translateX(-50%);
314
305
  margin-top: @tooltipDistanceAway;
315
306
  }
316
307
  [data-position="bottom center"][data-tooltip]::before {
@@ -362,7 +353,6 @@
362
353
  right: 100%;
363
354
  top: 50%;
364
355
  margin-right: @tooltipDistanceAway;
365
- transform: translateY(-50%);
366
356
  }
367
357
  [data-position="left center"][data-tooltip]::before {
368
358
  right: 100%;
@@ -379,7 +369,6 @@
379
369
  left: 100%;
380
370
  top: 50%;
381
371
  margin-left: @tooltipDistanceAway;
382
- transform: translateY(-50%);
383
372
  }
384
373
  [data-position="right center"][data-tooltip]::before {
385
374
  left: 100%;
@@ -454,6 +443,19 @@
454
443
  }
455
444
  }
456
445
 
446
+ [data-position="top left"][data-tooltip]::after {
447
+ transform-origin: bottom left;
448
+ }
449
+ [data-position="top right"][data-tooltip]::after {
450
+ transform-origin: bottom right;
451
+ }
452
+ [data-position="bottom left"][data-tooltip]::after {
453
+ transform-origin: top left;
454
+ }
455
+ [data-position="bottom right"][data-tooltip]::after {
456
+ transform-origin: top right;
457
+ }
458
+
457
459
  & when (@variationPopupBasic) {
458
460
  /* --------------
459
461
  Basic
@@ -822,7 +824,7 @@
822
824
  }
823
825
  .ui.inverted.popup::before {
824
826
  background-color: @invertedArrowColor;
825
- box-shadow: none !important;
827
+ box-shadow: none;
826
828
  }
827
829
  }
828
830
 
@@ -928,4 +930,5 @@
928
930
  });
929
931
  }
930
932
 
931
- .loadUIOverrides();
933
+ // stylelint-disable no-invalid-position-at-import-rule
934
+ @import (multiple, optional) "../../overrides.less";
@@ -23,8 +23,6 @@
23
23
  var
24
24
  $allModules = $(this),
25
25
 
26
- moduleSelector = $allModules.selector || '',
27
-
28
26
  time = Date.now(),
29
27
  performance = [],
30
28
 
@@ -806,9 +804,6 @@
806
804
  totalTime += data['Execution Time'];
807
805
  });
808
806
  title += ' ' + totalTime + 'ms';
809
- if (moduleSelector) {
810
- title += ' \'' + moduleSelector + '\'';
811
- }
812
807
  if (performance.length > 0) {
813
808
  console.groupCollapsed(title);
814
809
  if (console.table) {
@@ -650,4 +650,5 @@
650
650
  }
651
651
  }
652
652
 
653
- .loadUIOverrides();
653
+ // stylelint-disable no-invalid-position-at-import-rule
654
+ @import (multiple, optional) "../../overrides.less";
@@ -22,7 +22,6 @@
22
22
  $.fn.rating = function (parameters) {
23
23
  var
24
24
  $allModules = $(this),
25
- moduleSelector = $allModules.selector || '',
26
25
 
27
26
  time = Date.now(),
28
27
  performance = [],
@@ -382,9 +381,6 @@
382
381
  totalTime += data['Execution Time'];
383
382
  });
384
383
  title += ' ' + totalTime + 'ms';
385
- if (moduleSelector) {
386
- title += ' \'' + moduleSelector + '\'';
387
- }
388
384
  if ($allModules.length > 1) {
389
385
  title += ' (' + $allModules.length + ')';
390
386
  }
@@ -177,4 +177,5 @@
177
177
  });
178
178
  }
179
179
 
180
- .loadUIOverrides();
180
+ // stylelint-disable no-invalid-position-at-import-rule
181
+ @import (multiple, optional) "../../overrides.less";