jekyll-theme-foundation 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +48 -0
  4. data/_includes/google-analytics.html +8 -0
  5. data/_includes/head.html +17 -0
  6. data/_includes/scripts.html +4 -0
  7. data/_layouts/default.html +16 -0
  8. data/_layouts/home.html +5 -0
  9. data/_layouts/page.html +5 -0
  10. data/_layouts/post.html +5 -0
  11. data/_sass/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  12. data/_sass/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  13. data/_sass/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  14. data/_sass/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  15. data/_sass/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  16. data/_sass/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -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/assets/foundation-float.scss +5 -0
  24. data/_sass/assets/foundation-prototype.scss +3 -0
  25. data/_sass/assets/foundation-rtl.scss +5 -0
  26. data/_sass/assets/foundation.scss +3 -0
  27. data/_sass/jekyll-theme-foundation.scss +5 -0
  28. data/_sass/scss/_global.scss +249 -0
  29. data/_sass/scss/components/_accordion-menu.scss +171 -0
  30. data/_sass/scss/components/_accordion.scss +155 -0
  31. data/_sass/scss/components/_badge.scss +63 -0
  32. data/_sass/scss/components/_breadcrumbs.scss +117 -0
  33. data/_sass/scss/components/_button-group.scss +253 -0
  34. data/_sass/scss/components/_button.scss +385 -0
  35. data/_sass/scss/components/_callout.scss +106 -0
  36. data/_sass/scss/components/_card.scss +129 -0
  37. data/_sass/scss/components/_close-button.scss +102 -0
  38. data/_sass/scss/components/_drilldown.scss +142 -0
  39. data/_sass/scss/components/_dropdown-menu.scss +274 -0
  40. data/_sass/scss/components/_dropdown.scss +79 -0
  41. data/_sass/scss/components/_flex-video.scss +1 -0
  42. data/_sass/scss/components/_flex.scss +117 -0
  43. data/_sass/scss/components/_float.scss +27 -0
  44. data/_sass/scss/components/_label.scss +64 -0
  45. data/_sass/scss/components/_media-object.scss +114 -0
  46. data/_sass/scss/components/_menu-icon.scss +9 -0
  47. data/_sass/scss/components/_menu.scss +495 -0
  48. data/_sass/scss/components/_off-canvas.scss +506 -0
  49. data/_sass/scss/components/_orbit.scss +196 -0
  50. data/_sass/scss/components/_pagination.scss +193 -0
  51. data/_sass/scss/components/_progress-bar.scss +64 -0
  52. data/_sass/scss/components/_responsive-embed.scss +70 -0
  53. data/_sass/scss/components/_reveal.scss +180 -0
  54. data/_sass/scss/components/_slider.scss +137 -0
  55. data/_sass/scss/components/_sticky.scss +39 -0
  56. data/_sass/scss/components/_switch.scss +247 -0
  57. data/_sass/scss/components/_table.scss +330 -0
  58. data/_sass/scss/components/_tabs.scss +196 -0
  59. data/_sass/scss/components/_thumbnail.scss +67 -0
  60. data/_sass/scss/components/_title-bar.scss +84 -0
  61. data/_sass/scss/components/_tooltip.scss +160 -0
  62. data/_sass/scss/components/_top-bar.scss +175 -0
  63. data/_sass/scss/components/_visibility.scss +132 -0
  64. data/_sass/scss/forms/_checkbox.scss +41 -0
  65. data/_sass/scss/forms/_error.scss +88 -0
  66. data/_sass/scss/forms/_fieldset.scss +53 -0
  67. data/_sass/scss/forms/_forms.scss +34 -0
  68. data/_sass/scss/forms/_help-text.scss +30 -0
  69. data/_sass/scss/forms/_input-group.scss +142 -0
  70. data/_sass/scss/forms/_label.scss +50 -0
  71. data/_sass/scss/forms/_meter.scss +116 -0
  72. data/_sass/scss/forms/_progress.scss +94 -0
  73. data/_sass/scss/forms/_range.scss +149 -0
  74. data/_sass/scss/forms/_select.scss +86 -0
  75. data/_sass/scss/forms/_text.scss +179 -0
  76. data/_sass/scss/foundation.scss +133 -0
  77. data/_sass/scss/grid/_classes.scss +176 -0
  78. data/_sass/scss/grid/_column.scss +112 -0
  79. data/_sass/scss/grid/_flex-grid.scss +259 -0
  80. data/_sass/scss/grid/_grid.scss +48 -0
  81. data/_sass/scss/grid/_gutter.scss +82 -0
  82. data/_sass/scss/grid/_layout.scss +76 -0
  83. data/_sass/scss/grid/_position.scss +76 -0
  84. data/_sass/scss/grid/_row.scss +99 -0
  85. data/_sass/scss/grid/_size.scss +24 -0
  86. data/_sass/scss/prototype/_arrow.scss +36 -0
  87. data/_sass/scss/prototype/_border-box.scss +35 -0
  88. data/_sass/scss/prototype/_border-none.scss +35 -0
  89. data/_sass/scss/prototype/_bordered.scss +54 -0
  90. data/_sass/scss/prototype/_box.scss +23 -0
  91. data/_sass/scss/prototype/_display.scss +50 -0
  92. data/_sass/scss/prototype/_font-styling.scss +95 -0
  93. data/_sass/scss/prototype/_list-style-type.scss +95 -0
  94. data/_sass/scss/prototype/_overflow.scss +72 -0
  95. data/_sass/scss/prototype/_position.scss +114 -0
  96. data/_sass/scss/prototype/_prototype.scss +87 -0
  97. data/_sass/scss/prototype/_relation.scss +157 -0
  98. data/_sass/scss/prototype/_rotate.scss +31 -0
  99. data/_sass/scss/prototype/_rounded.scss +54 -0
  100. data/_sass/scss/prototype/_separator.scss +96 -0
  101. data/_sass/scss/prototype/_shadow.scss +43 -0
  102. data/_sass/scss/prototype/_sizing.scss +73 -0
  103. data/_sass/scss/prototype/_spacing.scss +204 -0
  104. data/_sass/scss/prototype/_text-decoration.scss +48 -0
  105. data/_sass/scss/prototype/_text-transformation.scss +48 -0
  106. data/_sass/scss/prototype/_text-utilities.scss +88 -0
  107. data/_sass/scss/settings/_settings.scss +869 -0
  108. data/_sass/scss/typography/_alignment.scss +22 -0
  109. data/_sass/scss/typography/_base.scss +509 -0
  110. data/_sass/scss/typography/_helpers.scss +80 -0
  111. data/_sass/scss/typography/_print.scss +86 -0
  112. data/_sass/scss/typography/_typography.scss +26 -0
  113. data/_sass/scss/util/_breakpoint.scss +348 -0
  114. data/_sass/scss/util/_color.scss +129 -0
  115. data/_sass/scss/util/_direction.scss +31 -0
  116. data/_sass/scss/util/_flex.scss +85 -0
  117. data/_sass/scss/util/_math.scss +72 -0
  118. data/_sass/scss/util/_mixins.scss +313 -0
  119. data/_sass/scss/util/_selector.scss +41 -0
  120. data/_sass/scss/util/_typography.scss +26 -0
  121. data/_sass/scss/util/_unit.scss +152 -0
  122. data/_sass/scss/util/_util.scss +14 -0
  123. data/_sass/scss/util/_value.scss +160 -0
  124. data/_sass/scss/xy-grid/_cell.scss +169 -0
  125. data/_sass/scss/xy-grid/_classes.scss +476 -0
  126. data/_sass/scss/xy-grid/_collapse.scss +74 -0
  127. data/_sass/scss/xy-grid/_frame.scss +85 -0
  128. data/_sass/scss/xy-grid/_grid.scss +35 -0
  129. data/_sass/scss/xy-grid/_gutters.scss +45 -0
  130. data/_sass/scss/xy-grid/_layout.scss +33 -0
  131. data/_sass/scss/xy-grid/_position.scss +28 -0
  132. data/_sass/scss/xy-grid/_xy-grid.scss +51 -0
  133. data/assets/css/main.scss +5 -0
  134. data/assets/css/motion-ui.min.css +1 -0
  135. data/assets/js/foundation.min.js +5 -0
  136. data/assets/js/motion-ui.min.js +1 -0
  137. metadata +235 -0
@@ -0,0 +1,160 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ /// Determine if a value is not falsey, in CSS terms. Falsey values are `null`, `none`, `0` with any unit, or an empty list.
10
+ ///
11
+ /// @param {Mixed} $val - Value to check.
12
+ ///
13
+ /// @returns {Boolean} `true` if `$val` is not falsey.
14
+ @function has-value($val) {
15
+ @if $val == null or $val == none {
16
+ @return false;
17
+ }
18
+ @if type-of($val) == 'number' and strip-unit($val) == 0 {
19
+ @return false;
20
+ }
21
+ @if type-of($val) == 'list' and length($val) == 0 {
22
+ @return false;
23
+ }
24
+ @return true;
25
+ }
26
+
27
+ /// Determine a top/right/bottom/right value on a padding, margin, etc. property, no matter how many values were passed in. Use this function if you need to know the specific side of a value, but don't know if the value is using a shorthand format.
28
+ ///
29
+ /// @param {List|Number} $val - Value to analyze. Should be a shorthand sizing property, e.g. "1em 2em 1em"
30
+ /// @param {Keyword} $side - Side to return. Should be `top`, `right`, `bottom`, or `left`.
31
+ ///
32
+ /// @returns {Number} A single value based on `$val` and `$side`.
33
+ @function get-side($val, $side) {
34
+ $length: length($val);
35
+
36
+ @if $length == 1 {
37
+ @return $val;
38
+ }
39
+ @if $length == 2 {
40
+ @return map-get((
41
+ top: nth($val, 1),
42
+ bottom: nth($val, 1),
43
+ left: nth($val, 2),
44
+ right: nth($val, 2),
45
+ ), $side);
46
+ }
47
+ @if $length == 3 {
48
+ @return map-get((
49
+ top: nth($val, 1),
50
+ left: nth($val, 2),
51
+ right: nth($val, 2),
52
+ bottom: nth($val, 3),
53
+ ), $side);
54
+ }
55
+ @if $length == 4 {
56
+ @return map-get((
57
+ top: nth($val, 1),
58
+ right: nth($val, 2),
59
+ bottom: nth($val, 3),
60
+ left: nth($val, 4),
61
+ ), $side);
62
+ }
63
+ }
64
+
65
+ /// Given border $val, find a specific element of the border, which is $elem. The possible values for $elem are width, style, and color.
66
+ ///
67
+ /// @param {List} $val - Border value to find a value in.
68
+ /// @param {Keyword} $elem - Border component to extract.
69
+ ///
70
+ /// @returns {Mixed} If the value exists, returns the value. If the value is not in the border definition, the function will return a 0px width, solid style, or black border.
71
+ @function get-border-value($val, $elem) {
72
+ // Find the width, style, or color and return it
73
+ @each $v in $val {
74
+ $type: type-of($v);
75
+ @if $elem == width and $type == 'number' {
76
+ @return $v;
77
+ }
78
+ @if $elem == style and $type == 'string' {
79
+ @return $v;
80
+ }
81
+ @if $elem == color and $type == 'color' {
82
+ @return $v;
83
+ }
84
+ }
85
+
86
+ // Defaults
87
+ $defaults: (
88
+ width: 0,
89
+ style: solid,
90
+ color: #000,
91
+ );
92
+
93
+ @return map-get($defaults, $elem);
94
+ }
95
+
96
+ /// Finds a value in a nested map.
97
+ /// @link https://css-tricks.com/snippets/sass/deep-getset-maps/ Deep Get/Set in Maps
98
+ ///
99
+ /// @param {Map} $map - Map to pull a value from.
100
+ /// @param {String} $keys... - Keys to use when looking for a value.
101
+ /// @returns {Mixed} The value found in the map.
102
+ @function map-deep-get($map, $keys...) {
103
+ @each $key in $keys {
104
+ $map: map-get($map, $key);
105
+ }
106
+ @return $map;
107
+ }
108
+
109
+ /// Casts a map into a list.
110
+ /// @link http://hugogiraudel.com/2014/04/28/casting-map-into-list/
111
+ ///
112
+ /// @param {Map} $map - Map to pull a value from.
113
+ ///
114
+ /// @returns {List} Depending on the flag, returns either $keys or $values or both.
115
+ @function map-to-list($map, $keep: 'both') {
116
+ $keep: if(index('keys' 'values', $keep), $keep, 'both');
117
+
118
+ @if type-of($map) == 'map' {
119
+ $keys: ();
120
+ $values: ();
121
+
122
+ @each $key, $val in $map {
123
+ $keys: append($keys, $key);
124
+ $values: append($values, $val);
125
+ }
126
+
127
+ @if $keep == 'keys' {
128
+ @return $keys;
129
+ }
130
+ @else if $keep == 'values' {
131
+ @return $values;
132
+ }
133
+ @else {
134
+ @return zip($keys, $values);
135
+ }
136
+ }
137
+
138
+ @return if(type-of($map) != 'list', ($value,), $map);
139
+
140
+ }
141
+
142
+ /// Safely return a value from a map.
143
+ ///
144
+ /// @param {Map} $map - Map to retrieve a value from.
145
+ /// @param {String} $key - Name of the map key.
146
+ ///
147
+ /// @returns {List} Found value.
148
+ @function map-safe-get($map, $key) {
149
+ @if (type-of($map) == 'map' or (type-of($map) == 'list' and length($map) == 0)) {
150
+ @if (map-has-key($map, $key)) {
151
+ @return map-get($map, $key);
152
+ }
153
+ @else {
154
+ @error 'Key: `#{$key}` is not available in `#{$map}`';
155
+ }
156
+ }
157
+ @else {
158
+ @error '`#{$map}` is not a valid map';
159
+ }
160
+ }
@@ -0,0 +1,169 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group xy-grid
7
+ ////
8
+
9
+ /// Calculate the percentage size of a cell.
10
+ ///
11
+ /// @param {Number|List} $size [$grid-columns] - Size to make the cell. You can pass a value in multiple formats, such as `6`, `50%`, `1 of 2 or 1/3.
12
+ @function xy-cell-size(
13
+ $size: $grid-columns
14
+ ) {
15
+ // Parsing percents, decimals, n of n and number counts
16
+ @if type-of($size) == 'number' {
17
+ @if unit($size) == '%' {
18
+ $size: $size;
19
+ }
20
+ @else if $size < 1 {
21
+ $size: percentage($size);
22
+ }
23
+ @else {
24
+ $size: percentage($size / $grid-columns);
25
+ }
26
+ }
27
+
28
+ // Parsing "n of n" or "n/n" expressions
29
+ @elseif type-of($size) == 'list' {
30
+ @if length($size) != 3 {
31
+ @error 'Wrong syntax for xy-cell-size(). Use the format "n of n" or "n/n".';
32
+ }
33
+ @else {
34
+ $size: percentage(nth($size, 1) / nth($size, 3));
35
+ }
36
+ }
37
+ // Anything else is incorrect
38
+ @else {
39
+ @error 'Wrong syntax for xy-cell-size(). Use a number, decimal, percentage, or "n of n" / "n/n".';
40
+ }
41
+
42
+ @return $size;
43
+ }
44
+
45
+ /// Sets base flex properties for cells.
46
+ ///
47
+ /// @param {Keyword} $size [full] - The size of your cell. Accepts `full`, `auto` or `shrink`.
48
+ @mixin xy-cell-base($size: full) {
49
+ @if($size == 'full') {
50
+ // This is the base style, all others inherit from it
51
+ flex: 0 0 auto;
52
+ min-height: 0px;
53
+ min-width: 0px;
54
+ }
55
+ @elseif ($size == 'auto') {
56
+ flex: 1 1 0px; // sass-lint:disable-line zero-unit
57
+ }
58
+ @elseif ($size == 'shrink') {
59
+ flex: 0 0 auto;
60
+ }
61
+ }
62
+
63
+ /// Resets a cells width (or height if vertical is true) as well as strips its gutters.
64
+ ///
65
+ /// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.
66
+ @mixin xy-cell-reset($vertical: true) {
67
+ $direction: if($vertical == true, width, height);
68
+ #{$direction}: auto;
69
+ }
70
+
71
+ // Sets our cell widths or heights depending on gutter type.
72
+ @mixin -xy-cell-properties($size, $margin-gutter, $vertical) {
73
+ $direction: if($vertical == true, height, width);
74
+ @if($size == 'full') {
75
+ $val: if($margin-gutter == 0, 100%, calc(100% - #{rem-calc($margin-gutter)}));
76
+ #{$direction}: $val;
77
+ }
78
+ @elseif ($size == 'auto') {
79
+ #{$direction}: auto;
80
+ $val: if($margin-gutter == 0, 100%, calc(100% - #{rem-calc($margin-gutter)}));
81
+ }
82
+ @elseif ($size == 'shrink') {
83
+ #{$direction}: auto;
84
+ }
85
+ @else {
86
+ $val: if($margin-gutter == 0, #{xy-cell-size($size)}, calc(#{xy-cell-size($size)} - #{rem-calc($margin-gutter)}));
87
+ #{$direction}: $val;
88
+ }
89
+ }
90
+
91
+ /// Creates a cell for your grid.
92
+ ///
93
+ /// @param {Keyword|Number} $size [full] - The size of your cell. Can be `full` (default) for 100% width, `auto` to use up available space and `shrink` to use up only required space.
94
+ /// @param {Boolean} $gutter-output [true] - Whether or not to output gutters
95
+ /// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.
96
+ /// @param {Keyword} $gutter-type [margin] - Map or single value for gutters.
97
+ /// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.
98
+ /// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from. If using with the `breakpoint()` mixin this will be set automatically unless manually entered.
99
+ /// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.
100
+ @mixin xy-cell(
101
+ $size: full,
102
+ $gutter-output: true,
103
+ $gutters: $grid-margin-gutters,
104
+ $gutter-type: margin,
105
+ $gutter-position: right left,
106
+ $breakpoint: null,
107
+ $vertical: false
108
+ ) {
109
+ @if($breakpoint == null) {
110
+ // If `$bp-size` is available then use this, otherwise revert to the smallest bp.
111
+ @if(variable-exists(-zf-size) and type-of($-zf-size) != 'number') and $-zf-size != null {
112
+ $breakpoint: $-zf-size;
113
+ }
114
+ @else {
115
+ $breakpoint: $-zf-zero-breakpoint;
116
+ }
117
+ }
118
+
119
+ // Get our gutters from map if available, if not map just return the value.
120
+ $gutter: -zf-get-bp-val($gutters, $breakpoint);
121
+
122
+ // Base flex properties
123
+ @include xy-cell-base($size);
124
+
125
+ @if($gutter-type == 'margin') {
126
+ @include -xy-cell-properties($size, $gutter, $vertical);
127
+ }
128
+ @else {
129
+ @include -xy-cell-properties($size, 0, $vertical);
130
+ }
131
+
132
+ @if $gutter-output {
133
+ @include xy-gutters($gutter, $gutter-type, $gutter-position);
134
+ }
135
+ }
136
+
137
+ /// Creates a single breakpoint sized grid. Used to generate our grid classes.
138
+ ///
139
+ /// @param {Keyword|Number} $size [full] - The size of your cell. Can be `full` (default) for 100% width, `auto` to use up available space and `shrink` to use up only required space.
140
+ /// @param {Boolean} $gutter-output [true] - Whether or not to output gutters
141
+ /// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.
142
+ /// @param {Keyword} $gutter-type [margin] - Map or single value for gutters.
143
+ /// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from. If using with the `breakpoint()` mixin this will be set automatically unless manually entered.
144
+ /// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.
145
+ @mixin xy-cell-static(
146
+ $size: full,
147
+ $gutter-output: true,
148
+ $gutters: $grid-margin-gutters,
149
+ $gutter-type: margin,
150
+ $breakpoint: $-zf-zero-breakpoint,
151
+ $vertical: false
152
+ ) {
153
+
154
+ $gutter: -zf-get-bp-val($gutters, $breakpoint);
155
+ $gutter-position: if($vertical == true, top bottom, left right);
156
+
157
+ @if($gutter-type == 'margin') {
158
+ @include -xy-cell-properties($size, $gutter, $vertical);
159
+ }
160
+ @else {
161
+ @include -xy-cell-properties($size, 0, $vertical);
162
+ }
163
+
164
+ // If we want to output the gutters
165
+ @if($gutter-output) {
166
+ // TODO: Figure out if we need to pass breakpoint in here too.
167
+ @include xy-gutters($gutter, $gutter-type, $gutter-position);
168
+ }
169
+ }