locomotivecms_wagon 2.2.0.beta1 → 2.2.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/generators/blank/config/metafields_schema.yml +1 -1
  4. data/generators/bootstrap/config/metafields_schema.yml +1 -1
  5. data/generators/{foundation5 → foundation}/Gemfile.tt +1 -1
  6. data/generators/{foundation5 → foundation}/Guardfile +0 -0
  7. data/generators/foundation/app/content_types/.gitkeep +0 -0
  8. data/generators/foundation/app/views/pages/404.liquid +11 -0
  9. data/generators/{foundation5 → foundation}/app/views/pages/404.liquid.haml +4 -3
  10. data/generators/{foundation5 → foundation}/app/views/pages/index.liquid +54 -78
  11. data/generators/foundation/app/views/pages/index.liquid.haml +144 -0
  12. data/generators/foundation/app/views/snippets/.gitkeep +0 -0
  13. data/generators/{foundation5 → foundation}/config/deploy.yml +2 -1
  14. data/generators/{foundation5 → foundation}/config/metafields_schema.yml +1 -1
  15. data/generators/{foundation5/config/site.yml.tt → foundation/config/site.yml} +2 -2
  16. data/generators/{foundation5 → foundation}/config/translations.yml +0 -0
  17. data/generators/foundation/data/.gitkeep +0 -0
  18. data/generators/foundation/log/.gitkeep +0 -0
  19. data/generators/foundation/public/images/.gitkeep +0 -0
  20. data/generators/foundation/public/javascripts/app.js +1 -0
  21. data/generators/foundation/public/javascripts/vendor/foundation.js +7472 -0
  22. data/generators/foundation/public/javascripts/vendor/foundation.min.js +3 -0
  23. data/generators/foundation/public/javascripts/vendor/what-input.js +212 -0
  24. data/generators/foundation/public/javascripts/vendor/what-input.min.js +1 -0
  25. data/generators/foundation/public/stylesheets/_settings.scss +529 -0
  26. data/generators/foundation/public/stylesheets/app.css +3 -0
  27. data/generators/foundation/public/stylesheets/app.scss +43 -0
  28. data/generators/foundation/public/stylesheets/foundation.css +3499 -0
  29. data/generators/foundation/public/stylesheets/foundation6/_global.scss +197 -0
  30. data/generators/foundation/public/stylesheets/foundation6/components/_accordion-menu.scss +28 -0
  31. data/generators/foundation/public/stylesheets/foundation6/components/_accordion.scss +112 -0
  32. data/generators/foundation/public/stylesheets/foundation6/components/_badge.scss +55 -0
  33. data/generators/foundation/public/stylesheets/foundation6/components/_breadcrumbs.scss +94 -0
  34. data/generators/foundation/public/stylesheets/foundation6/components/_button-group.scss +115 -0
  35. data/generators/foundation/public/stylesheets/foundation6/components/_button.scss +264 -0
  36. data/generators/foundation/public/stylesheets/foundation6/components/_callout.scss +115 -0
  37. data/generators/foundation/public/stylesheets/foundation6/components/_close-button.scss +61 -0
  38. data/generators/foundation/public/stylesheets/foundation6/components/_drilldown.scss +67 -0
  39. data/generators/foundation/public/stylesheets/foundation6/components/_dropdown-menu.scss +123 -0
  40. data/generators/foundation/public/stylesheets/foundation6/components/_dropdown.scss +64 -0
  41. data/generators/foundation/public/stylesheets/foundation6/components/_flex-video.scss +68 -0
  42. data/generators/foundation/public/stylesheets/foundation6/components/_float.scss +27 -0
  43. data/generators/foundation/public/stylesheets/foundation6/components/_label.scss +56 -0
  44. data/generators/foundation/public/stylesheets/foundation6/components/_media-object.scss +74 -0
  45. data/generators/foundation/public/stylesheets/foundation6/components/_menu.scss +213 -0
  46. data/generators/foundation/public/stylesheets/foundation6/components/_off-canvas.scss +170 -0
  47. data/generators/foundation/public/stylesheets/foundation6/components/_orbit.scss +186 -0
  48. data/generators/foundation/public/stylesheets/foundation6/components/_pagination.scss +161 -0
  49. data/generators/foundation/public/stylesheets/foundation6/components/_progress-bar.scss +83 -0
  50. data/generators/foundation/public/stylesheets/foundation6/components/_reveal.scss +155 -0
  51. data/generators/foundation/public/stylesheets/foundation6/components/_slider.scss +158 -0
  52. data/generators/foundation/public/stylesheets/foundation6/components/_sticky.scss +38 -0
  53. data/generators/foundation/public/stylesheets/foundation6/components/_switch.scss +231 -0
  54. data/generators/foundation/public/stylesheets/foundation6/components/_table.scss +212 -0
  55. data/generators/foundation/public/stylesheets/foundation6/components/_tabs.scss +137 -0
  56. data/generators/foundation/public/stylesheets/foundation6/components/_thumbnail.scss +54 -0
  57. data/generators/foundation/public/stylesheets/foundation6/components/_title-bar.scss +44 -0
  58. data/generators/foundation/public/stylesheets/foundation6/components/_tooltip.scss +110 -0
  59. data/generators/foundation/public/stylesheets/foundation6/components/_top-bar.scss +57 -0
  60. data/generators/foundation/public/stylesheets/foundation6/components/_visibility.scss +131 -0
  61. data/generators/foundation/public/stylesheets/foundation6/forms/_checkbox.scss +36 -0
  62. data/generators/foundation/public/stylesheets/foundation6/forms/_error.scss +81 -0
  63. data/generators/foundation/public/stylesheets/foundation6/forms/_fieldset.scss +53 -0
  64. data/generators/foundation/public/stylesheets/foundation6/forms/_forms.scss +32 -0
  65. data/generators/foundation/public/stylesheets/foundation6/forms/_help-text.scss +30 -0
  66. data/generators/foundation/public/stylesheets/foundation6/forms/_input-group.scss +70 -0
  67. data/generators/foundation/public/stylesheets/foundation6/forms/_label.scss +48 -0
  68. data/generators/foundation/public/stylesheets/foundation6/forms/_select.scss +64 -0
  69. data/generators/foundation/public/stylesheets/foundation6/forms/_text.scss +153 -0
  70. data/generators/foundation/public/stylesheets/foundation6/foundation.scss +91 -0
  71. data/generators/foundation/public/stylesheets/foundation6/grid/_classes.scss +132 -0
  72. data/generators/foundation/public/stylesheets/foundation6/grid/_column.scss +112 -0
  73. data/generators/foundation/public/stylesheets/foundation6/grid/_flex-grid.scss +191 -0
  74. data/generators/foundation/public/stylesheets/foundation6/grid/_grid.scss +33 -0
  75. data/generators/foundation/public/stylesheets/foundation6/grid/_gutter.scss +31 -0
  76. data/generators/foundation/public/stylesheets/foundation6/grid/_layout.scss +32 -0
  77. data/generators/foundation/public/stylesheets/foundation6/grid/_position.scss +71 -0
  78. data/generators/foundation/public/stylesheets/foundation6/grid/_row.scss +72 -0
  79. data/generators/foundation/public/stylesheets/foundation6/grid/_size.scss +24 -0
  80. data/generators/foundation/public/stylesheets/foundation6/motion-ui/_classes.scss +102 -0
  81. data/generators/foundation/public/stylesheets/foundation6/motion-ui/_settings.scss +61 -0
  82. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_fade.scss +29 -0
  83. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_hinge.scss +65 -0
  84. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_shake.scss +15 -0
  85. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_slide.scss +41 -0
  86. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_spin.scss +28 -0
  87. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_wiggle.scss +13 -0
  88. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_zoom.scss +15 -0
  89. data/generators/foundation/public/stylesheets/foundation6/motion-ui/motion-ui.scss +29 -0
  90. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_fade.scss +28 -0
  91. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_hinge.scss +43 -0
  92. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_slide.scss +42 -0
  93. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_spin.scss +39 -0
  94. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_zoom.scss +39 -0
  95. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_animation.scss +7 -0
  96. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_args.scss +15 -0
  97. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_keyframe.scss +136 -0
  98. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_selector.scss +23 -0
  99. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_series.scss +54 -0
  100. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_transition.scss +45 -0
  101. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_unit.scss +7 -0
  102. data/generators/foundation/public/stylesheets/foundation6/motion-ui.scss +4 -0
  103. data/generators/foundation/public/stylesheets/foundation6/settings/_settings.scss +531 -0
  104. data/generators/foundation/public/stylesheets/foundation6/typography/_alignment.scss +21 -0
  105. data/generators/foundation/public/stylesheets/foundation6/typography/_base.scss +436 -0
  106. data/generators/foundation/public/stylesheets/foundation6/typography/_helpers.scss +77 -0
  107. data/generators/foundation/public/stylesheets/foundation6/typography/_print.scss +73 -0
  108. data/generators/foundation/public/stylesheets/foundation6/typography/_typography.scss +28 -0
  109. data/generators/foundation/public/stylesheets/foundation6/util/_breakpoint.scss +182 -0
  110. data/generators/foundation/public/stylesheets/foundation6/util/_color.scss +41 -0
  111. data/generators/foundation/public/stylesheets/foundation6/util/_mixins.scss +190 -0
  112. data/generators/foundation/public/stylesheets/foundation6/util/_selector.scss +39 -0
  113. data/generators/foundation/public/stylesheets/foundation6/util/_unit.scss +69 -0
  114. data/generators/foundation/public/stylesheets/foundation6/util/_util.scss +15 -0
  115. data/generators/foundation/public/stylesheets/foundation6/util/_value.scss +117 -0
  116. data/generators/{foundation5/public/stylesheets/normalize.css.scss → foundation/public/stylesheets/foundation6/vendor/normalize.scss} +8 -11
  117. data/generators/site_metafields/schema.yml.tt +1 -1
  118. data/lib/locomotive/wagon/commands/push_command.rb +1 -0
  119. data/lib/locomotive/wagon/commands/serve_command.rb +1 -0
  120. data/lib/locomotive/wagon/decorators/concerns/persist_assets_concern.rb +3 -3
  121. data/lib/locomotive/wagon/decorators/content_type_decorator.rb +5 -1
  122. data/lib/locomotive/wagon/generators/site/{foundation5.rb → foundation.rb} +8 -12
  123. data/lib/locomotive/wagon/generators/site.rb +1 -1
  124. data/lib/locomotive/wagon/version.rb +1 -1
  125. data/locomotivecms_wagon.gemspec +3 -2
  126. data/spec/fixtures/cassettes/authenticate.yml +38 -38
  127. data/spec/fixtures/cassettes/delete.yml +211 -211
  128. data/spec/fixtures/cassettes/push.yml +1333 -1374
  129. data/spec/integration/cli_spec.rb +1 -1
  130. data/spec/unit/decorators/content_entry_decorator_spec.rb +23 -0
  131. metadata +133 -104
  132. data/generators/foundation5/app/content_types/.empty_directory +0 -1
  133. data/generators/foundation5/app/views/pages/404.liquid +0 -10
  134. data/generators/foundation5/app/views/pages/index.liquid.haml +0 -157
  135. data/generators/foundation5/data/.empty_directory +0 -1
  136. data/generators/foundation5/icon.png +0 -0
  137. data/generators/foundation5/public/fonts/.empty_directory +0 -1
  138. data/generators/foundation5/public/images/.empty_directory +0 -1
  139. data/generators/foundation5/public/javascripts/foundation/foundation.abide.js +0 -299
  140. data/generators/foundation5/public/javascripts/foundation/foundation.accordion.js +0 -59
  141. data/generators/foundation5/public/javascripts/foundation/foundation.alert.js +0 -43
  142. data/generators/foundation5/public/javascripts/foundation/foundation.clearing.js +0 -534
  143. data/generators/foundation5/public/javascripts/foundation/foundation.dropdown.js +0 -311
  144. data/generators/foundation5/public/javascripts/foundation/foundation.equalizer.js +0 -74
  145. data/generators/foundation5/public/javascripts/foundation/foundation.interchange.js +0 -331
  146. data/generators/foundation5/public/javascripts/foundation/foundation.joyride.js +0 -843
  147. data/generators/foundation5/public/javascripts/foundation/foundation.js +0 -611
  148. data/generators/foundation5/public/javascripts/foundation/foundation.magellan.js +0 -178
  149. data/generators/foundation5/public/javascripts/foundation/foundation.offcanvas.js +0 -108
  150. data/generators/foundation5/public/javascripts/foundation/foundation.orbit.js +0 -610
  151. data/generators/foundation5/public/javascripts/foundation/foundation.reveal.js +0 -437
  152. data/generators/foundation5/public/javascripts/foundation/foundation.slider.js +0 -199
  153. data/generators/foundation5/public/javascripts/foundation/foundation.tab.js +0 -167
  154. data/generators/foundation5/public/javascripts/foundation/foundation.tooltip.js +0 -298
  155. data/generators/foundation5/public/javascripts/foundation/foundation.topbar.js +0 -425
  156. data/generators/foundation5/public/javascripts/foundation.js +0 -4161
  157. data/generators/foundation5/public/javascripts/foundation.min.js +0 -10
  158. data/generators/foundation5/public/javascripts/vendor/custom.modernizr.js +0 -4
  159. data/generators/foundation5/public/javascripts/vendor/custom.modernizr.min.js +0 -1
  160. data/generators/foundation5/public/javascripts/vendor/fastclick.js +0 -9
  161. data/generators/foundation5/public/javascripts/vendor/fastclick.min.js +0 -11
  162. data/generators/foundation5/public/javascripts/vendor/jquery.autocomplete.js +0 -645
  163. data/generators/foundation5/public/javascripts/vendor/jquery.autocomplete.min.js +0 -1
  164. data/generators/foundation5/public/javascripts/vendor/jquery.cookie.js +0 -8
  165. data/generators/foundation5/public/javascripts/vendor/jquery.cookie.min.js +0 -8
  166. data/generators/foundation5/public/javascripts/vendor/jquery.js +0 -26
  167. data/generators/foundation5/public/javascripts/vendor/jquery.min.js +0 -27
  168. data/generators/foundation5/public/javascripts/vendor/modernizr.js +0 -8
  169. data/generators/foundation5/public/javascripts/vendor/modernizr.min.js +0 -1
  170. data/generators/foundation5/public/javascripts/vendor/placeholder.js +0 -2
  171. data/generators/foundation5/public/javascripts/vendor/placeholder.min.js +0 -1
  172. data/generators/foundation5/public/samples/.empty_directory +0 -1
  173. data/generators/foundation5/public/stylesheets/application.css +0 -2
  174. data/generators/foundation5/public/stylesheets/application.css.scss +0 -3
  175. data/generators/foundation5/public/stylesheets/foundation/_functions.scss +0 -102
  176. data/generators/foundation5/public/stylesheets/foundation/_settings.scss +0 -1441
  177. data/generators/foundation5/public/stylesheets/foundation/components/_accordion.scss +0 -157
  178. data/generators/foundation5/public/stylesheets/foundation/components/_alert-boxes.scss +0 -128
  179. data/generators/foundation5/public/stylesheets/foundation/components/_block-grid.scss +0 -132
  180. data/generators/foundation5/public/stylesheets/foundation/components/_breadcrumbs.scss +0 -132
  181. data/generators/foundation5/public/stylesheets/foundation/components/_button-groups.scss +0 -197
  182. data/generators/foundation5/public/stylesheets/foundation/components/_buttons.scss +0 -259
  183. data/generators/foundation5/public/stylesheets/foundation/components/_clearing.scss +0 -247
  184. data/generators/foundation5/public/stylesheets/foundation/components/_dropdown-buttons.scss +0 -130
  185. data/generators/foundation5/public/stylesheets/foundation/components/_dropdown.scss +0 -262
  186. data/generators/foundation5/public/stylesheets/foundation/components/_flex-video.scss +0 -51
  187. data/generators/foundation5/public/stylesheets/foundation/components/_forms.scss +0 -585
  188. data/generators/foundation5/public/stylesheets/foundation/components/_global.scss +0 -460
  189. data/generators/foundation5/public/stylesheets/foundation/components/_grid.scss +0 -275
  190. data/generators/foundation5/public/stylesheets/foundation/components/_icon-bar.scss +0 -293
  191. data/generators/foundation5/public/stylesheets/foundation/components/_inline-lists.scss +0 -57
  192. data/generators/foundation5/public/stylesheets/foundation/components/_joyride.scss +0 -222
  193. data/generators/foundation5/public/stylesheets/foundation/components/_keystrokes.scss +0 -61
  194. data/generators/foundation5/public/stylesheets/foundation/components/_labels.scss +0 -106
  195. data/generators/foundation5/public/stylesheets/foundation/components/_magellan.scss +0 -34
  196. data/generators/foundation5/public/stylesheets/foundation/components/_offcanvas.scss +0 -513
  197. data/generators/foundation5/public/stylesheets/foundation/components/_orbit.scss +0 -368
  198. data/generators/foundation5/public/stylesheets/foundation/components/_pagination.scss +0 -162
  199. data/generators/foundation5/public/stylesheets/foundation/components/_panels.scss +0 -95
  200. data/generators/foundation5/public/stylesheets/foundation/components/_pricing-tables.scss +0 -150
  201. data/generators/foundation5/public/stylesheets/foundation/components/_progress-bars.scss +0 -79
  202. data/generators/foundation5/public/stylesheets/foundation/components/_range-slider.scss +0 -168
  203. data/generators/foundation5/public/stylesheets/foundation/components/_reveal.scss +0 -222
  204. data/generators/foundation5/public/stylesheets/foundation/components/_side-nav.scss +0 -116
  205. data/generators/foundation5/public/stylesheets/foundation/components/_split-buttons.scss +0 -191
  206. data/generators/foundation5/public/stylesheets/foundation/components/_sub-nav.scss +0 -123
  207. data/generators/foundation5/public/stylesheets/foundation/components/_switches.scss +0 -230
  208. data/generators/foundation5/public/stylesheets/foundation/components/_tables.scss +0 -135
  209. data/generators/foundation5/public/stylesheets/foundation/components/_tabs.scss +0 -123
  210. data/generators/foundation5/public/stylesheets/foundation/components/_thumbs.scss +0 -66
  211. data/generators/foundation5/public/stylesheets/foundation/components/_toolbar.scss +0 -70
  212. data/generators/foundation5/public/stylesheets/foundation/components/_tooltips.scss +0 -142
  213. data/generators/foundation5/public/stylesheets/foundation/components/_top-bar.scss +0 -685
  214. data/generators/foundation5/public/stylesheets/foundation/components/_type.scss +0 -525
  215. data/generators/foundation5/public/stylesheets/foundation/components/_visibility.scss +0 -408
  216. data/generators/foundation5/public/stylesheets/foundation.css +0 -6138
  217. data/generators/foundation5/public/stylesheets/foundation.css.scss +0 -45
  218. data/generators/foundation5/public/stylesheets/normalize.css +0 -357
  219. data/lib/locomotive/wagon/generators/site/foundation4.rb +0 -34
@@ -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 string of the format "x of y" will make a column that is *x* columns wide, assuming *y* total columns for the parent.
16
+ ///
17
+ /// @return {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 {Number} $gutter [$grid-column-gutter] - Spacing between columns.
56
+ @mixin grid-column(
57
+ $columns: $grid-column-count,
58
+ $gutter: $grid-column-gutter
59
+ ) {
60
+ @if ($columns <= $grid-column-count) {
61
+ @include grid-column-size($columns);
62
+ }
63
+
64
+ $gutter: rem-calc($gutter) / 2;
65
+
66
+ float: $global-left;
67
+ padding-left: $gutter;
68
+ padding-right: $gutter;
69
+
70
+ &:last-child:not(:first-child) {
71
+ float: $global-right;
72
+ }
73
+ }
74
+
75
+ /// Creates a grid column row. This is the equivalent of adding `.row` and `.column` to the same element.
76
+ /// @param {Number} $gutter [$grid-column-gutter] - Width of the gutters on either side of the column row.
77
+ @mixin grid-column-row(
78
+ $gutter: $grid-column-gutter
79
+ ) {
80
+ @include grid-row;
81
+ @include grid-column($gutter: $gutter);
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
+ $gutter: $grid-column-gutter
102
+ ) {
103
+ @include grid-column($columns, $gutter);
104
+ }
105
+
106
+ /// Shorthand for `grid-column-row()`.
107
+ /// @alias grid-column-row
108
+ @mixin grid-col-row(
109
+ $gutter: $grid-column-gutter
110
+ ) {
111
+ @include grid-column-row($gutter);
112
+ }
@@ -0,0 +1,191 @@
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
+ /// @param {Keyword|List} $behavior [null]
11
+ /// 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.
12
+ /// @param {Number} $width [$grid-row-width] - Maximum width of the row.
13
+ /// @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.
14
+ /// @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.
15
+ @mixin flex-grid-row(
16
+ $behavior: null,
17
+ $width: $grid-row-width,
18
+ $columns: null,
19
+ $base: true
20
+ ) {
21
+ $behavior: -zf-get-options($behavior, nest collapse);
22
+ $margin: auto;
23
+
24
+ @if map-get($behavior, nest) {
25
+ $margin: rem-calc($grid-column-gutter) / 2 * -1;
26
+ }
27
+ @else {
28
+ max-width: $width;
29
+ }
30
+
31
+ @if $base {
32
+ display: flex;
33
+ flex-flow: row wrap;
34
+ }
35
+
36
+ margin-left: $margin;
37
+ margin-right: $margin;
38
+
39
+ @if $columns != null {
40
+ @include grid-context($columns, $base) {
41
+ @content;
42
+ }
43
+ }
44
+ }
45
+
46
+ /// 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:
47
+ /// - `null` (the default) will make the column expand to fill space.
48
+ /// - `shrink` will make the column contract, so it only takes up the horizontal space it needs.
49
+ /// @param {Mixed} $columns [null] - Width of the column.
50
+ @function flex-grid-column($columns: null) {
51
+ $flex: 1 1 0px;
52
+
53
+ @if $columns == shrink {
54
+ $flex: 0 0 auto;
55
+ }
56
+ @else if $columns != null {
57
+ $flex: 0 0 grid-column($columns);
58
+ }
59
+
60
+ @return $flex;
61
+ }
62
+
63
+ /// 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.
64
+ /// @param {Mixed} $columns [null] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.
65
+ /// @param {Number} $gutter [$grid-column-gutter] - Space between columns, added as a left and right padding.
66
+ @mixin flex-grid-column(
67
+ $columns: null,
68
+ $gutter: $grid-column-gutter
69
+ ) {
70
+ $gutter: rem-calc($gutter) / 2;
71
+
72
+ flex: flex-grid-column($columns);
73
+ padding-left: $gutter;
74
+ padding-right: $gutter;
75
+
76
+ // max-width fixes IE 10/11 not respecting the flex-basis property
77
+ @if $columns != null and $columns != shrink {
78
+ max-width: grid-column($columns);
79
+ }
80
+ }
81
+
82
+ /// Changes the source order of a flex grid column. Columns with lower numbers appear first in the layout.
83
+ /// @param {Number} $order [0] - Order number to apply.
84
+ @mixin flex-grid-order($order: 0) {
85
+ order: $order;
86
+ }
87
+
88
+ @mixin foundation-flex-grid {
89
+ // Row
90
+ .row {
91
+ @include flex-grid-row;
92
+
93
+ // Nesting behavior
94
+ & &,
95
+ .column-row & {
96
+ @include flex-grid-row(nest, $base: false);
97
+ }
98
+ }
99
+
100
+ // Column
101
+ %flex-column {
102
+ @include flex-grid-column;
103
+ }
104
+
105
+ .column,
106
+ .columns {
107
+ @extend %flex-column;
108
+ }
109
+
110
+ // Sizing (percentage)
111
+ @each $size in $breakpoint-classes {
112
+ @include breakpoint($size) {
113
+ @for $i from 1 through $grid-column-count {
114
+ .#{$size}-#{$i} {
115
+ flex: flex-grid-column($i);
116
+ max-width: grid-column($i);
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ // Sizing (expand)
123
+ @each $size in $breakpoint-classes {
124
+ @if $size != small {
125
+ @include breakpoint($size) {
126
+ .#{$size}-expand {
127
+ flex: flex-grid-column();
128
+ }
129
+ }
130
+ }
131
+ }
132
+
133
+ // Sizing (shrink)
134
+ .shrink {
135
+ flex: flex-grid-column(shrink);
136
+ }
137
+
138
+ // Auto-stacking/unstacking
139
+ @each $size in $breakpoint-classes {
140
+ @if $size != small {
141
+ .row.#{$size}-unstack {
142
+ .column {
143
+ flex: flex-grid-column(100%);
144
+
145
+ @include breakpoint($size) {
146
+ flex: flex-grid-column();
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+
153
+ // Source ordering
154
+ @each $size in $breakpoint-classes {
155
+ @include breakpoint($size) {
156
+ @for $i from 1 through 6 {
157
+ .#{$size}-order-#{$i} {
158
+ @include flex-grid-order($i);
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ // Horizontal alignment using justify-content
165
+ @each $hdir, $prop in (
166
+ 'right': flex-end,
167
+ 'center': center,
168
+ 'justify': space-between,
169
+ 'spaced': space-around,
170
+ ) {
171
+ .row.align-#{$hdir} {
172
+ justify-content: $prop;
173
+ }
174
+ }
175
+
176
+ // Horizontal alignment using align-items and align-self
177
+ @each $vdir, $prop in (
178
+ 'top': flex-start,
179
+ 'bottom': flex-end,
180
+ 'middle': center,
181
+ 'stretch': stretch,
182
+ ) {
183
+ .row.align-#{$vdir} {
184
+ align-items: $prop;
185
+ }
186
+
187
+ .column.align-#{$vdir} {
188
+ align-self: $prop;
189
+ }
190
+ }
191
+ }
@@ -0,0 +1,33 @@
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.
18
+ /// @type Number
19
+ $grid-column-gutter: 30px !default;
20
+
21
+ /// The highest number of `.x-up` classes available when using the block grid CSS.
22
+ /// @type Number
23
+ $block-grid-max: 6 !default;
24
+
25
+ @import 'row';
26
+ @import 'column';
27
+ @import 'size';
28
+ @import 'position';
29
+ @import 'gutter';
30
+ @import 'classes';
31
+ @import 'layout';
32
+
33
+ @import 'flex-grid';
@@ -0,0 +1,31 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Collapse the gutters on a column by removing the padding.
10
+ @mixin grid-column-collapse() {
11
+ padding-left: 0;
12
+ padding-right: 0;
13
+ }
14
+
15
+ /// Un-collapse the gutters on a column by re-adding the padding.
16
+ @mixin grid-column-uncollapse() {
17
+ padding-left: $grid-column-gutter;
18
+ padding-right: $grid-column-gutter;
19
+ }
20
+
21
+ /// Shorthand for `grid-column-collapse()`.
22
+ /// @alias grid-column-collapse
23
+ @mixin grid-col-collapse() {
24
+ @include grid-column-collapse;
25
+ }
26
+
27
+ /// Shorthand for `grid-column-uncollapse()`.
28
+ /// @alias grid-column-uncollapse
29
+ @mixin grid-col-uncollapse() {
30
+ @include grid-column-uncollapse;
31
+ }
@@ -0,0 +1,32 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Sizes child elements so that `$n` number of items appear on each row.
10
+ /// @param {Number} $n - Number of elements to display per row.
11
+ /// @param {String} $selector ['.column, .columns'] - Selector(s) to use for child elements.
12
+ @mixin grid-layout(
13
+ $n,
14
+ $selector: '.column'
15
+ ) {
16
+ #{$selector} {
17
+ width: percentage(1/$n);
18
+ float: $global-left;
19
+
20
+ &:nth-of-type(1n) {
21
+ clear: none;
22
+ }
23
+
24
+ &:nth-of-type(#{$n}n+1) {
25
+ clear: both;
26
+ }
27
+
28
+ &:last-child {
29
+ float: left;
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,71 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Reposition a column.
10
+ /// @param {Number} $position - Direction and amount to move. The column will move equal to the width of the column count specified. A positive number will push the column to the right, while a negative number will pull it to the left.
11
+ @mixin grid-column-position($position) {
12
+ @if type-of($position) == 'number' {
13
+ $offset: percentage($position / $grid-column-count);
14
+
15
+ position: relative;
16
+ #{$global-left}: $offset;
17
+ }
18
+ @else if $position == center {
19
+ float: none;
20
+ margin-left: auto;
21
+ margin-right: auto;
22
+ }
23
+ @else {
24
+ @warn 'Wrong syntax for grid-column-position(). Enter a positive or negative number, or center.';
25
+ }
26
+ }
27
+
28
+ /// Reset a position definition.
29
+ @mixin grid-column-unposition() {
30
+ position: static;
31
+ margin-left: 0;
32
+ margin-right: 0;
33
+ }
34
+
35
+ /// Offsets a column to the right by `$n` columns.
36
+ /// @param {Number|List} $n - Width to offset by. You can pass in any value accepted by the `grid-column()` mixin, such as `6`, `50%`, or `1 of 2`.
37
+ @mixin grid-column-offset($n) {
38
+ margin-#{$global-left}: grid-column($n);
39
+ }
40
+
41
+ /// Disable the default behavior of the last column in a row aligning to the opposite edge.
42
+ @mixin grid-column-end() {
43
+ // This extra specificity is required for the property to be applied
44
+ &:last-child {
45
+ float: $global-left;
46
+ }
47
+ }
48
+
49
+ /// Shorthand for `grid-column-position()`.
50
+ /// @alias grid-column-position
51
+ @mixin grid-col-pos($position) {
52
+ @include grid-column-position($position);
53
+ }
54
+
55
+ /// Shorthand for `grid-column-unposition()`.
56
+ /// @alias grid-column-unposition
57
+ @mixin grid-col-unpos() {
58
+ @include grid-column-unposition;
59
+ }
60
+
61
+ /// Shorthand for `grid-column-offset()`.
62
+ /// @alias grid-column-offset
63
+ @mixin grid-col-off($n) {
64
+ @include grid-column-offset($n);
65
+ }
66
+
67
+ /// Shorthand for `grid-column-end()`.
68
+ /// @alias grid-column-end
69
+ @mixin grid-col-end() {
70
+ @include grid-column-end;
71
+ }
@@ -0,0 +1,72 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Change the behavior of columns defined inside this mixin to use a different column count.
10
+ /// @content
11
+ /// @param {Number} $columns - Number of columns to use.
12
+ /// @param {Booleam} $root [false]
13
+ /// If `false`, selectors inside this mixin will nest inside the parent selector.
14
+ /// If `tru`, selectors will not nest.
15
+ @mixin grid-context(
16
+ $columns,
17
+ $root: false
18
+ ) {
19
+ // Store the current column count so it can be re-set later
20
+ $old-grid-column-count: $columns;
21
+ $grid-column-count: $columns !global;
22
+
23
+ @if $root {
24
+ @at-root { @content; }
25
+ }
26
+ @else {
27
+ @content;
28
+ }
29
+
30
+ // Restore the old column count
31
+ $grid-column-count: $old-grid-column-count !global;
32
+ }
33
+
34
+ /// Creates a grid row.
35
+ /// @content
36
+ /// @param {Number} $columns [null] - Column count for this row. `null` will use the default column count.
37
+ /// @param {Keywords} $behavior [null]
38
+ /// 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.
39
+ /// @param {Number} $width [$grid-row-width] - Maximum width of the row.
40
+ @mixin grid-row(
41
+ $columns: null,
42
+ $behavior: null,
43
+ $width: $grid-row-width,
44
+ $cf: true
45
+ ) {
46
+ $behavior: -zf-get-options($behavior, nest collapse);
47
+ $margin: auto;
48
+
49
+ @if map-get($behavior, nest) {
50
+ $margin: rem-calc($grid-column-gutter) / 2 * -1;
51
+
52
+ @if map-get($behavior, collapse) {
53
+ $margin: 0;
54
+ }
55
+ }
56
+ @else {
57
+ max-width: $width;
58
+ }
59
+
60
+ @if $cf {
61
+ @include clearfix;
62
+ }
63
+
64
+ margin-left: $margin;
65
+ margin-right: $margin;
66
+
67
+ @if $columns != null {
68
+ @include grid-context($columns) {
69
+ @content;
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,24 @@
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 width of a grid column.
10
+ ///
11
+ /// @param {Number|List} $width [$grid-column-count] - Width to make the column. You can pass in any value accepted by the `grid-column()` function, such as `6`, `50%`, or `1 of 2`.
12
+ @mixin grid-column-size(
13
+ $columns: $grid-column-count
14
+ ) {
15
+ width: grid-column($columns);
16
+ }
17
+
18
+ /// Shorthand for `grid-column-size()`.
19
+ /// @alias grid-column-size
20
+ @mixin grid-col-size(
21
+ $columns: $grid-column-count
22
+ ) {
23
+ @include grid-column-size($columns);
24
+ }
@@ -0,0 +1,102 @@
1
+ // scss-lint:disable ImportantRule, SpaceAfterComma, SingleLinePerProperty
2
+
3
+ %mui-defaults {
4
+ transition-duration: map-get($motion-ui-speeds, default);
5
+ transition-timing-function: map-get($motion-ui-easings, default);
6
+ }
7
+
8
+ // Transitions
9
+ // - - - - - - - - - - - - - - -
10
+ @mixin motion-ui-transitions {
11
+ // Slide
12
+ .slide-in-down { @include mui-slide(in, down); }
13
+ .slide-in-left { @include mui-slide(in, right); }
14
+ .slide-in-up { @include mui-slide(in, bottom); }
15
+ .slide-in-right { @include mui-slide(in, left); }
16
+ .slide-out-down { @include mui-slide(out, bottom); }
17
+ .slide-out-right { @include mui-slide(out, right); }
18
+ .slide-out-up { @include mui-slide(out, top); }
19
+ .slide-out-left { @include mui-slide(out, left); }
20
+
21
+ // Fade
22
+ .fade-in { @include mui-fade(in, 0, 1); }
23
+ .fade-out { @include mui-fade(out, 1, 0); }
24
+
25
+ // Hinge
26
+ .hinge-in-from-top { @include mui-hinge(in, top); }
27
+ .hinge-in-from-right { @include mui-hinge(in, right); }
28
+ .hinge-in-from-bottom { @include mui-hinge(in, bottom); }
29
+ .hinge-in-from-left { @include mui-hinge(in, left); }
30
+ .hinge-in-from-middle-x { @include mui-hinge(in, top, center); }
31
+ .hinge-in-from-middle-y { @include mui-hinge(in, right, center); }
32
+ .hinge-out-from-top { @include mui-hinge(out, top); }
33
+ .hinge-out-from-right { @include mui-hinge(out, right); }
34
+ .hinge-out-from-bottom { @include mui-hinge(out, bottom); }
35
+ .hinge-out-from-left { @include mui-hinge(out, left); }
36
+ .hinge-out-from-middle-x { @include mui-hinge(out, top, center); }
37
+ .hinge-out-from-middle-y { @include mui-hinge(out, right, center); }
38
+
39
+ // Scale
40
+ .scale-in-up { @include mui-zoom(in, 0.5, 1); }
41
+ .scale-in-down { @include mui-zoom(in, 1.5, 1); }
42
+ .scale-out-up { @include mui-zoom(out, 1, 1.5); }
43
+ .scale-out-down { @include mui-zoom(out, 1, 0.5); }
44
+
45
+ // Spin
46
+ .spin-in { @include mui-spin(in, cw); }
47
+ .spin-out { @include mui-spin(out, cw); }
48
+ .spin-in-ccw { @include mui-spin(in, ccw); }
49
+ .spin-out-ccw { @include mui-spin(out, ccw); }
50
+
51
+ // Transition Modifiers
52
+ // - - - - - - - - - - - - - - -
53
+
54
+ @each $name, $value in $motion-ui-speeds {
55
+ @if $name != default {
56
+ .#{$name} { transition-duration: $value !important; }
57
+ }
58
+ }
59
+
60
+ @each $name, $value in $motion-ui-easings {
61
+ @if $name != default {
62
+ .#{$name} { transition-timing-function: $value !important; }
63
+ }
64
+ }
65
+
66
+ @each $name, $value in $motion-ui-delays {
67
+ @if $name != default {
68
+ .#{$name}-delay { transition-delay: $value !important; }
69
+ }
70
+ }
71
+ }
72
+
73
+ // Animations
74
+ // - - - - - - - - - - - - - - -
75
+ @mixin motion-ui-animations {
76
+ .shake { @include mui-animation(shake); }
77
+ .spin-cw { @include mui-animation(spin); }
78
+ .spin-ccw { @include mui-animation(spin(ccw)); }
79
+ .wiggle { @include mui-animation(wiggle); }
80
+
81
+ // Animation Modifiers
82
+ // - - - - - - - - - - - - - - -
83
+ .infinite { animation-iteration-count: infinite; }
84
+
85
+ @each $name, $value in $motion-ui-speeds {
86
+ @if $name != default {
87
+ .#{$name} { animation-duration: $value !important; }
88
+ }
89
+ }
90
+
91
+ @each $name, $value in $motion-ui-easings {
92
+ @if $name != default {
93
+ .#{$name} { animation-timing-function: $value !important; }
94
+ }
95
+ }
96
+
97
+ @each $name, $value in $motion-ui-delays {
98
+ @if $name != default {
99
+ .#{$name}-delay { animation-delay: $value !important; }
100
+ }
101
+ }
102
+ }