singularitygs 1.1.2 → 1.8.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.
- checksums.yaml +7 -7
- data/lib/singularitygs.rb +14 -6
- data/stylesheets/_singularitygs.scss +21 -30
- data/stylesheets/singularitygs/_api.scss +103 -24
- data/stylesheets/singularitygs/_css-grid.scss +141 -0
- data/stylesheets/singularitygs/_helpers.scss +6 -2
- data/stylesheets/singularitygs/api/_calc.scss +218 -0
- data/stylesheets/singularitygs/api/_float.scss +87 -147
- data/stylesheets/singularitygs/api/_isolation.scss +98 -131
- data/stylesheets/singularitygs/grids/_add.scss +34 -16
- data/stylesheets/singularitygs/grids/_find.scss +6 -8
- data/stylesheets/singularitygs/gutter-styles/_add.scss +39 -16
- data/stylesheets/singularitygs/gutter-styles/_find.scss +10 -5
- data/stylesheets/singularitygs/gutter-styles/_helpers.scss +6 -10
- data/stylesheets/singularitygs/gutters/_add.scss +37 -14
- data/stylesheets/singularitygs/gutters/_find.scss +9 -5
- data/stylesheets/singularitygs/helpers/_background-grid.scss +196 -219
- data/stylesheets/singularitygs/helpers/_box-sizing.scss +17 -32
- data/stylesheets/singularitygs/helpers/_clearfix.scss +10 -95
- data/stylesheets/singularitygs/helpers/_columns.scss +4 -3
- data/stylesheets/singularitygs/helpers/_directions.scss +6 -0
- data/stylesheets/singularitygs/helpers/_find.scss +112 -65
- data/stylesheets/singularitygs/helpers/_layout.scss +107 -10
- data/stylesheets/singularitygs/helpers/_sass-lists.scss +1 -1
- data/stylesheets/singularitygs/helpers/_settings.scss +60 -0
- data/stylesheets/singularitygs/helpers/_sort.scss +56 -0
- data/stylesheets/singularitygs/helpers/_span-shared.scss +20 -2
- data/stylesheets/singularitygs/language/_parse-add.scss +53 -9
- data/stylesheets/singularitygs/language/_parse-list.scss +3 -3
- data/stylesheets/singularitygs/math/_columns.scss +9 -7
- data/stylesheets/singularitygs/math/_context.scss +1 -1
- data/stylesheets/singularitygs/math/_gutters.scss +2 -1
- metadata +52 -72
- data/templates/box-sizing/behaviors/box-sizing/boxsizing.htc +0 -399
- data/templates/box-sizing/behaviors/box-sizing/boxsizing.php +0 -23
- data/templates/box-sizing/manifest.rb +0 -4
- data/templates/demos/demo-float.scss +0 -159
- data/templates/demos/demo-isolation.scss +0 -132
- data/templates/demos/float.html.erb +0 -18
- data/templates/demos/isolation.html.erb +0 -18
- data/templates/demos/manifest.rb +0 -17
- data/templates/grid-toggle/grid.js +0 -16
- data/templates/grid-toggle/grid.min.js +0 -2
- data/templates/grid-toggle/manifest.rb +0 -22
- data/templates/project/grid.js +0 -16
- data/templates/project/grid.min.js +0 -2
- data/templates/project/manifest.rb +0 -23
- data/templates/project/partials/_base.scss +0 -4
- data/templates/project/style.scss +0 -15
@@ -1,269 +1,246 @@
|
|
1
1
|
// -----------------------------------------------
|
2
|
-
// Grid
|
3
|
-
//
|
4
|
-
// Uses all your settings to create a grid background for a container element.
|
5
|
-
// There are three ways you can display a grid:
|
6
|
-
//
|
7
|
-
// 1. Manually apply the background to the element -
|
8
|
-
//
|
9
|
-
// .container {
|
10
|
-
// @include background-grid;
|
11
|
-
// }
|
12
|
-
//
|
13
|
-
// 2. Add a switch to toggle an overlay -
|
14
|
-
//
|
15
|
-
// @include grid-overlay('.container');
|
16
|
-
//
|
17
|
-
// 3. Toggle grid with JavaScript
|
18
|
-
//
|
19
|
-
// @include grid-toggle;
|
20
|
-
// Add [data-development-grid="show"] to item you want grid applied to
|
21
|
-
// Add "grid.min.js" to your HTML
|
22
|
-
//
|
23
|
-
// The first will apply a grid background to your container calculated using your
|
24
|
-
// grid settings, media breakpoints etc.
|
25
|
-
//
|
26
|
-
// The second will add a switch to your page which allows you to view a grid
|
27
|
-
// overlay over your container (or <body> if none is provided) by hovering over
|
28
|
-
// the switch. if you need your mouse for other things you can toggle the overlay
|
29
|
-
// on permanently by inspecting <head> and checking :hover in your styles panel.
|
30
|
-
//
|
31
|
-
// The thid will allow you to toggle your background grid on and off by pressing the 'g' on your keyboard.
|
32
|
-
//
|
33
|
-
// Note: Sub-pixel rounding can lead to several pixels of variation between browsers.
|
34
|
-
|
35
|
-
|
36
|
-
// -----------------------------------------------
|
37
|
-
// Imports
|
38
|
-
@import "compass/css3";
|
39
|
-
|
40
|
-
// -----------------------------------------------
|
41
|
-
// Grid Overlay
|
42
|
-
|
43
|
-
// The overlay is painted over your container's ::after pseudo-element, so we must
|
44
|
-
// give position to the container itself, if relative doesn't suit your layout
|
45
|
-
// it can be replaced by absolute/fixed.
|
46
|
-
$overlay-position: relative !default;
|
47
|
-
|
48
|
-
// Set the position of the switch.
|
49
|
-
$overlay-switch-position: left bottom !default;
|
2
|
+
// Grid Background
|
50
3
|
|
51
|
-
|
4
|
+
@mixin background-grid(
|
5
|
+
$columns: null,
|
6
|
+
$gutter: null,
|
7
|
+
$gutter-style: null,
|
8
|
+
$color: null
|
9
|
+
) {
|
52
10
|
|
53
|
-
|
54
|
-
$show-grid-backgrounds: true !default;
|
11
|
+
$color: if($color != null, $color, sgs-get('background grid color'));
|
55
12
|
|
56
|
-
@
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
$color: $background-grid-color
|
61
|
-
) {
|
13
|
+
@if sgs-get('debug') != false {
|
14
|
+
$columns: if($columns != null, $columns, sgs-get('grids'));
|
15
|
+
$gutter: if($gutter != null, $gutter, sgs-get('gutters'));
|
16
|
+
$gutter-style: if($gutter-style != null, $gutter-style, sgs-get('gutter styles'));
|
62
17
|
|
63
|
-
|
64
|
-
$horz: nth($overlay-switch-position, 2);
|
65
|
-
|
66
|
-
head {
|
67
|
-
display: block;
|
68
|
-
position: fixed;
|
69
|
-
#{$horz}: 10px;
|
70
|
-
#{$vert}: 10px;
|
71
|
-
z-index: 99;
|
72
|
-
color: #333;
|
73
|
-
text-shadow: 0 0 3px #fff;
|
74
|
-
@include transition(all .4s);
|
75
|
-
&::before {
|
76
|
-
content: "||||";
|
77
|
-
display: block;
|
78
|
-
padding: 10px 14px;
|
79
|
-
letter-spacing: -1;
|
80
|
-
font: {
|
81
|
-
family: sans-serif;
|
82
|
-
size: 26px;
|
83
|
-
weight: bold;
|
84
|
-
}
|
85
|
-
}
|
86
|
-
&:hover {
|
87
|
-
color: #333;
|
88
|
-
text-shadow: 1px 1px #fff;
|
89
|
-
~ body #{$selector} {
|
90
|
-
position: unquote($overlay-position);
|
91
|
-
}
|
92
|
-
~ #{$selector}::after,
|
93
|
-
~ body #{$selector}::after {
|
94
|
-
content: " ";
|
95
|
-
position: absolute;
|
96
|
-
top: 0;
|
97
|
-
left: 0;
|
98
|
-
right: 0;
|
99
|
-
bottom: 0;
|
100
|
-
height: 100%;
|
101
|
-
width: 100%;
|
102
|
-
@include background-grid($columns, $gutter, $color);
|
103
|
-
}
|
104
|
-
}
|
18
|
+
@include background-build($columns, $gutter, $gutter-style, $color)
|
105
19
|
}
|
106
20
|
}
|
107
21
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
$columns: false,
|
113
|
-
$gutter: false,
|
114
|
-
$color: $background-grid-color
|
115
|
-
) {
|
22
|
+
@function background-map($columns, $gutters, $gutter-styles) {
|
23
|
+
$Grids: ();
|
24
|
+
$Gutters: ();
|
25
|
+
$Styles: ();
|
116
26
|
|
117
|
-
|
118
|
-
|
27
|
+
@if $columns and type-of($columns) != 'map' {
|
28
|
+
$Grids: (-1px: $columns);
|
29
|
+
}
|
30
|
+
@else {
|
31
|
+
$Grids: sgs-get('grids');
|
119
32
|
}
|
120
|
-
}
|
121
33
|
|
122
|
-
|
123
|
-
|
34
|
+
@if $gutters and type-of($gutters) != 'map' {
|
35
|
+
$Gutters: (-1px: $gutters);
|
36
|
+
}
|
37
|
+
@else {
|
38
|
+
$Gutters: sgs-get('gutters');
|
39
|
+
}
|
124
40
|
|
125
|
-
@
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
)
|
41
|
+
@if $gutter-styles and type-of($gutter-styles) != 'map' {
|
42
|
+
$Styles: (-1px: $gutter-styles);
|
43
|
+
}
|
44
|
+
@else {
|
45
|
+
$Styles: sgs-get('gutter styles');
|
46
|
+
}
|
130
47
|
|
131
|
-
|
132
|
-
|
48
|
+
// Build 1st Depth Map
|
49
|
+
$Holder: ();
|
133
50
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
51
|
+
// Grids
|
52
|
+
@each $k, $v in $Grids {
|
53
|
+
$Holder: map-merge($Holder, ($k: ('grid': $v)));
|
54
|
+
}
|
55
|
+
// Gutters
|
56
|
+
@each $k, $v in $Gutters {
|
57
|
+
$Grid: map-get($Holder, $k);
|
58
|
+
|
59
|
+
$Map: ('gutter': $v);
|
60
|
+
@if $Grid != null {
|
61
|
+
$Grid: map-get($Grid, 'grid');
|
62
|
+
@if $Grid != null {
|
63
|
+
$Map: map-merge($Map, ('grid': $Grid));
|
64
|
+
}
|
65
|
+
}
|
141
66
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
67
|
+
$Holder: map-merge($Holder, ($k: $Map));
|
68
|
+
}
|
69
|
+
// Style
|
70
|
+
@each $k, $v in $Styles {
|
71
|
+
$Grid: map-get($Holder, $k);
|
72
|
+
$Gutter: map-get($Holder, $k);
|
73
|
+
|
74
|
+
$Map: ('style': $v);
|
75
|
+
@if $Grid != null {
|
76
|
+
$Grid: map-get($Grid, 'grid');
|
77
|
+
@if $Grid != null {
|
78
|
+
$Map: map-merge($Map, ('grid': $Grid));
|
146
79
|
}
|
147
80
|
}
|
148
|
-
@
|
149
|
-
|
81
|
+
@if $Gutter != null {
|
82
|
+
$Gutter: map-get($Gutter, 'gutter');
|
83
|
+
@if $Gutter != null {
|
84
|
+
$Map: map-merge($Map, ('gutter': $Gutter));
|
85
|
+
}
|
150
86
|
}
|
151
87
|
|
152
|
-
|
88
|
+
$Holder: map-merge($Holder, ($k: $Map));
|
153
89
|
}
|
154
|
-
}
|
155
|
-
|
156
|
-
@mixin background-build($columns, $gutter, $color) {
|
157
|
-
$columns: find-grid($columns);
|
158
|
-
$gutter: find-gutter($gutter);
|
159
90
|
|
160
|
-
$
|
161
|
-
$
|
162
|
-
$split: index($gutter-style, split);
|
91
|
+
$Holder: sort-map($Holder);
|
92
|
+
$Return: ();
|
163
93
|
|
164
|
-
|
165
|
-
$
|
94
|
+
// Build full stack for each breakpoint
|
95
|
+
@for $i from 1 through length($Holder) {
|
96
|
+
$Key: nth(nth($Holder, $i), 1);
|
97
|
+
$Value: nth(nth($Holder, $i), 2);
|
166
98
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
$symmetric: true;
|
171
|
-
$length: nth($columns, 1);
|
172
|
-
}
|
173
|
-
|
174
|
-
@for $i from 1 through $length {
|
175
|
-
|
176
|
-
@if ($fixed-gutter or $gutter == 0) and $i % 2 == 0 {
|
177
|
-
$color: darken($color, 15%);
|
178
|
-
}
|
179
|
-
@else if ($fixed-gutter or $gutter == 0) and $i % 2 == 1 {
|
180
|
-
$color: lighten($color, 15%);
|
99
|
+
$Previous: ();
|
100
|
+
@if $i > 1 {
|
101
|
+
$Previous: nth(nth($Return, $i - 1), 2);
|
181
102
|
}
|
182
103
|
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
$gutter-span: $column-span;
|
187
|
-
}
|
188
|
-
@else {
|
189
|
-
$gutter-span: $column-span + gutter-span($gutter, $columns);
|
104
|
+
@if not map-has-key($Value, 'grid') {
|
105
|
+
$Sort-Grid: map-get($Previous, 'grid');
|
106
|
+
$Value: map-merge($Value, ('grid': $Sort-Grid));
|
190
107
|
}
|
191
108
|
|
192
|
-
@if
|
193
|
-
$
|
194
|
-
$
|
109
|
+
@if not map-has-key($Value, 'gutter') {
|
110
|
+
$Sort-Gutter: map-get($Previous, 'gutter');
|
111
|
+
$Value: map-merge($Value, ('gutter': $Sort-Gutter));
|
195
112
|
}
|
196
113
|
|
197
|
-
@if $
|
198
|
-
$
|
199
|
-
$
|
200
|
-
$widths: append($widths, $gutter-span);
|
201
|
-
$colors: append($colors, rgba($color, .25));
|
202
|
-
}
|
203
|
-
@else {
|
204
|
-
$widths: append($widths, $column-span);
|
205
|
-
$colors: append($colors, rgba($color, .5));
|
114
|
+
@if not map-has-key($Value, 'style') {
|
115
|
+
$Sort-Style: map-get($Previous, 'style');
|
116
|
+
$Value: map-merge($Value, ('style': $Sort-Style));
|
206
117
|
}
|
207
118
|
|
208
|
-
|
209
|
-
$widths: append($widths, $column-span + gutter-span($gutter, $columns) / 2);
|
210
|
-
$colors: append($colors, rgba($color, .25));
|
211
|
-
}
|
119
|
+
$Return: map-merge($Return, ($Key: $Value));
|
212
120
|
}
|
213
121
|
|
214
|
-
@
|
215
|
-
|
122
|
+
@return $Return;
|
216
123
|
}
|
217
124
|
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
125
|
+
@mixin background-build($columns, $gutters, $gutter-styles, $color) {
|
126
|
+
$Background-Map: background-map($columns, $gutters, $gutter-styles);
|
127
|
+
$Display: true;
|
128
|
+
|
129
|
+
$Column-Color: $color;
|
130
|
+
$Inverse-Column-Color: mix(black, $color, 15%);
|
131
|
+
$Gutter-Color: mix(white, $color, 25%);
|
132
|
+
$Direction: named-direction(sgs-get('direction'));
|
133
|
+
|
134
|
+
$encodeMap:(
|
135
|
+
'%"':'%25%22',
|
136
|
+
'<':'%3C',
|
137
|
+
' ':'%20',
|
138
|
+
'=':'%3D',
|
139
|
+
'\"':'%22',
|
140
|
+
':':'%3A',
|
141
|
+
'/':'%2F',
|
142
|
+
'.':'%2E',
|
143
|
+
'>':'%3E',
|
144
|
+
'#':'%23',
|
145
|
+
'-':'%2D'
|
146
|
+
);
|
147
|
+
|
148
|
+
@each $bkpt, $def in $Background-Map {
|
149
|
+
$Grid: map-get($def, 'grid');
|
150
|
+
$Gutter: map-get($def, 'gutter');
|
151
|
+
$Style: map-get($def, 'style');
|
152
|
+
|
153
|
+
$Grid-Count: column-count($Grid);
|
154
|
+
|
155
|
+
$SVG: '<svg xmlns="http://www.w3.org/2000/svg">';
|
156
|
+
|
157
|
+
$Gutter-Width: gutter-span($Gutter, $Grid, $Style);
|
158
|
+
@if unit($Gutter-Width) != '%' and unit($Gutter-Width) != '' {
|
159
|
+
$Gutter-Width: 0%;
|
160
|
+
}
|
227
161
|
|
228
|
-
@if
|
229
|
-
$
|
162
|
+
@if $Style == 'fixed' {
|
163
|
+
$Gutter-Width: 0%;
|
230
164
|
}
|
165
|
+
$Counter-Width: 0%;
|
166
|
+
$holder: ();
|
231
167
|
|
232
|
-
$i
|
168
|
+
@for $i from 1 through $Grid-Count {
|
169
|
+
$Holder-Gradient: ();
|
170
|
+
$Loop-Width: column-span(1, $i, $Grid, $Gutter, $Style);
|
233
171
|
|
234
|
-
|
235
|
-
|
236
|
-
|
172
|
+
@if index($Style, 'split') and $i == 1 {
|
173
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Gutter-Color}" width="#{$Gutter-Width / 2}" height="100%"/>';
|
174
|
+
$Counter-Width: ($Gutter-Width / 2);
|
175
|
+
}
|
237
176
|
|
238
|
-
|
239
|
-
|
177
|
+
$Loop-Color: $Column-Color;
|
178
|
+
@if (index($Style, 'fixed') or $Gutter-Width == 0%) and ($i % 2 == 0 ) {
|
179
|
+
$Loop-Color: $Inverse-Column-Color;
|
240
180
|
}
|
241
|
-
|
242
|
-
|
243
|
-
|
181
|
+
|
182
|
+
@if $i != $Grid-Count {
|
183
|
+
@if unit($Counter-Width) == unit($Loop-Width) {
|
184
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Loop-Color}" width="#{$Loop-Width}" height="100%"/>';
|
185
|
+
$Counter-Width: $Counter-Width + $Loop-Width;
|
186
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Gutter-Color}" width="#{$Gutter-Width}" height="100%"/>';
|
187
|
+
$Counter-Width: $Counter-Width + $Gutter-Width;
|
188
|
+
}
|
189
|
+
@else {
|
190
|
+
$Display: false;
|
191
|
+
}
|
192
|
+
|
244
193
|
}
|
194
|
+
@else if $i == 1 {
|
195
|
+
@if unit($Counter-Width) == unit($Loop-Width) {
|
196
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Loop-Color}" width="#{$Loop-Width}" height="100%"/>';
|
197
|
+
$SVG: $SVG + '<rect x="#{$Loop-Width}" fill="#{$Gutter-Color}" width="#{$Gutter-Width}" height="100%"/>';
|
198
|
+
$Counter-Width: $Counter-Width + $Loop-Width + $Gutter-Width;
|
199
|
+
}
|
200
|
+
@else {
|
201
|
+
$Display: false;
|
202
|
+
}
|
245
203
|
|
246
|
-
|
204
|
+
}
|
205
|
+
@else if $i == $Grid-Count and index($Style, 'split') {
|
206
|
+
@if unit($Counter-Width) == unit($Loop-Width) {
|
207
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Loop-Color}" width="#{$Loop-Width}" height="100%"/>';
|
208
|
+
$Counter-Width: $Counter-Width + $Loop-Width;
|
209
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Gutter-Color}" width="#{$Gutter-Width / 2}" height="100%"/>';
|
210
|
+
}
|
211
|
+
@else {
|
212
|
+
$Display: false;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
@else {
|
216
|
+
$SVG: $SVG + '<rect x="#{$Counter-Width}" fill="#{$Loop-Color}" width="#{$Loop-Width}" height="100%"/>';
|
217
|
+
}
|
247
218
|
}
|
248
219
|
|
249
|
-
|
220
|
+
$SVG: $SVG + '</svg>';
|
250
221
|
|
222
|
+
@each $char, $code in $encodeMap {
|
223
|
+
$index: str-index($SVG, $char);
|
224
|
+
@while $index {
|
225
|
+
$index: str-index($SVG, $char);
|
226
|
+
$SVG: str-slice($SVG, 1, $index - 1) + $code + str-slice($SVG, $index + str-length($char));
|
227
|
+
$index: str-index($SVG, $char);
|
228
|
+
}
|
229
|
+
}
|
251
230
|
|
231
|
+
@if $Display {
|
252
232
|
|
253
|
-
|
254
|
-
|
255
|
-
|
233
|
+
@if $bkpt != -1px {
|
234
|
+
@include breakpoint($bkpt) {
|
235
|
+
background-image: url('data:image/svg+xml,' + $SVG);
|
236
|
+
}
|
237
|
+
}
|
238
|
+
@else {
|
239
|
+
background-image: url('data:image/svg+xml,' + $SVG);
|
240
|
+
}
|
241
|
+
}
|
242
|
+
@else {
|
243
|
+
@warn 'Cannot generate a Background Grid for grid `#{$Grid}` with gutters `#{$Gutter}` and gutter style `#{$Style}`';
|
244
|
+
}
|
256
245
|
}
|
257
246
|
}
|
258
|
-
|
259
|
-
@function build-gradient-piece($width, $color, $position: false) {
|
260
|
-
@if ($position == 'last') {
|
261
|
-
@return ($color $width);
|
262
|
-
}
|
263
|
-
@else if ($position != false) {
|
264
|
-
@return $color $position, $color $width;
|
265
|
-
}
|
266
|
-
@else {
|
267
|
-
@return $color, $color $width;
|
268
|
-
}
|
269
|
-
}
|
@@ -1,41 +1,26 @@
|
|
1
|
-
@import "compass/css3/shared";
|
2
|
-
|
3
|
-
$box-sizing-extend: true !default;
|
4
|
-
$toolkit-box-sizing: false !default;
|
5
|
-
|
6
1
|
//////////////////////////////
|
7
|
-
//
|
2
|
+
// Box Sizing Mixin
|
8
3
|
//////////////////////////////
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
@extend %content-box;
|
4
|
+
$box-sizing-extend: false !default;
|
5
|
+
|
6
|
+
@mixin box-sizing($value, $extend: $box-sizing-extend) {
|
7
|
+
@if $extend {
|
8
|
+
@extend %singularity-#{$value};
|
15
9
|
}
|
16
10
|
@else {
|
17
|
-
|
18
|
-
|
19
|
-
-moz, -webkit, not -o, not -ms, not -khtml, official
|
20
|
-
);
|
21
|
-
|
22
|
-
@if $bs == 'border-box' {
|
23
|
-
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
24
|
-
*behavior: stylesheet-url("../behaviors/box-sizing/boxsizing.php");
|
25
|
-
}
|
26
|
-
}
|
27
|
-
@else {
|
28
|
-
*behavior: none;
|
29
|
-
}
|
11
|
+
-moz-box-sizing: $value;
|
12
|
+
box-sizing: $value;
|
30
13
|
}
|
31
14
|
}
|
32
15
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
}
|
16
|
+
%singularity-content-box {
|
17
|
+
@include box-sizing(content-box, false);
|
18
|
+
}
|
37
19
|
|
38
|
-
|
39
|
-
|
40
|
-
|
20
|
+
%singularity-border-box {
|
21
|
+
@include box-sizing(border-box, false);
|
22
|
+
}
|
23
|
+
|
24
|
+
%singularity-padding-box {
|
25
|
+
@include box-sizing(padding-box, false);
|
41
26
|
}
|
@@ -1,106 +1,21 @@
|
|
1
|
-
$legacy-support-for-ie6: false !default;
|
2
|
-
$legacy-support-for-ie7: false !default;
|
3
|
-
$legacy-support-for-mozilla: false !default;
|
4
|
-
|
5
1
|
//////////////////////////////
|
6
|
-
//
|
7
|
-
//
|
8
|
-
// Clearfix mixin for all of your clearfixing needs. Will choose the right mixin for you.
|
9
|
-
// Can choose whether to extend or to write.
|
2
|
+
// Clearfix Mixin
|
10
3
|
//////////////////////////////
|
11
4
|
$clearfix-extend: false !default;
|
12
|
-
$clearfix-direct: false !default;
|
13
|
-
$toolkit-clearfix: false !default;
|
14
|
-
|
15
|
-
@mixin clearfix($extend: $clearfix-extend, $direct: $clearfix-direct) {
|
16
|
-
@if (($legacy-support-for-ie6 or $legacy-support-for-ie7) and not $legacy-support-for-mozilla and $direct != 'legacy' and $direct != 'modern') or ($direct == 'micro') {
|
17
|
-
@if $extend {
|
18
|
-
@extend %clearfix-micro;
|
19
|
-
}
|
20
|
-
@else {
|
21
|
-
/* for IE 6/7 */
|
22
|
-
*zoom: expression(this.runtimeStyle.zoom="1", this.appendChild(document.createElement("br")).style.cssText="clear:both;font:0/0 serif");
|
23
|
-
/* non-JS fallback */
|
24
|
-
*zoom: 1;
|
25
|
-
|
26
|
-
&:before,
|
27
|
-
&:after {
|
28
|
-
content: "";
|
29
|
-
display: table;
|
30
|
-
}
|
31
|
-
|
32
|
-
&:after {
|
33
|
-
clear: both;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
}
|
37
|
-
@else if (($legacy-support-for-ie6 or $legacy-support-for-ie7) and $legacy-support-for-mozilla and $direct != 'micro' and $direct != 'modern') or ($direct == 'legacy') {
|
38
|
-
@if $extend {
|
39
|
-
@extend %clearfix-legacy;
|
40
|
-
}
|
41
|
-
@else {
|
42
|
-
/* for IE 6/7 */
|
43
|
-
*zoom: expression(this.runtimeStyle.zoom="1", this.appendChild(document.createElement("br")).style.cssText="clear:both;font:0/0 serif");
|
44
|
-
/* non-JS fallback */
|
45
|
-
*zoom: 1;
|
46
5
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
display: block;
|
51
|
-
height: 0;
|
52
|
-
overflow: hidden;
|
53
|
-
}
|
54
|
-
|
55
|
-
&:after {
|
56
|
-
clear: both;
|
57
|
-
}
|
58
|
-
}
|
6
|
+
@mixin clearfix($extend: $clearfix-extend) {
|
7
|
+
@if $extend {
|
8
|
+
@extend %singularity-clearfix;
|
59
9
|
}
|
60
10
|
@else {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
&:after {
|
66
|
-
content: "";
|
67
|
-
display: table;
|
68
|
-
clear: both;
|
69
|
-
}
|
11
|
+
&:after {
|
12
|
+
content: "";
|
13
|
+
display: table;
|
14
|
+
clear: both;
|
70
15
|
}
|
71
16
|
}
|
72
17
|
}
|
73
18
|
|
74
|
-
|
75
|
-
|
76
|
-
// Legacy Clearfix
|
77
|
-
//
|
78
|
-
// For when you need full Legacy support, including old IE and old Firefox
|
79
|
-
//
|
80
|
-
// From http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
|
81
|
-
//////////////////////////////
|
82
|
-
%clearfix-legacy {
|
83
|
-
@include clearfix(false, 'legacy');
|
84
|
-
}
|
85
|
-
|
86
|
-
//////////////////////////////
|
87
|
-
// Micro Clearfix
|
88
|
-
//
|
89
|
-
// For when you need old IE support, but not concerned with old Firefox
|
90
|
-
// From http://nicolasgallagher.com/better-float-containment-in-ie/
|
91
|
-
//////////////////////////////
|
92
|
-
%clearfix-micro {
|
93
|
-
@include clearfix(false, 'micro');
|
94
|
-
}
|
95
|
-
|
96
|
-
//////////////////////////////
|
97
|
-
// Modern Clearfix
|
98
|
-
//
|
99
|
-
// Clearfix for modern browsers, especiall when using border-box
|
100
|
-
//
|
101
|
-
// From http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
|
102
|
-
//////////////////////////////
|
103
|
-
%clearfix {
|
104
|
-
@include clearfix(false, 'modern');
|
105
|
-
}
|
19
|
+
%singularity-clearfix {
|
20
|
+
@include clearfix(false);
|
106
21
|
}
|
@@ -1,6 +1,4 @@
|
|
1
1
|
@function end-row($span, $location, $columns) {
|
2
|
-
$columns: find-grid($columns);
|
3
|
-
|
4
2
|
@if $location == 'last' or $location == 'omega' {
|
5
3
|
@return true;
|
6
4
|
}
|
@@ -15,7 +13,10 @@
|
|
15
13
|
}
|
16
14
|
|
17
15
|
@function start-row($location) {
|
18
|
-
@if $location ==
|
16
|
+
@if $location == 'first' or $location == 'alpha' {
|
17
|
+
@return true;
|
18
|
+
}
|
19
|
+
@else if $location == 1 {
|
19
20
|
@return true;
|
20
21
|
}
|
21
22
|
@else {
|
@@ -14,6 +14,12 @@
|
|
14
14
|
@else if $dir == 'rtl' {
|
15
15
|
@return ltr;
|
16
16
|
}
|
17
|
+
@else if $dir == 'top' {
|
18
|
+
@return bottom;
|
19
|
+
}
|
20
|
+
@else if $dir == 'bottom' {
|
21
|
+
@return top;
|
22
|
+
}
|
17
23
|
@else {
|
18
24
|
@warn "#{$dir} is not a direction! Make sure your direction is all lowercase!";
|
19
25
|
@return false;
|