jekyll-theme-foundation 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }