foundation-scss 6.3.1.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 -0
- data/_vendor/normalize-scss/sass/_normalize.scss +3 -0
- data/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
- data/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
- data/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
- data/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
- data/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
- data/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
- data/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
- data/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
- data/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
- data/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
- data/foundation-scss.gemspec +9 -0
- data/lib/foundation/scss/in/sass_path.rb +6 -0
- data/scss/_global.scss +219 -0
- data/scss/components/_accordion-menu.scss +36 -0
- data/scss/components/_accordion.scss +150 -0
- data/scss/components/_badge.scss +63 -0
- data/scss/components/_breadcrumbs.scss +100 -0
- data/scss/components/_button-group.scss +253 -0
- data/scss/components/_button.scss +332 -0
- data/scss/components/_callout.scss +106 -0
- data/scss/components/_card.scss +121 -0
- data/scss/components/_close-button.scss +102 -0
- data/scss/components/_drilldown.scss +93 -0
- data/scss/components/_dropdown-menu.scss +226 -0
- data/scss/components/_dropdown.scss +72 -0
- data/scss/components/_flex-video.scss +1 -0
- data/scss/components/_flex.scss +34 -0
- data/scss/components/_float.scss +27 -0
- data/scss/components/_label.scss +64 -0
- data/scss/components/_media-object.scss +114 -0
- data/scss/components/_menu-icon.scss +9 -0
- data/scss/components/_menu.scss +376 -0
- data/scss/components/_off-canvas.scss +329 -0
- data/scss/components/_orbit.scss +196 -0
- data/scss/components/_pagination.scss +193 -0
- data/scss/components/_progress-bar.scss +64 -0
- data/scss/components/_responsive-embed.scss +70 -0
- data/scss/components/_reveal.scss +178 -0
- data/scss/components/_slider.scss +138 -0
- data/scss/components/_sticky.scss +38 -0
- data/scss/components/_switch.scss +247 -0
- data/scss/components/_table.scss +329 -0
- data/scss/components/_tabs.scss +196 -0
- data/scss/components/_thumbnail.scss +67 -0
- data/scss/components/_title-bar.scss +84 -0
- data/scss/components/_tooltip.scss +107 -0
- data/scss/components/_top-bar.scss +173 -0
- data/scss/components/_visibility.scss +132 -0
- data/scss/forms/_checkbox.scss +41 -0
- data/scss/forms/_error.scss +88 -0
- data/scss/forms/_fieldset.scss +54 -0
- data/scss/forms/_forms.scss +34 -0
- data/scss/forms/_help-text.scss +30 -0
- data/scss/forms/_input-group.scss +135 -0
- data/scss/forms/_label.scss +50 -0
- data/scss/forms/_meter.scss +110 -0
- data/scss/forms/_progress.scss +94 -0
- data/scss/forms/_range.scss +149 -0
- data/scss/forms/_select.scss +85 -0
- data/scss/forms/_text.scss +170 -0
- data/scss/foundation.scss +118 -0
- data/scss/grid/_classes.scss +176 -0
- data/scss/grid/_column.scss +112 -0
- data/scss/grid/_flex-grid.scss +312 -0
- data/scss/grid/_grid.scss +48 -0
- data/scss/grid/_gutter.scss +82 -0
- data/scss/grid/_layout.scss +76 -0
- data/scss/grid/_position.scss +76 -0
- data/scss/grid/_row.scss +99 -0
- data/scss/grid/_size.scss +24 -0
- data/scss/settings/_settings.scss +620 -0
- data/scss/typography/_alignment.scss +22 -0
- data/scss/typography/_base.scss +509 -0
- data/scss/typography/_helpers.scss +78 -0
- data/scss/typography/_print.scss +86 -0
- data/scss/typography/_typography.scss +26 -0
- data/scss/util/_breakpoint.scss +281 -0
- data/scss/util/_color.scss +126 -0
- data/scss/util/_direction.scss +31 -0
- data/scss/util/_flex.scss +85 -0
- data/scss/util/_math.scss +72 -0
- data/scss/util/_mixins.scss +276 -0
- data/scss/util/_selector.scss +41 -0
- data/scss/util/_typography.scss +26 -0
- data/scss/util/_unit.scss +152 -0
- data/scss/util/_util.scss +14 -0
- data/scss/util/_value.scss +160 -0
- metadata +144 -0
@@ -0,0 +1,176 @@
|
|
1
|
+
// Foundation for Sites by ZURB
|
2
|
+
// foundation.zurb.com
|
3
|
+
// Licensed under MIT Open Source
|
4
|
+
|
5
|
+
////
|
6
|
+
/// @group grid
|
7
|
+
////
|
8
|
+
|
9
|
+
/// Outputs CSS classes for the grid.
|
10
|
+
/// @access private
|
11
|
+
@mixin foundation-grid(
|
12
|
+
$row: 'row',
|
13
|
+
$column: 'column',
|
14
|
+
$column-row: 'column-row',
|
15
|
+
$gutter: 'gutter',
|
16
|
+
$push: 'push',
|
17
|
+
$pull: 'pull',
|
18
|
+
$center: 'centered',
|
19
|
+
$uncenter: 'uncentered',
|
20
|
+
$collapse: 'collapse',
|
21
|
+
$uncollapse: 'uncollapse',
|
22
|
+
$offset: 'offset',
|
23
|
+
$end: 'end',
|
24
|
+
$expanded: 'expanded',
|
25
|
+
$block: 'block'
|
26
|
+
) {
|
27
|
+
// Row
|
28
|
+
.#{$row} {
|
29
|
+
@include grid-row;
|
30
|
+
|
31
|
+
// Collapsing
|
32
|
+
&.#{$collapse} {
|
33
|
+
> .#{$column} {
|
34
|
+
@include grid-col-collapse;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
// Nesting
|
39
|
+
& .#{$row} {
|
40
|
+
@include grid-row-nest($grid-column-gutter);
|
41
|
+
|
42
|
+
&.#{$collapse} {
|
43
|
+
margin-right: 0;
|
44
|
+
margin-left: 0;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
// Expanded (full-width) row
|
49
|
+
&.#{$expanded} {
|
50
|
+
@include grid-row-size(expand);
|
51
|
+
|
52
|
+
.#{$row} {
|
53
|
+
margin-right: auto;
|
54
|
+
margin-left: auto;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
&:not(.#{$expanded}) .#{$row} {
|
59
|
+
@include grid-row-size(expand);
|
60
|
+
}
|
61
|
+
|
62
|
+
@if type-of($grid-column-gutter) == 'map' {
|
63
|
+
// Static (unresponsive) row gutters
|
64
|
+
//
|
65
|
+
@each $breakpoint, $value in $grid-column-gutter {
|
66
|
+
&.#{$gutter}-#{$breakpoint} {
|
67
|
+
> .#{$column} {
|
68
|
+
@include grid-col-gutter($value);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
// Column
|
76
|
+
.#{$column} {
|
77
|
+
@include grid-col;
|
78
|
+
|
79
|
+
@if $grid-column-align-edge {
|
80
|
+
&.#{$end} {
|
81
|
+
@include grid-col-end;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
// Column row
|
87
|
+
// The double .row class is needed to bump up the specificity
|
88
|
+
.#{$column}.#{$row}.#{$row} {
|
89
|
+
float: none;
|
90
|
+
}
|
91
|
+
|
92
|
+
// To properly nest a column row, padding and margin is removed
|
93
|
+
.#{$row} .#{$column}.#{$row}.#{$row} {
|
94
|
+
margin-right: 0;
|
95
|
+
margin-left: 0;
|
96
|
+
padding-right: 0;
|
97
|
+
padding-left: 0;
|
98
|
+
}
|
99
|
+
|
100
|
+
@include -zf-each-breakpoint {
|
101
|
+
@for $i from 1 through $grid-column-count {
|
102
|
+
// Column width
|
103
|
+
.#{$-zf-size}-#{$i} {
|
104
|
+
@include grid-col-size($i);
|
105
|
+
}
|
106
|
+
|
107
|
+
// Source ordering
|
108
|
+
@if $i < $grid-column-count {
|
109
|
+
.#{$-zf-size}-#{$push}-#{$i} {
|
110
|
+
@include grid-col-pos($i);
|
111
|
+
}
|
112
|
+
|
113
|
+
.#{$-zf-size}-#{$pull}-#{$i} {
|
114
|
+
@include grid-col-pos(-$i);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
// Offsets
|
119
|
+
$o: $i - 1;
|
120
|
+
|
121
|
+
.#{$-zf-size}-#{$offset}-#{$o} {
|
122
|
+
@include grid-col-off($o);
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
// Block grid
|
127
|
+
@for $i from 1 through $block-grid-max {
|
128
|
+
.#{$-zf-size}-up-#{$i} {
|
129
|
+
@include grid-layout($i, '.#{$column}');
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
// Responsive collapsing
|
134
|
+
.#{$-zf-size}-#{$collapse} {
|
135
|
+
> .#{$column} { @include grid-col-collapse; }
|
136
|
+
|
137
|
+
.#{$row} {
|
138
|
+
margin-right: 0;
|
139
|
+
margin-left: 0;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
143
|
+
.#{$expanded}.#{$row} .#{$-zf-size}-#{$collapse}.#{$row} {
|
144
|
+
margin-right: 0;
|
145
|
+
margin-left: 0;
|
146
|
+
}
|
147
|
+
|
148
|
+
.#{$-zf-size}-#{$uncollapse} {
|
149
|
+
> .#{$column} { @include grid-col-gutter($-zf-size); }
|
150
|
+
}
|
151
|
+
|
152
|
+
// Positioning
|
153
|
+
.#{$-zf-size}-#{$center} {
|
154
|
+
@include grid-col-pos(center);
|
155
|
+
}
|
156
|
+
|
157
|
+
// Gutter adjustment
|
158
|
+
.#{$-zf-size}-#{$uncenter},
|
159
|
+
.#{$-zf-size}-#{$push}-0,
|
160
|
+
.#{$-zf-size}-#{$pull}-0 {
|
161
|
+
@include grid-col-unpos;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
|
165
|
+
// Block grid columns
|
166
|
+
.#{$column}-#{$block} {
|
167
|
+
@include grid-column-margin;
|
168
|
+
}
|
169
|
+
|
170
|
+
@if $column == 'column' and has-value($grid-column-alias) {
|
171
|
+
.#{$grid-column-alias} {
|
172
|
+
// sass-lint:disable-block placeholder-in-extend
|
173
|
+
@extend .column;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
@@ -0,0 +1,112 @@
|
|
1
|
+
// Foundation for Sites by ZURB
|
2
|
+
// foundation.zurb.com
|
3
|
+
// Licensed under MIT Open Source
|
4
|
+
|
5
|
+
////
|
6
|
+
/// @group grid
|
7
|
+
////
|
8
|
+
|
9
|
+
/// Calculates the width of a column based on a number of factors.
|
10
|
+
///
|
11
|
+
/// @param {Number|List} $columns
|
12
|
+
/// Width of the column. Accepts multiple values:
|
13
|
+
/// - A percentage value will make the column that exact size.
|
14
|
+
/// - A single digit will make the column span that number of columns wide, taking into account the column count of the parent row.
|
15
|
+
/// - A list of the format "x of y" (without quotes) will make a column that is *x* columns wide, assuming *y* total columns for the parent.
|
16
|
+
///
|
17
|
+
/// @returns {Number} A calculated percentage value.
|
18
|
+
@function grid-column($columns) {
|
19
|
+
$width: 0%;
|
20
|
+
|
21
|
+
// Parsing percents, decimals, and column counts
|
22
|
+
@if type-of($columns) == 'number' {
|
23
|
+
@if unit($columns) == '%' {
|
24
|
+
$width: $columns;
|
25
|
+
}
|
26
|
+
@else if $columns < 1 {
|
27
|
+
$width: percentage($columns);
|
28
|
+
}
|
29
|
+
@else {
|
30
|
+
$width: percentage($columns / $grid-column-count);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
// Parsing "n of n" expressions
|
35
|
+
@else if type-of($columns) == 'list' {
|
36
|
+
@if length($columns) != 3 {
|
37
|
+
@error 'Wrong syntax for grid-column(). Use the format "n of n".';
|
38
|
+
}
|
39
|
+
@else {
|
40
|
+
$width: percentage(nth($columns, 1) / nth($columns, 3));
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
// Anything else is incorrect
|
45
|
+
@else {
|
46
|
+
@error 'Wrong syntax for grid-column(). Use a number, decimal, percentage, or "n of n".';
|
47
|
+
}
|
48
|
+
|
49
|
+
@return $width;
|
50
|
+
}
|
51
|
+
|
52
|
+
/// Creates a grid column.
|
53
|
+
///
|
54
|
+
/// @param {Mixed} $columns [$grid-column-count] - Width of the column. Refer to the `grid-column()` function to see possible values.
|
55
|
+
/// @param {Mixed} $gutters [$grid-column-gutter] - Spacing between columns. Refer to the `grid-column-gutter()` function to see possible values.
|
56
|
+
@mixin grid-column(
|
57
|
+
$columns: $grid-column-count,
|
58
|
+
$gutters: $grid-column-gutter
|
59
|
+
) {
|
60
|
+
@include grid-column-size($columns);
|
61
|
+
float: $global-left;
|
62
|
+
|
63
|
+
// Gutters
|
64
|
+
@include grid-column-gutter($gutters: $gutters);
|
65
|
+
|
66
|
+
// Last column alignment
|
67
|
+
@if $grid-column-align-edge {
|
68
|
+
&:last-child:not(:first-child) {
|
69
|
+
float: $global-right;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
/// Creates a grid column row. This is the equivalent of adding `.row` and `.column` to the same element.
|
75
|
+
///
|
76
|
+
/// @param {Mixed} $gutters [$grid-column-gutter] - Width of the gutters on either side of the column row. Refer to the `grid-column-gutter()` function to see possible values.
|
77
|
+
@mixin grid-column-row(
|
78
|
+
$gutters: $grid-column-gutter
|
79
|
+
) {
|
80
|
+
@include grid-row;
|
81
|
+
@include grid-column($gutters: $gutters);
|
82
|
+
|
83
|
+
&,
|
84
|
+
&:last-child {
|
85
|
+
float: none;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
/// Shorthand for `grid-column()`.
|
90
|
+
/// @alias grid-column
|
91
|
+
@function grid-col(
|
92
|
+
$columns: $grid-column-count
|
93
|
+
) {
|
94
|
+
@return grid-column($columns);
|
95
|
+
}
|
96
|
+
|
97
|
+
/// Shorthand for `grid-column()`.
|
98
|
+
/// @alias grid-column
|
99
|
+
@mixin grid-col(
|
100
|
+
$columns: $grid-column-count,
|
101
|
+
$gutters: $grid-column-gutter
|
102
|
+
) {
|
103
|
+
@include grid-column($columns, $gutters);
|
104
|
+
}
|
105
|
+
|
106
|
+
/// Shorthand for `grid-column-row()`.
|
107
|
+
/// @alias grid-column-row
|
108
|
+
@mixin grid-col-row(
|
109
|
+
$gutters: $grid-column-gutter
|
110
|
+
) {
|
111
|
+
@include grid-column-row($gutters);
|
112
|
+
}
|
@@ -0,0 +1,312 @@
|
|
1
|
+
// Foundation for Sites by ZURB
|
2
|
+
// foundation.zurb.com
|
3
|
+
// Licensed under MIT Open Source
|
4
|
+
|
5
|
+
////
|
6
|
+
/// @group flex-grid
|
7
|
+
////
|
8
|
+
|
9
|
+
/// Creates a container for a flex grid row.
|
10
|
+
///
|
11
|
+
/// @param {Keyword|List} $behavior [null]
|
12
|
+
/// Modifications to the default grid styles. `nest` indicates the row will be placed inside another row. `collapse` indicates that the columns inside this row will not have padding. `nest collapse` combines both behaviors.
|
13
|
+
/// @param {Keyword|Number} $size [$grid-row-width] Maximum size of the row. Set to `expand` to make the row taking the full width.
|
14
|
+
/// @param {Number} $columns [null] - Number of columns to use for this row. If set to `null` (the default), the global column count will be used.
|
15
|
+
/// @param {Boolean} $base [true] - Set to `false` to prevent basic styles from being output. Useful if you're calling this mixin on the same element twice, as it prevents duplicate CSS output.
|
16
|
+
/// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins, in case the row is nested. Responsive gutter settings by default.
|
17
|
+
@mixin flex-grid-row(
|
18
|
+
$behavior: null,
|
19
|
+
$size: $grid-row-width,
|
20
|
+
$columns: null,
|
21
|
+
$base: true,
|
22
|
+
$wrap: true,
|
23
|
+
$gutters: $grid-column-gutter
|
24
|
+
) {
|
25
|
+
$margin: auto;
|
26
|
+
$wrap: if($wrap, wrap, nowrap);
|
27
|
+
|
28
|
+
@if index($behavior, nest) != null {
|
29
|
+
@include grid-row-nest($gutters);
|
30
|
+
|
31
|
+
@if index($behavior, collapse) != null {
|
32
|
+
margin-right: 0;
|
33
|
+
margin-left: 0;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
@else {
|
37
|
+
@include grid-row-size($size);
|
38
|
+
margin-right: auto;
|
39
|
+
margin-left: auto;
|
40
|
+
}
|
41
|
+
|
42
|
+
@if $base {
|
43
|
+
display: flex;
|
44
|
+
flex-flow: row $wrap;
|
45
|
+
}
|
46
|
+
|
47
|
+
@if $columns != null {
|
48
|
+
@include grid-context($columns, $base) {
|
49
|
+
@content;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
/// Calculates the `flex` property for a flex grid column. It accepts all of the same values as the basic `grid-column()` function, along with two extras:
|
55
|
+
/// - `expand` (the default) will make the column expand to fill space.
|
56
|
+
/// - `shrink` will make the column contract, so it only takes up the horizontal space it needs.
|
57
|
+
///
|
58
|
+
/// @param {Mixed} $columns [expand] - Width of the column.
|
59
|
+
@function flex-grid-column($columns: expand) {
|
60
|
+
$flex: 1 1 0px; // sass-lint:disable-line zero-unit
|
61
|
+
|
62
|
+
@if $columns == shrink {
|
63
|
+
$flex: 0 0 auto;
|
64
|
+
}
|
65
|
+
@else if $columns != expand {
|
66
|
+
$flex: 0 0 grid-column($columns);
|
67
|
+
}
|
68
|
+
|
69
|
+
@return $flex;
|
70
|
+
}
|
71
|
+
|
72
|
+
/// Creates a column for a flex grid. By default, the column will stretch to the full width of its container, but this can be overridden with sizing classes, or by using the `unstack` class on the parent flex row.
|
73
|
+
///
|
74
|
+
/// @param {Mixed} $columns [expand] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.
|
75
|
+
/// @param {Number|Map} $gutters [$grid-column-gutter] - Map or single value for gutters width. See the `grid-column-gutter` mixin.
|
76
|
+
@mixin flex-grid-column(
|
77
|
+
$columns: expand,
|
78
|
+
$gutters: $grid-column-gutter
|
79
|
+
) {
|
80
|
+
// Base properties
|
81
|
+
@include flex-grid-size($columns);
|
82
|
+
|
83
|
+
// Gutters
|
84
|
+
@include grid-column-gutter($gutters: $gutters);
|
85
|
+
|
86
|
+
// fixes recent Chrome version not limiting child width
|
87
|
+
// https://stackoverflow.com/questions/34934586/white-space-nowrap-and-flexbox-did-not-work-in-chrome
|
88
|
+
@if $columns == expand {
|
89
|
+
min-width: initial;
|
90
|
+
}
|
91
|
+
// max-width fixes IE 10/11 not respecting the flex-basis property
|
92
|
+
@if $columns != expand and $columns != shrink {
|
93
|
+
max-width: grid-column($columns);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
/// Creates a block grid for a flex grid row.
|
98
|
+
///
|
99
|
+
/// @param {Number} $n - Number of columns to display on each row.
|
100
|
+
/// @param {String} $selector - Selector to use to target columns within the row.
|
101
|
+
@mixin flex-grid-layout(
|
102
|
+
$n,
|
103
|
+
$selector: '.column'
|
104
|
+
) {
|
105
|
+
flex-wrap: wrap;
|
106
|
+
|
107
|
+
> #{$selector} {
|
108
|
+
$pct: percentage(1/$n);
|
109
|
+
|
110
|
+
flex: 0 0 $pct;
|
111
|
+
max-width: $pct;
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
/// Changes the width flex grid column.
|
116
|
+
/// @param {Mixed} $columns [expand] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.
|
117
|
+
@mixin flex-grid-size($columns: null) {
|
118
|
+
$columns: $columns or expand;
|
119
|
+
|
120
|
+
flex: flex-grid-column($columns);
|
121
|
+
|
122
|
+
// max-width fixes IE 10/11 not respecting the flex-basis property
|
123
|
+
@if $columns != expand and $columns != shrink {
|
124
|
+
max-width: grid-column($columns);
|
125
|
+
}
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
@mixin foundation-flex-grid {
|
130
|
+
// Row
|
131
|
+
.row {
|
132
|
+
@include flex-grid-row;
|
133
|
+
|
134
|
+
// Nesting behavior
|
135
|
+
& .row {
|
136
|
+
@include flex-grid-row(nest, $base: false);
|
137
|
+
|
138
|
+
&.collapse {
|
139
|
+
margin-right: 0;
|
140
|
+
margin-left: 0;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
// Expanded row
|
145
|
+
&.expanded {
|
146
|
+
@include grid-row-size(expand);
|
147
|
+
|
148
|
+
.row {
|
149
|
+
margin-right: auto;
|
150
|
+
margin-left: auto;
|
151
|
+
}
|
152
|
+
}
|
153
|
+
|
154
|
+
&:not(.expanded) .row {
|
155
|
+
@include grid-row-size(expand);
|
156
|
+
}
|
157
|
+
|
158
|
+
&.collapse {
|
159
|
+
> .column {
|
160
|
+
@include grid-col-collapse;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
// Undo negative margins
|
165
|
+
// From collapsed child
|
166
|
+
&.is-collapse-child,
|
167
|
+
&.collapse > .column > .row {
|
168
|
+
margin-right: 0;
|
169
|
+
margin-left: 0;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
// Column
|
174
|
+
.column {
|
175
|
+
@include flex-grid-column;
|
176
|
+
}
|
177
|
+
|
178
|
+
// Column row
|
179
|
+
// The double .row class is needed to bump up the specificity
|
180
|
+
.column.row.row {
|
181
|
+
float: none;
|
182
|
+
display: block;
|
183
|
+
}
|
184
|
+
|
185
|
+
// To properly nest a column row, padding and margin is removed
|
186
|
+
.row .column.row.row {
|
187
|
+
margin-right: 0;
|
188
|
+
margin-left: 0;
|
189
|
+
padding-right: 0;
|
190
|
+
padding-left: 0;
|
191
|
+
}
|
192
|
+
|
193
|
+
|
194
|
+
.flex-container {
|
195
|
+
@include flex;
|
196
|
+
}
|
197
|
+
|
198
|
+
.flex-child-auto {
|
199
|
+
flex: 1 1 auto;
|
200
|
+
}
|
201
|
+
|
202
|
+
.flex-child-grow {
|
203
|
+
flex: 1 0 auto;
|
204
|
+
}
|
205
|
+
|
206
|
+
.flex-child-shrink {
|
207
|
+
flex: 0 1 auto;
|
208
|
+
}
|
209
|
+
|
210
|
+
@each $dir, $prop in $-zf-flex-direction {
|
211
|
+
.flex-dir-#{$dir} {
|
212
|
+
@include flex-direction($prop);
|
213
|
+
}
|
214
|
+
}
|
215
|
+
|
216
|
+
@include -zf-each-breakpoint {
|
217
|
+
@for $i from 1 through $grid-column-count {
|
218
|
+
// Sizing (percentage)
|
219
|
+
.#{$-zf-size}-#{$i} {
|
220
|
+
flex: flex-grid-column($i);
|
221
|
+
max-width: grid-column($i);
|
222
|
+
}
|
223
|
+
|
224
|
+
// Offsets
|
225
|
+
$o: $i - 1;
|
226
|
+
|
227
|
+
.#{$-zf-size}-offset-#{$o} {
|
228
|
+
@include grid-column-offset($o);
|
229
|
+
}
|
230
|
+
}
|
231
|
+
|
232
|
+
// Source ordering
|
233
|
+
@for $i from 1 through 6 {
|
234
|
+
.#{$-zf-size}-order-#{$i} {
|
235
|
+
@include flex-order($i);
|
236
|
+
}
|
237
|
+
}
|
238
|
+
|
239
|
+
// Block grid
|
240
|
+
@for $i from 1 through $block-grid-max {
|
241
|
+
.#{$-zf-size}-up-#{$i} {
|
242
|
+
@include flex-grid-layout($i);
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
@if $-zf-size != $-zf-zero-breakpoint {
|
247
|
+
// Sizing (expand)
|
248
|
+
@include breakpoint($-zf-size) {
|
249
|
+
.#{$-zf-size}-expand {
|
250
|
+
flex: flex-grid-column();
|
251
|
+
}
|
252
|
+
}
|
253
|
+
|
254
|
+
// direction helper classes
|
255
|
+
@each $dir, $prop in $-zf-flex-direction {
|
256
|
+
.#{$-zf-size}-flex-dir-#{$dir} {
|
257
|
+
@include flex-direction($prop);
|
258
|
+
}
|
259
|
+
}
|
260
|
+
// child helper classes
|
261
|
+
.#{$-zf-size}-flex-child-auto {
|
262
|
+
flex: 1 1 auto;
|
263
|
+
}
|
264
|
+
|
265
|
+
.#{$-zf-size}-flex-child-grow {
|
266
|
+
flex: 1 0 auto;
|
267
|
+
}
|
268
|
+
|
269
|
+
.#{$-zf-size}-flex-child-shrink {
|
270
|
+
flex: 0 1 auto;
|
271
|
+
}
|
272
|
+
|
273
|
+
// Auto-stacking/unstacking
|
274
|
+
@at-root (without: media) {
|
275
|
+
.row.#{$-zf-size}-unstack {
|
276
|
+
> .column {
|
277
|
+
flex: flex-grid-column(100%);
|
278
|
+
|
279
|
+
@include breakpoint($-zf-size) {
|
280
|
+
flex: flex-grid-column();
|
281
|
+
}
|
282
|
+
}
|
283
|
+
}
|
284
|
+
}
|
285
|
+
}
|
286
|
+
|
287
|
+
// Responsive collapsing
|
288
|
+
.#{$-zf-size}-collapse {
|
289
|
+
> .column { @include grid-col-collapse; }
|
290
|
+
}
|
291
|
+
|
292
|
+
.#{$-zf-size}-uncollapse {
|
293
|
+
> .column { @include grid-col-gutter($-zf-size); }
|
294
|
+
}
|
295
|
+
}
|
296
|
+
|
297
|
+
// Sizing (shrink)
|
298
|
+
.shrink {
|
299
|
+
flex: flex-grid-column(shrink);
|
300
|
+
max-width: 100%;
|
301
|
+
}
|
302
|
+
|
303
|
+
// Block grid columns
|
304
|
+
.column-block {
|
305
|
+
@include grid-column-margin;
|
306
|
+
}
|
307
|
+
|
308
|
+
.columns {
|
309
|
+
@extend .column; // sass-lint:disable-line placeholder-in-extend
|
310
|
+
|
311
|
+
}
|
312
|
+
}
|