less-rails-semantic_ui 2.2.10.0 → 2.2.11.0

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 (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 */