edge_framework 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,7 @@
1
- /* ---------------------------------------------------------------
1
+ /* ----------------------------------
2
2
  - EDGE Framework - edge.setyono.net
3
- - v0.6.0 (Barathrum)
4
- - Special Thanks:
5
- --- Foundation | foundation.zurb.com
6
- --- Bootstrap | getbootstrap.com
7
- --- Normalize | git.io/normalize
8
- --- HTML5 Boilerplate | html5boilerplate.com
9
- ------------------------------------------------------------------- */
3
+ - v0.9.0 (Banehallow)
4
+ ------------------------------------- */
10
5
 
11
6
  @import "edge/base";
12
7
  @import "edge/components";
@@ -43,7 +43,7 @@ $include-button : true !default;
43
43
  $include-form : true !default;
44
44
 
45
45
  $include-print : false !default;
46
- $include-code : false !default;
46
+ $include-code : true !default;
47
47
 
48
48
  // ----------
49
49
  // COLOR
@@ -128,26 +128,26 @@ $body-line-height : 1.5 !default;
128
128
  // @media only screen and #{above(small)} and #{portrait}
129
129
  // -------------------
130
130
  $mini-screen : 480px !default;
131
- $small-screen : 768px !default;
131
+ $small-screen : 767px !default;
132
132
  $large-screen : 1440px !default;
133
133
  $retina-screen : 192dpi !default;
134
134
 
135
- @function translateSize($size-name) {
135
+ @function translateSize($size) {
136
136
  // If passed param is number, return it as it is
137
- @if type-of($size-name) == number {
137
+ @if type-of($size) == number {
138
138
  @return $size;
139
139
  }
140
140
  // Else, return the size as requested
141
- @else if $size-name == mini {
141
+ @else if $size == mini {
142
142
  @return $mini-screen;
143
143
  }
144
- @else if $size-name == small {
144
+ @else if $size == small {
145
145
  @return $small-screen;
146
146
  }
147
- @else if $size-name == large {
147
+ @else if $size == large {
148
148
  @return $large-screen;
149
149
  }
150
- @else if $size-name == retina {
150
+ @else if $size == retina {
151
151
  @return $retina-screen;
152
152
  }
153
153
  }
@@ -164,7 +164,7 @@ $retina-screen : 192dpi !default;
164
164
  }
165
165
 
166
166
  @function above($named-size) {
167
- $size: translateSize($named-size);
167
+ $size: translateSize($named-size) + 1px;
168
168
  @if $named-size == retina {
169
169
  @return "(-webkit-min-device-pixel-ratio: 2), (min-resolution: #{$size})";
170
170
  }
@@ -201,7 +201,7 @@ $retina-screen : 192dpi !default;
201
201
  }
202
202
 
203
203
  @mixin above($named-size) {
204
- $size: translateSize($named-size);
204
+ $size: translateSize($named-size) + 1px;
205
205
  @if $named-size == retina {
206
206
  @media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: $size) {
207
207
  @content;
@@ -23,13 +23,12 @@ $code-python-color : #376a94; // dark-blue
23
23
 
24
24
  // Add decoration to the code-block
25
25
  @mixin code-decor($color) {
26
-
27
26
  &:after {
28
27
  background: $color;
29
28
  }
30
29
 
31
30
  code {
32
- @include background-image(linear-gradient(transparent 50%, rgba($color, .04) 50% ) );
31
+ @include background-image(linear-gradient(transparent 50%, rgba($color, .03) 50% ) );
33
32
  }
34
33
 
35
34
  .line-highlight:before,
@@ -80,10 +79,9 @@ pre {
80
79
  max-height: 30em;
81
80
 
82
81
  @include code-decor($passive-color);
83
-
84
82
  @include box-shadow(-1px 0px 0px 0px #ddd, 0px 0px 0px 1px #ddd);
85
83
 
86
- @include small {
84
+ @include below(small) {
87
85
  &:hover {
88
86
  &:after {
89
87
  opacity: 0;
@@ -101,7 +99,8 @@ pre {
101
99
  height: 1em;
102
100
 
103
101
  background: $passive-color;
104
- opacity: .2;
102
+ @if $code-theme == dark { opacity: .5; }
103
+ @else { opacity: .2; }
105
104
 
106
105
  padding: em(5px 10px);
107
106
  font-family: $code-font-family;
@@ -133,7 +132,7 @@ pre {
133
132
 
134
133
  > code {
135
134
  display: block;
136
- overflow: visible;
135
+ overflow: auto;
137
136
  background-size: 3em 3em;
138
137
  background-origin: content-box;
139
138
  padding-left: 0.5em;
@@ -156,62 +155,112 @@ pre {
156
155
  vertical-align: bottom;
157
156
  }
158
157
 
159
- .token.comment,
160
- .token.block-comment,
161
- .token.prolog,
162
- .token.doctype,
163
- .token.cdata {
164
- color: #7D8B99;
165
- }
166
158
 
167
- .token.punctuation {
168
- color: #5F6364;
169
- }
159
+ @if $code-theme == light {
160
+ .token.comment,
161
+ .token.block-comment,
162
+ .token.prolog,
163
+ .token.doctype,
164
+ .token.cdata {
165
+ color: #7D8B99;
166
+ }
170
167
 
171
- .token.property,
172
- .token.tag,
173
- .token.boolean,
174
- .token.number,
175
- .token.function-name,
176
- .token.constant,
177
- .token.symbol {
178
- color: #c92c2c;
179
- }
168
+ .token.punctuation {
169
+ color: #5F6364;
170
+ }
180
171
 
181
- .token.selector,
182
- .token.attr-name,
183
- .token.string,
184
- .token.function,
185
- .token.builtin {
186
- color: #2f9c0a;
187
- }
172
+ .token.property,
173
+ .token.tag,
174
+ .token.boolean,
175
+ .token.number,
176
+ .token.function-name,
177
+ .token.constant,
178
+ .token.symbol {
179
+ color: #c92c2c;
180
+ }
188
181
 
189
- .token.operator,
190
- .token.entity,
191
- .token.url,
192
- .token.variable {
193
- color: #a67f59;
194
- background: rgba(255, 255, 255, 0.5);
195
- }
182
+ .token.selector,
183
+ .token.attr-name,
184
+ .token.string,
185
+ .token.function,
186
+ .token.builtin {
187
+ color: #2f9c0a;
188
+ }
196
189
 
197
- .token.atrule,
198
- .token.attr-value,
199
- .token.keyword,
200
- .token.class-name {
201
- color: #1990b8;
202
- }
190
+ .token.operator,
191
+ .token.entity,
192
+ .token.url,
193
+ .token.variable {
194
+ color: #a67f59;
195
+ background: rgba(255, 255, 255, 0.5);
196
+ }
203
197
 
204
- .token.regex,
205
- .token.important {
206
- color: #e90;
198
+ .token.atrule,
199
+ .token.attr-value,
200
+ .token.keyword,
201
+ .token.class-name {
202
+ color: #1990b8;
203
+ }
204
+
205
+ .token.regex,
206
+ .token.important {
207
+ color: #e90;
208
+ }
209
+
210
+ [data-lang="css"] .token.string,
211
+ .style .token.string {
212
+ color: #a67f59;
213
+ background: rgba(255, 255, 255, 0.5);
214
+ }
207
215
  }
216
+ @else if $code-theme == dark {
217
+ .token.property,
218
+ .token.tag,
219
+ .token.constant,
220
+ .token.symbol {
221
+ color: #f92672;
222
+ }
223
+
224
+ .token.boolean,
225
+ .token.number{
226
+ color: #ae81ff;
227
+ }
208
228
 
209
- [data-lang="css"] .token.string,
210
- .style .token.string {
211
- color: #a67f59;
212
- background: rgba(255, 255, 255, 0.5);
229
+ .token.selector,
230
+ .token.attr-name,
231
+ .token.string,
232
+ .token.builtin {
233
+ color: #a6e22e;
234
+ }
235
+
236
+
237
+ .token.operator,
238
+ .token.entity,
239
+ .token.url,
240
+ .language-css .token.string,
241
+ .style .token.string,
242
+ .token.variable {
243
+ color: #f8f8f2;
244
+ }
245
+
246
+ .token.atrule,
247
+ .token.attr-value
248
+ {
249
+ color: #e6db74;
250
+ }
251
+
252
+
253
+ .token.keyword{
254
+ color: #66d9ef;
255
+ }
256
+
257
+ .token.regex,
258
+ .token.important {
259
+ color: #fd971f;
260
+ }
213
261
  }
214
262
 
263
+
215
264
  .token.important {
216
265
  font-weight: normal;
217
266
  }
@@ -236,20 +285,19 @@ pre {
236
285
 
237
286
  .line-highlight {
238
287
  position: absolute;
239
- left: 0;
240
288
  right: 0;
241
- padding: inherit 0;
289
+ left: 0;
242
290
 
243
- background: hsla(24, 20%, 50%,.08);
244
- background: -moz-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
245
- background: -webkit-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
246
- background: -o-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
247
- background: linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
248
-
249
291
  pointer-events: none;
250
-
251
292
  line-height: inherit;
252
293
  white-space: pre;
294
+
295
+ @if $code-theme == dark {
296
+ @include background-image(linear-gradient(left, rgba(#e2e2e2, .1) 70%, rgba(#e2e2e2, 0) ) );
297
+ } @else {
298
+ @include background-image(linear-gradient(left, rgba(#8c8c8c, .1) 70%, rgba(#8c8c8c, 0) ) );
299
+ }
300
+
253
301
  }
254
302
 
255
303
  .line-highlight:before,
@@ -295,12 +343,8 @@ pre.line-numbers > code {
295
343
  font-size: 100%;
296
344
  left: .5em;
297
345
  letter-spacing: -1px;
298
-
299
- -webkit-user-select: none;
300
- -moz-user-select: none;
301
- -ms-user-select: none;
302
- user-select: none;
303
-
346
+
347
+ @include disable-user-select();
304
348
  }
305
349
 
306
350
  .line-numbers-rows > span {
@@ -27,39 +27,65 @@ $column-gutter : 20px !default;
27
27
  margin: 0 auto;
28
28
  width: 100%;
29
29
  max-width: $width + $gutter;
30
-
30
+
31
31
  @if not $responsive {
32
32
  min-width: $width + $gutter;
33
33
  }
34
34
  @include clearfix;
35
35
  }
36
+
37
+ // If gutter is passed as param, calculate it
38
+ @if $gutter != $column-gutter {
39
+ max-width: $width + $gutter;
36
40
 
37
- $gutter: em($gutter);
41
+ @if not $responsive {
42
+ min-width: $width + $gutter;
43
+ }
44
+ }
38
45
 
39
46
  @if $nest and $collapse {
40
- width: auto;
41
- max-width: none;
42
47
  margin: 0;
43
48
  padding-right: 0;
44
49
  padding-left: 0;
50
+ width: auto;
51
+ max-width: none;
52
+
53
+ @if not $responsive {
54
+ min-width: 0;
55
+ }
45
56
  }
46
57
 
47
58
  @else if $nest {
48
- width: auto;
49
- max-width: none;
50
59
  margin-right: -($gutter / 2);
51
60
  margin-left: -($gutter / 2);
61
+ width: auto;
62
+ max-width: none;
63
+
64
+ @if not $responsive {
65
+ min-width: 0;
66
+ }
52
67
  }
53
68
 
54
69
  @else if $collapse {
70
+ margin: 0 auto;
55
71
  width: 100%;
56
72
  max-width: $width;
57
- margin: 0 auto;
58
- padding-right: $gutter / 2;
59
- padding-left: $gutter / 2;
73
+
74
+ @if not $responsive {
75
+ min-width: $width;
76
+ }
77
+ }
78
+
79
+ @if $external-call {
80
+ .row & {
81
+ margin-right: -($gutter / 2);
82
+ margin-left: -($gutter / 2);
83
+ }
60
84
  }
61
85
  }
62
86
 
87
+ // ----------------------------------------------
88
+ // Calculate size for column created externally
63
89
  @mixin external-call-column(
64
90
  $column : 0,
65
91
  $total : 0,
@@ -82,6 +108,39 @@ $column-gutter : 20px !default;
82
108
  }
83
109
  }
84
110
 
111
+ // ----------------------------------
112
+ // Prevent duplicate in grid-column
113
+ @mixin source-ordering-column(
114
+ $push : 0,
115
+ $pull : 0,
116
+ $total : 0) {
117
+
118
+ @if $push > 0 {
119
+ #{$default-float}: gridCalc($push, $total);
120
+ #{$default-opposite}: auto;
121
+ }
122
+ @if $pull > 0 {
123
+ #{$default-opposite}: gridCalc($pull, $total);
124
+ #{$default-float}: auto;
125
+ }
126
+ }
127
+
128
+ // --------------------------------------
129
+ // Prevent duplicate in the base output
130
+ @mixin source-ordering-output() {
131
+ @for $i from 1 through $total-columns - 1 {
132
+ .large-offset-#{$i} {
133
+ @include grid-column($large-offset:$i);
134
+ }
135
+ .push#{-$i} {
136
+ @include grid-column($push:$i);
137
+ }
138
+ .pull#{-$i} {
139
+ @include grid-column($pull:$i);
140
+ }
141
+ }
142
+ }
143
+
85
144
  // ------------------------
86
145
  // GRID COLUMN
87
146
  // Create the grid
@@ -104,14 +163,14 @@ $column-gutter : 20px !default;
104
163
  @if $for-base {
105
164
  position: relative;
106
165
  float: $default-float;
107
- padding-right: em($gutter) / 2;
108
- padding-left: em($gutter) / 2;
166
+ padding-right: $gutter / 2;
167
+ padding-left: $gutter / 2;
109
168
  }
110
169
 
111
170
  // If gutter's value is different from default, it means it is passed as param
112
- @if not $gutter == $column-gutter {
113
- padding-right: em($gutter) / 2;
114
- padding-left: em($gutter) / 2;
171
+ @if $gutter != $column-gutter {
172
+ padding-right: $gutter / 2;
173
+ padding-left: $gutter / 2;
115
174
  }
116
175
 
117
176
  // If collapsed, get rid of distance padding
@@ -131,13 +190,12 @@ $column-gutter : 20px !default;
131
190
  }
132
191
 
133
192
  // Source Ordering, adds left/right depending on which you use.
134
- @if $push > 0 {
135
- #{$default-float}: gridCalc($push, $total);
136
- #{$default-opposite}: auto;
137
- }
138
- @if $pull > 0 {
139
- #{$default-opposite}: gridCalc($pull, $total);
140
- #{$default-float}: auto;
193
+ @if $external-call and $responsive {
194
+ @include above(small) {
195
+ @include source-ordering-column($push:$push, $pull:$pull, $total:$total);
196
+ }
197
+ } @else {
198
+ @include source-ordering-column($push:$push, $pull:$pull, $total:$total);
141
199
  }
142
200
 
143
201
  // If centered, get rid of float and add auto margin
@@ -156,14 +214,7 @@ $column-gutter : 20px !default;
156
214
  @include external-call-column($column:$small, $total:$total, $offset:$small-offset, $parent-offset:$large-offset);
157
215
  }
158
216
 
159
- // Mini column is allowed only if Small column is specified
160
- @if $mini > 0 {
161
- @include below(mini) {
162
- @include external-call-column($column:$mini, $total:$total, $offset:$mini-offset, $parent-offset:$small-offset);
163
- }
164
- }
165
- // If mini is not passed, stack the column
166
- @else {
217
+ @if $mini > 0 {
167
218
  @include below(mini) {
168
219
  @include external-call-column($column:$mini, $total:$total, $offset:$mini-offset, $parent-offset:$small-offset);
169
220
  }
@@ -176,6 +227,36 @@ $column-gutter : 20px !default;
176
227
  }
177
228
  }
178
229
  }
230
+
231
+ // Create notes when on debug
232
+ @if $debug {
233
+ $notes: "large-#{$large}";
234
+ @if $large-offset > 0 {
235
+ $notes: $notes + " large-offset-#{$large-offset}";
236
+ }
237
+ @if $small > 0 {
238
+ $notes: $notes + " small-#{$small}";
239
+ }
240
+ @if $small-offset > 0 {
241
+ $notes: $notes + " small-offset-#{$small-offset}";
242
+ }
243
+ @if $mini > 0 {
244
+ $notes: $notes + " mini-#{$mini}";
245
+ }
246
+ @if $mini-offset > 0 {
247
+ $notes: $notes + " mini-offset-#{$mini-offset}";
248
+ }
249
+ @if $push > 0 {
250
+ $notes: $notes + " push-#{$push}";
251
+ }
252
+ @if $pull > 0 {
253
+ $notes: $notes + " pull-#{$pull}";
254
+ }
255
+ @if $center {
256
+ $notes: $notes + " centered";
257
+ }
258
+ edge-column: $notes;
259
+ }
179
260
  }
180
261
 
181
262
  @if $include-grid {
@@ -223,18 +304,12 @@ EDGE Grid
223
304
  }
224
305
 
225
306
  // Source Ordering
226
- @include above(small) {
227
- @for $i from 1 through $total-columns - 1 {
228
- .large-offset-#{$i} {
229
- @include grid-column($large-offset:$i);
230
- }
231
- .push#{-$i} {
232
- @include grid-column($push:$i);
233
- }
234
- .pull#{-$i} {
235
- @include grid-column($pull:$i);
236
- }
307
+ @if $responsive {
308
+ @include above(small) {
309
+ @include source-ordering-output();
237
310
  }
311
+ } @else {
312
+ @include source-ordering-output();
238
313
  }
239
314
 
240
315
  @if $responsive {