fomantic-ui 2.9.0-beta.275 → 2.9.0-beta.278

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 (158) 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 +6 -1
  12. package/dist/components/button.min.css +2 -2
  13. package/dist/components/calendar.css +1 -1
  14. package/dist/components/calendar.js +78 -63
  15. package/dist/components/calendar.min.css +1 -1
  16. package/dist/components/calendar.min.js +2 -2
  17. package/dist/components/card.css +721 -91
  18. package/dist/components/card.min.css +2 -2
  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 +32 -13
  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 -5
  80. package/dist/components/popup.js +1 -1
  81. package/dist/components/popup.min.css +2 -2
  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 +1 -1
  132. package/dist/components/table.min.css +1 -1
  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 +840 -144
  146. package/dist/semantic.js +133 -99
  147. package/dist/semantic.min.css +2 -2
  148. package/dist/semantic.min.js +2 -2
  149. package/package.json +3 -2
  150. package/src/definitions/elements/button.less +15 -10
  151. package/src/definitions/modules/calendar.js +77 -62
  152. package/src/definitions/modules/dropdown.js +31 -12
  153. package/src/definitions/modules/popup.less +0 -4
  154. package/src/definitions/views/card.less +114 -10
  155. package/src/themes/default/globals/variation.variables +1 -0
  156. package/src/themes/default/modules/popup.variables +0 -2
  157. package/src/themes/default/views/card.variables +8 -0
  158. package/tasks/config/project/install.js +4 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fomantic-ui",
3
- "version": "2.9.0-beta.275+3f2aae7",
3
+ "version": "2.9.0-beta.278+4d5303c",
4
4
  "description": "Fomantic empowers designers and developers by creating a shared vocabulary for UI.",
5
5
  "keywords": [
6
6
  "fomantic-ui",
@@ -29,6 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@actions/core": "^1.6.0",
32
+ "@octokit/core": ">=3",
32
33
  "@octokit/rest": "^16.16.0",
33
34
  "better-console": "1.0.1",
34
35
  "browserslist": "^4.19.1",
@@ -73,7 +74,7 @@
73
74
  },
74
75
  "devDependencies": {
75
76
  "all-contributors-cli": "^6.7.0",
76
- "auto-changelog": "^1.15.0",
77
+ "auto-changelog": "^2.4.0",
77
78
  "node-fetch": "^2.6.0",
78
79
  "semver": "^7.3.5"
79
80
  },
@@ -169,19 +169,24 @@
169
169
 
170
170
  box-shadow: 0 0 0 1px transparent;
171
171
  }
172
- }
173
- & when (@variationButtonLabeledIcon){
174
- .ui.labeled.icon.loading.button .icon {
172
+ .ui.ui.ui.loading.button .label {
175
173
  background-color: transparent;
176
- box-shadow: none;
174
+ border-color: transparent;
175
+ color: transparent;
177
176
  }
178
- }
179
- & when (@variationButtonBasic){
180
- .ui.basic.loading.button:not(.inverted)::before {
181
- border-color: @loaderFillColor;
177
+ & when (@variationButtonLabeledIcon){
178
+ .ui.labeled.icon.loading.button .icon {
179
+ background-color: transparent;
180
+ box-shadow: none;
181
+ }
182
182
  }
183
- .ui.basic.loading.button:not(.inverted)::after {
184
- border-color: @loaderLineColor;
183
+ & when (@variationButtonBasic){
184
+ .ui.basic.loading.button:not(.inverted)::before {
185
+ border-color: @loaderFillColor;
186
+ }
187
+ .ui.basic.loading.button:not(.inverted)::after {
188
+ border-color: @loaderLineColor;
189
+ }
185
190
  }
186
191
  }
187
192
  & when (@variationButtonDisabled){
@@ -322,7 +322,7 @@ $.fn.calendar = function(parameters) {
322
322
  var headerDate = isYear || isMonth ? new Date(year, 0, 1) :
323
323
  isDay ? new Date(year, month, 1) : new Date(year, month, day, hour, minute);
324
324
  var headerText = $('<span/>').addClass(className.link).appendTo(cell);
325
- headerText.text(formatter.header(headerDate, mode, settings));
325
+ headerText.text(module.helper.dateFormat(formatter[mode+'Header'], headerDate));
326
326
  var newMode = isMonth ? (settings.disableYear ? 'day' : 'year') :
327
327
  isDay ? (settings.disableMonth ? 'year' : 'month') : 'day';
328
328
  headerText.data(metadata.mode, newMode);
@@ -370,7 +370,7 @@ $.fn.calendar = function(parameters) {
370
370
  isHour ? new Date(year, month, day, i) : new Date(year, month, day, hour, i * settings.minTimeGap);
371
371
  var cellText = isYear ? i :
372
372
  isMonth ? settings.text.monthsShort[i] : isDay ? cellDate.getDate() :
373
- formatter.time(cellDate, settings, true);
373
+ module.helper.dateFormat(formatter.cellTime,cellDate);
374
374
  cell = $('<td/>').addClass(className.cell).appendTo(row);
375
375
  cell.text(cellText);
376
376
  cell.data(metadata.date, cellDate);
@@ -651,7 +651,7 @@ $.fn.calendar = function(parameters) {
651
651
  $container.removeClass(className.active);
652
652
  if (settings.formatInput) {
653
653
  var date = module.get.date();
654
- var text = formatter.datetime(date, settings);
654
+ var text = module.helper.dateFormat(formatter[settings.type], date);
655
655
  $input.val(text);
656
656
  }
657
657
  if(selectionComplete){
@@ -722,6 +722,9 @@ $.fn.calendar = function(parameters) {
722
722
  return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1;
723
723
  }();
724
724
  },
725
+ formattedDate: function(format, date) {
726
+ return module.helper.dateFormat(format || formatter[settings.type], date || module.get.date());
727
+ },
725
728
  date: function () {
726
729
  return module.helper.sanitiseDate($module.data(metadata.date)) || null;
727
730
  },
@@ -815,7 +818,7 @@ $.fn.calendar = function(parameters) {
815
818
  date = module.helper.dateInRange(date);
816
819
 
817
820
  var mode = module.get.mode();
818
- var text = formatter.datetime(date, settings);
821
+ var text = module.helper.dateFormat(formatter[settings.type],date);
819
822
 
820
823
  if (fireChange && settings.onBeforeChange.call(element, date, text, mode) === false) {
821
824
  return false;
@@ -986,6 +989,60 @@ $.fn.calendar = function(parameters) {
986
989
  },
987
990
 
988
991
  helper: {
992
+ dateFormat: function(format,date) {
993
+ if (!(date instanceof Date)) {
994
+ return '';
995
+ }
996
+ if(typeof format === 'function') {
997
+ return format.call(module, date, settings);
998
+ }
999
+
1000
+ var D = date.getDate(),
1001
+ M = date.getMonth(),
1002
+ Y = date.getFullYear(),
1003
+ d = date.getDay(),
1004
+ H = date.getHours(),
1005
+ m = date.getMinutes(),
1006
+ s = date.getSeconds(),
1007
+ w = module.get.weekOfYear(Y,M,D+1-settings.firstDayOfWeek),
1008
+ h = H % 12 || 12,
1009
+ a = H < 12 ? settings.text.am.toLowerCase() : settings.text.pm.toLowerCase(),
1010
+ tokens = {
1011
+ D: D,
1012
+ DD: ('0'+D).slice(-2),
1013
+ M: M + 1,
1014
+ MM: ('0'+(M+1)).slice(-2),
1015
+ MMM: settings.text.monthsShort[M],
1016
+ MMMM: settings.text.months[M],
1017
+ Y: Y,
1018
+ YY: String(Y).slice(2),
1019
+ YYYY: Y,
1020
+ d: d,
1021
+ dd: settings.text.dayNamesShort[d].slice(0,2),
1022
+ ddd: settings.text.dayNamesShort[d],
1023
+ dddd: settings.text.dayNames[d],
1024
+ h: h,
1025
+ hh: ('0'+h).slice(-2),
1026
+ H: H,
1027
+ HH: ('0'+H).slice(-2),
1028
+ m: m,
1029
+ mm: ('0'+m).slice(-2),
1030
+ s: s,
1031
+ ss: ('0'+s).slice(-2),
1032
+ a: a,
1033
+ A: a.toUpperCase(),
1034
+ S: ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D % 100 - D % 10 !== 10) * D % 10],
1035
+ w: w,
1036
+ ww: ('0'+w).slice(-2)
1037
+ }
1038
+ ;
1039
+ return format.replace(settings.regExp.token, function (match) {
1040
+ if (match in tokens) {
1041
+ return tokens[match];
1042
+ }
1043
+ return match.slice(1, match.length - 1);
1044
+ });
1045
+ },
989
1046
  isDisabled: function(date, mode) {
990
1047
  return (mode === 'day' || mode === 'month' || mode === 'year' || mode === 'hour') && (((mode === 'day' && settings.disabledDaysOfWeek.indexOf(date.getDay()) !== -1) || settings.disabledDates.some(function(d){
991
1048
  if(typeof d === 'string') {
@@ -1436,7 +1493,7 @@ $.fn.calendar.settings = {
1436
1493
  constantHeight : true, // add rows to shorter months to keep day calendar height consistent (6 rows)
1437
1494
  today : false, // show a 'today/now' button at the bottom of the calendar
1438
1495
  closable : true, // close the popup after selecting a date/time
1439
- monthFirst : true, // month before day when parsing/converting date from/to text
1496
+ monthFirst : true, // month before day when parsing date from text
1440
1497
  touchReadonly : true, // set input to readonly on touch devices
1441
1498
  inline : false, // create the calendar inline instead of inside a popup
1442
1499
  on : null, // when to show the popup (defaults to 'focus' for input, 'click' for others)
@@ -1444,7 +1501,6 @@ $.fn.calendar.settings = {
1444
1501
  startMode : false, // display mode to start in, can be 'year', 'month', 'day', 'hour', 'minute' (false = 'day')
1445
1502
  minDate : null, // minimum date/time that can be selected, dates/times before are disabled
1446
1503
  maxDate : null, // maximum date/time that can be selected, dates/times after are disabled
1447
- ampm : true, // show am/pm in time mode
1448
1504
  disableYear : false, // disable year selection mode
1449
1505
  disableMonth : false, // disable month selection mode
1450
1506
  disableMinute : false, // disable minute selection mode
@@ -1454,7 +1510,7 @@ $.fn.calendar.settings = {
1454
1510
  multiMonth : 1, // show multiple months when in 'day' mode
1455
1511
  monthOffset : 0, // position current month by offset when multimonth > 1
1456
1512
  minTimeGap : 5,
1457
- showWeekNumbers : null, // show Number of Week at the very first column of a dayView
1513
+ showWeekNumbers : false, // show Number of Week at the very first column of a dayView
1458
1514
  disabledHours : [], // specific hour(s) which won't be selectable and contain additional information.
1459
1515
  disabledDates : [], // specific day(s) which won't be selectable and contain additional information.
1460
1516
  disabledDaysOfWeek : [], // day(s) which won't be selectable(s) (0 = Sunday)
@@ -1474,6 +1530,8 @@ $.fn.calendar.settings = {
1474
1530
 
1475
1531
  text: {
1476
1532
  days: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
1533
+ dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
1534
+ dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
1477
1535
  months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
1478
1536
  monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
1479
1537
  today: 'Today',
@@ -1484,67 +1542,23 @@ $.fn.calendar.settings = {
1484
1542
  },
1485
1543
 
1486
1544
  formatter: {
1487
- header: function (date, mode, settings) {
1488
- return mode === 'year' ? settings.formatter.yearHeader(date, settings) :
1489
- mode === 'month' ? settings.formatter.monthHeader(date, settings) :
1490
- mode === 'day' ? settings.formatter.dayHeader(date, settings) :
1491
- mode === 'hour' ? settings.formatter.hourHeader(date, settings) :
1492
- settings.formatter.minuteHeader(date, settings);
1493
- },
1494
1545
  yearHeader: function (date, settings) {
1495
1546
  var decadeYear = Math.ceil(date.getFullYear() / 10) * 10;
1496
1547
  return (decadeYear - 9) + ' - ' + (decadeYear + 2);
1497
1548
  },
1498
- monthHeader: function (date, settings) {
1499
- return date.getFullYear();
1500
- },
1501
- dayHeader: function (date, settings) {
1502
- var month = settings.text.months[date.getMonth()];
1503
- var year = date.getFullYear();
1504
- return month + ' ' + year;
1505
- },
1506
- hourHeader: function (date, settings) {
1507
- return settings.formatter.date(date, settings);
1508
- },
1509
- minuteHeader: function (date, settings) {
1510
- return settings.formatter.date(date, settings);
1511
- },
1549
+ monthHeader: 'YYYY',
1550
+ dayHeader: 'MMMM YYYY',
1551
+ hourHeader: 'MMMM D, YYYY',
1552
+ minuteHeader: 'MMMM D, YYYY',
1512
1553
  dayColumnHeader: function (day, settings) {
1513
1554
  return settings.text.days[day];
1514
1555
  },
1515
- datetime: function (date, settings) {
1516
- if (!date) {
1517
- return '';
1518
- }
1519
- var day = settings.type === 'time' ? '' : settings.formatter.date(date, settings);
1520
- var time = settings.type.indexOf('time') < 0 ? '' : settings.formatter.time(date, settings, false);
1521
- var separator = settings.type === 'datetime' ? ' ' : '';
1522
- return day + separator + time;
1523
- },
1524
- date: function (date, settings) {
1525
- if (!date) {
1526
- return '';
1527
- }
1528
- var day = date.getDate();
1529
- var month = settings.text.months[date.getMonth()];
1530
- var year = date.getFullYear();
1531
- return settings.type === 'year' ? year :
1532
- settings.type === 'month' ? month + ' ' + year :
1533
- (settings.monthFirst ? month + ' ' + day : day + ' ' + month) + ', ' + year;
1534
- },
1535
- time: function (date, settings, forCalendar) {
1536
- if (!date) {
1537
- return '';
1538
- }
1539
- var hour = date.getHours();
1540
- var minute = date.getMinutes();
1541
- var ampm = '';
1542
- if (settings.ampm) {
1543
- ampm = ' ' + (hour < 12 ? settings.text.am : settings.text.pm);
1544
- hour = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;
1545
- }
1546
- return hour + ':' + (minute < 10 ? '0' : '') + minute + ampm;
1547
- },
1556
+ datetime: 'MMMM D, YYYY h:mm A',
1557
+ date: 'MMMM D, YYYY',
1558
+ time: 'h:mm A',
1559
+ cellTime: 'h:mm A',
1560
+ month: 'MMMM YYYY',
1561
+ year: 'YYYY',
1548
1562
  today: function (settings) {
1549
1563
  return settings.type === 'date' ? settings.text.today : settings.text.now;
1550
1564
  },
@@ -1813,7 +1827,8 @@ $.fn.calendar.settings = {
1813
1827
 
1814
1828
  regExp: {
1815
1829
  dateWords: /[^A-Za-z\u00C0-\u024F]+/g,
1816
- dateNumbers: /[^\d:]+/g
1830
+ dateNumbers: /[^\d:]+/g,
1831
+ token: /d{1,4}|D{1,2}|M{1,4}|YY(?:YY)?|([Hhmsw])\1?|[SAaY]|"[^"]*"|'[^']*'/g
1817
1832
  },
1818
1833
 
1819
1834
  error: {
@@ -1053,7 +1053,7 @@ $.fn.dropdown = function(parameters) {
1053
1053
  menuConfig[fields.values] = values;
1054
1054
  module.setup.menu(menuConfig);
1055
1055
  $.each(values, function(index, item) {
1056
- if(item.selected == true) {
1056
+ if(item.selected === true) {
1057
1057
  module.debug('Setting initial selection to', item[fields.value]);
1058
1058
  module.set.selected(item[fields.value]);
1059
1059
  if(!module.is.multiple()) {
@@ -1399,7 +1399,7 @@ $.fn.dropdown = function(parameters) {
1399
1399
  module.remove.userAddition();
1400
1400
  }
1401
1401
  module.remove.searchTerm();
1402
- if(!module.is.focusedOnSearch() && !(skipRefocus == true)) {
1402
+ if(!module.is.focusedOnSearch() && skipRefocus !== true) {
1403
1403
  module.focusSearch(true);
1404
1404
  }
1405
1405
  }
@@ -2651,7 +2651,7 @@ $.fn.dropdown = function(parameters) {
2651
2651
  }
2652
2652
  },
2653
2653
  direction: function($menu) {
2654
- if(settings.direction == 'auto') {
2654
+ if(settings.direction === 'auto') {
2655
2655
  // reset position, remove upward if it's base menu
2656
2656
  if (!$menu) {
2657
2657
  module.remove.upward();
@@ -2670,7 +2670,7 @@ $.fn.dropdown = function(parameters) {
2670
2670
  module.set.leftward($menu);
2671
2671
  }
2672
2672
  }
2673
- else if(settings.direction == 'upward') {
2673
+ else if(settings.direction === 'upward') {
2674
2674
  module.set.upward($menu);
2675
2675
  }
2676
2676
  },
@@ -2683,6 +2683,11 @@ $.fn.dropdown = function(parameters) {
2683
2683
  $element.addClass(className.leftward);
2684
2684
  },
2685
2685
  value: function(value, text, $selected, preventChangeTrigger) {
2686
+ if(typeof text === 'boolean') {
2687
+ preventChangeTrigger = text;
2688
+ $selected = undefined;
2689
+ text = undefined;
2690
+ }
2686
2691
  if(value !== undefined && value !== '' && !(Array.isArray(value) && value.length === 0)) {
2687
2692
  $input.removeClass(className.noselection);
2688
2693
  } else {
@@ -2746,12 +2751,21 @@ $.fn.dropdown = function(parameters) {
2746
2751
  visible: function() {
2747
2752
  $module.addClass(className.visible);
2748
2753
  },
2749
- exactly: function(value, $selectedItem) {
2754
+ exactly: function(value, $selectedItem, preventChangeTrigger) {
2755
+ if(typeof $selectedItem === 'boolean') {
2756
+ preventChangeTrigger = $selectedItem;
2757
+ $selectedItem = undefined;
2758
+ }
2750
2759
  module.debug('Setting selected to exact values');
2751
2760
  module.clear();
2752
- module.set.selected(value, $selectedItem);
2761
+ module.set.selected(value, $selectedItem, preventChangeTrigger);
2753
2762
  },
2754
2763
  selected: function(value, $selectedItem, preventChangeTrigger, keepSearchTerm) {
2764
+ if(typeof $selectedItem === 'boolean') {
2765
+ keepSearchTerm = preventChangeTrigger;
2766
+ preventChangeTrigger = $selectedItem;
2767
+ $selectedItem = undefined;
2768
+ }
2755
2769
  var
2756
2770
  isMultiple = module.is.multiple()
2757
2771
  ;
@@ -2785,7 +2799,7 @@ $.fn.dropdown = function(parameters) {
2785
2799
  isActive = $selected.hasClass(className.active),
2786
2800
  isActionable = $selected.hasClass(className.actionable),
2787
2801
  isUserValue = $selected.hasClass(className.addition),
2788
- shouldAnimate = (isMultiple && $selectedItem.length == 1)
2802
+ shouldAnimate = (isMultiple && $selectedItem && $selectedItem.length === 1)
2789
2803
  ;
2790
2804
  if(isActionable){
2791
2805
  if((!isMultiple || (!isActive || isUserValue)) && settings.apiSettings && settings.saveRemoteData) {
@@ -2799,14 +2813,14 @@ $.fn.dropdown = function(parameters) {
2799
2813
  module.save.remoteData(selectedText, selectedValue);
2800
2814
  }
2801
2815
  if(settings.useLabels) {
2802
- module.add.value(selectedValue, selectedText, $selected);
2816
+ module.add.value(selectedValue, selectedText, $selected, preventChangeTrigger);
2803
2817
  module.add.label(selectedValue, selectedText, shouldAnimate);
2804
2818
  module.set.activeItem($selected);
2805
2819
  module.filterActive();
2806
2820
  module.select.nextAvailable($selectedItem);
2807
2821
  }
2808
2822
  else {
2809
- module.add.value(selectedValue, selectedText, $selected);
2823
+ module.add.value(selectedValue, selectedText, $selected, preventChangeTrigger);
2810
2824
  module.set.text(module.add.variables(message.count));
2811
2825
  module.set.activeItem($selected);
2812
2826
  }
@@ -2995,7 +3009,12 @@ $.fn.dropdown = function(parameters) {
2995
3009
  }
2996
3010
  return message;
2997
3011
  },
2998
- value: function(addedValue, addedText, $selectedItem) {
3012
+ value: function(addedValue, addedText, $selectedItem, preventChangeTrigger) {
3013
+ if(typeof addedText === 'boolean') {
3014
+ preventChangeTrigger = addedText;
3015
+ $selectedItem = undefined;
3016
+ addedText = undefined;
3017
+ }
2999
3018
  var
3000
3019
  currentValue = module.get.values(true),
3001
3020
  newValue
@@ -3010,7 +3029,7 @@ $.fn.dropdown = function(parameters) {
3010
3029
  }
3011
3030
  // extend current array
3012
3031
  if(Array.isArray(currentValue)) {
3013
- newValue = $selectedItem.hasClass(className.actionable) ? currentValue : currentValue.concat([addedValue]);
3032
+ newValue = $selectedItem && $selectedItem.hasClass(className.actionable) ? currentValue : currentValue.concat([addedValue]);
3014
3033
  newValue = module.get.uniqueArray(newValue);
3015
3034
  }
3016
3035
  else {
@@ -3034,7 +3053,7 @@ $.fn.dropdown = function(parameters) {
3034
3053
  else {
3035
3054
  settings.onAdd.call(element, addedValue, addedText, $selectedItem);
3036
3055
  }
3037
- module.set.value(newValue, addedText, $selectedItem);
3056
+ module.set.value(newValue, addedText, $selectedItem, preventChangeTrigger);
3038
3057
  module.check.maxSelections();
3039
3058
  },
3040
3059
  },
@@ -243,10 +243,6 @@
243
243
  border: @tooltipInvertedBorder;
244
244
  box-shadow: @tooltipInvertedBoxShadow;
245
245
  }
246
- [data-tooltip][data-inverted]::after .header {
247
- background: @tooltipInvertedHeaderBackground;
248
- color: @tooltipInvertedHeaderColor;
249
- }
250
246
  }
251
247
 
252
248
  & when (@variationPopupPosition) {
@@ -358,6 +358,28 @@
358
358
  }
359
359
  }
360
360
 
361
+ & when (@variationCardBasic) {
362
+ /*--------------
363
+ Basic
364
+ ---------------*/
365
+ .ui.cards:not(.raised) > .basic.card:not(.raised),
366
+ .ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised),
367
+ .ui.ui.ui.basic.card:not(.raised) {
368
+ box-shadow: none;
369
+ & > .buttons,
370
+ > .button {
371
+ margin: 0;
372
+ width: 100%;
373
+ }
374
+ }
375
+ & when (@variationCardLink) {
376
+ .ui.ui.ui.ui.ui.basic.card:not(.raised):hover,
377
+ .ui.ui.ui.ui.ui.basic.cards:not(.raised) .card:not(.raised):hover {
378
+ box-shadow: none;
379
+ }
380
+ }
381
+ }
382
+
361
383
  /*--------------
362
384
  Dimmer
363
385
  ---------------*/
@@ -561,6 +583,7 @@
561
583
  Raised
562
584
  --------------------*/
563
585
 
586
+ .ui.cards > .raised.card,
564
587
  .ui.raised.cards > .card,
565
588
  .ui.raised.card {
566
589
  box-shadow: @raisedShadow;
@@ -573,6 +596,24 @@
573
596
  box-shadow: @raisedShadowHover;
574
597
  }
575
598
  }
599
+ & when (@variationCardBasic) {
600
+ .ui.basic.cards > .raised.card,
601
+ .ui.basic.raised.cards > .card,
602
+ .ui.raised.cards > .basic.card,
603
+ .ui.basic.raised.card {
604
+ box-shadow: @basicRaisedShadow;
605
+ }
606
+ & when (@variationCardLink) {
607
+ .ui.basic.raised.cards a.card:hover,
608
+ .ui.link.cards .basic.raised.card:hover,
609
+ .ui.link.basic.cards .raised.card:hover,
610
+ .ui.link.basic.raised.cards .card:hover,
611
+ a.ui.basic.raised.card:hover,
612
+ .ui.link.basic.raised.card:hover {
613
+ box-shadow: @basicRaisedShadowHover;
614
+ }
615
+ }
616
+ }
576
617
  }
577
618
 
578
619
  & when (@variationCardCentered) {
@@ -636,6 +677,7 @@
636
677
  @h: @colors[@@color][hover];
637
678
  @l: @colors[@@color][light];
638
679
  @lh: @colors[@@color][lightHover];
680
+ @isVeryDark: @colors[@@color][isVeryDark];
639
681
 
640
682
  .ui.@{color}.cards > .card,
641
683
  .ui.cards > .@{color}.card,
@@ -645,14 +687,49 @@
645
687
  0 @coloredShadowDistance 0 0 @c,
646
688
  @shadowBoxShadow
647
689
  ;
648
- &:hover {
649
- box-shadow:
650
- @borderShadow,
651
- 0 @coloredShadowDistance 0 0 @h,
652
- @shadowHoverBoxShadow
690
+ }
691
+ & when (@variationCardLink) {
692
+ .ui.cards a.@{color}.card:hover,
693
+ .ui.@{color}.cards a.card:hover,
694
+ .ui.link.@{color}.cards .card:not(.icon):hover,
695
+ .ui.link.cards .@{color}.card:not(.icon):hover,
696
+ a.ui.@{color}.card:hover,
697
+ .ui.link.@{color}.card:hover {
698
+ box-shadow:
699
+ @borderShadow,
700
+ 0 @coloredShadowDistance 0 0 @h,
701
+ @shadowHoverBoxShadow
653
702
  ;
654
703
  }
655
704
  }
705
+ & when (@variationCardBasic) {
706
+ .ui.cards > .basic.@{color}.card,
707
+ .ui.basic.@{color}.cards > .card,
708
+ .ui.basic.cards > .@{color}.card,
709
+ .ui.basic.@{color}.card {
710
+ background: @l;
711
+ & when (@isVeryDark) {
712
+ & .header,
713
+ .content,
714
+ .meta,
715
+ .description {
716
+ color: @white;
717
+ }
718
+ }
719
+ }
720
+ & when (@variationCardLink) {
721
+ .ui.basic.cards a.@{color}.card:hover,
722
+ .ui.cards a.basic.@{color}.card:hover,
723
+ .ui.basic.@{color}.cards a.card:hover,
724
+ .ui.link.cards .basic.@{color}.card:not(.icon):hover,
725
+ .ui.link.basic.@{color}.cards .card:not(.icon):hover,
726
+ .ui.link.basic.cards .@{color}.card:not(.icon):hover,
727
+ a.ui.basic.@{color}.card:hover,
728
+ .ui.link.basic.@{color}.card:hover {
729
+ background: @lh;
730
+ }
731
+ }
732
+ }
656
733
  & when (@variationCardInverted) {
657
734
  .ui.inverted.@{color}.cards > .card,
658
735
  .ui.inverted.cards > .@{color}.card,
@@ -662,14 +739,41 @@
662
739
  0 @coloredShadowDistance 0 0 @l,
663
740
  0 0 0 @borderWidth @solidWhiteBorderColor
664
741
  ;
665
- &:hover {
666
- box-shadow:
667
- 0 @shadowDistance 3px 0 @solidWhiteBorderColor,
668
- 0 @coloredShadowDistance 0 0 @lh,
669
- 0 0 0 @borderWidth @solidWhiteBorderColor
742
+ }
743
+ & when (@variationCardLink) {
744
+ .ui.inverted.cards a.@{color}.card:hover,
745
+ .ui.inverted.@{color}.cards a.card:hover,
746
+ .ui.link.inverted.@{color}.cards .card:not(.icon):hover,
747
+ .ui.link.inverted.cards .@{color}.card:not(.icon):hover,
748
+ a.ui.inverted.@{color}.card:hover,
749
+ .ui.link.inverted.@{color}.card:hover {
750
+ box-shadow:
751
+ 0 @shadowDistance 3px 0 @solidWhiteBorderColor,
752
+ 0 @coloredShadowDistance 0 0 @lh,
753
+ 0 0 0 @borderWidth @solidWhiteBorderColor
670
754
  ;
671
755
  }
672
756
  }
757
+ & when (@variationCardBasic) {
758
+ .ui.inverted.cards > .basic.@{color}.card,
759
+ .ui.basic.inverted.@{color}.cards > .card,
760
+ .ui.basic.inverted.cards > .@{color}.card,
761
+ .ui.basic.inverted.@{color}.card {
762
+ background: @c;
763
+ }
764
+ & when (@variationCardLink) {
765
+ .ui.inverted.cards a.basic.@{color}.card:hover,
766
+ .ui.basic.inverted.cards a.@{color}.card:hover,
767
+ .ui.basic.inverted.@{color}.cards a.card:hover,
768
+ .ui.link.inverted.cards .basic.@{color}.card:not(.icon):hover,
769
+ .ui.link.basic.inverted.@{color}.cards .card:not(.icon):hover,
770
+ .ui.link.basic.inverted.cards .@{color}.card:not(.icon):hover,
771
+ a.ui.basic.inverted.@{color}.card:hover,
772
+ .ui.link.basic.inverted.@{color}.card:hover {
773
+ background: @h;
774
+ }
775
+ }
776
+ }
673
777
  }
674
778
  })
675
779
  }
@@ -403,6 +403,7 @@
403
403
 
404
404
  /* Card */
405
405
  @variationCardInverted: true;
406
+ @variationCardBasic: true;
406
407
  @variationCardDisabled: true;
407
408
  @variationCardLoading: true;
408
409
  @variationCardHorizontal: true;
@@ -88,8 +88,6 @@
88
88
  @tooltipInvertedColor: @invertedColor;
89
89
  @tooltipInvertedBorder: @invertedBorder;
90
90
  @tooltipInvertedBoxShadow: @invertedBoxShadow;
91
- @tooltipInvertedHeaderBackground: @invertedHeaderBackground;
92
- @tooltipInvertedHeaderColor: @invertedHeaderColor;
93
91
 
94
92
  /* Arrow */
95
93
  @tooltipArrowVerticalOffset: -@2px;
@@ -188,6 +188,14 @@
188
188
  @floatingShadowHover
189
189
  ;
190
190
 
191
+ /* Basic Raised */
192
+ @basicRaisedShadow:
193
+ @floatingShadow
194
+ ;
195
+ @basicRaisedShadowHover:
196
+ @floatingShadowHover
197
+ ;
198
+
191
199
  /* Card Count */
192
200
  @wideCardSpacing: 1em;
193
201
  @cardSpacing: 0.75em;
@@ -140,16 +140,12 @@ module.exports = {
140
140
  folder = pathArray[pathArray.length - 2],
141
141
  nextDirectory = path.join(directory, path.sep, '..')
142
142
  ;
143
- if( folder == 'bower_components') {
144
- moduleFolders++;
145
- }
146
- else if(folder == 'node_modules') {
143
+ if(['bower_components', 'node_modules', 'composer'].includes(folder)) {
147
144
  moduleFolders++;
145
+ } else if(folder === '.pnpm') {
146
+ moduleFolders--;
148
147
  }
149
- else if(folder == 'composer') {
150
- moduleFolders++;
151
- }
152
- if(path.resolve(directory) == path.resolve(nextDirectory)) {
148
+ if(path.resolve(directory) === path.resolve(nextDirectory)) {
153
149
  return (moduleFolders > 1);
154
150
  }
155
151
  // recurse downward