gridle 1.1.0 → 1.2.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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gridle.rb +4 -5
  3. data/stylesheets/gridle/_common-mixins.scss +84 -0
  4. data/stylesheets/gridle/_functions.scss +291 -0
  5. data/stylesheets/gridle/_generate-mixins.scss +515 -0
  6. data/stylesheets/gridle/_gridle.scss +28 -1653
  7. data/stylesheets/gridle/_mixins.scss +670 -0
  8. data/stylesheets/gridle/_settings-mixins.scss +143 -0
  9. data/stylesheets/gridle/_settings.scss +84 -0
  10. data/stylesheets/gridle/_silent-classes.scss +102 -0
  11. metadata +12 -39
  12. data/stylesheets/gridle/_12-columns-classes.scss +0 -9
  13. data/stylesheets/gridle/_12-columns-responsive-classes.scss +0 -9
  14. data/stylesheets/gridle/_12-columns-responsive.scss +0 -14
  15. data/stylesheets/gridle/_12-columns.scss +0 -9
  16. data/stylesheets/gridle/_16-columns-classes.scss +0 -9
  17. data/stylesheets/gridle/_16-columns-responsive-classes.scss +0 -9
  18. data/stylesheets/gridle/_16-columns-responsive.scss +0 -14
  19. data/stylesheets/gridle/_16-columns.scss +0 -9
  20. data/stylesheets/gridle/_24-columns-classes.scss +0 -9
  21. data/stylesheets/gridle/_24-columns-responsive-classes.scss +0 -9
  22. data/stylesheets/gridle/_24-columns-responsive.scss +0 -14
  23. data/stylesheets/gridle/_24-columns.scss +0 -9
  24. data/stylesheets/gridle/_960gs-classes.scss +0 -9
  25. data/stylesheets/gridle/_960gs-responsive-classes.scss +0 -9
  26. data/stylesheets/gridle/_960gs-responsive.scss +0 -23
  27. data/stylesheets/gridle/_960gs.scss +0 -18
  28. data/stylesheets/gridle/_unsementic-classes.scss +0 -9
  29. data/stylesheets/gridle/_unsementic-responsive-classes.scss +0 -9
  30. data/stylesheets/gridle/_unsementic-responsive.scss +0 -23
  31. data/stylesheets/gridle/_unsementic.scss +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c05d9d130c3fe8a79d01a2b17e51179159a6ad38
4
- data.tar.gz: 8652a2019bc1adc2cda0baa65ba1567309d9c554
3
+ metadata.gz: 71e08f9885a041db51b60a914ac2411666b3b0e3
4
+ data.tar.gz: eb4b7f044f51df465da61dd05d71119da427db38
5
5
  SHA512:
6
- metadata.gz: dbb43793bba559b0f9e181cf85b8e05394877ea7c1ca2708b30b7ffe6a4388759b3ce8418150a339f303ddab4cbf5281ece2b7d6d777b08e2c28496bf949388e
7
- data.tar.gz: 50b879901f506e029bec32692e8351a9fe54dfc8ddb0895c528bbfff4ce096e28b09d876c2cba129b0ed08ab4d8dc238e178c5aa7a12c035012bcbb71c097172
6
+ metadata.gz: c9dfc7c0a874e48eb2d60ed6ab4c87598c7b520a9b3f08e0d3b872ee708aa80b59bbf222f0e9ef8ee4008b5dbdb3352412c1230ea3139c8ad1415167001f4298
7
+ data.tar.gz: 6e3d69c5886e0ff4b663a3db1bece9356bfbf342479c9d1f76da24c9ed25826084dc8cf4bd9ed83f2a876e0c3ccf3d85c5006925938a5d51b84fca0886696773
@@ -2,13 +2,12 @@
2
2
  # These are the requires you would normally put in your config.rb file
3
3
  # By default, you should always included Compass. Do not include your
4
4
  # extension.
5
- require 'compass'
6
5
 
7
6
  # This tells Compass what your Compass extension is called, and where to find
8
7
  # its files
9
8
  # Replace 'extension' with the name of your extension. Spaces allowed.
10
- extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
11
- Compass::Frameworks.register('gridle', :path => extension_path)
9
+ # extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
10
+ # Compass::Frameworks.register('gridle', :path => extension_path)
12
11
 
13
12
  # Version and date of version for your Compass extension.
14
13
  # Replace Extension with the name of your extension
@@ -17,8 +16,8 @@ Compass::Frameworks.register('gridle', :path => extension_path)
17
16
  # a prerelease version
18
17
  # Date is in the form of YYYY-MM-DD
19
18
  module Extension
20
- VERSION = "1.1.0"
21
- DATE = "2013-12-06"
19
+ VERSION = "1.2.0"
20
+ DATE = "2014-05-13"
22
21
  end
23
22
 
24
23
  # This is where any custom SassScript should be placed. The functions will be
@@ -0,0 +1,84 @@
1
+ // |------------------------------------------------------
2
+ // |------------------------------------------------------
3
+ // | Common mixins
4
+ // |------------------------------------------------------
5
+ // |------------------------------------------------------
6
+
7
+ @mixin _gridle_container_common() {
8
+ @extend %gridle-simple-clearfix;
9
+ @extend %gridle-container-common;
10
+ // debug part :
11
+ @if ($gridle-debug == true) {
12
+ #{$gridle-debug-selector} {
13
+ @extend %gridle-container-debug-common;
14
+ }
15
+ }
16
+ }
17
+ @mixin _gridle_grid_common() {
18
+ @extend %gridle-grid-common;
19
+ @if $gridle-direction == rtl {
20
+ float:right;
21
+ direction:rtl;
22
+ } @else {
23
+ float:left;
24
+ direction:ltr;
25
+ }
26
+
27
+ @if $gridle-gutter-type == padding {
28
+ // set padding :
29
+ padding:0 $gridle-gutter-width/2;
30
+ }
31
+
32
+ @if $gridle-debug == true {
33
+ #{$gridle-debug-selector} {
34
+ @extend %gridle-grid-debug-common;
35
+ }
36
+ }
37
+ }
38
+ @mixin _gridle_parent_common() {
39
+ @extend %gridle-clearfix;
40
+ @extend %gridle-parent-common;
41
+ }
42
+ @mixin _gridle_push_common() {
43
+ // extend common :
44
+ @extend %gridle-push-pull-common;
45
+ @if $gridle-debug == true {
46
+ #{$gridle-debug-selector} {
47
+ @extend %gridle-push-pull-debug-background-common;
48
+ background-color:#f4efdf !important;
49
+ @if $gridle-direction == ltr {
50
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Rjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ1MDg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDNkNBRDREODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FdXphgAAA39JREFUeNrs3cGKwjAUQNGm7f//8FQyo66E6oAS8/Jy7qY7peEdGyFoqbUuks5bLYEEiPRWe8sXL6XcLq3fp2PX/elhjBotboDt/2qIPvsMSIxfX9xiQSJAIBEgkEACCCSQqBcQSAQIJJAAAgkkgEACCSCQQKLAQCARIJDckBRjBwgkz5FskAACCSSAQAIJIJBAAggkkGhUIJAIEEggAQQSSACBBBJAIIEEEEggAWTsIBEgkEACCCSQAAIJJIBAAgkgkEACCCSQAJI2SAQIJJAAAgkkgEACCSCQQAIIJJAAAgkkgEACCSALJJAIEEgECCSQAAIJJIBAAgkgkEACCCSQAAIJJIBAAgkggkSAQAIJIJBAAggkkAACCSSAQAIJIJBAAggkkAAiSAARJPMiAQQSSACBBBJAIIEEEEggAQQSSACBBBJAIIEEEP2L5AcSQPQ6SAARJIAIkmmQAAIJJIBAAgkgkEACCCSQAAIJJIAIEkAEydBIAIEEEkCGywFHQPQip4ABESTxkQACCSSAQAIJIJBAAggkkAAiSAARJKdI9khIAIEkYmGQAAJJWCTlL0AESWAkgEACCSCQQAIIJJAAIkgAESRBkAACCSSAQAIJIJoPydbaCCD52xLf26XWCog+wpH1z22O2loHIOlxrHAAIjgAERzfxgEIHHAAAgccgMABByCCAxDBEQQHIHCExbHcj8ksgAiOoDgAgQMOQOCA4/12MwdH564oLhFxeILAAQcgcMABCBxwAAIHHIAIDkAEByCCY2gcgMABByBwwAEIHHAAAgccgMABByBwwAGI4ABEcGTFAQgccAACBxyAwAEHIHDAAQgccATKjza0W9cCByB6rCRe0+lw2GLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwAAIHHIAIDkAEhwCBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5NDwQOAQKHAIEDDkDggAMQOOAABA44AIEDDkDggAMQOOAABA44NAcQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOrXDAoVxA4BAgcAgQOOAABA44AIEDDkDggAMQOOBQeCBwCBA4BAgccAACBxyAwAHHdO1wNMdxGDNPEDjgAAQOOACBAw51BQKHAIFDgMABByBwwAEIHHCoAxA4NHSlVicgpAhf0iVApEz9CjAA65/oofjgOdQAAAAASUVORK5CYII=);
51
+ } @else {
52
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Qjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ0Qzg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdDQjlFNzVFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRBODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ee9ybwAAA3JJREFUeNrs3dEKgkAQQNE27f9/uJoM6iXKwFLH8Vzw1WjdwxZt2iLiIOl9R0MgASJNqp/z5K01I5znOle9GOeY8XuCFQQOOACBAw5ABAcggiMW/G0CEDjgAAQOOACBAw5ABAcggiMBjufgapvdUXRwWEG0QxzDkWKbOSBwwAEIHHAAAgccgMABByCCAxDBkRsHIHDAAQgccAACBxyAwAEHIHDAAYjgAERwbBoHIHDAAQgccAACBxyAwAEHIHDAAQgccAAiOAARHFVxAAIHHIDAAQcgcMABCBxwAAIHHIDAAQcgcMABiOAARHAAIjjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOQOCAAxA44NhjPRxligcOAQLHS9fhuJjOPmLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwqCwQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMObRUIHAIEDgECBxyAwAEHIHDAUbo+MY6qN5SAwwoCBxyAwAEHIHDAAQgccCgtEDgECBwCBA44AIEDDkDggEMrAIFDgMAhQOCAAxA4vhRwAPJrXeHxgwMQk2ik/lD3ablaCEj1p69CAggkkAACCSRaEQgkAgQSSACBBBJAIIFEa/9hChIBAgkkgEACCSCLIAlIBMhnJBdIBAgkAgQSSACBBBJAIIEEEEgg0eaAQCJAICl7YwtAIPlbJ1MSEEggAQQSSACBBBJAIIEEEEggUVEgkAgQSCABBBJIAIEEEkAggQQQSFZHYoMjIJCMZBcwIJBAAggkkAACCSSAQAIJIJBAAggkkACy4/cOiQCBBBJAIIEEEEggAQQSSACBBBJAIIEEEEggAQQSSAARJAIEEkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBBAogggQQQSCABBBJIAIEEEkAggQQQSCABBBJIABEkgAiSwkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBB0gARJEWRAAIJJIBAAgkgkEACCCSQACJIABEk+ZEAAgkkgEACCSCQQAIIJJAAojEkZ0gA0XiQACJIABEkH5G0IUAESWIkgEACCSCQQAKIIAFEkAAiSJIgAQQSSACBBJKJLzLnySPCFM2BRFYQCRBp0W4CDAAOV/Wfo7G12gAAAABJRU5ErkJggg==);
53
+ }
54
+ }
55
+ }
56
+ }
57
+ @mixin _gridle_pull_common() {
58
+ @extend %gridle-push-pull-common;
59
+ @if $gridle-debug == true {
60
+ #{$gridle-debug-selector} {
61
+ @extend %gridle-push-pull-debug-background-common;
62
+ background-color:#cfe4d5 !important;
63
+ @if $gridle-direction == ltr {
64
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Qjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ0Qzg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdDQjlFNzVFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRBODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ee9ybwAAA3JJREFUeNrs3dEKgkAQQNE27f9/uJoM6iXKwFLH8Vzw1WjdwxZt2iLiIOl9R0MgASJNqp/z5K01I5znOle9GOeY8XuCFQQOOACBAw5ABAcggiMW/G0CEDjgAAQOOACBAw5ABAcggiMBjufgapvdUXRwWEG0QxzDkWKbOSBwwAEIHHAAAgccgMABByCCAxDBkRsHIHDAAQgccAACBxyAwAEHIHDAAYjgAERwbBoHIHDAAQgccAACBxyAwAEHIHDAAQgccAAiOAARHFVxAAIHHIDAAQcgcMABCBxwAAIHHIDAAQcgcMABiOAARHAAIjjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOQOCAAxA44NhjPRxligcOAQLHS9fhuJjOPmLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwqCwQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMObRUIHAIEDgECBxyAwAEHIHDAUbo+MY6qN5SAwwoCBxyAwAEHIHDAAQgccCgtEDgECBwCBA44AIEDDkDggEMrAIFDgMAhQOCAAxA4vhRwAPJrXeHxgwMQk2ik/lD3ablaCEj1p69CAggkkAACCSRaEQgkAgQSSACBBBJAIIFEa/9hChIBAgkkgEACCSCLIAlIBMhnJBdIBAgkAgQSSACBBBJAIIEEEEgg0eaAQCJAICl7YwtAIPlbJ1MSEEggAQQSSACBBBJAIIEEEEggUVEgkAgQSCABBBJIAIEEEkAggQQQSFZHYoMjIJCMZBcwIJBAAggkkAACCSSAQAIJIJBAAggkkACy4/cOiQCBBBJAIIEEEEggAQQSSACBBBJAIIEEEEggAQQSSAARJAIEEkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBBAogggQQQSCABBBJIAIEEEkAggQQQSCABBBJIABEkgAiSwkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBB0gARJEWRAAIJJIBAAgkgkEACCCSQACJIABEk+ZEAAgkkgEACCSCQQAIIJJAAojEkZ0gA0XiQACJIABEkH5G0IUAESWIkgEACCSCQQAKIIAFEkAAiSJIgAQQSSACBBJKJLzLnySPCFM2BRFYQCRBp0W4CDAAOV/Wfo7G12gAAAABJRU5ErkJggg==);
65
+ } @else {
66
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Rjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ1MDg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDNkNBRDREODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FdXphgAAA39JREFUeNrs3cGKwjAUQNGm7f//8FQyo66E6oAS8/Jy7qY7peEdGyFoqbUuks5bLYEEiPRWe8sXL6XcLq3fp2PX/elhjBotboDt/2qIPvsMSIxfX9xiQSJAIBEgkEACCCSQqBcQSAQIJJAAAgkkgEACCSCQQKLAQCARIJDckBRjBwgkz5FskAACCSSAQAIJIJBAAggkkGhUIJAIEEggAQQSSACBBBJAIIEEEEggAWTsIBEgkEACCCSQAAIJJIBAAgkgkEACCCSQAJI2SAQIJJAAAgkkgEACCSCQQAIIJJAAAgkkgEACCSALJJAIEEgECCSQAAIJJIBAAgkgkEACCCSQAAIJJIBAAgkggkSAQAIJIJBAAggkkAACCSSAQAIJIJBAAggkkAAiSAARJPMiAQQSSACBBBJAIIEEEEggAQQSSACBBBJAIIEEEP2L5AcSQPQ6SAARJIAIkmmQAAIJJIBAAgkgkEACCCSQAAIJJIAIEkAEydBIAIEEEkCGywFHQPQip4ABESTxkQACCSSAQAIJIJBAAggkkAAiSAARJKdI9khIAIEkYmGQAAJJWCTlL0AESWAkgEACCSCQQAIIJJAAIkgAESRBkAACCSSAQAIJIJoPydbaCCD52xLf26XWCog+wpH1z22O2loHIOlxrHAAIjgAERzfxgEIHHAAAgccgMABByCCAxDBEQQHIHCExbHcj8ksgAiOoDgAgQMOQOCA4/12MwdH564oLhFxeILAAQcgcMABCBxwAAIHHIAIDkAEByCCY2gcgMABByBwwAEIHHAAAgccgMABByBwwAGI4ABEcGTFAQgccAACBxyAwAEHIHDAAQgccATKjza0W9cCByB6rCRe0+lw2GLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwAAIHHIAIDkAEhwCBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5NDwQOAQKHAIEDDkDggAMQOOAABA44AIEDDkDggAMQOOAABA44NAcQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOrXDAoVxA4BAgcAgQOOAABA44AIEDDkDggAMQOOBQeCBwCBA4BAgccAACBxyAwAHHdO1wNMdxGDNPEDjgAAQOOACBAw51BQKHAIFDgMABByBwwAEIHHCoAxA4NHSlVicgpAhf0iVApEz9CjAA65/oofjgOdQAAAAASUVORK5CYII=);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ @mixin _gridle_prefix_common() {
72
+ @if $gridle-debug == true {
73
+ #{$gridle-debug-selector} {
74
+ @extend %gridle-prefix-debug-common;
75
+ }
76
+ }
77
+ }
78
+ @mixin _gridle_suffix_common() {
79
+ @if $gridle-debug == true {
80
+ #{$gridle-debug-selector} {
81
+ @extend %gridle-suffix-debug-common;
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,291 @@
1
+ // |------------------------------------------------------
2
+ // |------------------------------------------------------
3
+ // | Functions
4
+ // |------------------------------------------------------
5
+ // |------------------------------------------------------
6
+
7
+
8
+ /**
9
+ * Map set
10
+ *
11
+ * @param Map $map The map to use
12
+ * @param String $key The key to update
13
+ * @param Mixed $value The new value
14
+ * @return Map The new map
15
+ */
16
+ @function map-set($map, $key, $value) {
17
+ $new: ($key: $value);
18
+ @return map-merge($map, $new);
19
+ }
20
+
21
+
22
+ /**
23
+ * Get the column width in percent for the global or a specific context
24
+ *
25
+ * @param int $columns The number of columns to calculate
26
+ * @param int $context : $gridle-columns-count The context to use
27
+ * @return percentage The width in percent
28
+ */
29
+ @function gridle_get_columns_width(
30
+ $columns : 1,
31
+ $context : $gridle-columns-count
32
+ ) {
33
+ @return percentage(1 / $context * $columns);
34
+ }
35
+ @function gridle_get_column_width(
36
+ $columns : 1,
37
+ $context : $gridle-columns-count
38
+ ) {
39
+ @return gridle_get_columns_width($columns, $context);
40
+ }
41
+
42
+
43
+ /**
44
+ * Get a state map
45
+ */
46
+ @function _gridle_get_state(
47
+ $name
48
+ ) {
49
+ // if name if not a string, return null :
50
+ @if type-of($name) != string
51
+ {
52
+ @return false;
53
+ }
54
+
55
+ // check if has a state named like this :
56
+ @if (map-has-key($_gridle_states, $name))
57
+ {
58
+ @return map-get($_gridle_states, unquote($name));
59
+ }
60
+
61
+ @return false;
62
+ }
63
+
64
+
65
+ /**
66
+ * Get the media queries variables :
67
+ *
68
+ * @param int $index The media query indes
69
+ * @param String $var The media query variable name
70
+ * @return String|int The variable value
71
+ */
72
+ @function _gridle_get_state_var(
73
+ $stateName,
74
+ $var : "name"
75
+ ) {
76
+
77
+ // get the state :
78
+ $state : _gridle_get_state($stateName);
79
+
80
+ // check ig state and if has the variable :
81
+ @if $state
82
+ and map-has-key($state,unquote($var))
83
+ {
84
+ @return map-get($state,unquote($var));
85
+ }
86
+
87
+ // nothing getted :
88
+ @return null;
89
+ }
90
+
91
+
92
+ /**
93
+ * Set a variable in a state
94
+ * @param Mixed $stateName-or-stateIndex The state name of state index
95
+ * @param String $var Variable name to assign
96
+ * @param Mixed $newValue The new value to assign
97
+ * @return List The states list (full)
98
+ */
99
+ @function _gridle_set_state_var(
100
+ $stateName,
101
+ $var,
102
+ $newValue
103
+ ) {
104
+ // get the state :
105
+ $state : _gridle_get_state($stateName);
106
+
107
+ // check ig state and if has the variable :
108
+ @if $state
109
+ and map-has-key($state,unquote($var))
110
+ {
111
+ // set new value in state :
112
+ $state : map-set($state, unquote($var), $newValue);
113
+
114
+ // set states :
115
+ $_gridle_states : map-set($_gridle_states, unquote($stateName), $state);
116
+
117
+ // return new state :
118
+ @return $state;
119
+ }
120
+
121
+ // nothing getted :
122
+ @return null;
123
+ }
124
+
125
+
126
+ /**
127
+ * Generate a column
128
+ *
129
+ * @param String $name The column name (often count)
130
+ * @param int $columns The column count that the column will take
131
+ * @param int $context The context on witch the with will be calculed
132
+ * @param Boolean $generateClasses Set if the column has to be generated in css
133
+ */
134
+ @function _gridle_create_column(
135
+ $name,
136
+ $columns,
137
+ $context,
138
+ $generateClasses : true
139
+ ) {
140
+ @return (
141
+ name : $name,
142
+ columns : $columns,
143
+ context : $context,
144
+ generateClasses : $generateClasses
145
+ );
146
+ }
147
+
148
+
149
+ /**
150
+ * Generate classname
151
+ *
152
+ * @param List $parrern The pattern to use to generate classname
153
+ * @param String $state The state
154
+ * @param int $count The column count
155
+ */
156
+ @function _gridle_classname(
157
+ $pattern,
158
+ $state : null,
159
+ $count : null
160
+ ) {
161
+
162
+ // init selector :
163
+ $sel : ".";
164
+
165
+ // add class prefix :
166
+ @if $gridle-class-prefix and $gridle-class-prefix != '' {
167
+ $sel : "#{$sel}#{$gridle-class-prefix}";
168
+ @if $gridle-class-separator {
169
+ $sel : "#{$sel}#{$gridle-class-separator}";
170
+ }
171
+ }
172
+
173
+ // construct class name :
174
+ $i : 1;
175
+ @each $var in $pattern {
176
+
177
+ // replace tokens :
178
+ @if $var == '%state' and $state {
179
+ $sel : "#{$sel}#{$state}";
180
+ }
181
+ @if $var == '%count' and $count {
182
+ $sel : "#{$sel}#{$count}";
183
+ }
184
+ @if $var != '%state' and $var != '%count' and $var != '%-' and $var != '%prefix' {
185
+ $sel : "#{$sel}#{$var}";
186
+ }
187
+
188
+ // handle separators :
189
+ @if $var == '%-' and $i < length($pattern) {
190
+ $index : $i + 1;
191
+ $value : nth($pattern, $index);
192
+ @if $value != '%state' and $value != '%count' and $value != '%-' and $value != '%prefix' {
193
+ $sel : "#{$sel}#{$gridle-class-separator}";
194
+ }
195
+ @if $value == '%state' and $state {
196
+ $sel : "#{$sel}#{$gridle-class-separator}";
197
+ }
198
+ @if $value == '%count' and $count {
199
+ $sel : "#{$sel}#{$gridle-class-separator}";
200
+ }
201
+ }
202
+
203
+ // update i :
204
+ $i : $i + 1;
205
+ }
206
+
207
+ // return generated class :
208
+ @return $sel;
209
+ }
210
+
211
+
212
+ /**
213
+ * Get the media query for a particular state, or with, etc...
214
+ *
215
+ * @param Mixed $state-or-min-width The state name of the min with
216
+ * @param Mixed $max-width The max width if first param is a min width
217
+ * @return String The media query string without the @media
218
+ */
219
+ @function _get_media_query_for_state(
220
+ $state-or-min-width : null,
221
+ $max-width : null
222
+ ) {
223
+
224
+ // get the index of state :
225
+ $state : _gridle_get_state($state-or-min-width);
226
+
227
+ // if there's an idx, the state requested is a registered one :
228
+ @if $state {
229
+
230
+ // get vars :
231
+ $name : map-get($state, name);
232
+ $min-width : map-get($state, min-width);
233
+ $max-width : map-get($state, max-width);
234
+ $classes : map-get($state, classes);
235
+ $query : map-get($state, query);
236
+
237
+ // check if exist :
238
+ @if $name {
239
+
240
+ // check if query exist :
241
+ @if $query {
242
+ @return $query;
243
+ } @else {
244
+
245
+ // write media query :
246
+ @if $min-width and $max-width {
247
+ @return "screen and (min-width: #{$min-width}) and (max-width: #{$max-width})";
248
+ } @else if $min-width == null and $max-width {
249
+ @return "screen and (max-width: #{$max-width})";
250
+ } @else if $min-width and $max-width == null {
251
+ @return "screen and (min-width: #{$min-width})";
252
+ } @else {
253
+ @return false;
254
+ }
255
+ }
256
+ } @else {
257
+ @return "not working";
258
+ }
259
+ } @else if $state-or-min-width == 'print' or $state-or-min-width == print {
260
+ @return "only print";
261
+ } @else if $state-or-min-width == 'tv' or $state-or-min-width == tv {
262
+ @return "only tv";
263
+ } @else if $state-or-min-width == 'portrait' or $state-or-min-width == portrait {
264
+ @return "only screen and (orientation: portrait)";
265
+ } @else if $state-or-min-width == 'landscape' or $state-or-min-width == landscape {
266
+ @return "only screen and (orientation: landscape)";
267
+ } @else if $state-or-min-width == 'retina' or $state-or-min-width == retina {
268
+ @return "only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)";
269
+ } @else {
270
+ // check for min and max width :
271
+ @if $state-or-min-width and $max-width {
272
+ @return "screen and (min-width: #{$state-or-min-width}) and (max-width: #{$max-width})";
273
+ } @else if $state-or-min-width and $max-width == null {
274
+ @return "screen and (min-width: #{$state-or-min-width})";
275
+ } @else if $state-or-min-width == null and $max-width {
276
+ @return "screen and (max-width: #{$max-width})";
277
+ } @else {
278
+ @return null;
279
+ }
280
+ }
281
+ }
282
+
283
+
284
+ /**
285
+ * Get states count
286
+ *
287
+ * @return int The number of states defined
288
+ */
289
+ @function _gridle_get_states_count() {
290
+ @return length($_gridle_states) / length($_gridle_states_vars_pattern);
291
+ }
@@ -0,0 +1,515 @@
1
+ // |------------------------------------------------------
2
+ // |------------------------------------------------------
3
+ // | Generate mixins
4
+ // |------------------------------------------------------
5
+ // |------------------------------------------------------
6
+
7
+ // Generate all helpers classes
8
+ // All the classes generated are not wrapper in gridle_state
9
+ // in this mixin... Just the names are generated accordingly to the
10
+ // requested state
11
+ @mixin _gridle_generate_helper_classes (
12
+ $state : null
13
+ ) {
14
+ // helpers :
15
+ #{_gridle_classname($gridle-hide-name-pattern, $state)} {
16
+ @include gridle_hide(null);
17
+ }
18
+ #{_gridle_classname($gridle-not-visible-name-pattern, $state)} {
19
+ @include gridle_not_visible(null);
20
+ }
21
+ #{_gridle_classname($gridle-show-name-pattern, $state)} {
22
+ @include gridle_show(null);
23
+ }
24
+ #{_gridle_classname($gridle-visible-name-pattern, $state)} {
25
+ @include gridle_visible(null);
26
+ }
27
+ #{_gridle_classname($gridle-float-left-name-pattern, $state)} {
28
+ @include gridle_float(left);
29
+ }
30
+ #{_gridle_classname($gridle-float-right-name-pattern, $state)} {
31
+ @include gridle_float(right);
32
+ }
33
+ #{_gridle_classname($gridle-clear-name-pattern, $state)} {
34
+ @include gridle_clear(both);
35
+ }
36
+ #{_gridle_classname($gridle-clear-left-name-pattern, $state)} {
37
+ @include gridle_clear(left);
38
+ }
39
+ #{_gridle_classname($gridle-clear-right-name-pattern, $state)} {
40
+ @include gridle_clear(right);
41
+ }
42
+ #{_gridle_classname($gridle-no-gutters-name-pattern, $state)},
43
+ #{_gridle_classname($gridle-no-margins-name-pattern, $state)} {
44
+ @include gridle_no_margin();
45
+ }
46
+ #{_gridle_classname($gridle-no-gutter-left-name-pattern, $state)},
47
+ #{_gridle_classname($gridle-no-margin-left-name-pattern, $state)} {
48
+ @include gridle_no_margin(left);
49
+ }
50
+ #{_gridle_classname($gridle-no-gutter-right-name-pattern, $state)},
51
+ #{_gridle_classname($gridle-no-margin-right-name-pattern, $state)} {
52
+ @include gridle_no_margin(right);
53
+ }
54
+ #{_gridle_classname($gridle-no-gutter-top-name-pattern, $state)},
55
+ #{_gridle_classname($gridle-no-margin-top-name-pattern, $state)} {
56
+ @include gridle_no_margin(top);
57
+ }
58
+ #{_gridle_classname($gridle-no-gutter-bottom-name-pattern, $state)},
59
+ #{_gridle_classname($gridle-no-margin-bottom-name-pattern, $state)} {
60
+ @include gridle_no_margin(bottom);
61
+ }
62
+ #{_gridle_classname($gridle-gutters-name-pattern, $state)},
63
+ #{_gridle_classname($gridle-margins-name-pattern, $state)} {
64
+ @include gridle_margin(left right);
65
+ }
66
+ #{_gridle_classname($gridle-gutter-left-name-pattern, $state)},
67
+ #{_gridle_classname($gridle-margin-left-name-pattern, $state)} {
68
+ @include gridle_margin(left);
69
+ }
70
+ #{_gridle_classname($gridle-gutter-right-name-pattern, $state)},
71
+ #{_gridle_classname($gridle-margin-right-name-pattern, $state)} {
72
+ @include gridle_margin(right);
73
+ }
74
+ #{_gridle_classname($gridle-gutter-top-name-pattern, $state)},
75
+ #{_gridle_classname($gridle-margin-top-name-pattern, $state)} {
76
+ @include gridle_margin(top);
77
+ }
78
+ #{_gridle_classname($gridle-gutter-bottom-name-pattern, $state)},
79
+ #{_gridle_classname($gridle-margin-bottom-name-pattern, $state)} {
80
+ @include gridle_margin(bottom);
81
+ }
82
+ #{_gridle_classname($gridle-auto-height-name-pattern, $state)} {
83
+ height:inherit;
84
+ }
85
+ #{_gridle_classname($gridle-centered-name-pattern, $state)} {
86
+ @include gridle_centered(null);
87
+ }
88
+ #{_gridle_classname($gridle-parent-name-pattern, $state)} {
89
+ @include _gridle_parent();
90
+ }
91
+ #{_gridle_classname($gridle-parent-vertical-align-name-pattern, $state)} {
92
+ @include _gridle_parent_vertical_align();
93
+ }
94
+
95
+ /**
96
+ * Clear each class :
97
+ */
98
+ @each $clearName, $clearMap in $_gridle_clear_classes {
99
+ // get count :
100
+ $clearCount : map-get($clearMap, clearEach);
101
+ // what to clear :
102
+ $clearWhat : map-get($clearMap, clearWhat);
103
+ // generate the class :
104
+ #{_gridle_classname($gridle-clear-each-pattern, $state, $clearCount)} {
105
+ @include _gridle_clear_each($clearCount, $clearWhat, $state);
106
+ }
107
+ }
108
+
109
+ // debug colors :
110
+ @if $gridle-debug {
111
+ // debug color classes :
112
+ #{_gridle_classname($gridle-debug-color-name-pattern, $state, 1)} {
113
+ #{$gridle-debug-selector} {
114
+ background-color : #edeeb2;
115
+ }
116
+ }
117
+ #{_gridle_classname($gridle-debug-color-name-pattern, $state, 2)} {
118
+ #{$gridle-debug-selector} {
119
+ background-color : #fae4a7;
120
+ }
121
+ }
122
+ #{_gridle_classname($gridle-debug-color-name-pattern, $state, 3)} {
123
+ #{$gridle-debug-selector} {
124
+ background-color : #f5eacc;
125
+ }
126
+ }
127
+ #{_gridle_classname($gridle-debug-color-name-pattern, $state, 4)} {
128
+ #{$gridle-debug-selector} {
129
+ background-color : #eebdb2;
130
+ }
131
+ }
132
+ #{_gridle_classname($gridle-debug-color-name-pattern, $state, 5)} {
133
+ #{$gridle-debug-selector} {
134
+ background-color : #d4b2ee;
135
+ }
136
+ }
137
+ #{_gridle_classname($gridle-debug-color-name-pattern, $state, 6)} {
138
+ #{$gridle-debug-selector} {
139
+ background-color : #b2d8ee;
140
+ }
141
+ }
142
+ }
143
+ }
144
+
145
+
146
+ // generate settings json :
147
+ @mixin gridle_generate_json_settings(
148
+ $scope : default
149
+ ) {
150
+
151
+ // settings content :
152
+ $gridle-settings-states : "{";
153
+
154
+ // generate all classes for differents media queries :
155
+ @each $stateName, $state in $_gridle_states {
156
+
157
+ $name : $stateName;
158
+
159
+ $gridle-settings-states : "#{$gridle-settings-states} \"#{$name}\":{";
160
+
161
+ @each $varName, $var in $state {
162
+
163
+ $value : null;
164
+ @if $varName == "query" {
165
+ $value : _get_media_query_for_state($stateName);
166
+ } @else {
167
+ $value : map-get($state,$varName);
168
+ // $value : _gridle_get_state_var($i,$var);
169
+ }
170
+
171
+ @if $value == null {
172
+ $gridle-settings-states : "#{$gridle-settings-states} \"#{$varName}\" : null,";
173
+ } @elseif $var == 'context' or $var == 'classes' {
174
+ $gridle-settings-states : "#{$gridle-settings-states} \"#{$varName}\" : #{$value},";
175
+ } @else {
176
+ $gridle-settings-states : "#{$gridle-settings-states} \"#{$varName}\" : \"#{$value}\",";
177
+ }
178
+ }
179
+
180
+ $gridle-settings-states : "#{$gridle-settings-states} },";
181
+
182
+ }
183
+
184
+ // generate settings json :
185
+ $gridle-settings-states : "#{$gridle-settings-states}}";
186
+ $gridle-settings : "{";
187
+ $gridle-settings : "#{$gridle-settings} \"version\" : \"#{$_gridle-version}\"";
188
+
189
+ // states :
190
+ $gridle-settings : "#{$gridle-settings}, \"states\" : #{$gridle-settings-states}";
191
+
192
+ // debug devices :
193
+ $debug_devices : $_gridle_states_debug_devices;
194
+ @if length($_gridle_states_debug_devices) <= 0 {
195
+ $debug_devices : null;
196
+ }
197
+ $gridle-settings : "#{$gridle-settings}, \"debugDevices\" : { #{$debug_devices} }";
198
+
199
+ // settings :
200
+ $gridle-settings : "#{$gridle-settings}, \"columnsCount\" : #{$gridle-columns-count}";
201
+ $gridle-settings : "#{$gridle-settings}, \"gutterWidth\" : \"#{$gridle-gutter-width}\"";
202
+ $gridle-settings : "#{$gridle-settings}, \"nameMultiplicator\" : #{$gridle-name-multiplicator}";
203
+ $gridle-settings : "#{$gridle-settings}, \"direction\" : \"#{$gridle-direction}\"";
204
+ $gridle-settings : "#{$gridle-settings}, \"ie7Support\" : #{$gridle-ie7-support}";
205
+ $gridle-settings : "#{$gridle-settings}, \"debug\" : #{$gridle-debug}";
206
+ $gridle-settings : "#{$gridle-settings}, \"debugShowClassNames\" : #{$gridle-debug-show-class-names}";
207
+ $gridle-settings : "#{$gridle-settings}, \"htmlStatesClasses\" : #{$gridle-html-states-classes}";
208
+ $gridle-settings : "#{$gridle-settings}, \"generateHelpersClasses\" : #{$gridle-generate-helpers-classes}";
209
+ $gridle-settings : "#{$gridle-settings}, \"generatePushClasses\" : #{$gridle-generate-push-classes}";
210
+ $gridle-settings : "#{$gridle-settings}, \"generatePullClasses\" : #{$gridle-generate-pull-classes}";
211
+ $gridle-settings : "#{$gridle-settings}, \"generatePrefixClasses\" : #{$gridle-generate-prefix-classes}";
212
+ $gridle-settings : "#{$gridle-settings}, \"generateSuffixClasses\" : #{$gridle-generate-suffix-classes}";
213
+ $gridle-settings : "#{$gridle-settings}, \"classPrefix\" : \"#{$gridle-class-prefix}\"";
214
+ $gridle-settings : "#{$gridle-settings} }";
215
+ #gridle-settings-#{$scope} {
216
+ content : $gridle-settings;
217
+ }
218
+ }
219
+
220
+
221
+ // gridle mixin :
222
+ // Generate all the classes needed for a grid
223
+ @mixin gridle_generate_classes(
224
+ $scope : null
225
+ ) {
226
+ // check if a scope exist :
227
+ @if $scope {
228
+ // wrapp grid into scope :
229
+ .#{$scope} {
230
+ @include _gridle_generate_classes(true);
231
+ }
232
+ } @else {
233
+ // generate classes :
234
+ @include _gridle_generate_classes(false);
235
+ }
236
+ }
237
+ @mixin _gridle_generate_classes(
238
+ $has-parent
239
+ ) {
240
+
241
+ // check if debug is activated :
242
+ @if $gridle-debug {
243
+ $gridle-html-states-classes : true !global;
244
+ }
245
+
246
+
247
+ // | ------------------------
248
+ // | Windows 8 fix
249
+ // | ------------------------
250
+
251
+ // Windows 8 fix for snap mode :
252
+ @media screen and (max-width: 400px) {
253
+ @-ms-viewport { width: device-width; }
254
+ }
255
+
256
+
257
+ // | ------------------------
258
+ // | Container
259
+ // | ------------------------
260
+
261
+ // generate container class :
262
+ $container-selector : ();
263
+ $container-selector : append( $container-selector, unquote(_gridle_classname($gridle-container-name-pattern)), comma);
264
+ #{$container-selector} {
265
+ @include gridle_container();
266
+ }
267
+
268
+
269
+ // | ------------------------
270
+ // | Parent selector
271
+ // | ------------------------
272
+
273
+ // parent common css :
274
+ $parentSelector : _gridle_classname($gridle-parent-name-pattern,null,null);
275
+ #{$parentSelector} {
276
+ @extend %gridle-clearfix;
277
+ @extend %gridle-parent-common;
278
+ }
279
+
280
+ // | ------------------------
281
+ // | Store all the generated common selectors
282
+ // | ------------------------
283
+
284
+ // generate all selector for extends :
285
+ $common-selector : ();
286
+ $push-common-selector : ();
287
+ $pull-common-selector : ();
288
+ $prefix-common-selector : ();
289
+ $suffix-common-selector : ();
290
+
291
+
292
+ // | ------------------------
293
+ // | Default classes
294
+ // | ------------------------
295
+
296
+ // get specials columns :
297
+ $columnsMap : map-merge((), $_gridle_columns);
298
+
299
+ // register all default columns :
300
+ @for $i from 0 through $gridle-columns-count {
301
+
302
+ // name :
303
+ $columnName : "#{$i*$gridle-name-multiplicator}";
304
+
305
+ // create a column :
306
+ $col : _gridle_create_column($columnName, $i, $gridle-columns-count);
307
+
308
+ // add column in columns map :
309
+ $columnsMap : map-set($columnsMap, $columnName, $col);
310
+ }
311
+
312
+ // generate all classes for columns :
313
+ @each $columnName, $column in $columnsMap {
314
+
315
+ // variables :
316
+ $columnsCount : map-get($column, columns);
317
+ $context : map-get($column, context);
318
+
319
+ // classes :
320
+ #{_gridle_classname($gridle-grid-name-pattern, null, $columnName)} {
321
+ @include _gridle($columnsCount, null, $context);
322
+ }
323
+ @if $gridle-generate-push-classes == true {
324
+ #{_gridle_classname($gridle-push-name-pattern, null, $columnName)} {
325
+ @include _gridle_push($columnsCount, null, $context);
326
+ }
327
+ }
328
+ @if $gridle-generate-pull-classes == true {
329
+ #{_gridle_classname($gridle-pull-name-pattern, null, $columnName)} {
330
+ @include _gridle_pull($columnsCount, null, $context);
331
+ }
332
+ }
333
+ @if $gridle-generate-prefix-classes == true {
334
+ #{_gridle_classname($gridle-prefix-name-pattern, null, $columnName)} {
335
+ @include _gridle_prefix($columnsCount, null, $context);
336
+ }
337
+ }
338
+ @if $gridle-generate-suffix-classes == true {
339
+ #{_gridle_classname($gridle-suffix-name-pattern, null, $columnName)} {
340
+ @include _gridle_suffix($columnsCount, null, $context);
341
+ }
342
+ }
343
+ }
344
+
345
+ // helpers classes :
346
+ @if $gridle-generate-helpers-classes == true {
347
+ @include _gridle_generate_helper_classes();
348
+ }
349
+
350
+ // loop on each columns to generate common selector :
351
+ @each $columnName, $column in $columnsMap {
352
+
353
+ // selectors :
354
+ $common-selector : append( $common-selector, unquote(_gridle_classname($gridle-grid-name-pattern, null, $columnName)), comma );
355
+ $push-common-selector : append( $push-common-selector, unquote(_gridle_classname($gridle-push-name-pattern, null, $columnName)), comma );
356
+ $pull-common-selector : append( $pull-common-selector, unquote(_gridle_classname($gridle-pull-name-pattern, null, $columnName)), comma );
357
+ $prefix-common-selector : append( $prefix-common-selector, unquote(_gridle_classname($gridle-prefix-name-pattern, null, $columnName)), comma );
358
+ $suffix-common-selector : append( $suffix-common-selector, unquote(_gridle_classname($gridle-suffix-name-pattern, null, $columnName)), comma );
359
+ }
360
+
361
+ // | ------------------------
362
+ // | Media queries classes common selectors
363
+ // | ------------------------
364
+
365
+ // generate all classes for media queries :
366
+ @each $stateName, $state in $_gridle_states {
367
+
368
+ // setup vars :
369
+ $media : $stateName;
370
+ $classes : map-get($state, "classes");
371
+ $context : map-get($state, "context");
372
+
373
+ // generate classes :
374
+ @if $media and $classes == true and $context {
375
+
376
+ // get specials columns :
377
+ $columnsMap : map-merge((), $_gridle_columns);
378
+
379
+ // register each default columns :
380
+ @for $j from 0 through $context {
381
+
382
+ // name :
383
+ $columnName : "#{$j*$gridle-name-multiplicator}";
384
+
385
+ // // create a column :
386
+ $col : _gridle_create_column($columnName, $j, $context);
387
+
388
+ // // add column in columns map :
389
+ $columnsMap : map-set($columnsMap, $columnName, $col);
390
+ }
391
+
392
+ // loop on each columns to generate common selector :
393
+ @each $columnName, $column in $columnsMap {
394
+
395
+ // add selector :
396
+ $common-selector : append( $common-selector, unquote(_gridle_classname($gridle-grid-name-pattern, $media, $columnName)), comma );
397
+ $push-common-selector : append( $push-common-selector, unquote(_gridle_classname($gridle-push-name-pattern, $media, $columnName)), comma );
398
+ $pull-common-selector : append( $pull-common-selector, unquote(_gridle_classname($gridle-pull-name-pattern, $media, $columnName)), comma );
399
+ $prefix-common-selector : append( $prefix-common-selector, unquote(_gridle_classname($gridle-prefix-name-pattern, $media, $columnName)), comma );
400
+ $suffix-common-selector : append( $suffix-common-selector, unquote(_gridle_classname($gridle-suffix-name-pattern, $media, $columnName)), comma );
401
+ }
402
+ }
403
+ }
404
+
405
+ // common css :
406
+ #{$push-common-selector} {
407
+ @include _gridle_push_common();
408
+ }
409
+ #{$pull-common-selector} {
410
+ @include _gridle_pull_common();
411
+ }
412
+ #{$prefix-common-selector} {
413
+ @include _gridle_prefix_common();
414
+ }
415
+ #{$suffix-common-selector} {
416
+ @include _gridle_suffix_common();
417
+ }
418
+ #{$common-selector} {
419
+ @include _gridle_grid_common();
420
+ }
421
+
422
+
423
+ // | ------------------------
424
+ // | Media queries classes
425
+ // | ------------------------
426
+
427
+ // generate all classes for differents media queries :
428
+ @each $stateName, $state in $_gridle_states {
429
+
430
+ // setup vars :
431
+ $media : $stateName;
432
+ $classes : map-get($state, "classes");
433
+ $min-width : map-get($state, "min-width");
434
+ $max-width : map-get($state, "max-width");
435
+ $query : map-get($state, "query");
436
+ $context : map-get($state, "context");
437
+
438
+ // parent common css :
439
+ $parentSelector : _gridle_classname($gridle-parent-name-pattern,$media,null);
440
+ #{$parentSelector} {
441
+ @extend %gridle-clearfix;
442
+ @extend %gridle-parent-common;
443
+ }
444
+
445
+ // generate all media queries grid classes :
446
+ @if $media and $classes == true {
447
+
448
+ // generate all the classes :
449
+ @include gridle_state($media, null, $has-parent) {
450
+
451
+ // get specials columns :
452
+ $columnsMap : map-merge((), $_gridle_columns);
453
+
454
+ // register each default columns :
455
+ @for $j from 0 through $context {
456
+
457
+ // name :
458
+ $columnName : "#{$j*$gridle-name-multiplicator}";
459
+
460
+ // // create a column :
461
+ $col : _gridle_create_column($columnName, $j, $context);
462
+
463
+ // // add column in columns map :
464
+ $columnsMap : map-set($columnsMap, $columnName, $col);
465
+ }
466
+
467
+ // generate all classes for columns :
468
+ @each $columnName, $column in $columnsMap {
469
+
470
+ // variables :
471
+ $columnsCount : map-get($column, columns);
472
+ $context : map-get($column, context);
473
+
474
+ // classes :
475
+ #{_gridle_classname($gridle-grid-name-pattern, $media, $columnName)} {
476
+ @include _gridle($columnsCount, $media, $context);
477
+ }
478
+ @if $gridle-generate-push-classes == true {
479
+ #{_gridle_classname($gridle-push-name-pattern, $media, $columnName)} {
480
+ @include _gridle_push($columnsCount, $media, $context);
481
+ }
482
+ }
483
+ @if $gridle-generate-pull-classes == true {
484
+ #{_gridle_classname($gridle-pull-name-pattern, $media, $columnName)} {
485
+ @include _gridle_pull($columnsCount, $media, $context);
486
+ }
487
+ }
488
+ @if $gridle-generate-prefix-classes == true {
489
+ #{_gridle_classname($gridle-prefix-name-pattern, $media, $columnName)} {
490
+ @include _gridle_prefix($columnsCount, $media, $context);
491
+ }
492
+ }
493
+ @if $gridle-generate-suffix-classes == true {
494
+ #{_gridle_classname($gridle-suffix-name-pattern, $media, $columnName)} {
495
+ @include _gridle_suffix($columnsCount, $media, $context);
496
+ }
497
+ }
498
+ }
499
+
500
+ // media queries helpers classes :
501
+ @if $gridle-generate-helpers-classes == true and $media {
502
+ @include _gridle_generate_helper_classes($media);
503
+ }
504
+ }
505
+ }
506
+ }
507
+
508
+
509
+ // | ------------------------
510
+ // | JSON Settings
511
+ // | ------------------------
512
+
513
+ // generate json settings :
514
+ @include gridle_generate_json_settings();
515
+ }