flint-gs 1.10.0 → 1.11.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63ba26c499600324f23fb24bf1b0f4d9bf128478
4
- data.tar.gz: 3882ee657a90d40d5ec896d8ff818ce6db99c688
3
+ metadata.gz: 2c6921c90e90b2904c2b9cab0882b90e15282788
4
+ data.tar.gz: 07a6ade201366461109d23c75329fc0d35df0a2a
5
5
  SHA512:
6
- metadata.gz: 10ed7130f8c51a0d0fb780651373227605404e215b9a23f1ef7daec694d2e213d7cb7710896a5119c26cc19c1121dd87cb703f0f931d08ff5de5a465e84673ed
7
- data.tar.gz: fa4e1b26f8c9cdaba11e94ebdfa8e957f55385ec497dd06125a593e5d2886fed0784330c693940f552edbc64a244debc636e632a41079a6a701ba3772fa433f4
6
+ metadata.gz: 314488f34a25e3c410d19b78f4d20ca7f52123629fe000b244e311ab246aab51776ce3fc25eee8d7be29abc5cf42f317953215766feb32fe99d031f5edd9a0eb
7
+ data.tar.gz: 56f17c69a719aa9be6bd5ae15fbe92df414da4e4d175355be2b4b4dba660772a81464b47538fd358bdadc0e7053ec1e20085a31ecc2fb3590984f5c52e104d32
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
- # Flint [![Gem Version](https://badge.fury.io/rb/flint-gs.svg)](http://badge.fury.io/rb/flint-gs)
1
+ [![Flint - Grid System](http://flint.gs/wp-content/themes/flint/images/logo.png)](http://flint.gs)
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/flint-gs.svg)](http://badge.fury.io/rb/flint-gs)
2
4
 
3
5
  **Flint is designed to be a flexible layout toolkit that developers can use for any responsive grid-based project.** Built on Sass 3.3, Flint is capable of complex responsive layouts customized at each breakpoint; all while using a single mixin, having minimal output, as well as being completely semantic. All of your layout settings are housed in a simple config file that is immensely customizable. Flint will only output the code you need, and nothing else. We handle the hard stuff, so you can focus on the rest.
4
6
 
@@ -181,6 +183,8 @@ Outputs,
181
183
  }
182
184
  ```
183
185
 
186
+ You may also define a container for a specific breakpoint, `@include _(desktop, container)`, as well as chain a clearfix and container call together with `@include _(container, clearfix)`.
187
+
184
188
  ### Clear
185
189
 
186
190
  _Flint will attempt to use a local clearfix mixin named `clearfix`. If one is not found, it will use it's own._
data/lib/flint.rb CHANGED
@@ -10,8 +10,8 @@ else
10
10
  end
11
11
 
12
12
  module Flint
13
- VERSION = "1.10.0"
14
- DATE = "2014-08-11"
13
+ VERSION = "1.11.2"
14
+ DATE = "2014-08-13"
15
15
  end
16
16
 
17
17
  # Custom functions
@@ -8,26 +8,45 @@
8
8
 
9
9
  @function flint-calc-breakpoint($n, $key, $i) {
10
10
  @if $n == "alias" {
11
+
11
12
  @if flint-get-value("settings", "grid") == "fixed" {
13
+
12
14
  @if flint-is-lowest-breakpoint($key) {
15
+
13
16
  @return 0;
17
+
14
18
  } @else {
19
+
15
20
  @return flint-get-value($key, "breakpoint");
21
+
16
22
  }
17
23
  } @else if flint-get-value("settings", "grid") == "fluid" {
24
+
18
25
  @return flint-get-value($key, "breakpoint");
26
+
19
27
  }
20
28
  } @else if $n == "next" {
29
+
21
30
  @if flint-is-lowest-breakpoint($key) {
31
+
22
32
  @return 0;
33
+
23
34
  } @else {
35
+
24
36
  @return flint-get-value(flint-steal-key(($i + 1)), "breakpoint");
37
+
25
38
  }
39
+
26
40
  } @else if $n == "prev" {
41
+
27
42
  @if flint-is-highest-breakpoint($key) {
43
+
28
44
  @return flint-get-value($key, "breakpoint");
45
+
29
46
  } @else {
47
+
30
48
  @return flint-get-value(flint-steal-key(($i - 1)), "breakpoint");
49
+
31
50
  }
32
51
  }
33
52
  }
@@ -15,6 +15,7 @@
15
15
  }
16
16
 
17
17
  @if flint-get-value("settings", "grid") == "fluid" {
18
+
18
19
  @if $key == "container" or $span == "container" {
19
20
 
20
21
  $result: flint-fluid-width(flint-get-value($key, "breakpoint"), flint-get-value($key, "breakpoint"));
@@ -29,6 +30,7 @@
29
30
 
30
31
  }
31
32
  } @if flint-get-value("settings", "grid") == "fixed" {
33
+
32
34
  @if $key == "container" or $span == "container" {
33
35
 
34
36
  $result: flint-get-value($key, "breakpoint");
@@ -6,13 +6,14 @@
6
6
  // @return [bool]
7
7
 
8
8
  @function flint-exists($map, $value){
9
+ $is-map: flint-is-map($map);
10
+ $top-has-key: $is-map and map-has-key($map, $value) or false;
9
11
 
10
- @if flint-is-map($map) {
11
- @if map-has-key($map, $value) {
12
- @return true;
13
- }
14
- @each $key, $i in $map {
15
- @if flint-exists($i, $value) {
12
+ @if $top-has-key {
13
+ @return true;
14
+ } @else if $is-map {
15
+ @each $m, $k in $map {
16
+ @if flint-exists($k, $value) {
16
17
  @return true;
17
18
  }
18
19
  }
@@ -9,7 +9,7 @@
9
9
  // @return [string]
10
10
 
11
11
  @function flint-get-instance-value($key, $value, $deep: null) {
12
- @if $deep == null {
12
+ @if not $deep {
13
13
  @return flint-map-fetch($flint__instances, flint-has-family-instance($key) $value);
14
14
  } @else {
15
15
  @return flint-map-fetch($flint__instances, flint-has-family-instance($key) $value $deep);
@@ -6,7 +6,7 @@
6
6
  // @return [literal]
7
7
 
8
8
  @function flint-get-value($key, $value: null) {
9
- @if $value == null {
9
+ @if not $value {
10
10
  @return flint-map-fetch($flint, "config" $key);
11
11
  } @else {
12
12
  @return flint-map-fetch($flint, "config" $key $value);
@@ -6,25 +6,18 @@
6
6
  // @return fetched literal | false
7
7
 
8
8
  @function flint-map-fetch($map, $keys) {
9
- $key: nth($keys, 1);
9
+ $has-key: flint-is-map($map) and map-has-key($map, nth($keys, 1)) and map-get($map, nth($keys, 1)) or false;
10
10
  $length: length($keys);
11
- $value: map-get($map, $key);
12
11
 
13
- @if $value != null {
14
- @if $length > 1 {
15
- $rest: ();
12
+ @if $has-key and $length > 1 {
13
+ $remainder: ();
16
14
 
17
- @for $i from 2 through $length {
18
- $rest: append($rest, nth($keys, $i))
19
- }
20
-
21
- @return flint-map-fetch($value, $rest);
22
-
23
- } @else {
24
- @return $value;
15
+ @for $i from 2 through $length {
16
+ $remainder: append($remainder, nth($keys, $i))
25
17
  }
26
- } @else {
27
- @warn "Invalid arguments passed to function: flint-map-fetch(#{$map}, #{$keys}). One or more of the keys do not exist.";
28
- @return false;
18
+
19
+ @return flint-map-fetch($has-key, $remainder);
29
20
  }
21
+
22
+ @return $has-key;
30
23
  }
@@ -2,6 +2,7 @@
2
2
  // ----
3
3
  @import "lib/clearfix";
4
4
  @import "lib/box-sizing";
5
+ @import "lib/container";
5
6
  @import "lib/new-instance";
6
7
  @import "lib/print-instance";
7
8
  @import "lib/calculate";
@@ -0,0 +1,47 @@
1
+ // Container
2
+ // -------------------------------------------------------------------------------
3
+ // @param $key [string] : alias of individual breakpoint
4
+ // -------------------------------------------------------------------------------
5
+ // @output container styles
6
+
7
+ @mixin flint-container($key: null, $i: null) {
8
+
9
+ // Check if inside of loop, and if so only output for default
10
+ @if $i == null or flint-is-default(flint-steal-key($i)) {
11
+ float: none;
12
+
13
+ @if $key {
14
+ width: flint-calc-width($key, "container");
15
+ }
16
+
17
+ // Check if max-width is set
18
+ @if flint-get-value("settings", "max-width") {
19
+
20
+ // Check if it's an number
21
+ @if flint-is-number(flint-get-value("settings", "max-width")) {
22
+ max-width: flint-get-value("settings", "max-width");
23
+ // If not, use highest breakpoint
24
+ } @else {
25
+ max-width: max(flint-get-all-breakpoints()...);
26
+ }
27
+
28
+ }
29
+
30
+ // Check if center container is set
31
+ @if flint-get-value("settings", "center-container") {
32
+ margin-right: auto;
33
+ margin-left: auto;
34
+ } @else {
35
+ margin-right: 0;
36
+ margin-left: 0;
37
+ }
38
+
39
+ // Inside of loop, so only output width
40
+ } @else {
41
+ @if $key {
42
+ width: flint-calc-width($key, "container");
43
+ }
44
+ }
45
+
46
+ @content;
47
+ }
@@ -22,6 +22,51 @@
22
22
  @warn "The shift modifier has been deprecated due to it having such little-use and being a pain to maintain. It is set to be removed in version 2.0";
23
23
  }
24
24
 
25
+ // Clearfix
26
+ // -------------------------------------------------------------------------------
27
+ // @param [string] : clearfix instance
28
+ // -------------------------------------------------------------------------------
29
+ // @output clear styles | use existing clearfix mixin
30
+ @if $key == "clear" or $span == "clear" or $context == "clear" {
31
+
32
+ // Check if key exists as breakpoint
33
+ // if so wrap in query to not affect others
34
+ @if flint-exists($flint, $key) {
35
+
36
+ @if flint-get-value("settings", "grid") == "fluid" {
37
+ @if flint-is-highest-breakpoint($key) {
38
+ @media ( min-width: (flint-calc-breakpoint("next", $key, flint-get-index($key)) + if(flint-get-config-unit() == "em", flint-to-em(1px), 1)) ) {
39
+ @include flint-clearfix;
40
+ @content;
41
+ }
42
+ } @else {
43
+ @media ( min-width: (flint-calc-breakpoint("next", $key, flint-get-index($key)) + if(flint-is-lowest-breakpoint($key), 0, if(flint-get-config-unit() == "em", flint-to-em(1px), 1))) ) and ( max-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) {
44
+ @include flint-clearfix;
45
+ @content;
46
+ }
47
+ }
48
+ } @else if flint-get-value("settings", "grid") == "fixed" {
49
+ @if flint-is-highest-breakpoint($key) {
50
+ @media ( min-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) {
51
+ @include flint-clearfix;
52
+ @content;
53
+ }
54
+ } @else {
55
+ @media ( min-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) and ( max-width: (flint-calc-breakpoint("prev", $key, flint-get-index($key)) - if(flint-get-config-unit() == "em", flint-to-em(1px), 1)) ) {
56
+ @include flint-clearfix;
57
+ @content;
58
+ }
59
+ }
60
+ }
61
+
62
+ } @else {
63
+
64
+ @include flint-clearfix;
65
+ @content;
66
+
67
+ }
68
+ }
69
+
25
70
  // Foundation
26
71
  // -------------------------------------------------------------------------------
27
72
  // @param $key [string] : foundation instance
@@ -38,24 +83,17 @@
38
83
  // ----
39
84
  @if $flint__foundation == "existant" {
40
85
  @at-root *, *:before, *:after {
41
- @include flint-box-sizing();
86
+ @include flint-box-sizing;
42
87
  @content;
43
88
  }
44
89
  }
45
90
 
46
- // Clearfix
47
- // ----
48
- } @else if $key == "clear" {
49
-
50
- @include flint-clearfix();
51
-
52
91
  // Container
53
92
  // -------------------------------------------------------------------------------
54
- // @param $key [string] : container instance
93
+ // @param [string] : container instance
55
94
  // -------------------------------------------------------------------------------
56
95
  // @output container styles
57
- } @else if $key == "container" {
58
- float: none;
96
+ } @else if $key == "container" or $span == "container" or $context == "container" {
59
97
 
60
98
  // Apply individually if foundation is not set globally, but is set to true in config
61
99
  @if flint-get-value("settings", "border-box-sizing") and $flint__foundation == "nonexistant" {
@@ -72,19 +110,19 @@
72
110
 
73
111
  // Output container for each breakpoint if fixed grid
74
112
  // ----
75
- @if flint-get-value("settings", "grid") == "fixed" {
113
+ @if $key == "container" and flint-get-value("settings", "grid") == "fixed" {
76
114
 
77
115
  @for $i from 1 through length($flint__all__keys) {
78
116
 
79
117
  // Set up variables
80
118
  $calc-key: flint-steal-key($i);
81
- $calcContainer: $key;
82
119
 
83
120
  // Key is default, no media queries
84
121
  @if flint-is-default($calc-key) {
85
122
 
86
- width: flint-calc-width($calc-key, $calcContainer);
87
- @content;
123
+ @include flint-container($calc-key, $i) {
124
+ @content;
125
+ }
88
126
 
89
127
  // Not default, wrap in media queries
90
128
  } @else {
@@ -93,53 +131,75 @@
93
131
  @if flint-is-highest-breakpoint($calc-key) {
94
132
 
95
133
  @media ( min-width: flint-calc-breakpoint("alias", $calc-key, $i) ) {
96
- width: flint-calc-width($calc-key, $calcContainer);
97
- @content;
134
+ @include flint-container($calc-key, $i) {
135
+ @content;
136
+ }
98
137
  }
99
138
 
100
139
  } @else {
101
140
 
102
141
  @media ( min-width: flint-calc-breakpoint("alias", $calc-key, $i) ) and ( max-width: (flint-calc-breakpoint("prev", $calc-key, $i) - if(flint-get-config-unit() == "em", flint-to-em(1px), 1)) ) {
103
- width: flint-calc-width($calc-key, $calcContainer);
104
- @content;
142
+ @include flint-container($calc-key, $i) {
143
+ @content;
144
+ }
105
145
  }
106
146
 
107
147
  }
108
148
  }
109
149
  }
110
- }
111
150
 
112
- // Check if max-width is set
151
+ // Output container for specific breakpoint if exists
113
152
  // ----
114
- @if flint-get-value("settings", "max-width") {
153
+ } @else if flint-exists($flint, $key) and flint-get-value("settings", "grid") == "fixed" {
154
+
155
+ @if flint-is-highest-breakpoint($key) {
156
+
157
+ @media ( min-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) {
158
+ @include flint-container($key) {
159
+ @content;
160
+ }
161
+ }
115
162
 
116
- // Check if it's an number
117
- @if flint-is-number(flint-get-value("settings", "max-width")) {
118
- max-width: flint-get-value("settings", "max-width");
119
- // Then use highest breakpoint
120
163
  } @else {
121
- max-width: max(flint-get-all-breakpoints()...);
164
+
165
+ @media ( min-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) and ( max-width: (flint-calc-breakpoint("prev", $key, flint-get-index($key)) - if(flint-get-config-unit() == "em", flint-to-em(1px), 1)) ) {
166
+ @include flint-container($key) {
167
+ @content;
168
+ }
169
+ }
170
+
122
171
  }
172
+ } @else if flint-exists($flint, $key) and flint-get-value("settings", "grid") == "fluid" {
173
+ @if flint-is-highest-breakpoint($key) {
123
174
 
124
- }
175
+ @media ( min-width: (flint-calc-breakpoint("next", $key, flint-get-index($key)) + if(flint-get-config-unit() == "em", flint-to-em(1px), 1)) ) {
176
+ @include flint-container {
177
+ @content;
178
+ }
179
+ }
125
180
 
126
- // Center container is set
127
- // ----
128
- @if flint-get-value("settings", "center-container") {
129
- margin-right: auto;
130
- margin-left: auto;
181
+ } @else {
182
+
183
+ @media ( min-width: (flint-calc-breakpoint("next", $key, flint-get-index($key)) + if(flint-is-lowest-breakpoint($key), 0, if(flint-get-config-unit() == "em", flint-to-em(1px), 1))) ) and ( max-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) {
184
+ @include flint-container {
185
+ @content;
186
+ }
187
+ }
188
+
189
+ }
131
190
  } @else {
132
- margin-right: 0;
133
- margin-left: 0;
191
+ @include flint-container {
192
+ @content;
193
+ }
134
194
  }
135
195
 
136
- // Create a new instance, add to global instance map
137
- // -------------------------------------------------------------------------------
196
+ // Creates a new instance, add to global instance map
197
+ // -----
138
198
  } @else {
139
199
 
140
200
  // Apply individually if foundation is not set globally, but is set to true in config
141
201
  @if flint-get-value("settings", "border-box-sizing") and $flint__foundation == "nonexistant" {
142
- @include flint-box-sizing();
202
+ @include flint-box-sizing;
143
203
 
144
204
  // Warn to either set a global foundation, or turn border-box-sizing off
145
205
  @if global-variable-exists("global-foundation-is-set") == false {
@@ -383,7 +443,7 @@
383
443
  @content;
384
444
  }
385
445
  } @else {
386
- @media ( min-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) and ( max-width: (flint-calc-breakpoint("prev", $key, flint-get-index($key)) - 1) ) {
446
+ @media ( min-width: flint-calc-breakpoint("alias", $key, flint-get-index($key)) ) and ( max-width: (flint-calc-breakpoint("prev", $key, flint-get-index($key)) - if(flint-get-config-unit() == "em", flint-to-em(1px), 1)) ) {
387
447
  @content;
388
448
  }
389
449
  }
@@ -580,7 +640,9 @@
580
640
  // @throw : invalid argument warning
581
641
  // -------------------------------------------------------------------------------
582
642
  } @else {
583
- @warn "Invalid argument(s). Please double check and provide a valid argument. If you're calling by alias, please provide a single span argument for your breakpoint. See documentation for additional details.";
643
+ @if $key != "clear" {
644
+ @warn "Invalid argument(s). Please double check and provide a valid argument. If you're calling by alias, please provide a single span argument for your breakpoint. See documentation for additional details.";
645
+ }
584
646
  }
585
647
  }
586
648
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flint-gs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezekiel Gabrielse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-11 00:00:00.000000000 Z
11
+ date: 2014-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -69,6 +69,7 @@ files:
69
69
  - stylesheets/flint/mixins/lib/_box-sizing.scss
70
70
  - stylesheets/flint/mixins/lib/_calculate.scss
71
71
  - stylesheets/flint/mixins/lib/_clearfix.scss
72
+ - stylesheets/flint/mixins/lib/_container.scss
72
73
  - stylesheets/flint/mixins/lib/_main.scss
73
74
  - stylesheets/flint/mixins/lib/_new-instance.scss
74
75
  - stylesheets/flint/mixins/lib/_print-instance.scss