foundation6-jekyll-base 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +2 -0
  4. data/_includes/footer.html +1 -0
  5. data/_includes/head.html +16 -0
  6. data/_includes/header.html +1 -0
  7. data/_includes/javascripts.html +4 -0
  8. data/_layouts/default.html +18 -0
  9. data/_layouts/home.html +26 -0
  10. data/_layouts/page.html +15 -0
  11. data/_layouts/post.html +25 -0
  12. data/_sass/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  13. data/_sass/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  14. data/_sass/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  15. data/_sass/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  16. data/_sass/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  17. data/_sass/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  18. data/_sass/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  19. data/_sass/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  20. data/_sass/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  21. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  22. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  23. data/_sass/foundation/_global.scss +219 -0
  24. data/_sass/foundation/components/_accordion-menu.scss +36 -0
  25. data/_sass/foundation/components/_accordion.scss +150 -0
  26. data/_sass/foundation/components/_badge.scss +63 -0
  27. data/_sass/foundation/components/_breadcrumbs.scss +97 -0
  28. data/_sass/foundation/components/_button-group.scss +249 -0
  29. data/_sass/foundation/components/_button.scss +303 -0
  30. data/_sass/foundation/components/_callout.scss +106 -0
  31. data/_sass/foundation/components/_card.scss +121 -0
  32. data/_sass/foundation/components/_close-button.scss +102 -0
  33. data/_sass/foundation/components/_drilldown.scss +93 -0
  34. data/_sass/foundation/components/_dropdown-menu.scss +226 -0
  35. data/_sass/foundation/components/_dropdown.scss +72 -0
  36. data/_sass/foundation/components/_flex-video.scss +1 -0
  37. data/_sass/foundation/components/_flex.scss +28 -0
  38. data/_sass/foundation/components/_float.scss +27 -0
  39. data/_sass/foundation/components/_label.scss +64 -0
  40. data/_sass/foundation/components/_media-object.scss +114 -0
  41. data/_sass/foundation/components/_menu-icon.scss +9 -0
  42. data/_sass/foundation/components/_menu.scss +371 -0
  43. data/_sass/foundation/components/_off-canvas.scss +329 -0
  44. data/_sass/foundation/components/_orbit.scss +196 -0
  45. data/_sass/foundation/components/_pagination.scss +193 -0
  46. data/_sass/foundation/components/_progress-bar.scss +64 -0
  47. data/_sass/foundation/components/_responsive-embed.scss +67 -0
  48. data/_sass/foundation/components/_reveal.scss +178 -0
  49. data/_sass/foundation/components/_slider.scss +138 -0
  50. data/_sass/foundation/components/_sticky.scss +38 -0
  51. data/_sass/foundation/components/_switch.scss +247 -0
  52. data/_sass/foundation/components/_table.scss +329 -0
  53. data/_sass/foundation/components/_tabs.scss +196 -0
  54. data/_sass/foundation/components/_thumbnail.scss +67 -0
  55. data/_sass/foundation/components/_title-bar.scss +84 -0
  56. data/_sass/foundation/components/_tooltip.scss +107 -0
  57. data/_sass/foundation/components/_top-bar.scss +173 -0
  58. data/_sass/foundation/components/_visibility.scss +132 -0
  59. data/_sass/foundation/forms/_checkbox.scss +41 -0
  60. data/_sass/foundation/forms/_error.scss +88 -0
  61. data/_sass/foundation/forms/_fieldset.scss +54 -0
  62. data/_sass/foundation/forms/_forms.scss +34 -0
  63. data/_sass/foundation/forms/_help-text.scss +30 -0
  64. data/_sass/foundation/forms/_input-group.scss +135 -0
  65. data/_sass/foundation/forms/_label.scss +50 -0
  66. data/_sass/foundation/forms/_meter.scss +110 -0
  67. data/_sass/foundation/forms/_progress.scss +94 -0
  68. data/_sass/foundation/forms/_range.scss +149 -0
  69. data/_sass/foundation/forms/_select.scss +85 -0
  70. data/_sass/foundation/forms/_text.scss +170 -0
  71. data/_sass/foundation/foundation.scss +118 -0
  72. data/_sass/foundation/grid/_classes.scss +176 -0
  73. data/_sass/foundation/grid/_column.scss +112 -0
  74. data/_sass/foundation/grid/_flex-grid.scss +307 -0
  75. data/_sass/foundation/grid/_grid.scss +44 -0
  76. data/_sass/foundation/grid/_gutter.scss +82 -0
  77. data/_sass/foundation/grid/_layout.scss +76 -0
  78. data/_sass/foundation/grid/_position.scss +76 -0
  79. data/_sass/foundation/grid/_row.scss +99 -0
  80. data/_sass/foundation/grid/_size.scss +24 -0
  81. data/_sass/foundation/settings/_settings.scss +621 -0
  82. data/_sass/foundation/typography/_alignment.scss +22 -0
  83. data/_sass/foundation/typography/_base.scss +509 -0
  84. data/_sass/foundation/typography/_helpers.scss +78 -0
  85. data/_sass/foundation/typography/_print.scss +81 -0
  86. data/_sass/foundation/typography/_typography.scss +26 -0
  87. data/_sass/foundation/util/_breakpoint.scss +281 -0
  88. data/_sass/foundation/util/_color.scss +126 -0
  89. data/_sass/foundation/util/_direction.scss +31 -0
  90. data/_sass/foundation/util/_flex.scss +85 -0
  91. data/_sass/foundation/util/_math.scss +72 -0
  92. data/_sass/foundation/util/_mixins.scss +276 -0
  93. data/_sass/foundation/util/_selector.scss +41 -0
  94. data/_sass/foundation/util/_unit.scss +152 -0
  95. data/_sass/foundation/util/_util.scss +13 -0
  96. data/_sass/foundation/util/_value.scss +140 -0
  97. data/assets/js/app.js +1 -0
  98. data/assets/js/vendor/foundation/foundation.d.ts +496 -0
  99. data/assets/js/vendor/foundation/foundation.js +10207 -0
  100. data/assets/js/vendor/foundation/foundation.min.js +4 -0
  101. data/assets/js/vendor/foundation/plugins/foundation.abide.js +637 -0
  102. data/assets/js/vendor/foundation/plugins/foundation.abide.min.js +1 -0
  103. data/assets/js/vendor/foundation/plugins/foundation.accordion.js +252 -0
  104. data/assets/js/vendor/foundation/plugins/foundation.accordion.min.js +1 -0
  105. data/assets/js/vendor/foundation/plugins/foundation.accordionMenu.js +318 -0
  106. data/assets/js/vendor/foundation/plugins/foundation.accordionMenu.min.js +1 -0
  107. data/assets/js/vendor/foundation/plugins/foundation.core.js +386 -0
  108. data/assets/js/vendor/foundation/plugins/foundation.core.min.js +1 -0
  109. data/assets/js/vendor/foundation/plugins/foundation.drilldown.js +565 -0
  110. data/assets/js/vendor/foundation/plugins/foundation.drilldown.min.js +1 -0
  111. data/assets/js/vendor/foundation/plugins/foundation.dropdown.js +465 -0
  112. data/assets/js/vendor/foundation/plugins/foundation.dropdown.min.js +1 -0
  113. data/assets/js/vendor/foundation/plugins/foundation.dropdownMenu.js +486 -0
  114. data/assets/js/vendor/foundation/plugins/foundation.dropdownMenu.min.js +1 -0
  115. data/assets/js/vendor/foundation/plugins/foundation.equalizer.js +374 -0
  116. data/assets/js/vendor/foundation/plugins/foundation.equalizer.min.js +1 -0
  117. data/assets/js/vendor/foundation/plugins/foundation.interchange.js +233 -0
  118. data/assets/js/vendor/foundation/plugins/foundation.interchange.min.js +1 -0
  119. data/assets/js/vendor/foundation/plugins/foundation.magellan.js +285 -0
  120. data/assets/js/vendor/foundation/plugins/foundation.magellan.min.js +1 -0
  121. data/assets/js/vendor/foundation/plugins/foundation.offcanvas.js +474 -0
  122. data/assets/js/vendor/foundation/plugins/foundation.offcanvas.min.js +1 -0
  123. data/assets/js/vendor/foundation/plugins/foundation.orbit.js +566 -0
  124. data/assets/js/vendor/foundation/plugins/foundation.orbit.min.js +1 -0
  125. data/assets/js/vendor/foundation/plugins/foundation.responsiveMenu.js +169 -0
  126. data/assets/js/vendor/foundation/plugins/foundation.responsiveMenu.min.js +1 -0
  127. data/assets/js/vendor/foundation/plugins/foundation.responsiveToggle.js +177 -0
  128. data/assets/js/vendor/foundation/plugins/foundation.responsiveToggle.min.js +1 -0
  129. data/assets/js/vendor/foundation/plugins/foundation.reveal.js +633 -0
  130. data/assets/js/vendor/foundation/plugins/foundation.reveal.min.js +1 -0
  131. data/assets/js/vendor/foundation/plugins/foundation.slider.js +762 -0
  132. data/assets/js/vendor/foundation/plugins/foundation.slider.min.js +1 -0
  133. data/assets/js/vendor/foundation/plugins/foundation.sticky.js +518 -0
  134. data/assets/js/vendor/foundation/plugins/foundation.sticky.min.js +1 -0
  135. data/assets/js/vendor/foundation/plugins/foundation.tabs.js +512 -0
  136. data/assets/js/vendor/foundation/plugins/foundation.tabs.min.js +1 -0
  137. data/assets/js/vendor/foundation/plugins/foundation.toggler.js +169 -0
  138. data/assets/js/vendor/foundation/plugins/foundation.toggler.min.js +1 -0
  139. data/assets/js/vendor/foundation/plugins/foundation.tooltip.js +492 -0
  140. data/assets/js/vendor/foundation/plugins/foundation.tooltip.min.js +1 -0
  141. data/assets/js/vendor/foundation/plugins/foundation.util.box.js +196 -0
  142. data/assets/js/vendor/foundation/plugins/foundation.util.box.min.js +1 -0
  143. data/assets/js/vendor/foundation/plugins/foundation.util.keyboard.js +163 -0
  144. data/assets/js/vendor/foundation/plugins/foundation.util.keyboard.min.js +1 -0
  145. data/assets/js/vendor/foundation/plugins/foundation.util.mediaQuery.js +233 -0
  146. data/assets/js/vendor/foundation/plugins/foundation.util.mediaQuery.min.js +1 -0
  147. data/assets/js/vendor/foundation/plugins/foundation.util.motion.js +103 -0
  148. data/assets/js/vendor/foundation/plugins/foundation.util.motion.min.js +1 -0
  149. data/assets/js/vendor/foundation/plugins/foundation.util.nest.js +74 -0
  150. data/assets/js/vendor/foundation/plugins/foundation.util.nest.min.js +1 -0
  151. data/assets/js/vendor/foundation/plugins/foundation.util.timerAndImageLoader.js +90 -0
  152. data/assets/js/vendor/foundation/plugins/foundation.util.timerAndImageLoader.min.js +1 -0
  153. data/assets/js/vendor/foundation/plugins/foundation.util.touch.js +352 -0
  154. data/assets/js/vendor/foundation/plugins/foundation.util.touch.min.js +1 -0
  155. data/assets/js/vendor/foundation/plugins/foundation.util.triggers.js +261 -0
  156. data/assets/js/vendor/foundation/plugins/foundation.util.triggers.min.js +1 -0
  157. data/assets/js/vendor/foundation/plugins/foundation.zf.responsiveAccordionTabs.js +262 -0
  158. data/assets/js/vendor/foundation/plugins/foundation.zf.responsiveAccordionTabs.min.js +1 -0
  159. data/assets/main.scss +6 -0
  160. metadata +232 -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' {
171
+ .columns {
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,307 @@
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
+
149
+ &:not(.expanded) .row {
150
+ @include grid-row-size(expand);
151
+ }
152
+
153
+ &.collapse {
154
+ > .column {
155
+ @include grid-col-collapse;
156
+ }
157
+ }
158
+
159
+ // Undo negative margins
160
+ // From collapsed child
161
+ &.is-collapse-child,
162
+ &.collapse > .column > .row {
163
+ margin-right: 0;
164
+ margin-left: 0;
165
+ }
166
+ }
167
+
168
+ // Column
169
+ .column {
170
+ @include flex-grid-column;
171
+ }
172
+
173
+ // Column row
174
+ // The double .row class is needed to bump up the specificity
175
+ .column.row.row {
176
+ float: none;
177
+ display: block;
178
+ }
179
+
180
+ // To properly nest a column row, padding and margin is removed
181
+ .row .column.row.row {
182
+ margin-right: 0;
183
+ margin-left: 0;
184
+ padding-right: 0;
185
+ padding-left: 0;
186
+ }
187
+
188
+
189
+ .flex-container {
190
+ @include flex;
191
+ }
192
+
193
+ .flex-child-auto {
194
+ flex: 1 1 auto;
195
+ }
196
+
197
+ .flex-child-grow {
198
+ flex: 1 0 auto;
199
+ }
200
+
201
+ .flex-child-shrink {
202
+ flex: 0 1 auto;
203
+ }
204
+
205
+ @each $dir, $prop in $-zf-flex-direction {
206
+ .flex-dir-#{$dir} {
207
+ @include flex-direction($prop);
208
+ }
209
+ }
210
+
211
+ @include -zf-each-breakpoint {
212
+ @for $i from 1 through $grid-column-count {
213
+ // Sizing (percentage)
214
+ .#{$-zf-size}-#{$i} {
215
+ flex: flex-grid-column($i);
216
+ max-width: grid-column($i);
217
+ }
218
+
219
+ // Offsets
220
+ $o: $i - 1;
221
+
222
+ .#{$-zf-size}-offset-#{$o} {
223
+ @include grid-column-offset($o);
224
+ }
225
+ }
226
+
227
+ // Source ordering
228
+ @for $i from 1 through 6 {
229
+ .#{$-zf-size}-order-#{$i} {
230
+ @include flex-order($i);
231
+ }
232
+ }
233
+
234
+ // Block grid
235
+ @for $i from 1 through $block-grid-max {
236
+ .#{$-zf-size}-up-#{$i} {
237
+ @include flex-grid-layout($i);
238
+ }
239
+ }
240
+
241
+ @if $-zf-size != $-zf-zero-breakpoint {
242
+ // Sizing (expand)
243
+ @include breakpoint($-zf-size) {
244
+ .#{$-zf-size}-expand {
245
+ flex: flex-grid-column();
246
+ }
247
+ }
248
+
249
+ // direction helper classes
250
+ @each $dir, $prop in $-zf-flex-direction {
251
+ .#{$-zf-size}-flex-dir-#{$dir} {
252
+ @include flex-direction($prop);
253
+ }
254
+ }
255
+ // child helper classes
256
+ .#{$-zf-size}-flex-child-auto {
257
+ flex: 1 1 auto;
258
+ }
259
+
260
+ .#{$-zf-size}-flex-child-grow {
261
+ flex: 1 0 auto;
262
+ }
263
+
264
+ .#{$-zf-size}-flex-child-shrink {
265
+ flex: 0 1 auto;
266
+ }
267
+
268
+ // Auto-stacking/unstacking
269
+ @at-root (without: media) {
270
+ .row.#{$-zf-size}-unstack {
271
+ > .column {
272
+ flex: flex-grid-column(100%);
273
+
274
+ @include breakpoint($-zf-size) {
275
+ flex: flex-grid-column();
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+
282
+ // Responsive collapsing
283
+ .#{$-zf-size}-collapse {
284
+ > .column { @include grid-col-collapse; }
285
+ }
286
+
287
+ .#{$-zf-size}-uncollapse {
288
+ > .column { @include grid-col-gutter($-zf-size); }
289
+ }
290
+ }
291
+
292
+ // Sizing (shrink)
293
+ .shrink {
294
+ flex: flex-grid-column(shrink);
295
+ max-width: 100%;
296
+ }
297
+
298
+ // Block grid columns
299
+ .column-block {
300
+ @include grid-column-margin;
301
+ }
302
+
303
+ .columns {
304
+ @extend .column; // sass-lint:disable-line placeholder-in-extend
305
+
306
+ }
307
+ }