less-rails-semantic_ui 2.2.10.0 → 2.2.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/assets/fonts/semantic_ui/themes/material/assets/fonts/icons.woff2 +0 -0
  3. data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +119 -19
  4. data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +108 -50
  5. data/assets/javascripts/semantic_ui/definitions/modules/modal.js +41 -16
  6. data/assets/javascripts/semantic_ui/definitions/modules/popup.js +42 -31
  7. data/assets/javascripts/semantic_ui/definitions/modules/search.js +11 -2
  8. data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +1 -4
  9. data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +22 -5
  10. data/assets/stylesheets/semantic_ui/definitions/collections/form.less +43 -43
  11. data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +8 -0
  12. data/assets/stylesheets/semantic_ui/definitions/collections/message.less +3 -0
  13. data/assets/stylesheets/semantic_ui/definitions/collections/table.less +1 -1
  14. data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +24 -0
  15. data/assets/stylesheets/semantic_ui/definitions/elements/input.less +3 -2
  16. data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +13 -13
  17. data/assets/stylesheets/semantic_ui/definitions/elements/step.less +34 -34
  18. data/assets/stylesheets/semantic_ui/definitions/globals/site.less +44 -3
  19. data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +18 -1
  20. data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +63 -30
  21. data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +81 -0
  22. data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +0 -10
  23. data/assets/stylesheets/semantic_ui/themes/default/globals/reset.overrides +216 -198
  24. data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +24 -0
  25. data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +7 -5
  26. data/assets/stylesheets/semantic_ui/themes/default/modules/modal.variables +32 -1
  27. data/lib/generators/semantic_ui/install/templates/config/collections/menu.overrides +1 -1
  28. data/lib/less/rails/semantic_ui/version.rb +1 -1
  29. metadata +8 -7
@@ -125,10 +125,10 @@ $.fn.popup = function(parameters) {
125
125
  }
126
126
  if(settings.popup) {
127
127
  $popup.addClass(className.loading);
128
- $offsetParent = module.get.offsetParent();
128
+ $offsetParent = module.get.offsetParent($target);
129
129
  $popup.removeClass(className.loading);
130
130
  if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {
131
- module.debug('Moving popup to the same offset parent as activating element');
131
+ module.debug('Moving popup to the same offset parent as target');
132
132
  $popup
133
133
  .detach()
134
134
  .appendTo($offsetParent)
@@ -139,7 +139,7 @@ $.fn.popup = function(parameters) {
139
139
  $offsetParent = (settings.inline)
140
140
  ? module.get.offsetParent($target)
141
141
  : module.has.popup()
142
- ? module.get.offsetParent($popup)
142
+ ? module.get.offsetParent($target)
143
143
  : $body
144
144
  ;
145
145
  }
@@ -360,7 +360,7 @@ $.fn.popup = function(parameters) {
360
360
 
361
361
  hideAll: function() {
362
362
  $(selector.popup)
363
- .filter('.' + className.visible)
363
+ .filter('.' + className.popupVisible)
364
364
  .each(function() {
365
365
  $(this)
366
366
  .data(metadata.activator)
@@ -415,7 +415,7 @@ $.fn.popup = function(parameters) {
415
415
  },
416
416
  supports: {
417
417
  svg: function() {
418
- return (typeof SVGGraphicsElement === undefined);
418
+ return (typeof SVGGraphicsElement === 'undefined');
419
419
  }
420
420
  },
421
421
  animate: {
@@ -986,28 +986,38 @@ $.fn.popup = function(parameters) {
986
986
  },
987
987
  close: function() {
988
988
  if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {
989
- $scrollContext
990
- .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)
991
- ;
989
+ module.bind.closeOnScroll();
992
990
  }
993
991
  if(settings.on == 'hover' && openedWithTouch) {
994
- module.verbose('Binding popup close event to document');
995
- $document
996
- .on('touchstart' + elementNamespace, function(event) {
997
- module.verbose('Touched away from popup');
998
- module.event.hideGracefully.call(element, event);
999
- })
1000
- ;
992
+ module.bind.touchClose();
1001
993
  }
1002
994
  if(settings.on == 'click' && settings.closable) {
1003
- module.verbose('Binding popup close event to document');
1004
- $document
1005
- .on('click' + elementNamespace, function(event) {
1006
- module.verbose('Clicked away from popup');
1007
- module.event.hideGracefully.call(element, event);
1008
- })
1009
- ;
995
+ module.bind.clickaway();
1010
996
  }
997
+ },
998
+ closeOnScroll: function() {
999
+ module.verbose('Binding scroll close event to document');
1000
+ $scrollContext
1001
+ .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)
1002
+ ;
1003
+ },
1004
+ touchClose: function() {
1005
+ module.verbose('Binding popup touchclose event to document');
1006
+ $document
1007
+ .on('touchstart' + elementNamespace, function(event) {
1008
+ module.verbose('Touched away from popup');
1009
+ module.event.hideGracefully.call(element, event);
1010
+ })
1011
+ ;
1012
+ },
1013
+ clickaway: function() {
1014
+ module.verbose('Binding popup close event to document');
1015
+ $document
1016
+ .on('click' + elementNamespace, function(event) {
1017
+ module.verbose('Clicked away from popup');
1018
+ module.event.hideGracefully.call(element, event);
1019
+ })
1020
+ ;
1011
1021
  }
1012
1022
  },
1013
1023
 
@@ -1068,7 +1078,7 @@ $.fn.popup = function(parameters) {
1068
1078
  return ($popup !== undefined && $popup.hasClass(className.fluid));
1069
1079
  },
1070
1080
  visible: function() {
1071
- return ($popup !== undefined && $popup.hasClass(className.visible));
1081
+ return ($popup !== undefined && $popup.hasClass(className.popupVisible));
1072
1082
  },
1073
1083
  dropdown: function() {
1074
1084
  return $module.hasClass(className.dropdown);
@@ -1414,14 +1424,15 @@ $.fn.popup.settings = {
1414
1424
  },
1415
1425
 
1416
1426
  className : {
1417
- active : 'active',
1418
- animating : 'animating',
1419
- dropdown : 'dropdown',
1420
- fluid : 'fluid',
1421
- loading : 'loading',
1422
- popup : 'ui popup',
1423
- position : 'top left center bottom right',
1424
- visible : 'visible'
1427
+ active : 'active',
1428
+ animating : 'animating',
1429
+ dropdown : 'dropdown',
1430
+ fluid : 'fluid',
1431
+ loading : 'loading',
1432
+ popup : 'ui popup',
1433
+ position : 'top left center bottom right',
1434
+ visible : 'visible',
1435
+ popupVisible : 'visible'
1425
1436
  },
1426
1437
 
1427
1438
  selector : {
@@ -143,8 +143,17 @@ $.fn.search = function(parameters) {
143
143
 
144
144
  event: {
145
145
  input: function() {
146
- clearTimeout(module.timer);
147
- module.timer = setTimeout(module.query, settings.searchDelay);
146
+ if(settings.searchDelay) {
147
+ clearTimeout(module.timer);
148
+ module.timer = setTimeout(function() {
149
+ if(module.is.focused()) {
150
+ module.query();
151
+ }
152
+ }, settings.searchDelay);
153
+ }
154
+ else {
155
+ module.query();
156
+ }
148
157
  },
149
158
  focus: function() {
150
159
  module.set.focus();
@@ -89,10 +89,6 @@ $.fn.sidebar = function(parameters) {
89
89
 
90
90
  transitionEvent = module.get.transitionEvent();
91
91
 
92
- if(module.is.ios()) {
93
- module.set.ios();
94
- }
95
-
96
92
  // avoids locking rendering if initialized in onReady
97
93
  if(settings.delaySetup) {
98
94
  requestAnimationFrame(module.setup.layout);
@@ -569,6 +565,7 @@ $.fn.sidebar = function(parameters) {
569
565
  set: {
570
566
 
571
567
  // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios
568
+ // (This is no longer necessary in latest iOS)
572
569
  ios: function() {
573
570
  $html.addClass(className.ios);
574
571
  },
@@ -286,7 +286,8 @@ $.fn.sticky = function(parameters) {
286
286
  context.offset.left += scrollContext.left;
287
287
  }
288
288
  module.cache = {
289
- fits : ( element.height < scrollContext.height ),
289
+ fits : ( (element.height + settings.offset) <= scrollContext.height),
290
+ sameHeight : (element.height == context.height),
290
291
  scrollContext : {
291
292
  height : scrollContext.height
292
293
  },
@@ -305,7 +306,7 @@ $.fn.sticky = function(parameters) {
305
306
  }
306
307
  };
307
308
  module.set.containerSize();
308
- module.set.size();
309
+
309
310
  module.stick();
310
311
  module.debug('Caching element positions', module.cache);
311
312
  }
@@ -374,6 +375,11 @@ $.fn.sticky = function(parameters) {
374
375
  elementScroll: function(scroll) {
375
376
  delete module.elementScroll;
376
377
  },
378
+ minimumSize: function() {
379
+ $container
380
+ .css('min-height', '')
381
+ ;
382
+ },
377
383
  offset: function() {
378
384
  $module.css('margin-top', '');
379
385
  }
@@ -467,6 +473,7 @@ $.fn.sticky = function(parameters) {
467
473
  cachedPosition = scroll || $scroll.scrollTop(),
468
474
  cache = module.cache,
469
475
  fits = cache.fits,
476
+ sameHeight = cache.sameHeight,
470
477
  element = cache.element,
471
478
  scrollContext = cache.scrollContext,
472
479
  context = cache.context,
@@ -486,8 +493,7 @@ $.fn.sticky = function(parameters) {
486
493
  doesntFit = !fits,
487
494
  elementVisible = (element.height !== 0)
488
495
  ;
489
-
490
- if(elementVisible) {
496
+ if(elementVisible && !sameHeight) {
491
497
 
492
498
  if( module.is.initialPosition() ) {
493
499
  if(scroll.top >= context.bottom) {
@@ -614,6 +620,9 @@ $.fn.sticky = function(parameters) {
614
620
 
615
621
  fixTop: function() {
616
622
  module.debug('Fixing element to top of page');
623
+ if(settings.setSize) {
624
+ module.set.size();
625
+ }
617
626
  module.set.minimumSize();
618
627
  module.set.offset();
619
628
  $module
@@ -632,6 +641,9 @@ $.fn.sticky = function(parameters) {
632
641
 
633
642
  fixBottom: function() {
634
643
  module.debug('Sticking element to bottom of page');
644
+ if(settings.setSize) {
645
+ module.set.size();
646
+ }
635
647
  module.set.minimumSize();
636
648
  module.set.offset();
637
649
  $module
@@ -663,6 +675,7 @@ $.fn.sticky = function(parameters) {
663
675
  unfix: function() {
664
676
  if( module.is.fixed() ) {
665
677
  module.debug('Removing fixed position on element');
678
+ module.remove.minimumSize();
666
679
  module.remove.offset();
667
680
  $module
668
681
  .removeClass(className.fixed)
@@ -898,7 +911,11 @@ $.fn.sticky.settings = {
898
911
  // Offset to adjust scroll when attached to bottom of screen
899
912
  bottomOffset : 0,
900
913
 
901
- jitter : 5, // will only set container height if difference between context and container is larger than this number
914
+ // will only set container height if difference between context and container is larger than this number
915
+ jitter : 5,
916
+
917
+ // set width of sticky element when it is fixed to page (used to make sure 100% width is maintained if no fixed size set)
918
+ setSize : true,
902
919
 
903
920
  // Whether to automatically observe changes with Mutation Observers
904
921
  observeChanges : false,
@@ -836,26 +836,26 @@
836
836
  flex-wrap: wrap;
837
837
  }
838
838
 
839
- .ui[class*="equal width"].form .fields > .field,
840
- .ui.form [class*="equal width"].fields > .field,
841
- .ui.form .two.fields > .fields,
842
- .ui.form .two.fields > .field,
843
- .ui.form .three.fields > .fields,
844
- .ui.form .three.fields > .field,
845
- .ui.form .four.fields > .fields,
846
- .ui.form .four.fields > .field,
847
- .ui.form .five.fields > .fields,
848
- .ui.form .five.fields > .field,
849
- .ui.form .six.fields > .fields,
850
- .ui.form .six.fields > .field,
851
- .ui.form .seven.fields > .fields,
852
- .ui.form .seven.fields > .field,
853
- .ui.form .eight.fields > .fields,
854
- .ui.form .eight.fields > .field,
855
- .ui.form .nine.fields > .fields,
856
- .ui.form .nine.fields > .field,
857
- .ui.form .ten.fields > .fields,
858
- .ui.form .ten.fields > .field {
839
+ .ui[class*="equal width"].form:not(.unstackable) .fields > .field,
840
+ .ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable) > .field,
841
+ .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields,
842
+ .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field,
843
+ .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields,
844
+ .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field,
845
+ .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields,
846
+ .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field,
847
+ .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields,
848
+ .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field,
849
+ .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .fields,
850
+ .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .field,
851
+ .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .fields,
852
+ .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .field,
853
+ .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .fields,
854
+ .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .field,
855
+ .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .fields,
856
+ .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .field,
857
+ .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .fields,
858
+ .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .field {
859
859
  width: @oneColumn !important;
860
860
  margin: 0em 0em @rowDistance;
861
861
  }
@@ -920,29 +920,29 @@
920
920
 
921
921
  /* Swap to full width on mobile */
922
922
  @media only screen and (max-width : @largestMobileScreen) {
923
- .ui.form .two.fields > .fields,
924
- .ui.form .two.fields > .field,
925
- .ui.form .three.fields > .fields,
926
- .ui.form .three.fields > .field,
927
- .ui.form .four.fields > .fields,
928
- .ui.form .four.fields > .field,
929
- .ui.form .five.fields > .fields,
930
- .ui.form .five.fields > .field,
931
- .ui.form .fields > .two.wide.field,
932
- .ui.form .fields > .three.wide.field,
933
- .ui.form .fields > .four.wide.field,
934
- .ui.form .fields > .five.wide.field,
935
- .ui.form .fields > .six.wide.field,
936
- .ui.form .fields > .seven.wide.field,
937
- .ui.form .fields > .eight.wide.field,
938
- .ui.form .fields > .nine.wide.field,
939
- .ui.form .fields > .ten.wide.field,
940
- .ui.form .fields > .eleven.wide.field,
941
- .ui.form .fields > .twelve.wide.field,
942
- .ui.form .fields > .thirteen.wide.field,
943
- .ui.form .fields > .fourteen.wide.field,
944
- .ui.form .fields > .fifteen.wide.field,
945
- .ui.form .fields > .sixteen.wide.field {
923
+ .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields,
924
+ .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field,
925
+ .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields,
926
+ .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field,
927
+ .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields,
928
+ .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field,
929
+ .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields,
930
+ .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field,
931
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .two.wide.field,
932
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .three.wide.field,
933
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .four.wide.field,
934
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .five.wide.field,
935
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .six.wide.field,
936
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .seven.wide.field,
937
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .eight.wide.field,
938
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .nine.wide.field,
939
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .ten.wide.field,
940
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .eleven.wide.field,
941
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .twelve.wide.field,
942
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .thirteen.wide.field,
943
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .fourteen.wide.field,
944
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .fifteen.wide.field,
945
+ .ui.form:not(.unstackable) .fields:not(.unstackable) > .sixteen.wide.field {
946
946
  width: @oneColumn !important;
947
947
  }
948
948
  .ui.form .fields {
@@ -1248,6 +1248,11 @@ Floated Menu / Item
1248
1248
  .ui.stackable.menu .right.item {
1249
1249
  margin-left: 0 !important;
1250
1250
  }
1251
+
1252
+ .ui.stackable.menu .right.menu,
1253
+ .ui.stackable.menu .left.menu {
1254
+ flex-direction: column;
1255
+ }
1251
1256
  }
1252
1257
 
1253
1258
  /*--------------
@@ -1659,6 +1664,9 @@ Floated Menu / Item
1659
1664
  text-align: center;
1660
1665
  justify-content: center;
1661
1666
  }
1667
+ .ui.attached.item.menu {
1668
+ margin: 0em @attachedHorizontalOffset !important;
1669
+ }
1662
1670
 
1663
1671
  .ui.item.menu .item:last-child:before {
1664
1672
  display: none;
@@ -187,6 +187,9 @@
187
187
  .ui.compact.message {
188
188
  display: inline-block;
189
189
  }
190
+ .ui.compact.icon.message {
191
+ display: inline-flex;
192
+ }
190
193
 
191
194
 
192
195
  /*--------------
@@ -967,7 +967,7 @@
967
967
  .ui.inverted.table th {
968
968
  background-color: @invertedHeaderBackground;
969
969
  border-color: @invertedHeaderBorderColor !important;
970
- color: @invertedHeaderColor;
970
+ color: @invertedHeaderColor !important;
971
971
  }
972
972
  .ui.inverted.table tr td {
973
973
  border-color: @invertedCellBorderColor !important;
@@ -479,6 +479,30 @@ i.icons .corner.icon {
479
479
  font-size: @cornerIconSize;
480
480
  text-shadow: @cornerIconShadow;
481
481
  }
482
+ i.icons .top.right.corner.icon {
483
+ top: 0;
484
+ left: auto;
485
+ right: 0;
486
+ bottom: auto;
487
+ }
488
+ i.icons .top.left.corner.icon {
489
+ top: 0;
490
+ left: 0;
491
+ right: auto;
492
+ bottom: auto;
493
+ }
494
+ i.icons .bottom.left.corner.icon {
495
+ top: auto;
496
+ left: 0;
497
+ right: auto;
498
+ bottom: 0;
499
+ }
500
+ i.icons .bottom.right.corner.icon {
501
+ top: auto;
502
+ left: auto;
503
+ right: 0;
504
+ bottom: 0;
505
+ }
482
506
 
483
507
  i.icons .inverted.corner.icon {
484
508
  text-shadow: @cornerIconInvertedShadow;
@@ -92,12 +92,12 @@
92
92
  ---------------------*/
93
93
 
94
94
  .ui.disabled.input,
95
- .ui.input input[disabled] {
95
+ .ui.input:not(.disabled) input[disabled] {
96
96
  opacity: @disabledOpacity;
97
97
  }
98
98
 
99
99
  .ui.disabled.input input,
100
- .ui.input input[disabled] {
100
+ .ui.input:not(.disabled) input[disabled] {
101
101
  pointer-events: none;
102
102
  }
103
103
 
@@ -226,6 +226,7 @@
226
226
  background-color: transparent !important;
227
227
  padding: 0em !important;
228
228
  box-shadow: none !important;
229
+ border-radius: 0px !important;
229
230
  }
230
231
 
231
232
  /* Transparent Icon */