fomantic-ui-sass 2.8.6 → 2.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/app/assets/fonts/semantic-ui/brand-icons.eot +0 -0
  4. data/app/assets/fonts/semantic-ui/brand-icons.svg +6 -41
  5. data/app/assets/fonts/semantic-ui/brand-icons.ttf +0 -0
  6. data/app/assets/fonts/semantic-ui/brand-icons.woff +0 -0
  7. data/app/assets/fonts/semantic-ui/brand-icons.woff2 +0 -0
  8. data/app/assets/fonts/semantic-ui/icons.eot +0 -0
  9. data/app/assets/fonts/semantic-ui/icons.svg +7 -245
  10. data/app/assets/fonts/semantic-ui/icons.ttf +0 -0
  11. data/app/assets/fonts/semantic-ui/icons.woff +0 -0
  12. data/app/assets/fonts/semantic-ui/icons.woff2 +0 -0
  13. data/app/assets/fonts/semantic-ui/outline-icons.eot +0 -0
  14. data/app/assets/fonts/semantic-ui/outline-icons.svg +2 -2
  15. data/app/assets/fonts/semantic-ui/outline-icons.ttf +0 -0
  16. data/app/assets/fonts/semantic-ui/outline-icons.woff +0 -0
  17. data/app/assets/fonts/semantic-ui/outline-icons.woff2 +0 -0
  18. data/app/assets/javascripts/semantic-ui/calendar.js +144 -18
  19. data/app/assets/javascripts/semantic-ui/checkbox.js +1 -1
  20. data/app/assets/javascripts/semantic-ui/dimmer.js +3 -3
  21. data/app/assets/javascripts/semantic-ui/dropdown.js +52 -16
  22. data/app/assets/javascripts/semantic-ui/form.js +34 -8
  23. data/app/assets/javascripts/semantic-ui/progress.js +20 -24
  24. data/app/assets/javascripts/semantic-ui/search.js +1 -0
  25. data/app/assets/javascripts/semantic-ui/slider.js +2 -2
  26. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +23 -69
  27. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +8 -7
  28. data/app/assets/stylesheets/semantic-ui/collections/_message.scss +4 -4
  29. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +3 -3
  30. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +1 -1
  31. data/app/assets/stylesheets/semantic-ui/elements/_header.scss +8 -8
  32. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +7 -1
  33. data/app/assets/stylesheets/semantic-ui/elements/_image.scss +33 -4
  34. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +32 -32
  35. data/app/assets/stylesheets/semantic-ui/elements/_list.scss +12 -12
  36. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +6 -0
  37. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +9 -9
  38. data/app/assets/stylesheets/semantic-ui/elements/_text.scss +12 -0
  39. data/app/assets/stylesheets/semantic-ui/modules/_calendar.scss +16 -9
  40. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +14 -14
  41. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +108 -25
  42. data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +6 -6
  43. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +3 -3
  44. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +2 -0
  45. data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +2 -1
  46. data/app/assets/stylesheets/semantic-ui/modules/_slider.scss +9 -0
  47. data/app/assets/stylesheets/semantic-ui/modules/_toast.scss +7 -7
  48. data/app/assets/stylesheets/semantic-ui/views/_card.scss +1 -1
  49. data/app/assets/stylesheets/semantic-ui/views/_feed.scss +5 -5
  50. data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +4 -4
  51. data/lib/fomantic/ui/sass/version.rb +2 -2
  52. metadata +5 -5
@@ -219,6 +219,7 @@ $.fn.form = function(parameters) {
219
219
  $field.val('');
220
220
  }
221
221
  });
222
+ module.remove.states();
222
223
  },
223
224
 
224
225
  reset: function() {
@@ -259,8 +260,7 @@ $.fn.form = function(parameters) {
259
260
  $field.val(defaultValue);
260
261
  }
261
262
  });
262
-
263
- module.determine.isDirty();
263
+ module.remove.states();
264
264
  },
265
265
 
266
266
  determine: {
@@ -338,18 +338,18 @@ $.fn.form = function(parameters) {
338
338
  blank: function($field) {
339
339
  return String($field.val()).trim() === '';
340
340
  },
341
- valid: function(field) {
341
+ valid: function(field, showErrors) {
342
342
  var
343
343
  allValid = true
344
344
  ;
345
345
  if(field) {
346
346
  module.verbose('Checking if field is valid', field);
347
- return module.validate.field(validation[field], field, false);
347
+ return module.validate.field(validation[field], field, !!showErrors);
348
348
  }
349
349
  else {
350
350
  module.verbose('Checking if form is valid');
351
351
  $.each(validation, function(fieldName, field) {
352
- if( !module.is.valid(fieldName) ) {
352
+ if( !module.is.valid(fieldName, showErrors) ) {
353
353
  allValid = false;
354
354
  }
355
355
  });
@@ -366,9 +366,15 @@ $.fn.form = function(parameters) {
366
366
  var initialValue = $el.data(metadata.defaultValue);
367
367
  // Explicitly check for null/undefined here as value may be `false`, so ($el.data(dataInitialValue) || '') would not work
368
368
  if (initialValue == null) { initialValue = ''; }
369
+ else if(Array.isArray(initialValue)) {
370
+ initialValue = initialValue.toString();
371
+ }
369
372
  var currentValue = $el.val();
370
373
  if (currentValue == null) { currentValue = ''; }
371
-
374
+ // multiple select values are returned as arrays which are never equal, so do string conversion first
375
+ else if(Array.isArray(currentValue)) {
376
+ currentValue = currentValue.toString();
377
+ }
372
378
  // Boolean values can be encoded as "true/false" or "True/False" depending on underlying frameworks so we need a case insensitive comparison
373
379
  var boolRegex = /^(true|false)$/i;
374
380
  var isBoolValue = boolRegex.test(initialValue) && boolRegex.test(currentValue);
@@ -461,6 +467,9 @@ $.fn.form = function(parameters) {
461
467
  module.timer = setTimeout(function() {
462
468
  module.debug('Revalidating field', $field, module.get.validation($field));
463
469
  module.validate.field( validationRules );
470
+ if(!settings.inline) {
471
+ module.validate.form(false,true);
472
+ }
464
473
  }, settings.delay);
465
474
  }
466
475
  }
@@ -918,6 +927,17 @@ $.fn.form = function(parameters) {
918
927
  },
919
928
 
920
929
  remove: {
930
+ errors: function() {
931
+ module.debug('Removing form error messages');
932
+ $message.empty();
933
+ },
934
+ states: function() {
935
+ $module.removeClass(className.error).removeClass(className.success);
936
+ if(!settings.inline) {
937
+ module.remove.errors();
938
+ }
939
+ module.determine.isDirty();
940
+ },
921
941
  rule: function(field, rule) {
922
942
  var
923
943
  rules = Array.isArray(rule)
@@ -1163,12 +1183,16 @@ $.fn.form = function(parameters) {
1163
1183
  if( module.determine.isValid() ) {
1164
1184
  module.debug('Form has no validation errors, submitting');
1165
1185
  module.set.success();
1186
+ if(!settings.inline) {
1187
+ module.remove.errors();
1188
+ }
1166
1189
  if(ignoreCallbacks !== true) {
1167
1190
  return settings.onSuccess.call(element, event, values);
1168
1191
  }
1169
1192
  }
1170
1193
  else {
1171
1194
  module.debug('Form has errors');
1195
+ submitting = false;
1172
1196
  module.set.error();
1173
1197
  if(!settings.inline) {
1174
1198
  module.add.errors(formErrors);
@@ -1218,7 +1242,9 @@ $.fn.form = function(parameters) {
1218
1242
  module.debug('Field depends on another value that is not present or empty. Skipping', $dependsField);
1219
1243
  }
1220
1244
  else if(field.rules !== undefined) {
1221
- $field.closest($group).removeClass(className.error);
1245
+ if(showErrors) {
1246
+ $field.closest($group).removeClass(className.error);
1247
+ }
1222
1248
  $.each(field.rules, function(index, rule) {
1223
1249
  if( module.has.field(identifier)) {
1224
1250
  var invalidFields = module.validate.rule(field, rule,true) || [];
@@ -1545,7 +1571,7 @@ $.fn.form.settings = {
1545
1571
  selector : {
1546
1572
  checkbox : 'input[type="checkbox"], input[type="radio"]',
1547
1573
  clear : '.clear',
1548
- field : 'input, textarea, select',
1574
+ field : 'input:not(.search), textarea, select',
1549
1575
  group : '.field',
1550
1576
  input : 'input',
1551
1577
  message : '.error.message',
@@ -169,7 +169,7 @@ $.fn.progress = function(parameters) {
169
169
  value : module.helper.forceArray($module.data(metadata.value))
170
170
  }
171
171
  ;
172
- if(data.total) {
172
+ if(data.total !== undefined) {
173
173
  module.debug('Total value set from metadata', data.total);
174
174
  module.set.total(data.total);
175
175
  }
@@ -272,18 +272,18 @@ $.fn.progress = function(parameters) {
272
272
  var
273
273
  index_ = index || 0,
274
274
  value = module.get.value(index_),
275
- total = module.total || 0,
275
+ total = module.get.total(),
276
276
  percent = (animating)
277
277
  ? module.get.displayPercent(index_)
278
278
  : module.get.percent(index_),
279
- left = (module.total > 0)
280
- ? (total - value)
279
+ left = (total !== false)
280
+ ? Math.max(0,total - value)
281
281
  : (100 - percent)
282
282
  ;
283
283
  templateText = templateText || '';
284
284
  templateText = templateText
285
285
  .replace('{value}', value)
286
- .replace('{total}', total)
286
+ .replace('{total}', total || 0)
287
287
  .replace('{left}', left)
288
288
  .replace('{percent}', percent)
289
289
  .replace('{bar}', settings.text.bars[index_] || '')
@@ -373,7 +373,7 @@ $.fn.progress = function(parameters) {
373
373
  return module.nextValue || module.value && module.value[index || 0] || 0;
374
374
  },
375
375
  total: function() {
376
- return module.total || false;
376
+ return module.total !== undefined ? module.total : false;
377
377
  }
378
378
  },
379
379
 
@@ -506,23 +506,23 @@ $.fn.progress = function(parameters) {
506
506
  ;
507
507
  });
508
508
  var hasTotal = module.has.total();
509
- var totalPecent = module.helper.sum(percents);
510
- var isMultpleValues = percents.length > 1 && hasTotal;
509
+ var totalPercent = module.helper.sum(percents);
510
+ var isMultipleValues = percents.length > 1 && hasTotal;
511
511
  var sumTotal = module.helper.sum(module.helper.forceArray(module.value));
512
- if (isMultpleValues && sumTotal > module.total) {
512
+ if (isMultipleValues && sumTotal > module.total) {
513
513
  // Sum values instead of pecents to avoid precision issues when summing floats
514
514
  module.error(error.sumExceedsTotal, sumTotal, module.total);
515
- } else if (!isMultpleValues && totalPecent > 100) {
516
- // Sum before rouding since sum of rounded may have error though sum of actual is fine
517
- module.error(error.tooHigh, totalPecent);
518
- } else if (totalPecent < 0) {
519
- module.error(error.tooLow, totalPecent);
515
+ } else if (!isMultipleValues && totalPercent > 100) {
516
+ // Sum before rounding since sum of rounded may have error though sum of actual is fine
517
+ module.error(error.tooHigh, totalPercent);
518
+ } else if (totalPercent < 0) {
519
+ module.error(error.tooLow, totalPercent);
520
520
  } else {
521
521
  var autoPrecision = settings.precision > 0
522
522
  ? settings.precision
523
- : isMultpleValues
523
+ : isMultipleValues
524
524
  ? module.helper.derivePrecision(Math.min.apply(null, module.value), module.total)
525
- : undefined;
525
+ : 0;
526
526
 
527
527
  // round display percentage
528
528
  var roundedPercents = percents.map(function (percent) {
@@ -532,7 +532,7 @@ $.fn.progress = function(parameters) {
532
532
  ;
533
533
  });
534
534
  module.percent = roundedPercents;
535
- if (!hasTotal) {
535
+ if (hasTotal) {
536
536
  module.value = roundedPercents.map(function (percent) {
537
537
  return (autoPrecision > 0)
538
538
  ? Math.round((percent / 100) * module.total * (10 * autoPrecision)) / (10 * autoPrecision)
@@ -541,11 +541,7 @@ $.fn.progress = function(parameters) {
541
541
  });
542
542
  if (settings.limitValues) {
543
543
  module.value = module.value.map(function (value) {
544
- return (value > 100)
545
- ? 100
546
- : (module.value < 0)
547
- ? 0
548
- : module.value;
544
+ return Math.max(0, Math.min(100, value));
549
545
  });
550
546
  }
551
547
  }
@@ -622,7 +618,7 @@ $.fn.progress = function(parameters) {
622
618
  if (text !== undefined) {
623
619
  $progress.text( module.get.text(text, index) );
624
620
  }
625
- else if (settings.label == 'ratio' && module.total) {
621
+ else if (settings.label == 'ratio' && module.has.total()) {
626
622
  module.verbose('Adding ratio to bar label');
627
623
  $progress.text( module.get.text(settings.text.ratio, index) );
628
624
  }
@@ -752,7 +748,7 @@ $.fn.progress = function(parameters) {
752
748
  }
753
749
  value = module.get.normalizedValue(value);
754
750
  if (hasTotal) {
755
- percentComplete = (value / module.total) * 100;
751
+ percentComplete = module.total > 0 ? (value / module.total) * 100 : 100;
756
752
  module.debug('Calculating percent complete from total', percentComplete);
757
753
  }
758
754
  else {
@@ -239,6 +239,7 @@ $.fn.search = function(parameters) {
239
239
  }
240
240
  module.hideResults();
241
241
  if(href) {
242
+ event.preventDefault();
242
243
  module.verbose('Opening search link found in result', $link);
243
244
  if(target == '_blank' || event.ctrlKey) {
244
245
  window.open(href);
@@ -789,9 +789,8 @@ $.fn.slider = function(parameters) {
789
789
  }
790
790
  // Use precision to avoid ugly Javascript floating point rounding issues
791
791
  // (like 35 * .01 = 0.35000000000000003)
792
- difference = Math.round(difference * precision) / precision;
793
792
  module.verbose('Cutting off additional decimal places');
794
- return difference + module.get.min();
793
+ return Math.round((difference + module.get.min()) * precision) / precision;
795
794
  },
796
795
  keyMovement: function(event) {
797
796
  var
@@ -1271,6 +1270,7 @@ $.fn.slider.settings = {
1271
1270
  labelDistance : 100,
1272
1271
  preventCrossover : true,
1273
1272
  fireOnInit : false,
1273
+ interpretLabel : false,
1274
1274
 
1275
1275
  //the decimal place to round to if step is undefined
1276
1276
  decimalPlaces : 2,
@@ -1471,6 +1471,9 @@
1471
1471
  margin: 0.5em 0;
1472
1472
  padding: 0;
1473
1473
  }
1474
+ .ui.form .grouped.inline.fields .ui.checkbox {
1475
+ margin-bottom: 0.4em;
1476
+ }
1474
1477
 
1475
1478
  /*--------------------
1476
1479
  Fields
@@ -1544,28 +1547,11 @@
1544
1547
  .ui.form .fields {
1545
1548
  -ms-flex-wrap: wrap;
1546
1549
  flex-wrap: wrap;
1550
+ margin-bottom: 0;
1547
1551
  }
1548
- .ui[class*="equal width"].form:not(.unstackable) .fields > .field,
1549
- .ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable) > .field,
1550
- .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields,
1551
- .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field,
1552
- .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields,
1553
- .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field,
1554
- .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields,
1555
- .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field,
1556
- .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields,
1557
- .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field,
1558
- .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .fields,
1559
- .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .field,
1560
- .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .fields,
1561
- .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .field,
1562
- .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .fields,
1563
- .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .field,
1564
- .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .fields,
1565
- .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .field,
1566
- .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .fields,
1567
- .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .field {
1568
- width: 100% !important;
1552
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .fields,
1553
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .field {
1554
+ width: 100%;
1569
1555
  margin: 0 0 1em;
1570
1556
  }
1571
1557
  }
@@ -1577,84 +1563,52 @@
1577
1563
  padding-right: 0.5em;
1578
1564
  }
1579
1565
  .ui.form .one.wide.field {
1580
- width: 6.25% !important;
1566
+ width: 6.25%;
1581
1567
  }
1582
1568
  .ui.form .two.wide.field {
1583
- width: 12.5% !important;
1569
+ width: 12.5%;
1584
1570
  }
1585
1571
  .ui.form .three.wide.field {
1586
- width: 18.75% !important;
1572
+ width: 18.75%;
1587
1573
  }
1588
1574
  .ui.form .four.wide.field {
1589
- width: 25% !important;
1575
+ width: 25%;
1590
1576
  }
1591
1577
  .ui.form .five.wide.field {
1592
- width: 31.25% !important;
1578
+ width: 31.25%;
1593
1579
  }
1594
1580
  .ui.form .six.wide.field {
1595
- width: 37.5% !important;
1581
+ width: 37.5%;
1596
1582
  }
1597
1583
  .ui.form .seven.wide.field {
1598
- width: 43.75% !important;
1584
+ width: 43.75%;
1599
1585
  }
1600
1586
  .ui.form .eight.wide.field {
1601
- width: 50% !important;
1587
+ width: 50%;
1602
1588
  }
1603
1589
  .ui.form .nine.wide.field {
1604
- width: 56.25% !important;
1590
+ width: 56.25%;
1605
1591
  }
1606
1592
  .ui.form .ten.wide.field {
1607
- width: 62.5% !important;
1593
+ width: 62.5%;
1608
1594
  }
1609
1595
  .ui.form .eleven.wide.field {
1610
- width: 68.75% !important;
1596
+ width: 68.75%;
1611
1597
  }
1612
1598
  .ui.form .twelve.wide.field {
1613
- width: 75% !important;
1599
+ width: 75%;
1614
1600
  }
1615
1601
  .ui.form .thirteen.wide.field {
1616
- width: 81.25% !important;
1602
+ width: 81.25%;
1617
1603
  }
1618
1604
  .ui.form .fourteen.wide.field {
1619
- width: 87.5% !important;
1605
+ width: 87.5%;
1620
1606
  }
1621
1607
  .ui.form .fifteen.wide.field {
1622
- width: 93.75% !important;
1608
+ width: 93.75%;
1623
1609
  }
1624
1610
  .ui.form .sixteen.wide.field {
1625
- width: 100% !important;
1626
- }
1627
-
1628
- /* Swap to full width on mobile */
1629
- @media only screen and (max-width: 767.98px) {
1630
- .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields,
1631
- .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field,
1632
- .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields,
1633
- .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field,
1634
- .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields,
1635
- .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field,
1636
- .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields,
1637
- .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field,
1638
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .two.wide.field,
1639
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .three.wide.field,
1640
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .four.wide.field,
1641
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .five.wide.field,
1642
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .six.wide.field,
1643
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .seven.wide.field,
1644
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .eight.wide.field,
1645
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .nine.wide.field,
1646
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .ten.wide.field,
1647
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .eleven.wide.field,
1648
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .twelve.wide.field,
1649
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .thirteen.wide.field,
1650
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .fourteen.wide.field,
1651
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .fifteen.wide.field,
1652
- .ui.form:not(.unstackable) .fields:not(.unstackable) > .sixteen.wide.field {
1653
- width: 100% !important;
1654
- }
1655
- .ui.form .fields {
1656
- margin-bottom: 0;
1657
- }
1611
+ width: 100%;
1658
1612
  }
1659
1613
 
1660
1614
  /*--------------------
@@ -263,7 +263,8 @@
263
263
  .ui.menu .ui.dropdown.item .menu .item:not(.filtered) {
264
264
  display: block;
265
265
  }
266
- .ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {
266
+ .ui.menu .ui.dropdown .menu > .item > .icons,
267
+ .ui.menu .ui.dropdown .menu > .item > i.icon:not(.dropdown) {
267
268
  display: inline-block;
268
269
  font-size: 1em !important;
269
270
  float: none;
@@ -289,7 +290,7 @@
289
290
  }
290
291
 
291
292
  /* Vertical */
292
- .ui.vertical.menu .dropdown.item > .icon {
293
+ .ui.vertical.menu .dropdown.item > i.icon {
293
294
  float: right;
294
295
  content: "\f0da";
295
296
  margin-left: 1em;
@@ -1244,24 +1245,24 @@ Floated Menu / Item
1244
1245
  }
1245
1246
 
1246
1247
  /* Icon */
1247
- .ui.icon.menu .item > .icon:not(.dropdown) {
1248
+ .ui.icon.menu .item > i.icon:not(.dropdown) {
1248
1249
  margin: 0;
1249
1250
  opacity: 1;
1250
1251
  }
1251
1252
 
1252
1253
  /* Icon Gylph */
1253
- .ui.icon.menu .icon:before {
1254
+ .ui.icon.menu i.icon:before {
1254
1255
  opacity: 1;
1255
1256
  }
1256
1257
 
1257
1258
  /* (x) Item Icon */
1258
- .ui.menu .icon.item > .icon {
1259
+ .ui.menu .icon.item > i.icon {
1259
1260
  width: auto;
1260
1261
  margin: 0 auto;
1261
1262
  }
1262
1263
 
1263
1264
  /* Vertical Icon */
1264
- .ui.vertical.icon.menu .item > .icon:not(.dropdown) {
1265
+ .ui.vertical.icon.menu .item > i.icon:not(.dropdown) {
1265
1266
  display: block;
1266
1267
  opacity: 1;
1267
1268
  margin: 0 auto;
@@ -1293,7 +1294,7 @@ Floated Menu / Item
1293
1294
  }
1294
1295
 
1295
1296
  /* Icon */
1296
- .ui.labeled.icon.menu > .item > .icon:not(.dropdown) {
1297
+ .ui.labeled.icon.menu > .item > i.icon:not(.dropdown) {
1297
1298
  height: 1em;
1298
1299
  display: block;
1299
1300
  font-size: 1.71428571em !important;