fomantic-ui 2.9.0-beta.100 → 2.9.0-beta.104

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 (153) 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 +29 -14
  35. package/dist/components/dropdown.min.css +1 -1
  36. package/dist/components/dropdown.min.js +2 -2
  37. package/dist/components/embed.css +1 -1
  38. package/dist/components/embed.js +1 -1
  39. package/dist/components/embed.min.css +1 -1
  40. package/dist/components/embed.min.js +1 -1
  41. package/dist/components/feed.css +1 -1
  42. package/dist/components/feed.min.css +1 -1
  43. package/dist/components/flag.css +1 -1
  44. package/dist/components/flag.min.css +1 -1
  45. package/dist/components/form.css +1 -1
  46. package/dist/components/form.js +1 -1
  47. package/dist/components/form.min.css +1 -1
  48. package/dist/components/form.min.js +1 -1
  49. package/dist/components/grid.css +1 -1
  50. package/dist/components/grid.min.css +1 -1
  51. package/dist/components/header.css +1 -1
  52. package/dist/components/header.min.css +1 -1
  53. package/dist/components/icon.css +1 -1
  54. package/dist/components/icon.min.css +1 -1
  55. package/dist/components/image.css +1 -1
  56. package/dist/components/image.min.css +1 -1
  57. package/dist/components/input.css +1 -1
  58. package/dist/components/input.min.css +1 -1
  59. package/dist/components/item.css +1 -1
  60. package/dist/components/item.min.css +1 -1
  61. package/dist/components/label.css +1 -1
  62. package/dist/components/label.min.css +1 -1
  63. package/dist/components/list.css +1 -1
  64. package/dist/components/list.min.css +1 -1
  65. package/dist/components/loader.css +1 -1
  66. package/dist/components/loader.min.css +1 -1
  67. package/dist/components/message.css +1 -1
  68. package/dist/components/message.min.css +1 -1
  69. package/dist/components/modal.css +1 -1
  70. package/dist/components/modal.js +1 -1
  71. package/dist/components/modal.min.css +1 -1
  72. package/dist/components/modal.min.js +1 -1
  73. package/dist/components/nag.css +1 -1
  74. package/dist/components/nag.js +1 -1
  75. package/dist/components/nag.min.css +1 -1
  76. package/dist/components/nag.min.js +1 -1
  77. package/dist/components/placeholder.css +1 -1
  78. package/dist/components/placeholder.min.css +1 -1
  79. package/dist/components/popup.css +1 -1
  80. package/dist/components/popup.js +1 -1
  81. package/dist/components/popup.min.css +1 -1
  82. package/dist/components/popup.min.js +1 -1
  83. package/dist/components/progress.css +1 -1
  84. package/dist/components/progress.js +1 -1
  85. package/dist/components/progress.min.css +1 -1
  86. package/dist/components/progress.min.js +1 -1
  87. package/dist/components/rail.css +1 -1
  88. package/dist/components/rail.min.css +1 -1
  89. package/dist/components/rating.css +1 -1
  90. package/dist/components/rating.js +1 -1
  91. package/dist/components/rating.min.css +1 -1
  92. package/dist/components/rating.min.js +1 -1
  93. package/dist/components/reset.css +1 -1
  94. package/dist/components/reset.min.css +1 -1
  95. package/dist/components/reveal.css +1 -1
  96. package/dist/components/reveal.min.css +1 -1
  97. package/dist/components/search.css +1 -1
  98. package/dist/components/search.js +1 -1
  99. package/dist/components/search.min.css +1 -1
  100. package/dist/components/search.min.js +1 -1
  101. package/dist/components/segment.css +1 -1
  102. package/dist/components/segment.min.css +1 -1
  103. package/dist/components/shape.css +1 -1
  104. package/dist/components/shape.js +1 -1
  105. package/dist/components/shape.min.css +1 -1
  106. package/dist/components/shape.min.js +1 -1
  107. package/dist/components/sidebar.css +1 -1
  108. package/dist/components/sidebar.js +1 -1
  109. package/dist/components/sidebar.min.css +1 -1
  110. package/dist/components/sidebar.min.js +1 -1
  111. package/dist/components/site.css +1 -1
  112. package/dist/components/site.js +1 -1
  113. package/dist/components/site.min.css +1 -1
  114. package/dist/components/site.min.js +1 -1
  115. package/dist/components/slider.js +1 -1
  116. package/dist/components/slider.min.js +1 -1
  117. package/dist/components/state.js +1 -1
  118. package/dist/components/state.min.js +1 -1
  119. package/dist/components/statistic.css +1 -1
  120. package/dist/components/statistic.min.css +1 -1
  121. package/dist/components/step.css +1 -1
  122. package/dist/components/step.min.css +1 -1
  123. package/dist/components/sticky.css +1 -1
  124. package/dist/components/sticky.js +1 -1
  125. package/dist/components/sticky.min.css +1 -1
  126. package/dist/components/sticky.min.js +1 -1
  127. package/dist/components/tab.css +1 -1
  128. package/dist/components/tab.js +1 -1
  129. package/dist/components/tab.min.css +1 -1
  130. package/dist/components/tab.min.js +1 -1
  131. package/dist/components/table.css +976 -21
  132. package/dist/components/table.min.css +2 -2
  133. package/dist/components/text.css +1 -1
  134. package/dist/components/text.min.css +1 -1
  135. package/dist/components/toast.css +1 -1
  136. package/dist/components/toast.js +1 -1
  137. package/dist/components/toast.min.css +1 -1
  138. package/dist/components/toast.min.js +1 -1
  139. package/dist/components/transition.css +1 -1
  140. package/dist/components/transition.js +1 -1
  141. package/dist/components/transition.min.css +1 -1
  142. package/dist/components/transition.min.js +1 -1
  143. package/dist/components/visibility.js +1 -1
  144. package/dist/components/visibility.min.js +1 -1
  145. package/dist/semantic.css +1183 -69
  146. package/dist/semantic.js +53 -38
  147. package/dist/semantic.min.css +2 -2
  148. package/dist/semantic.min.js +2 -2
  149. package/package.json +1 -1
  150. package/src/definitions/collections/table.less +342 -22
  151. package/src/definitions/modules/dropdown.js +28 -13
  152. package/src/themes/default/collections/table.variables +29 -0
  153. package/src/themes/default/globals/variation.variables +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fomantic-ui",
3
- "version": "2.9.0-beta.100",
3
+ "version": "2.9.0-beta.104",
4
4
  "description": "Fomantic empowers designers and developers by creating a shared vocabulary for UI.",
5
5
  "keywords": [
6
6
  "fomantic-ui",
@@ -263,6 +263,203 @@
263
263
  }
264
264
  })
265
265
  }
266
+ & when (@variationTableScrolling) {
267
+ & when (@variationTableScrollingShort) {
268
+ .ui.scrolling.table.short > tbody {
269
+ max-height: @scrollingMobileMaxBodyHeight * 0.75;
270
+ }
271
+ }
272
+ & when (@variationTableScrollingVeryShort) {
273
+ .ui.scrolling.table[class*="very short"] > tbody {
274
+ max-height: @scrollingMobileMaxBodyHeight * 0.5;
275
+ }
276
+ }
277
+ .ui.scrolling.table > tbody {
278
+ max-height: @scrollingMobileMaxBodyHeight;
279
+ }
280
+ & when (@variationTableScrollingLong) {
281
+ .ui.scrolling.table.long > tbody {
282
+ max-height: @scrollingMobileMaxBodyHeight * 2;
283
+ }
284
+ }
285
+ & when (@variationTableScrollingVeryLong) {
286
+ .ui.scrolling.table[class*="very long"] > tbody {
287
+ max-height: @scrollingMobileMaxBodyHeight * 3;
288
+ }
289
+ }
290
+ }
291
+ }
292
+ & when (@variationTableScrolling) {
293
+ /*--------------
294
+ Scrolling
295
+ ---------------*/
296
+ @media only screen and (min-width: @tabletBreakpoint) {
297
+ & when (@variationTableScrollingShort) {
298
+ .ui.scrolling.table.short > tbody {
299
+ max-height: @scrollingTabletMaxBodyHeight * 0.75;
300
+ }
301
+ }
302
+ & when (@variationTableScrollingVeryShort) {
303
+ .ui.scrolling.table[class*="very short"] > tbody {
304
+ max-height: @scrollingTabletMaxBodyHeight * 0.5;
305
+ }
306
+ }
307
+ .ui.scrolling.table > tbody {
308
+ max-height: @scrollingTabletMaxBodyHeight;
309
+ }
310
+ & when (@variationTableScrollingLong) {
311
+ .ui.scrolling.table.long > tbody {
312
+ max-height: @scrollingTabletMaxBodyHeight * 2;
313
+ }
314
+ }
315
+ & when (@variationTableScrollingVeryLong) {
316
+ .ui.scrolling.table[class*="very long"] > tbody {
317
+ max-height: @scrollingTabletMaxBodyHeight * 3;
318
+ }
319
+ }
320
+ }
321
+ @media only screen and (min-width: @computerBreakpoint) {
322
+ & when (@variationTableScrollingShort) {
323
+ .ui.scrolling.table.short > tbody {
324
+ max-height: @scrollingComputerMaxBodyHeight * 0.75;
325
+ }
326
+ }
327
+ & when (@variationTableScrollingVeryShort) {
328
+ .ui.scrolling.table[class*="very short"] > tbody {
329
+ max-height: @scrollingComputerMaxBodyHeight * 0.5;
330
+ }
331
+ }
332
+ .ui.scrolling.table > tbody {
333
+ max-height: @scrollingComputerMaxBodyHeight;
334
+ }
335
+ & when (@variationTableScrollingLong) {
336
+ .ui.scrolling.table.long > tbody {
337
+ max-height: @scrollingComputerMaxBodyHeight * 2;
338
+ }
339
+ }
340
+ & when (@variationTableScrollingVeryLong) {
341
+ .ui.scrolling.table[class*="very long"] > tbody {
342
+ max-height: @scrollingComputerMaxBodyHeight * 3;
343
+ }
344
+ }
345
+ }
346
+ @media only screen and (min-width: @widescreenMonitorBreakpoint) {
347
+ & when (@variationTableScrollingShort) {
348
+ .ui.scrolling.table.short > tbody {
349
+ max-height: @scrollingWidescreenMaxBodyHeight * 0.75;
350
+ }
351
+ }
352
+ & when (@variationTableScrollingVeryShort) {
353
+ .ui.scrolling.table[class*="very short"] > tbody {
354
+ max-height: @scrollingWidescreenMaxBodyHeight * 0.5;
355
+ }
356
+ }
357
+ .ui.scrolling.table > tbody {
358
+ max-height: @scrollingWidescreenMaxBodyHeight;
359
+ }
360
+ & when (@variationTableScrollingLong) {
361
+ .ui.scrolling.table.long > tbody {
362
+ max-height: @scrollingWidescreenMaxBodyHeight * 2;
363
+ }
364
+ }
365
+ & when (@variationTableScrollingVeryLong) {
366
+ .ui.scrolling.table[class*="very long"] > tbody {
367
+ max-height: @scrollingWidescreenMaxBodyHeight * 3;
368
+ }
369
+ }
370
+ }
371
+
372
+ .ui.scrolling.table > thead,
373
+ .ui.scrolling.table > tfoot,
374
+ .ui.scrolling.table > tbody {
375
+ display: block;
376
+ overflow-y: scroll;
377
+ scrollbar-width: thin; /* Firefox */
378
+ & > tr {
379
+ display: table;
380
+ table-layout: fixed;
381
+ width: 100%;
382
+ }
383
+ }
384
+
385
+ /* Camouflage scrollbars, we need them only to gain the same width as tbody */
386
+ .ui.scrolling.table > thead {
387
+ background: @headerBackground;
388
+ color: @headerBackground;
389
+ border-radius: @borderRadius @borderRadius 0 0;
390
+ }
391
+ .ui.scrolling.table > tfoot {
392
+ background: @footerBackground;
393
+ color: @footerBackground;
394
+ border-radius: 0 0 @borderRadius @borderRadius;
395
+ }
396
+ & when (@variationTableInverted) {
397
+ .ui.inverted.scrolling.table > thead {
398
+ background: @invertedHeaderBackground;
399
+ color: @invertedHeaderBackground;
400
+ }
401
+ .ui.inverted.scrolling.table > tfoot {
402
+ background: @invertedFooterBackground;
403
+ color: @invertedFooterBackground;
404
+ }
405
+ }
406
+ .ui.scrolling.table > thead::-webkit-scrollbar-track,
407
+ .ui.scrolling.table > tfoot::-webkit-scrollbar-track {
408
+ background: inherit;
409
+ border-radius: @borderRadius;
410
+ }
411
+
412
+ /* Firefox & IE */
413
+ .ui.scrolling.table > thead,
414
+ .ui.scrolling.table > tfoot {
415
+ scrollbar-color: currentColor currentColor;
416
+ scrollbar-face-color: currentColor;
417
+ scrollbar-shadow-color: currentColor;
418
+ scrollbar-track-color: currentColor;
419
+ scrollbar-arrow-color: currentColor;
420
+ }
421
+ /* IE scrollbar color needs hex values */
422
+ @media all and (-ms-high-contrast:none) {
423
+ .ui.scrolling.table > thead {
424
+ color: @headerBackgroundHex;
425
+ }
426
+ .ui.scrolling.table > tfoot {
427
+ color: @footerBackgroundHex;
428
+ }
429
+ & when (@variationTableInverted) {
430
+ .ui.inverted.scrolling.table > thead {
431
+ color: @invertedHeaderBackgroundHex;
432
+ }
433
+ .ui.inverted.scrolling.table > tfoot {
434
+ color: @invertedFooterBackgroundHex;
435
+ }
436
+ }
437
+ }
438
+ & when (@variationTableInverted) {
439
+ .ui.inverted.scrolling.table > tbody::-webkit-scrollbar-track {
440
+ background: @trackInvertedBackground;
441
+ }
442
+ .ui.inverted.scrolling.table > tbody::-webkit-scrollbar-thumb {
443
+ background: @thumbInvertedBackground;
444
+ }
445
+ .ui.inverted.scrolling.table > tbody::-webkit-scrollbar-thumb:window-inactive {
446
+ background: @thumbInvertedInactiveBackground;
447
+ }
448
+ .ui.inverted.scrolling.table > tbody::-webkit-scrollbar-thumb:hover {
449
+ background: @thumbInvertedHoverBackground;
450
+ }
451
+ .ui.inverted.scrolling.table > tbody {
452
+ /* IE11 */
453
+ scrollbar-face-color: @thumbInvertedBackgroundHex;
454
+ scrollbar-shadow-color: @thumbInvertedBackgroundHex;
455
+ scrollbar-track-color: @trackInvertedBackgroundHex;
456
+ scrollbar-arrow-color: @trackInvertedBackgroundHex;
457
+
458
+ /* firefox : first color thumb, second track */
459
+ scrollbar-color: @thumbInvertedBackground @trackInvertedBackground;
460
+ }
461
+ }
462
+
266
463
  }
267
464
 
268
465
 
@@ -392,6 +589,13 @@
392
589
  background: @positiveBackgroundColor;
393
590
  color: @positiveColor;
394
591
  }
592
+ & when (@variationTableInverted) {
593
+ .ui.ui.ui.ui.inverted.table tr.positive,
594
+ .ui.ui.inverted.table td.positive {
595
+ background: @invertedPositiveBackgroundColor;
596
+ color: @invertedPositiveColor;
597
+ }
598
+ }
395
599
  }
396
600
 
397
601
  & when (@variationTableNegative) {
@@ -405,6 +609,13 @@
405
609
  background: @negativeBackgroundColor;
406
610
  color: @negativeColor;
407
611
  }
612
+ & when (@variationTableInverted) {
613
+ .ui.ui.ui.ui.inverted.table tr.negative,
614
+ .ui.ui.inverted.table td.negative {
615
+ background: @invertedNegativeBackgroundColor;
616
+ color: @invertedNegativeColor;
617
+ }
618
+ }
408
619
  }
409
620
 
410
621
  & when (@variationTableError) {
@@ -418,6 +629,13 @@
418
629
  background: @errorBackgroundColor;
419
630
  color: @errorColor;
420
631
  }
632
+ & when (@variationTableInverted) {
633
+ .ui.ui.ui.ui.inverted.table tr.error,
634
+ .ui.ui.inverted.table td.error {
635
+ background: @invertedErrorBackgroundColor;
636
+ color: @invertedErrorColor;
637
+ }
638
+ }
421
639
  }
422
640
 
423
641
  & when (@variationTableWarning) {
@@ -431,6 +649,13 @@
431
649
  background: @warningBackgroundColor;
432
650
  color: @warningColor;
433
651
  }
652
+ & when (@variationTableInverted) {
653
+ .ui.ui.ui.ui.inverted.table tr.warning,
654
+ .ui.ui.inverted.table td.warning {
655
+ background: @invertedWarningBackgroundColor;
656
+ color: @invertedWarningColor;
657
+ }
658
+ }
434
659
  }
435
660
 
436
661
  & when (@variationTableActive) {
@@ -444,6 +669,13 @@
444
669
  background: @activeBackgroundColor;
445
670
  color: @activeColor;
446
671
  }
672
+ & when (@variationTableInverted) {
673
+ .ui.ui.ui.ui.inverted.table tr.active,
674
+ .ui.ui.inverted.table td.active {
675
+ background: @invertedActiveBackgroundColor;
676
+ color: @invertedActiveColor;
677
+ }
678
+ }
447
679
  }
448
680
 
449
681
 
@@ -452,8 +684,8 @@
452
684
  Disabled
453
685
  ---------------*/
454
686
 
455
- .ui.table tr.disabled td,
456
- .ui.table tr td.disabled,
687
+ .ui.ui.ui.table tr.disabled td,
688
+ .ui.ui.ui.table tr td.disabled,
457
689
  .ui.table tr.disabled:hover,
458
690
  .ui.table tr:hover td.disabled {
459
691
  pointer-events: none;
@@ -799,11 +1031,48 @@
799
1031
  }
800
1032
  & when (@variationTableInverted) {
801
1033
  .ui.inverted.@{color}.table {
802
- background-color: @c;
1034
+ background: @c;
803
1035
  color: @white;
804
1036
  }
805
1037
  }
1038
+ /* Same color for background and color to camouflage the scrollbar */
1039
+ & when (@variationTableScrolling) {
1040
+ .ui.scrolling.table > thead.@{color},
1041
+ .ui.scrolling.table > tfoot.@{color} {
1042
+ & when (@isDark) {
1043
+ background: @l;
1044
+ color: @l;
1045
+ }
1046
+ & when not (@isDark) {
1047
+ background: @b;
1048
+ color: @b;
1049
+ }
1050
+ & > tr > th,
1051
+ > tr > td {
1052
+ background: inherit;
1053
+ & when (@isVeryDark) {
1054
+ color: @white;
1055
+ }
1056
+ & when not (@isVeryDark) {
1057
+ color: @t;
1058
+ }
1059
+ }
1060
+ }
1061
+ & when (@variationTableInverted) {
1062
+ .ui.inverted.scrolling.table > thead.@{color},
1063
+ .ui.inverted.scrolling.table > tfoot.@{color} {
1064
+ background: @c;
1065
+ color: @c;
1066
+ & > tr > th,
1067
+ > tr > td {
1068
+ background: inherit;
1069
+ color: @white;
1070
+ }
1071
+ }
1072
+ }
1073
+ }
806
1074
  .ui.ui.ui.ui.table tr.@{color}:not(.marked),
1075
+ .ui.ui.table th.@{color}:not(.marked),
807
1076
  .ui.ui.table td.@{color}:not(.marked) {
808
1077
  & when (@stateMarkerWidth > 0) {
809
1078
  box-shadow: @stateMarkerWidth 0 0 @r inset;
@@ -821,6 +1090,32 @@
821
1090
  color: @t;
822
1091
  }
823
1092
  }
1093
+ .ui.table > thead > tr.@{color}:not(.marked) > th,
1094
+ .ui.table > tfoot > tr.@{color}:not(.marked) > th,
1095
+ .ui.table > tfoot > tr.@{color}:not(.marked) > td {
1096
+ background: inherit;
1097
+ & when (@isVeryDark) {
1098
+ color: @white;
1099
+ }
1100
+ & when not (@isVeryDark) {
1101
+ color: @t;
1102
+ }
1103
+ }
1104
+
1105
+ & when (@variationTableInverted) {
1106
+ .ui.ui.ui.ui.inverted.table tr.@{color}:not(.marked),
1107
+ .ui.ui.inverted.table th.@{color}:not(.marked),
1108
+ .ui.ui.inverted.table td.@{color}:not(.marked) {
1109
+ background: @c;
1110
+ color: @white;
1111
+ }
1112
+ .ui.inverted.table > thead > tr.@{color}:not(.marked) > th,
1113
+ .ui.inverted.table > tfoot > tr.@{color}:not(.marked) > th,
1114
+ .ui.inverted.table > tfoot > tr.@{color}:not(.marked) > td {
1115
+ background: inherit;
1116
+ color: @white;
1117
+ }
1118
+ }
824
1119
  & when (@variationTableSelectable) {
825
1120
  .ui.ui.selectable.table tr.@{color}:not(.marked):hover,
826
1121
  .ui.table tr td.selectable.@{color}:not(.marked):hover,
@@ -838,6 +1133,24 @@
838
1133
  color: @ht;
839
1134
  }
840
1135
  }
1136
+ & when (@variationTableInverted) {
1137
+ .ui.ui.inverted.selectable.table tr.@{color}:not(.marked):hover,
1138
+ .ui.inverted.table tr td.selectable.@{color}:not(.marked):hover,
1139
+ .ui.inverted.selectable.table tr:hover td.@{color}:not(.marked) {
1140
+ & when (@isDark) {
1141
+ background: @bh;
1142
+ }
1143
+ & when not (@isDark) {
1144
+ background: @lh;
1145
+ }
1146
+ & when (@isVeryDark) {
1147
+ color: @ht;
1148
+ }
1149
+ & when not (@isVeryDark) {
1150
+ color: @white;
1151
+ }
1152
+ }
1153
+ }
841
1154
  }
842
1155
  & when (@variationTableMarked) {
843
1156
  .ui.table td.marked.@{color},
@@ -1027,10 +1340,12 @@
1027
1340
  content: @sortableIconDescending;
1028
1341
  }
1029
1342
 
1030
- /* Hover */
1031
- .ui.sortable.table th.disabled:hover {
1032
- cursor: auto;
1033
- color: @sortableDisabledColor;
1343
+ & when (@variationTableDisabled) {
1344
+ /* Hover */
1345
+ .ui.sortable.table th.disabled:hover {
1346
+ cursor: auto;
1347
+ color: @sortableDisabledColor;
1348
+ }
1034
1349
  }
1035
1350
  .ui.sortable.table > thead > tr > th:hover {
1036
1351
  color: @sortableHoverColor;
@@ -1091,31 +1406,36 @@
1091
1406
  }
1092
1407
  .ui.ui.inverted.table > thead > tr > th,
1093
1408
  .ui.ui.inverted.table > tbody > tr > th,
1094
- .ui.ui.inverted.table > tfoot > tr > th,
1095
- .ui.ui.inverted.table > tfoot > tr > td,
1096
1409
  .ui.ui.inverted.table > tr > th {
1097
1410
  background-color: @invertedHeaderBackground;
1098
1411
  border-color: @invertedHeaderBorderColor;
1099
1412
  color: @invertedHeaderColor;
1100
1413
  }
1414
+ .ui.ui.inverted.table > tfoot > tr > th,
1415
+ .ui.ui.inverted.table > tfoot > tr > td {
1416
+ background-color: @invertedFooterBackground;
1417
+ border-color: @invertedFooterBorderColor;
1418
+ color: @invertedFooterColor;
1419
+ }
1101
1420
  .ui.inverted.table > tbody > tr > td,
1102
1421
  .ui.inverted.table > tfoot > tr > td,
1103
1422
  .ui.inverted.table > tr > td {
1104
1423
  border-color: @invertedCellBorderColor;
1105
1424
  }
1106
-
1107
- .ui.inverted.table tr.disabled td,
1108
- .ui.inverted.table tr td.disabled,
1109
- .ui.inverted.table tr.disabled:hover td,
1110
- .ui.inverted.table tr:hover td.disabled {
1111
- pointer-events: none;
1112
- color: @invertedDisabledTextColor;
1113
- }
1114
- .ui.inverted.table tr td.disabled:not([class="disabled"]),
1115
- .ui.inverted.table tr.disabled:not([class="disabled"]) td,
1116
- .ui.inverted.table tr.disabled td[class]:not(.disabled),
1117
- .ui.inverted.table tr:hover td.disabled:not([class="disabled"]) {
1118
- color: @disabledTextColor;
1425
+ & when (@variationTableDisabled) {
1426
+ .ui.inverted.table tr.disabled td,
1427
+ .ui.inverted.table tr td.disabled,
1428
+ .ui.inverted.table tr.disabled:hover td,
1429
+ .ui.inverted.table tr:hover td.disabled {
1430
+ pointer-events: none;
1431
+ color: @invertedDisabledTextColor;
1432
+ }
1433
+ .ui.ui.ui.inverted.table tr td.disabled:not([class="disabled"]),
1434
+ .ui.inverted.table tr.disabled:not([class="disabled"]) td,
1435
+ .ui.inverted.table tr.disabled td[class]:not(.disabled),
1436
+ .ui.inverted.table tr:hover td.disabled:not([class="disabled"]) {
1437
+ color: @disabledTextColor;
1438
+ }
1119
1439
  }
1120
1440
  & when (@variationTableDefinition) {
1121
1441
  /* Definition */
@@ -1633,7 +1633,7 @@ $.fn.dropdown = function(parameters) {
1633
1633
  .addClass(className.selected)
1634
1634
  ;
1635
1635
  module.set.scrollPosition($nextItem);
1636
- if(settings.selectOnKeydown && module.is.single()) {
1636
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
1637
1637
  module.set.selectedItem($nextItem);
1638
1638
  }
1639
1639
  }
@@ -1660,7 +1660,7 @@ $.fn.dropdown = function(parameters) {
1660
1660
  .addClass(className.selected)
1661
1661
  ;
1662
1662
  module.set.scrollPosition($nextItem);
1663
- if(settings.selectOnKeydown && module.is.single()) {
1663
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
1664
1664
  module.set.selectedItem($nextItem);
1665
1665
  }
1666
1666
  }
@@ -1791,7 +1791,7 @@ $.fn.dropdown = function(parameters) {
1791
1791
  ;
1792
1792
  if( module.can.activate( $(element) ) ) {
1793
1793
  module.set.selected(value, $(element));
1794
- if(!module.is.multiple()) {
1794
+ if(!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
1795
1795
  module.hideAndClear();
1796
1796
  }
1797
1797
  }
@@ -1804,7 +1804,7 @@ $.fn.dropdown = function(parameters) {
1804
1804
  ;
1805
1805
  if( module.can.activate( $(element) ) ) {
1806
1806
  module.set.value(value, text, $(element));
1807
- if(!module.is.multiple()) {
1807
+ if(!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
1808
1808
  module.hideAndClear();
1809
1809
  }
1810
1810
  }
@@ -2428,7 +2428,7 @@ $.fn.dropdown = function(parameters) {
2428
2428
  $nextSelectedItem
2429
2429
  .addClass(className.selected)
2430
2430
  ;
2431
- if(settings.selectOnKeydown && module.is.single()) {
2431
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
2432
2432
  module.set.selectedItem($nextSelectedItem);
2433
2433
  }
2434
2434
  $menu
@@ -2631,7 +2631,7 @@ $.fn.dropdown = function(parameters) {
2631
2631
  module.set.scrollPosition($nextValue);
2632
2632
  $selectedItem.removeClass(className.selected);
2633
2633
  $nextValue.addClass(className.selected);
2634
- if(settings.selectOnKeydown && module.is.single()) {
2634
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
2635
2635
  module.set.selectedItem($nextValue);
2636
2636
  }
2637
2637
  }
@@ -2769,17 +2769,24 @@ $.fn.dropdown = function(parameters) {
2769
2769
 
2770
2770
  isFiltered = $selected.hasClass(className.filtered),
2771
2771
  isActive = $selected.hasClass(className.active),
2772
+ isActionable = $selected.hasClass(className.actionable),
2772
2773
  isUserValue = $selected.hasClass(className.addition),
2773
2774
  shouldAnimate = (isMultiple && $selectedItem.length == 1)
2774
2775
  ;
2775
- if(isMultiple) {
2776
+ if(isActionable){
2777
+ if((!isMultiple || (!isActive || isUserValue)) && settings.apiSettings && settings.saveRemoteData) {
2778
+ module.save.remoteData(selectedText, selectedValue);
2779
+ }
2780
+ settings.onActionable.call(element, selectedValue, selectedText, $selected);
2781
+ }
2782
+ else if(isMultiple) {
2776
2783
  if(!isActive || isUserValue) {
2777
2784
  if(settings.apiSettings && settings.saveRemoteData) {
2778
2785
  module.save.remoteData(selectedText, selectedValue);
2779
2786
  }
2780
2787
  if(settings.useLabels) {
2781
- module.add.label(selectedValue, selectedText, shouldAnimate);
2782
2788
  module.add.value(selectedValue, selectedText, $selected);
2789
+ module.add.label(selectedValue, selectedText, shouldAnimate);
2783
2790
  module.set.activeItem($selected);
2784
2791
  module.filterActive();
2785
2792
  module.select.nextAvailable($selectedItem);
@@ -2799,7 +2806,7 @@ $.fn.dropdown = function(parameters) {
2799
2806
  if(settings.apiSettings && settings.saveRemoteData) {
2800
2807
  module.save.remoteData(selectedText, selectedValue);
2801
2808
  }
2802
- if (!keepSearchTerm) {
2809
+ if (!keepSearchTerm && !$selected.hasClass(className.actionable)) {
2803
2810
  module.set.text(selectedText);
2804
2811
  }
2805
2812
  module.set.value(selectedValue, selectedText, $selected, preventChangeTrigger);
@@ -2989,7 +2996,7 @@ $.fn.dropdown = function(parameters) {
2989
2996
  }
2990
2997
  // extend current array
2991
2998
  if(Array.isArray(currentValue)) {
2992
- newValue = currentValue.concat([addedValue]);
2999
+ newValue = $selectedItem.hasClass(className.actionable) ? currentValue : currentValue.concat([addedValue]);
2993
3000
  newValue = module.get.uniqueArray(newValue);
2994
3001
  }
2995
3002
  else {
@@ -4020,6 +4027,8 @@ $.fn.dropdown.settings = {
4020
4027
 
4021
4028
  headerDivider : true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
4022
4029
 
4030
+ collapseOnActionable : true, // whether the dropdown should collapse upon selection of an actionable item
4031
+
4023
4032
  // label settings on multi-select
4024
4033
  label: {
4025
4034
  transition : 'scale',
@@ -4039,6 +4048,7 @@ $.fn.dropdown.settings = {
4039
4048
  onChange : function(value, text, $selected){},
4040
4049
  onAdd : function(value, text, $selected){},
4041
4050
  onRemove : function(value, text, $selected){},
4051
+ onActionable : function(value, text, $selected){},
4042
4052
  onSearch : function(searchTerm){},
4043
4053
 
4044
4054
  onLabelSelect : function($selectedLabels){},
@@ -4101,7 +4111,8 @@ $.fn.dropdown.settings = {
4101
4111
  icon : 'icon', // optional icon name
4102
4112
  iconClass : 'iconClass', // optional individual class for icon (for example to use flag instead)
4103
4113
  class : 'class', // optional individual class for item/header
4104
- divider : 'divider' // optional divider append for group headers
4114
+ divider : 'divider', // optional divider append for group headers
4115
+ actionable : 'actionable' // optional actionable item
4105
4116
  },
4106
4117
 
4107
4118
  keys : {
@@ -4173,7 +4184,8 @@ $.fn.dropdown.settings = {
4173
4184
  header : 'header',
4174
4185
  divider : 'divider',
4175
4186
  groupIcon : '',
4176
- unfilterable : 'unfilterable'
4187
+ unfilterable : 'unfilterable',
4188
+ actionable : 'actionable'
4177
4189
  }
4178
4190
 
4179
4191
  };
@@ -4248,6 +4260,9 @@ $.fn.dropdown.settings.templates = {
4248
4260
  maybeText = (option[fields.text])
4249
4261
  ? ' data-text="' + deQuote(option[fields.text],true) + '"'
4250
4262
  : '',
4263
+ maybeActionable = (option[fields.actionable])
4264
+ ? className.actionable+' '
4265
+ : '',
4251
4266
  maybeDisabled = (option[fields.disabled])
4252
4267
  ? className.disabled+' '
4253
4268
  : '',
@@ -4256,7 +4271,7 @@ $.fn.dropdown.settings.templates = {
4256
4271
  : '',
4257
4272
  hasDescription = (escape(option[fields.description] || '', preserveHTML) != '')
4258
4273
  ;
4259
- html += '<div class="'+ maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
4274
+ html += '<div class="'+ maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
4260
4275
  if (isMenu) {
4261
4276
  html += '<i class="'+ (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
4262
4277
  }