fomantic-ui-sass 2.8.1.1 → 2.8.6

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/app/assets/fonts/semantic-ui/brand-icons.eot +0 -0
  4. data/app/assets/fonts/semantic-ui/brand-icons.svg +213 -85
  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 +419 -130
  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 +11 -11
  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 +110 -47
  19. data/app/assets/javascripts/semantic-ui/checkbox.js +1 -1
  20. data/app/assets/javascripts/semantic-ui/dropdown.js +46 -46
  21. data/app/assets/javascripts/semantic-ui/form.js +63 -27
  22. data/app/assets/javascripts/semantic-ui/modal.js +9 -1
  23. data/app/assets/javascripts/semantic-ui/popup.js +8 -7
  24. data/app/assets/javascripts/semantic-ui/search.js +29 -2
  25. data/app/assets/javascripts/semantic-ui/slider.js +6 -6
  26. data/app/assets/javascripts/semantic-ui/tab.js +3 -2
  27. data/app/assets/javascripts/semantic-ui/toast.js +11 -9
  28. data/app/assets/javascripts/semantic-ui/visibility.js +1 -1
  29. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +63 -24
  30. data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +8 -6
  31. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +28 -28
  32. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +36 -20
  33. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +9 -3
  34. data/app/assets/stylesheets/semantic-ui/elements/_emoji.scss +6130 -6133
  35. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +153 -18
  36. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +44 -44
  37. data/app/assets/stylesheets/semantic-ui/elements/_label.scss +38 -2
  38. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +1 -1
  39. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +7 -0
  40. data/app/assets/stylesheets/semantic-ui/elements/_text.scss +3 -0
  41. data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +1 -0
  42. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +12 -9
  43. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +15 -7
  44. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +10 -3
  45. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +34 -7
  46. data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +32 -3
  47. data/app/assets/stylesheets/semantic-ui/modules/_search.scss +90 -0
  48. data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +1 -0
  49. data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +34 -34
  50. data/lib/fomantic/ui/sass/version.rb +2 -2
  51. metadata +3 -3
@@ -95,6 +95,9 @@ $.fn.form = function(parameters) {
95
95
  module.verbose('Initializing form validation', $module, settings);
96
96
  module.bindEvents();
97
97
  module.set.defaults();
98
+ if (settings.autoCheckRequired) {
99
+ module.set.autoCheck();
100
+ }
98
101
  module.instantiate();
99
102
  }
100
103
  },
@@ -333,7 +336,7 @@ $.fn.form = function(parameters) {
333
336
  }
334
337
  },
335
338
  blank: function($field) {
336
- return $.trim($field.val()) === '';
339
+ return String($field.val()).trim() === '';
337
340
  },
338
341
  valid: function(field) {
339
342
  var
@@ -542,7 +545,7 @@ $.fn.form = function(parameters) {
542
545
  name
543
546
  ;
544
547
  if(requiresValue) {
545
- prompt = prompt.replace('{value}', $field.val());
548
+ prompt = prompt.replace(/\{value\}/g, $field.val());
546
549
  }
547
550
  if(requiresName) {
548
551
  $label = $field.closest(selector.group).find('label').eq(0);
@@ -550,10 +553,10 @@ $.fn.form = function(parameters) {
550
553
  ? $label.text()
551
554
  : $field.prop('placeholder') || settings.text.unspecifiedField
552
555
  ;
553
- prompt = prompt.replace('{name}', name);
556
+ prompt = prompt.replace(/\{name\}/g, name);
554
557
  }
555
- prompt = prompt.replace('{identifier}', field.identifier);
556
- prompt = prompt.replace('{ruleValue}', ancillary);
558
+ prompt = prompt.replace(/\{identifier\}/g, field.identifier);
559
+ prompt = prompt.replace(/\{ruleValue\}/g, ancillary);
557
560
  if(!rule.prompt) {
558
561
  module.verbose('Using default validation prompt for type', prompt, ruleName);
559
562
  }
@@ -703,7 +706,7 @@ $.fn.form = function(parameters) {
703
706
  }
704
707
  else {
705
708
  if(isRadio) {
706
- if(values[name] === undefined || values[name] == false) {
709
+ if(values[name] === undefined || values[name] === false) {
707
710
  values[name] = (isChecked)
708
711
  ? value || true
709
712
  : false
@@ -818,26 +821,36 @@ $.fn.form = function(parameters) {
818
821
  module.add.field(name, rules);
819
822
  },
820
823
  field: function(name, rules) {
824
+ // Validation should have at least a standard format
825
+ if(validation[name] === undefined || validation[name].rules === undefined) {
826
+ validation[name] = {
827
+ rules: []
828
+ };
829
+ }
821
830
  var
822
- newValidation = {}
831
+ newValidation = {
832
+ rules: []
833
+ }
823
834
  ;
824
835
  if(module.is.shorthandRules(rules)) {
825
836
  rules = Array.isArray(rules)
826
837
  ? rules
827
838
  : [rules]
828
839
  ;
829
- newValidation[name] = {
830
- rules: []
831
- };
832
- $.each(rules, function(index, rule) {
833
- newValidation[name].rules.push({ type: rule });
840
+ $.each(rules, function(_index, rule) {
841
+ newValidation.rules.push({ type: rule });
834
842
  });
835
843
  }
836
844
  else {
837
- newValidation[name] = rules;
845
+ newValidation.rules = rules.rules;
838
846
  }
839
- validation = $.extend({}, validation, newValidation);
840
- module.debug('Adding rules', newValidation, validation);
847
+ // For each new rule, check if there's not already one with the same type
848
+ $.each(newValidation.rules, function (_index, rule) {
849
+ if ($.grep(validation[name].rules, function(item){ return item.type == rule.type; }).length == 0) {
850
+ validation[name].rules.push(rule);
851
+ }
852
+ });
853
+ module.debug('Adding rules', newValidation.rules, validation);
841
854
  },
842
855
  fields: function(fields) {
843
856
  var
@@ -1106,6 +1119,32 @@ $.fn.form = function(parameters) {
1106
1119
  asDirty: function() {
1107
1120
  module.set.defaults();
1108
1121
  module.set.dirty();
1122
+ },
1123
+ autoCheck: function() {
1124
+ module.debug('Enabling auto check on required fields');
1125
+ $field.each(function (_index, el) {
1126
+ var
1127
+ $el = $(el),
1128
+ $elGroup = $(el).closest($group),
1129
+ isCheckbox = ($el.filter(selector.checkbox).length > 0),
1130
+ isRequired = $el.prop('required') || $elGroup.hasClass(className.required) || $elGroup.parent().hasClass(className.required),
1131
+ isDisabled = $el.is(':disabled') || $elGroup.hasClass(className.disabled) || $elGroup.parent().hasClass(className.disabled),
1132
+ validation = module.get.validation($el),
1133
+ hasEmptyRule = validation
1134
+ ? $.grep(validation.rules, function(rule) { return rule.type == "empty" }) !== 0
1135
+ : false,
1136
+ identifier = validation.identifier || $el.attr('id') || $el.attr('name') || $el.data(metadata.validate)
1137
+ ;
1138
+ if (isRequired && !isDisabled && !hasEmptyRule && identifier !== undefined) {
1139
+ if (isCheckbox) {
1140
+ module.verbose("Adding 'checked' rule on field", identifier);
1141
+ module.add.rule(identifier, "checked");
1142
+ } else {
1143
+ module.verbose("Adding 'empty' rule on field", identifier);
1144
+ module.add.rule(identifier, "empty");
1145
+ }
1146
+ }
1147
+ });
1109
1148
  }
1110
1149
  },
1111
1150
 
@@ -1168,13 +1207,7 @@ $.fn.form = function(parameters) {
1168
1207
  module.debug('Using field name as identifier', identifier);
1169
1208
  field.identifier = identifier;
1170
1209
  }
1171
- var isDisabled = true;
1172
- $.each($field, function(){
1173
- if(!$(this).prop('disabled')) {
1174
- isDisabled = false;
1175
- return false;
1176
- }
1177
- });
1210
+ var isDisabled = !$field.filter(':not(:disabled)').length;
1178
1211
  if(isDisabled) {
1179
1212
  module.debug('Field is disabled. Skipping', identifier);
1180
1213
  }
@@ -1231,7 +1264,7 @@ $.fn.form = function(parameters) {
1231
1264
  // cast to string avoiding encoding special values
1232
1265
  value = (value === undefined || value === '' || value === null)
1233
1266
  ? ''
1234
- : (settings.shouldTrim) ? $.trim(value + '') : String(value + '')
1267
+ : (settings.shouldTrim) ? String(value + '').trim() : String(value + '')
1235
1268
  ;
1236
1269
  return ruleFunction.call(field, value, ancillary, $module);
1237
1270
  }
@@ -1445,6 +1478,7 @@ $.fn.form.settings = {
1445
1478
  transition : 'scale',
1446
1479
  duration : 200,
1447
1480
 
1481
+ autoCheckRequired : false,
1448
1482
  preventLeaving : false,
1449
1483
  dateHandling : 'date', // 'date', 'input', 'formatter'
1450
1484
 
@@ -1525,10 +1559,12 @@ $.fn.form.settings = {
1525
1559
  },
1526
1560
 
1527
1561
  className : {
1528
- error : 'error',
1529
- label : 'ui basic red pointing prompt label',
1530
- pressed : 'down',
1531
- success : 'success'
1562
+ error : 'error',
1563
+ label : 'ui basic red pointing prompt label',
1564
+ pressed : 'down',
1565
+ success : 'success',
1566
+ required : 'required',
1567
+ disabled : 'disabled'
1532
1568
  },
1533
1569
 
1534
1570
  error: {
@@ -708,7 +708,15 @@ $.fn.modal = function(parameters) {
708
708
  return module.cache.leftBodyScrollbar;
709
709
  },
710
710
  useFlex: function() {
711
- return settings.useFlex && settings.detachable && !module.is.ie();
711
+ if (settings.useFlex === 'auto') {
712
+ return settings.detachable && !module.is.ie();
713
+ }
714
+ if(settings.useFlex && module.is.ie()) {
715
+ module.debug('useFlex true is not supported in IE');
716
+ } else if(settings.useFlex && !settings.detachable) {
717
+ module.debug('useFlex true in combination with detachable false is not supported');
718
+ }
719
+ return settings.useFlex;
712
720
  },
713
721
  fit: function() {
714
722
  var
@@ -510,9 +510,10 @@ $.fn.popup = function(parameters) {
510
510
  $popupOffsetParent = module.get.offsetParent($popup),
511
511
  targetElement = $target[0],
512
512
  isWindow = ($boundary[0] == window),
513
- targetPosition = (settings.inline || (settings.popup && settings.movePopup))
514
- ? $target.position()
515
- : $target.offset(),
513
+ targetOffset = $target.offset(),
514
+ parentOffset = settings.inline || (settings.popup && settings.movePopup)
515
+ ? $target.offsetParent().offset()
516
+ : { top: 0, left: 0 },
516
517
  screenPosition = (isWindow)
517
518
  ? { top: 0, left: 0 }
518
519
  : $boundary.offset(),
@@ -528,8 +529,8 @@ $.fn.popup = function(parameters) {
528
529
  element : $target[0],
529
530
  width : $target.outerWidth(),
530
531
  height : $target.outerHeight(),
531
- top : targetPosition.top,
532
- left : targetPosition.left,
532
+ top : targetOffset.top - parentOffset.top,
533
+ left : targetOffset.left - parentOffset.left,
533
534
  margin : {}
534
535
  },
535
536
  // popup itself
@@ -1496,10 +1497,9 @@ $.fn.popup.settings = {
1496
1497
  templates: {
1497
1498
  escape: function(string) {
1498
1499
  var
1499
- badChars = /[&<>"'`]/g,
1500
+ badChars = /[<>"'`]/g,
1500
1501
  shouldEscape = /[&<>"'`]/,
1501
1502
  escape = {
1502
- "&": "&amp;",
1503
1503
  "<": "&lt;",
1504
1504
  ">": "&gt;",
1505
1505
  '"': "&quot;",
@@ -1511,6 +1511,7 @@ $.fn.popup.settings = {
1511
1511
  }
1512
1512
  ;
1513
1513
  if(shouldEscape.test(string)) {
1514
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
1514
1515
  return string.replace(badChars, escapedChar);
1515
1516
  }
1516
1517
  return string;
@@ -250,6 +250,25 @@ $.fn.search = function(parameters) {
250
250
  }
251
251
  }
252
252
  },
253
+ ensureVisible: function ensureVisible($el) {
254
+ var elTop, elBottom, resultsScrollTop, resultsHeight;
255
+
256
+ elTop = $el.position().top;
257
+ elBottom = elTop + $el.outerHeight(true);
258
+
259
+ resultsScrollTop = $results.scrollTop();
260
+ resultsHeight = $results.height()
261
+ parseInt($results.css('paddingTop'), 0) +
262
+ parseInt($results.css('paddingBottom'), 0);
263
+
264
+ if (elTop < 0) {
265
+ $results.scrollTop(resultsScrollTop + elTop);
266
+ }
267
+
268
+ else if (resultsHeight < elBottom) {
269
+ $results.scrollTop(resultsScrollTop + (elBottom - resultsHeight));
270
+ }
271
+ },
253
272
  handleKeyboard: function(event) {
254
273
  var
255
274
  // force selector refresh
@@ -301,6 +320,7 @@ $.fn.search = function(parameters) {
301
320
  .closest($category)
302
321
  .addClass(className.active)
303
322
  ;
323
+ module.ensureVisible($result.eq(newIndex));
304
324
  event.preventDefault();
305
325
  }
306
326
  else if(keyCode == keys.downArrow) {
@@ -319,6 +339,7 @@ $.fn.search = function(parameters) {
319
339
  .closest($category)
320
340
  .addClass(className.active)
321
341
  ;
342
+ module.ensureVisible($result.eq(newIndex));
322
343
  event.preventDefault();
323
344
  }
324
345
  }
@@ -952,6 +973,12 @@ $.fn.search = function(parameters) {
952
973
  debug : settings.debug,
953
974
  verbose : settings.verbose,
954
975
  duration : settings.duration,
976
+ onShow : function() {
977
+ var $firstResult = $module.find(selector.result).eq(0);
978
+ if($firstResult.length > 0) {
979
+ module.ensureVisible($firstResult);
980
+ }
981
+ },
955
982
  onComplete : function() {
956
983
  callback();
957
984
  },
@@ -1369,10 +1396,9 @@ $.fn.search.settings = {
1369
1396
  return string;
1370
1397
  }
1371
1398
  var
1372
- badChars = /[&<>"'`]/g,
1399
+ badChars = /[<>"'`]/g,
1373
1400
  shouldEscape = /[&<>"'`]/,
1374
1401
  escape = {
1375
- "&": "&amp;",
1376
1402
  "<": "&lt;",
1377
1403
  ">": "&gt;",
1378
1404
  '"': "&quot;",
@@ -1384,6 +1410,7 @@ $.fn.search.settings = {
1384
1410
  }
1385
1411
  ;
1386
1412
  if(shouldEscape.test(string)) {
1413
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
1387
1414
  return string.replace(badChars, escapedChar);
1388
1415
  }
1389
1416
  return string;
@@ -325,7 +325,7 @@ $.fn.slider = function(parameters) {
325
325
  newPos = module.determine.pos(eventPos)
326
326
  ;
327
327
  // Special handling if range mode and both thumbs have the same value
328
- if(module.is.range() && settings.preventCrossover && module.thumbVal === module.secondThumbVal) {
328
+ if(settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
329
329
  initialPosition = newPos;
330
330
  $currThumb = undefined;
331
331
  } else {
@@ -353,13 +353,13 @@ $.fn.slider = function(parameters) {
353
353
  thumbSmoothVal = module.determine.smoothValueFromEvent(event)
354
354
  ;
355
355
  if(!$currThumb.hasClass('second')) {
356
- if(settings.preventCrossover) {
356
+ if(settings.preventCrossover && module.is.range()) {
357
357
  value = Math.min(secondThumbVal, value);
358
358
  thumbSmoothVal = Math.min(secondThumbVal, thumbSmoothVal);
359
359
  }
360
360
  thumbVal = value;
361
361
  } else {
362
- if(settings.preventCrossover) {
362
+ if(settings.preventCrossover && module.is.range()) {
363
363
  value = Math.max(thumbVal, value);
364
364
  thumbSmoothVal = Math.max(thumbVal, thumbSmoothVal);
365
365
  }
@@ -381,7 +381,7 @@ $.fn.slider = function(parameters) {
381
381
  module.unbind.slidingEvents();
382
382
  },
383
383
  keydown: function(event, first) {
384
- if(module.is.range() && settings.preventCrossover && module.thumbVal === module.secondThumbVal) {
384
+ if(settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
385
385
  $currThumb = undefined;
386
386
  }
387
387
  if(module.is.focused()) {
@@ -926,12 +926,12 @@ $.fn.slider = function(parameters) {
926
926
  $currThumb = newValue <= module.get.currentThumbValue() ? $thumb : $secondThumb;
927
927
  }
928
928
  if(!$currThumb.hasClass('second')) {
929
- if(settings.preventCrossover) {
929
+ if(settings.preventCrossover && module.is.range()) {
930
930
  newValue = Math.min(module.secondThumbVal, newValue);
931
931
  }
932
932
  module.thumbVal = newValue;
933
933
  } else {
934
- if(settings.preventCrossover) {
934
+ if(settings.preventCrossover && module.is.range()) {
935
935
  newValue = Math.max(module.thumbVal, newValue);
936
936
  }
937
937
  module.secondThumbVal = newValue;
@@ -100,9 +100,9 @@ $.fn.tab = function(parameters) {
100
100
  initializedHistory = true;
101
101
  }
102
102
 
103
- if(instance === undefined && module.determine.activeTab() == null) {
103
+ if(settings.autoTabActivation && instance === undefined && module.determine.activeTab() == null) {
104
104
  module.debug('No active tab detected, setting first tab active', module.get.initialPath());
105
- module.changeTab(module.get.initialPath());
105
+ module.changeTab(settings.autoTabActivation === true ? module.get.initialPath() : settings.autoTabActivation);
106
106
  };
107
107
 
108
108
  module.instantiate();
@@ -953,6 +953,7 @@ $.fn.tab.settings = {
953
953
 
954
954
  apiSettings : false, // settings for api call
955
955
  evaluateScripts : 'once', // whether inline scripts should be parsed (true/false/once). Once will not re-evaluate on cached content
956
+ autoTabActivation: true, // whether a non existing active tab will auto activate the first available tab
956
957
 
957
958
  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded
958
959
  onLoad : function(tabPath, parameterArray, historyEvent) {}, // called on every load
@@ -389,13 +389,15 @@ $.fn.toast = function(parameters) {
389
389
  onBeforeHide: function(callback){
390
390
  callback = $.isFunction(callback)?callback : function(){};
391
391
  if(settings.transition.closeEasing !== ''){
392
- $toastBox.css('opacity',0);
393
- $toastBox.wrap('<div/>').parent().slideUp(500,settings.transition.closeEasing,function(){
394
- if($toastBox){
395
- $toastBox.parent().remove();
396
- callback.call($toastBox);
397
- }
398
- });
392
+ if($toastBox) {
393
+ $toastBox.css('opacity', 0);
394
+ $toastBox.wrap('<div/>').parent().slideUp(500, settings.transition.closeEasing, function () {
395
+ if ($toastBox) {
396
+ $toastBox.parent().remove();
397
+ callback.call($toastBox);
398
+ }
399
+ });
400
+ }
399
401
  } else {
400
402
  callback.call($toastBox);
401
403
  }
@@ -519,10 +521,9 @@ $.fn.toast = function(parameters) {
519
521
  return string;
520
522
  }
521
523
  var
522
- badChars = /[&<>"'`]/g,
524
+ badChars = /[<>"'`]/g,
523
525
  shouldEscape = /[&<>"'`]/,
524
526
  escape = {
525
- "&": "&amp;",
526
527
  "<": "&lt;",
527
528
  ">": "&gt;",
528
529
  '"': "&quot;",
@@ -534,6 +535,7 @@ $.fn.toast = function(parameters) {
534
535
  }
535
536
  ;
536
537
  if(shouldEscape.test(string)) {
538
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
537
539
  return string.replace(badChars, escapedChar);
538
540
  }
539
541
  return string;
@@ -902,7 +902,7 @@ $.fn.visibility = function(parameters) {
902
902
  element.offset.top += $context.scrollTop() - $context.offset().top;
903
903
  }
904
904
  if(module.is.horizontallyScrollableContext()) {
905
- element.offset.left += $context.scrollLeft - $context.offset().left;
905
+ element.offset.left += $context.scrollLeft() - $context.offset().left;
906
906
  }
907
907
  // store
908
908
  module.cache.element = element;
@@ -39,6 +39,7 @@
39
39
  clear: both;
40
40
  margin: 0 0 1em;
41
41
  }
42
+ .ui.form .fields .fields,
42
43
  .ui.form .field:last-child,
43
44
  .ui.form .fields:last-child .field {
44
45
  margin-bottom: 0;
@@ -405,6 +406,36 @@
405
406
  -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
406
407
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
407
408
  }
409
+ .ui.form .ui.action.input:not([class*="left action"]) input:not([type]):focus,
410
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="date"]:focus,
411
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="datetime-local"]:focus,
412
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="email"]:focus,
413
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="number"]:focus,
414
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="password"]:focus,
415
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="search"]:focus,
416
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="tel"]:focus,
417
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="time"]:focus,
418
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="text"]:focus,
419
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="file"]:focus,
420
+ .ui.form .ui.action.input:not([class*="left action"]) input[type="url"]:focus {
421
+ border-top-right-radius: 0;
422
+ border-bottom-right-radius: 0;
423
+ }
424
+ .ui.form .ui[class*="left action"].input input:not([type]),
425
+ .ui.form .ui[class*="left action"].input input[type="date"],
426
+ .ui.form .ui[class*="left action"].input input[type="datetime-local"],
427
+ .ui.form .ui[class*="left action"].input input[type="email"],
428
+ .ui.form .ui[class*="left action"].input input[type="number"],
429
+ .ui.form .ui[class*="left action"].input input[type="password"],
430
+ .ui.form .ui[class*="left action"].input input[type="search"],
431
+ .ui.form .ui[class*="left action"].input input[type="tel"],
432
+ .ui.form .ui[class*="left action"].input input[type="time"],
433
+ .ui.form .ui[class*="left action"].input input[type="text"],
434
+ .ui.form .ui[class*="left action"].input input[type="file"],
435
+ .ui.form .ui[class*="left action"].input input[type="url"] {
436
+ border-bottom-left-radius: 0;
437
+ border-top-left-radius: 0;
438
+ }
408
439
  .ui.form textarea:focus {
409
440
  color: rgba(0, 0, 0, 0.95);
410
441
  border-color: #85B7D9;
@@ -530,15 +561,15 @@
530
561
  .ui.form .field.error .transparent.input textarea,
531
562
  .ui.form .field.error input.transparent,
532
563
  .ui.form .field.error textarea.transparent {
533
- background-color: #FFF6F6;
534
- color: #9F3A38;
564
+ background-color: #FFF6F6 !important;
565
+ color: #9F3A38 !important;
535
566
  }
536
567
 
537
568
  /* Autofilled */
538
569
  .ui.form .error.error input:-webkit-autofill {
539
570
  -webkit-box-shadow: 0 0 0 100px #FFFAF0 inset !important;
540
571
  box-shadow: 0 0 0 100px #FFFAF0 inset !important;
541
- border-color: #E0B4B4;
572
+ border-color: #E0B4B4 !important;
542
573
  }
543
574
 
544
575
  /* Placeholder */
@@ -546,7 +577,7 @@
546
577
  color: #e7bdbc;
547
578
  }
548
579
  .ui.form .error :-ms-input-placeholder {
549
- color: #e7bdbc;
580
+ color: #e7bdbc !important;
550
581
  }
551
582
  .ui.form .error ::-moz-placeholder {
552
583
  color: #e7bdbc;
@@ -555,7 +586,7 @@
555
586
  color: #da9796;
556
587
  }
557
588
  .ui.form .error :focus:-ms-input-placeholder {
558
- color: #da9796;
589
+ color: #da9796 !important;
559
590
  }
560
591
  .ui.form .error :focus::-moz-placeholder {
561
592
  color: #da9796;
@@ -606,7 +637,7 @@
606
637
  /* Active */
607
638
  .ui.form .fields.error .field .ui.dropdown .menu .active.item,
608
639
  .ui.form .field.error .ui.dropdown .menu .active.item {
609
- background-color: #FDCFCF;
640
+ background-color: #FDCFCF !important;
610
641
  }
611
642
 
612
643
  /*--------------------
@@ -743,15 +774,15 @@
743
774
  .ui.form .field.info .transparent.input textarea,
744
775
  .ui.form .field.info input.transparent,
745
776
  .ui.form .field.info textarea.transparent {
746
- background-color: #F8FFFF;
747
- color: #276F86;
777
+ background-color: #F8FFFF !important;
778
+ color: #276F86 !important;
748
779
  }
749
780
 
750
781
  /* Autofilled */
751
782
  .ui.form .info.info input:-webkit-autofill {
752
783
  -webkit-box-shadow: 0 0 0 100px #F0FAFF inset !important;
753
784
  box-shadow: 0 0 0 100px #F0FAFF inset !important;
754
- border-color: #b3e0e0;
785
+ border-color: #b3e0e0 !important;
755
786
  }
756
787
 
757
788
  /* Placeholder */
@@ -759,7 +790,7 @@
759
790
  color: #98cfe1;
760
791
  }
761
792
  .ui.form .info :-ms-input-placeholder {
762
- color: #98cfe1;
793
+ color: #98cfe1 !important;
763
794
  }
764
795
  .ui.form .info ::-moz-placeholder {
765
796
  color: #98cfe1;
@@ -768,7 +799,7 @@
768
799
  color: #70bdd6;
769
800
  }
770
801
  .ui.form .info :focus:-ms-input-placeholder {
771
- color: #70bdd6;
802
+ color: #70bdd6 !important;
772
803
  }
773
804
  .ui.form .info :focus::-moz-placeholder {
774
805
  color: #70bdd6;
@@ -819,7 +850,7 @@
819
850
  /* Active */
820
851
  .ui.form .fields.info .field .ui.dropdown .menu .active.item,
821
852
  .ui.form .field.info .ui.dropdown .menu .active.item {
822
- background-color: #cef1fd;
853
+ background-color: #cef1fd !important;
823
854
  }
824
855
 
825
856
  /*--------------------
@@ -956,15 +987,15 @@
956
987
  .ui.form .field.success .transparent.input textarea,
957
988
  .ui.form .field.success input.transparent,
958
989
  .ui.form .field.success textarea.transparent {
959
- background-color: #FCFFF5;
960
- color: #2C662D;
990
+ background-color: #FCFFF5 !important;
991
+ color: #2C662D !important;
961
992
  }
962
993
 
963
994
  /* Autofilled */
964
995
  .ui.form .success.success input:-webkit-autofill {
965
996
  -webkit-box-shadow: 0 0 0 100px #F0FFF0 inset !important;
966
997
  box-shadow: 0 0 0 100px #F0FFF0 inset !important;
967
- border-color: #bee0b3;
998
+ border-color: #bee0b3 !important;
968
999
  }
969
1000
 
970
1001
  /* Placeholder */
@@ -972,7 +1003,7 @@
972
1003
  color: #8fcf90;
973
1004
  }
974
1005
  .ui.form .success :-ms-input-placeholder {
975
- color: #8fcf90;
1006
+ color: #8fcf90 !important;
976
1007
  }
977
1008
  .ui.form .success ::-moz-placeholder {
978
1009
  color: #8fcf90;
@@ -981,7 +1012,7 @@
981
1012
  color: #6cbf6d;
982
1013
  }
983
1014
  .ui.form .success :focus:-ms-input-placeholder {
984
- color: #6cbf6d;
1015
+ color: #6cbf6d !important;
985
1016
  }
986
1017
  .ui.form .success :focus::-moz-placeholder {
987
1018
  color: #6cbf6d;
@@ -1032,7 +1063,7 @@
1032
1063
  /* Active */
1033
1064
  .ui.form .fields.success .field .ui.dropdown .menu .active.item,
1034
1065
  .ui.form .field.success .ui.dropdown .menu .active.item {
1035
- background-color: #dafdce;
1066
+ background-color: #dafdce !important;
1036
1067
  }
1037
1068
 
1038
1069
  /*--------------------
@@ -1169,15 +1200,15 @@
1169
1200
  .ui.form .field.warning .transparent.input textarea,
1170
1201
  .ui.form .field.warning input.transparent,
1171
1202
  .ui.form .field.warning textarea.transparent {
1172
- background-color: #FFFAF3;
1173
- color: #573A08;
1203
+ background-color: #FFFAF3 !important;
1204
+ color: #573A08 !important;
1174
1205
  }
1175
1206
 
1176
1207
  /* Autofilled */
1177
1208
  .ui.form .warning.warning input:-webkit-autofill {
1178
1209
  -webkit-box-shadow: 0 0 0 100px #FFFFe0 inset !important;
1179
1210
  box-shadow: 0 0 0 100px #FFFFe0 inset !important;
1180
- border-color: #e0e0b3;
1211
+ border-color: #e0e0b3 !important;
1181
1212
  }
1182
1213
 
1183
1214
  /* Placeholder */
@@ -1185,7 +1216,7 @@
1185
1216
  color: #edad3e;
1186
1217
  }
1187
1218
  .ui.form .warning :-ms-input-placeholder {
1188
- color: #edad3e;
1219
+ color: #edad3e !important;
1189
1220
  }
1190
1221
  .ui.form .warning ::-moz-placeholder {
1191
1222
  color: #edad3e;
@@ -1194,7 +1225,7 @@
1194
1225
  color: #e39715;
1195
1226
  }
1196
1227
  .ui.form .warning :focus:-ms-input-placeholder {
1197
- color: #e39715;
1228
+ color: #e39715 !important;
1198
1229
  }
1199
1230
  .ui.form .warning :focus::-moz-placeholder {
1200
1231
  color: #e39715;
@@ -1245,7 +1276,7 @@
1245
1276
  /* Active */
1246
1277
  .ui.form .fields.warning .field .ui.dropdown .menu .active.item,
1247
1278
  .ui.form .field.warning .ui.dropdown .menu .active.item {
1248
- background-color: #fdfdce;
1279
+ background-color: #fdfdce !important;
1249
1280
  }
1250
1281
 
1251
1282
  /*--------------------
@@ -1687,6 +1718,14 @@
1687
1718
  vertical-align: middle;
1688
1719
  font-size: 1em;
1689
1720
  }
1721
+ .ui.form .inline.fields .field .calendar:not(.popup),
1722
+ .ui.form .inline.field .calendar:not(.popup) {
1723
+ display: inline-block;
1724
+ }
1725
+ .ui.form .inline.fields .field .calendar:not(.popup) > .input > input,
1726
+ .ui.form .inline.field .calendar:not(.popup) > .input > input {
1727
+ width: 13.11em;
1728
+ }
1690
1729
 
1691
1730
  /* Label */
1692
1731
  .ui.form .inline.fields .field > :first-child,