fomantic-ui-sass 2.8.1 → 2.8.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) 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 +175 -82
  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 +177 -126
  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 +103 -45
  19. data/app/assets/javascripts/semantic-ui/checkbox.js +1 -1
  20. data/app/assets/javascripts/semantic-ui/dropdown.js +45 -45
  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/_menu.scss +28 -28
  31. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +36 -20
  32. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +9 -3
  33. data/app/assets/stylesheets/semantic-ui/elements/_emoji.scss +6130 -6133
  34. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +147 -18
  35. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +44 -44
  36. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +1 -1
  37. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +7 -0
  38. data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +1 -0
  39. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +9 -9
  40. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +8 -8
  41. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +10 -3
  42. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +34 -7
  43. data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +32 -3
  44. data/app/assets/stylesheets/semantic-ui/modules/_search.scss +90 -0
  45. data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +1 -0
  46. data/fomantic-ui-sass.gemspec +2 -2
  47. data/lib/fomantic-ui-sass.rb +2 -2
  48. data/lib/fomantic/ui/sass/version.rb +2 -2
  49. data/spec/dummy/app/assets/config/manifest.js +0 -0
  50. metadata +11 -9
@@ -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,