bedrock_sass 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/assets/_vendor/foundation/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  3. data/assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  4. data/assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  5. data/assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  6. data/assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  7. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -0
  8. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  9. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  10. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  11. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  12. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  13. data/assets/_vendor/foundation/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  14. data/assets/_vendor/foundation/scss/_global.scss +249 -0
  15. data/assets/_vendor/foundation/scss/components/_accordion-menu.scss +171 -0
  16. data/assets/_vendor/foundation/scss/components/_accordion.scss +155 -0
  17. data/assets/_vendor/foundation/scss/components/_badge.scss +63 -0
  18. data/assets/_vendor/foundation/scss/components/_breadcrumbs.scss +117 -0
  19. data/assets/_vendor/foundation/scss/components/_button-group.scss +253 -0
  20. data/assets/_vendor/foundation/scss/components/_button.scss +385 -0
  21. data/assets/_vendor/foundation/scss/components/_callout.scss +106 -0
  22. data/assets/_vendor/foundation/scss/components/_card.scss +129 -0
  23. data/assets/_vendor/foundation/scss/components/_close-button.scss +102 -0
  24. data/assets/_vendor/foundation/scss/components/_drilldown.scss +142 -0
  25. data/assets/_vendor/foundation/scss/components/_dropdown-menu.scss +274 -0
  26. data/assets/_vendor/foundation/scss/components/_dropdown.scss +79 -0
  27. data/assets/_vendor/foundation/scss/components/_flex-video.scss +1 -0
  28. data/assets/_vendor/foundation/scss/components/_flex.scss +117 -0
  29. data/assets/_vendor/foundation/scss/components/_float.scss +27 -0
  30. data/assets/_vendor/foundation/scss/components/_label.scss +64 -0
  31. data/assets/_vendor/foundation/scss/components/_media-object.scss +114 -0
  32. data/assets/_vendor/foundation/scss/components/_menu-icon.scss +9 -0
  33. data/assets/_vendor/foundation/scss/components/_menu.scss +495 -0
  34. data/assets/_vendor/foundation/scss/components/_off-canvas.scss +506 -0
  35. data/assets/_vendor/foundation/scss/components/_orbit.scss +196 -0
  36. data/assets/_vendor/foundation/scss/components/_pagination.scss +193 -0
  37. data/assets/_vendor/foundation/scss/components/_progress-bar.scss +64 -0
  38. data/assets/_vendor/foundation/scss/components/_responsive-embed.scss +70 -0
  39. data/assets/_vendor/foundation/scss/components/_reveal.scss +180 -0
  40. data/assets/_vendor/foundation/scss/components/_slider.scss +137 -0
  41. data/assets/_vendor/foundation/scss/components/_sticky.scss +39 -0
  42. data/assets/_vendor/foundation/scss/components/_switch.scss +247 -0
  43. data/assets/_vendor/foundation/scss/components/_table.scss +330 -0
  44. data/assets/_vendor/foundation/scss/components/_tabs.scss +196 -0
  45. data/assets/_vendor/foundation/scss/components/_thumbnail.scss +67 -0
  46. data/assets/_vendor/foundation/scss/components/_title-bar.scss +84 -0
  47. data/assets/_vendor/foundation/scss/components/_tooltip.scss +160 -0
  48. data/assets/_vendor/foundation/scss/components/_top-bar.scss +175 -0
  49. data/assets/_vendor/foundation/scss/components/_visibility.scss +132 -0
  50. data/assets/_vendor/foundation/scss/forms/_checkbox.scss +41 -0
  51. data/assets/_vendor/foundation/scss/forms/_error.scss +88 -0
  52. data/assets/_vendor/foundation/scss/forms/_fieldset.scss +53 -0
  53. data/assets/_vendor/foundation/scss/forms/_forms.scss +34 -0
  54. data/assets/_vendor/foundation/scss/forms/_help-text.scss +30 -0
  55. data/assets/_vendor/foundation/scss/forms/_input-group.scss +142 -0
  56. data/assets/_vendor/foundation/scss/forms/_label.scss +50 -0
  57. data/assets/_vendor/foundation/scss/forms/_meter.scss +116 -0
  58. data/assets/_vendor/foundation/scss/forms/_progress.scss +94 -0
  59. data/assets/_vendor/foundation/scss/forms/_range.scss +149 -0
  60. data/assets/_vendor/foundation/scss/forms/_select.scss +86 -0
  61. data/assets/_vendor/foundation/scss/forms/_text.scss +179 -0
  62. data/assets/_vendor/foundation/scss/foundation.scss +133 -0
  63. data/assets/_vendor/foundation/scss/grid/_classes.scss +176 -0
  64. data/assets/_vendor/foundation/scss/grid/_column.scss +112 -0
  65. data/assets/_vendor/foundation/scss/grid/_flex-grid.scss +259 -0
  66. data/assets/_vendor/foundation/scss/grid/_grid.scss +48 -0
  67. data/assets/_vendor/foundation/scss/grid/_gutter.scss +82 -0
  68. data/assets/_vendor/foundation/scss/grid/_layout.scss +76 -0
  69. data/assets/_vendor/foundation/scss/grid/_position.scss +76 -0
  70. data/assets/_vendor/foundation/scss/grid/_row.scss +99 -0
  71. data/assets/_vendor/foundation/scss/grid/_size.scss +24 -0
  72. data/assets/_vendor/foundation/scss/prototype/_arrow.scss +36 -0
  73. data/assets/_vendor/foundation/scss/prototype/_border-box.scss +35 -0
  74. data/assets/_vendor/foundation/scss/prototype/_border-none.scss +35 -0
  75. data/assets/_vendor/foundation/scss/prototype/_bordered.scss +54 -0
  76. data/assets/_vendor/foundation/scss/prototype/_box.scss +23 -0
  77. data/assets/_vendor/foundation/scss/prototype/_display.scss +50 -0
  78. data/assets/_vendor/foundation/scss/prototype/_font-styling.scss +95 -0
  79. data/assets/_vendor/foundation/scss/prototype/_list-style-type.scss +95 -0
  80. data/assets/_vendor/foundation/scss/prototype/_overflow.scss +72 -0
  81. data/assets/_vendor/foundation/scss/prototype/_position.scss +114 -0
  82. data/assets/_vendor/foundation/scss/prototype/_prototype.scss +87 -0
  83. data/assets/_vendor/foundation/scss/prototype/_relation.scss +157 -0
  84. data/assets/_vendor/foundation/scss/prototype/_rotate.scss +31 -0
  85. data/assets/_vendor/foundation/scss/prototype/_rounded.scss +54 -0
  86. data/assets/_vendor/foundation/scss/prototype/_separator.scss +96 -0
  87. data/assets/_vendor/foundation/scss/prototype/_shadow.scss +43 -0
  88. data/assets/_vendor/foundation/scss/prototype/_sizing.scss +73 -0
  89. data/assets/_vendor/foundation/scss/prototype/_spacing.scss +204 -0
  90. data/assets/_vendor/foundation/scss/prototype/_text-decoration.scss +48 -0
  91. data/assets/_vendor/foundation/scss/prototype/_text-transformation.scss +48 -0
  92. data/assets/_vendor/foundation/scss/prototype/_text-utilities.scss +88 -0
  93. data/assets/_vendor/foundation/scss/settings/_settings.scss +869 -0
  94. data/assets/_vendor/foundation/scss/typography/_alignment.scss +22 -0
  95. data/assets/_vendor/foundation/scss/typography/_base.scss +509 -0
  96. data/assets/_vendor/foundation/scss/typography/_helpers.scss +80 -0
  97. data/assets/_vendor/foundation/scss/typography/_print.scss +86 -0
  98. data/assets/_vendor/foundation/scss/typography/_typography.scss +26 -0
  99. data/assets/_vendor/foundation/scss/util/_breakpoint.scss +348 -0
  100. data/assets/_vendor/foundation/scss/util/_color.scss +129 -0
  101. data/assets/_vendor/foundation/scss/util/_direction.scss +31 -0
  102. data/assets/_vendor/foundation/scss/util/_flex.scss +85 -0
  103. data/assets/_vendor/foundation/scss/util/_math.scss +72 -0
  104. data/assets/_vendor/foundation/scss/util/_mixins.scss +313 -0
  105. data/assets/_vendor/foundation/scss/util/_selector.scss +41 -0
  106. data/assets/_vendor/foundation/scss/util/_typography.scss +26 -0
  107. data/assets/_vendor/foundation/scss/util/_unit.scss +152 -0
  108. data/assets/_vendor/foundation/scss/util/_util.scss +14 -0
  109. data/assets/_vendor/foundation/scss/util/_value.scss +160 -0
  110. data/assets/_vendor/foundation/scss/xy-grid/_cell.scss +169 -0
  111. data/assets/_vendor/foundation/scss/xy-grid/_classes.scss +476 -0
  112. data/assets/_vendor/foundation/scss/xy-grid/_collapse.scss +74 -0
  113. data/assets/_vendor/foundation/scss/xy-grid/_frame.scss +85 -0
  114. data/assets/_vendor/foundation/scss/xy-grid/_grid.scss +35 -0
  115. data/assets/_vendor/foundation/scss/xy-grid/_gutters.scss +45 -0
  116. data/assets/_vendor/foundation/scss/xy-grid/_layout.scss +33 -0
  117. data/assets/_vendor/foundation/scss/xy-grid/_position.scss +28 -0
  118. data/assets/_vendor/foundation/scss/xy-grid/_xy-grid.scss +51 -0
  119. data/assets/_vendor/motion-ui/_classes.scss +109 -0
  120. data/assets/_vendor/motion-ui/_settings.scss +61 -0
  121. data/assets/_vendor/motion-ui/effects/_fade.scss +32 -0
  122. data/assets/_vendor/motion-ui/effects/_hinge.scss +65 -0
  123. data/assets/_vendor/motion-ui/effects/_shake.scss +15 -0
  124. data/assets/_vendor/motion-ui/effects/_slide.scss +41 -0
  125. data/assets/_vendor/motion-ui/effects/_spin.scss +28 -0
  126. data/assets/_vendor/motion-ui/effects/_wiggle.scss +13 -0
  127. data/assets/_vendor/motion-ui/effects/_zoom.scss +15 -0
  128. data/assets/_vendor/motion-ui/motion-ui.scss +29 -0
  129. data/assets/_vendor/motion-ui/transitions/_fade.scss +28 -0
  130. data/assets/_vendor/motion-ui/transitions/_hinge.scss +43 -0
  131. data/assets/_vendor/motion-ui/transitions/_slide.scss +42 -0
  132. data/assets/_vendor/motion-ui/transitions/_spin.scss +39 -0
  133. data/assets/_vendor/motion-ui/transitions/_zoom.scss +39 -0
  134. data/assets/_vendor/motion-ui/util/_animation.scss +7 -0
  135. data/assets/_vendor/motion-ui/util/_args.scss +15 -0
  136. data/assets/_vendor/motion-ui/util/_keyframe.scss +136 -0
  137. data/assets/_vendor/motion-ui/util/_selector.scss +23 -0
  138. data/assets/_vendor/motion-ui/util/_series.scss +54 -0
  139. data/assets/_vendor/motion-ui/util/_transition.scss +45 -0
  140. data/assets/_vendor/motion-ui/util/_unit.scss +7 -0
  141. data/assets/bedrock/js/bedrock.js +22993 -0
  142. data/assets/bedrock/scss/_bedrock-components.scss +15 -0
  143. data/assets/bedrock/scss/_bedrock-settings.scss +45 -0
  144. data/assets/bedrock/scss/_foundation-components.scss +50 -0
  145. data/assets/bedrock/scss/_foundation-settings.scss +869 -0
  146. data/assets/bedrock/scss/bedrock.scss +7 -0
  147. data/assets/bedrock/scss/components/global.scss +55 -0
  148. data/assets/bedrock/scss/components/header.scss +60 -0
  149. data/assets/bedrock/scss/components/helper-classes.scss +53 -0
  150. data/assets/bedrock/scss/components/logo-bar.scss +45 -0
  151. data/assets/bedrock/scss/components/off-canvas-menu.scss +359 -0
  152. data/assets/bedrock/scss/components/panel.scss +121 -0
  153. data/assets/bedrock/scss/components/tiny-mce-editor.scss +74 -0
  154. data/lib/bedrock_sass/version.rb +1 -1
  155. metadata +153 -2
@@ -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,259 @@
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: 0;
90
+ }
91
+ }
92
+
93
+ /// Creates a block grid for a flex grid row.
94
+ ///
95
+ /// @param {Number} $n - Number of columns to display on each row.
96
+ /// @param {String} $selector - Selector to use to target columns within the row.
97
+ @mixin flex-grid-layout(
98
+ $n,
99
+ $selector: '.column'
100
+ ) {
101
+ flex-wrap: wrap;
102
+
103
+ > #{$selector} {
104
+ $pct: percentage(1/$n);
105
+
106
+ flex: 0 0 $pct;
107
+ max-width: $pct;
108
+ }
109
+ }
110
+
111
+ /// Changes the width flex grid column.
112
+ /// @param {Mixed} $columns [expand] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.
113
+ @mixin flex-grid-size($columns: null) {
114
+ $columns: $columns or expand;
115
+
116
+ flex: flex-grid-column($columns);
117
+
118
+ // max-width fixes IE 10/11 not respecting the flex-basis property
119
+ @if $columns != expand and $columns != shrink {
120
+ max-width: grid-column($columns);
121
+ }
122
+ }
123
+
124
+
125
+ @mixin foundation-flex-grid {
126
+ // Row
127
+ .row {
128
+ @include flex-grid-row;
129
+
130
+ // Nesting behavior
131
+ & .row {
132
+ @include flex-grid-row(nest, $base: false);
133
+
134
+ &.collapse {
135
+ margin-right: 0;
136
+ margin-left: 0;
137
+ }
138
+ }
139
+
140
+ // Expanded row
141
+ &.expanded {
142
+ @include grid-row-size(expand);
143
+
144
+ .row {
145
+ margin-right: auto;
146
+ margin-left: auto;
147
+ }
148
+ }
149
+
150
+ &:not(.expanded) .row {
151
+ @include grid-row-size(expand);
152
+ }
153
+
154
+ &.collapse {
155
+ > .column {
156
+ @include grid-col-collapse;
157
+ }
158
+ }
159
+
160
+ // Undo negative margins
161
+ // From collapsed child
162
+ &.is-collapse-child,
163
+ &.collapse > .column > .row {
164
+ margin-right: 0;
165
+ margin-left: 0;
166
+ }
167
+ }
168
+
169
+ // Column
170
+ .column {
171
+ @include flex-grid-column;
172
+ }
173
+
174
+ // Column row
175
+ // The double .row class is needed to bump up the specificity
176
+ .column.row.row {
177
+ float: none;
178
+ display: block;
179
+ }
180
+
181
+ // To properly nest a column row, padding and margin is removed
182
+ .row .column.row.row {
183
+ margin-right: 0;
184
+ margin-left: 0;
185
+ padding-right: 0;
186
+ padding-left: 0;
187
+ }
188
+
189
+ @include -zf-each-breakpoint {
190
+ @for $i from 1 through $grid-column-count {
191
+ // Sizing (percentage)
192
+ .#{$-zf-size}-#{$i} {
193
+ flex: flex-grid-column($i);
194
+ max-width: grid-column($i);
195
+ }
196
+
197
+ // Offsets
198
+ $o: $i - 1;
199
+
200
+ .#{$-zf-size}-offset-#{$o} {
201
+ @include grid-column-offset($o);
202
+ }
203
+ }
204
+
205
+ // Block grid
206
+ @for $i from 1 through $block-grid-max {
207
+ .#{$-zf-size}-up-#{$i} {
208
+ @include flex-grid-layout($i);
209
+ }
210
+ }
211
+
212
+ @if $-zf-size != $-zf-zero-breakpoint {
213
+ // Sizing (expand)
214
+ @include breakpoint($-zf-size) {
215
+ .#{$-zf-size}-expand {
216
+ flex: flex-grid-column();
217
+ }
218
+ }
219
+
220
+ // Auto-stacking/unstacking
221
+ @at-root (without: media) {
222
+ .row.#{$-zf-size}-unstack {
223
+ > .column {
224
+ flex: flex-grid-column(100%);
225
+
226
+ @include breakpoint($-zf-size) {
227
+ flex: flex-grid-column();
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+
234
+ // Responsive collapsing
235
+ .#{$-zf-size}-collapse {
236
+ > .column { @include grid-col-collapse; }
237
+ }
238
+
239
+ .#{$-zf-size}-uncollapse {
240
+ > .column { @include grid-col-gutter($-zf-size); }
241
+ }
242
+ }
243
+
244
+ // Sizing (shrink)
245
+ .shrink {
246
+ flex: flex-grid-column(shrink);
247
+ max-width: 100%;
248
+ }
249
+
250
+ // Block grid columns
251
+ .column-block {
252
+ @include grid-column-margin;
253
+ }
254
+
255
+ .columns {
256
+ @extend .column; // sass-lint:disable-line placeholder-in-extend
257
+
258
+ }
259
+ }
@@ -0,0 +1,48 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// The maximum width of a row.
10
+ /// @type Number
11
+ $grid-row-width: $global-width !default;
12
+
13
+ /// The default column count of a grid. Changing this value affects the logic of the grid mixins, and the number of CSS classes output.
14
+ /// @type Number
15
+ $grid-column-count: 12 !default;
16
+
17
+ /// The amount of space between columns at different screen sizes. To use just one size, set the variable to a number instead of a map.
18
+ /// @type Map | Length
19
+ /// @since 6.1.0
20
+ $grid-column-gutter: (
21
+ small: 20px,
22
+ medium: 30px,
23
+ ) !default;
24
+
25
+ /// If `true`, the last column in a row will align to the opposite edge of the row.
26
+ /// @type Boolean
27
+ $grid-column-align-edge: true !default;
28
+
29
+ /// Selector used for an alias of column (with @extend). If `false`, no alias is created.
30
+ /// @type String
31
+ $grid-column-alias: 'columns' !default;
32
+
33
+ /// The highest number of `.x-up` classes available when using the block grid CSS.
34
+ /// @type Number
35
+ $block-grid-max: 8 !default;
36
+
37
+ // Internal value to store the end column float direction
38
+ $-zf-end-float: if($grid-column-align-edge, $global-right, $global-left);
39
+
40
+ @import 'row';
41
+ @import 'column';
42
+ @import 'size';
43
+ @import 'position';
44
+ @import 'gutter';
45
+ @import 'classes';
46
+ @import 'layout';
47
+
48
+ @import 'flex-grid';
@@ -0,0 +1,82 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Set the gutters on a column
10
+ /// @param {Number|Keyword} $gutter [auto]
11
+ /// Spacing between columns, accepts multiple values:
12
+ /// - A single value will make the gutter that exact size.
13
+ /// - A breakpoint name will make the gutter the corresponding size in the $gutters map.
14
+ /// - "auto" will make the gutter responsive, using the $gutters map values.
15
+ /// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use. Responsive gutter settings by default.
16
+ @mixin grid-column-gutter(
17
+ $gutter: auto,
18
+ $gutters: $grid-column-gutter
19
+ ) {
20
+ @include -zf-breakpoint-value($gutter, $gutters) {
21
+ $padding: rem-calc($-zf-bp-value) / 2;
22
+
23
+ padding-right: $padding;
24
+ padding-left: $padding;
25
+ }
26
+ }
27
+
28
+ /// Collapse the gutters on a column by removing the padding. **Note:** only use this mixin within a breakpoint. To collapse a column's gutters on all screen sizes, use the `$gutter` parameter of the `grid-column()` mixin instead.
29
+ @mixin grid-column-collapse {
30
+ @include grid-column-gutter(0);
31
+ }
32
+
33
+ /// Un-collapse the gutters on a column by re-adding the padding.
34
+ ///
35
+ /// @param {Number} $gutter [$grid-column-gutter] - Spacing between columns.
36
+ @mixin grid-column-uncollapse($gutter: $grid-column-gutter) {
37
+ @warn 'This mixin is being replaced by grid-column-gutter(). grid-column-uncollapse() will be removed in Foundation 6.4.';
38
+ @include grid-column-gutter($gutters: $gutter);
39
+ }
40
+
41
+ /// Shorthand for `grid-column-gutter()`.
42
+ /// @alias grid-column-gutter
43
+ @mixin grid-col-gutter(
44
+ $gutter: auto,
45
+ $gutters: $grid-column-gutter
46
+ ) {
47
+ @include grid-column-gutter($gutter, $gutters);
48
+ }
49
+
50
+ /// Shorthand for `grid-column-collapse()`.
51
+ /// @alias grid-column-collapse
52
+ @mixin grid-col-collapse {
53
+ @include grid-column-collapse;
54
+ }
55
+
56
+ /// Shorthand for `grid-column-uncollapse()`.
57
+ /// @alias grid-column-uncollapse
58
+ @mixin grid-col-uncollapse($gutter: $grid-column-gutter) {
59
+ @warn 'This mixin is being replaced by grid-col-gutter(). grid-col-uncollapse() will be removed in Foundation 6.4.';
60
+ @include grid-column-uncollapse($gutter);
61
+ }
62
+
63
+ /// Sets bottom margin on grid columns to match gutters
64
+ /// @param {Number|Keyword} $margin [auto]
65
+ /// The bottom margin on grid columns, accepts multiple values:
66
+ /// - A single value will make the margin that exact size.
67
+ /// - A breakpoint name will make the margin the corresponding size in the $margins map.
68
+ /// - "auto" will make the margin responsive, using the $margins map values.
69
+ /// @param {Number|Map} $margins [$grid-column-gutter] - Map or single value to use. Responsive gutter settings by default.
70
+ @mixin grid-column-margin (
71
+ $margin: auto,
72
+ $margins: $grid-column-gutter
73
+ ) {
74
+ @include -zf-breakpoint-value($margin, $margins) {
75
+ $margin-bottom: rem-calc($-zf-bp-value);
76
+ margin-bottom: $margin-bottom;
77
+
78
+ > :last-child {
79
+ margin-bottom: 0;
80
+ }
81
+ }
82
+ }