edge_framework 0.8.1 → 0.9.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.
@@ -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 {