foundation6-jekyll-base 0.0.1

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 (160) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +2 -0
  4. data/_includes/footer.html +1 -0
  5. data/_includes/head.html +16 -0
  6. data/_includes/header.html +1 -0
  7. data/_includes/javascripts.html +4 -0
  8. data/_layouts/default.html +18 -0
  9. data/_layouts/home.html +26 -0
  10. data/_layouts/page.html +15 -0
  11. data/_layouts/post.html +25 -0
  12. data/_sass/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  13. data/_sass/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  14. data/_sass/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  15. data/_sass/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  16. data/_sass/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  17. data/_sass/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  18. data/_sass/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  19. data/_sass/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  20. data/_sass/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  21. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  22. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  23. data/_sass/foundation/_global.scss +219 -0
  24. data/_sass/foundation/components/_accordion-menu.scss +36 -0
  25. data/_sass/foundation/components/_accordion.scss +150 -0
  26. data/_sass/foundation/components/_badge.scss +63 -0
  27. data/_sass/foundation/components/_breadcrumbs.scss +97 -0
  28. data/_sass/foundation/components/_button-group.scss +249 -0
  29. data/_sass/foundation/components/_button.scss +303 -0
  30. data/_sass/foundation/components/_callout.scss +106 -0
  31. data/_sass/foundation/components/_card.scss +121 -0
  32. data/_sass/foundation/components/_close-button.scss +102 -0
  33. data/_sass/foundation/components/_drilldown.scss +93 -0
  34. data/_sass/foundation/components/_dropdown-menu.scss +226 -0
  35. data/_sass/foundation/components/_dropdown.scss +72 -0
  36. data/_sass/foundation/components/_flex-video.scss +1 -0
  37. data/_sass/foundation/components/_flex.scss +28 -0
  38. data/_sass/foundation/components/_float.scss +27 -0
  39. data/_sass/foundation/components/_label.scss +64 -0
  40. data/_sass/foundation/components/_media-object.scss +114 -0
  41. data/_sass/foundation/components/_menu-icon.scss +9 -0
  42. data/_sass/foundation/components/_menu.scss +371 -0
  43. data/_sass/foundation/components/_off-canvas.scss +329 -0
  44. data/_sass/foundation/components/_orbit.scss +196 -0
  45. data/_sass/foundation/components/_pagination.scss +193 -0
  46. data/_sass/foundation/components/_progress-bar.scss +64 -0
  47. data/_sass/foundation/components/_responsive-embed.scss +67 -0
  48. data/_sass/foundation/components/_reveal.scss +178 -0
  49. data/_sass/foundation/components/_slider.scss +138 -0
  50. data/_sass/foundation/components/_sticky.scss +38 -0
  51. data/_sass/foundation/components/_switch.scss +247 -0
  52. data/_sass/foundation/components/_table.scss +329 -0
  53. data/_sass/foundation/components/_tabs.scss +196 -0
  54. data/_sass/foundation/components/_thumbnail.scss +67 -0
  55. data/_sass/foundation/components/_title-bar.scss +84 -0
  56. data/_sass/foundation/components/_tooltip.scss +107 -0
  57. data/_sass/foundation/components/_top-bar.scss +173 -0
  58. data/_sass/foundation/components/_visibility.scss +132 -0
  59. data/_sass/foundation/forms/_checkbox.scss +41 -0
  60. data/_sass/foundation/forms/_error.scss +88 -0
  61. data/_sass/foundation/forms/_fieldset.scss +54 -0
  62. data/_sass/foundation/forms/_forms.scss +34 -0
  63. data/_sass/foundation/forms/_help-text.scss +30 -0
  64. data/_sass/foundation/forms/_input-group.scss +135 -0
  65. data/_sass/foundation/forms/_label.scss +50 -0
  66. data/_sass/foundation/forms/_meter.scss +110 -0
  67. data/_sass/foundation/forms/_progress.scss +94 -0
  68. data/_sass/foundation/forms/_range.scss +149 -0
  69. data/_sass/foundation/forms/_select.scss +85 -0
  70. data/_sass/foundation/forms/_text.scss +170 -0
  71. data/_sass/foundation/foundation.scss +118 -0
  72. data/_sass/foundation/grid/_classes.scss +176 -0
  73. data/_sass/foundation/grid/_column.scss +112 -0
  74. data/_sass/foundation/grid/_flex-grid.scss +307 -0
  75. data/_sass/foundation/grid/_grid.scss +44 -0
  76. data/_sass/foundation/grid/_gutter.scss +82 -0
  77. data/_sass/foundation/grid/_layout.scss +76 -0
  78. data/_sass/foundation/grid/_position.scss +76 -0
  79. data/_sass/foundation/grid/_row.scss +99 -0
  80. data/_sass/foundation/grid/_size.scss +24 -0
  81. data/_sass/foundation/settings/_settings.scss +621 -0
  82. data/_sass/foundation/typography/_alignment.scss +22 -0
  83. data/_sass/foundation/typography/_base.scss +509 -0
  84. data/_sass/foundation/typography/_helpers.scss +78 -0
  85. data/_sass/foundation/typography/_print.scss +81 -0
  86. data/_sass/foundation/typography/_typography.scss +26 -0
  87. data/_sass/foundation/util/_breakpoint.scss +281 -0
  88. data/_sass/foundation/util/_color.scss +126 -0
  89. data/_sass/foundation/util/_direction.scss +31 -0
  90. data/_sass/foundation/util/_flex.scss +85 -0
  91. data/_sass/foundation/util/_math.scss +72 -0
  92. data/_sass/foundation/util/_mixins.scss +276 -0
  93. data/_sass/foundation/util/_selector.scss +41 -0
  94. data/_sass/foundation/util/_unit.scss +152 -0
  95. data/_sass/foundation/util/_util.scss +13 -0
  96. data/_sass/foundation/util/_value.scss +140 -0
  97. data/assets/js/app.js +1 -0
  98. data/assets/js/vendor/foundation/foundation.d.ts +496 -0
  99. data/assets/js/vendor/foundation/foundation.js +10207 -0
  100. data/assets/js/vendor/foundation/foundation.min.js +4 -0
  101. data/assets/js/vendor/foundation/plugins/foundation.abide.js +637 -0
  102. data/assets/js/vendor/foundation/plugins/foundation.abide.min.js +1 -0
  103. data/assets/js/vendor/foundation/plugins/foundation.accordion.js +252 -0
  104. data/assets/js/vendor/foundation/plugins/foundation.accordion.min.js +1 -0
  105. data/assets/js/vendor/foundation/plugins/foundation.accordionMenu.js +318 -0
  106. data/assets/js/vendor/foundation/plugins/foundation.accordionMenu.min.js +1 -0
  107. data/assets/js/vendor/foundation/plugins/foundation.core.js +386 -0
  108. data/assets/js/vendor/foundation/plugins/foundation.core.min.js +1 -0
  109. data/assets/js/vendor/foundation/plugins/foundation.drilldown.js +565 -0
  110. data/assets/js/vendor/foundation/plugins/foundation.drilldown.min.js +1 -0
  111. data/assets/js/vendor/foundation/plugins/foundation.dropdown.js +465 -0
  112. data/assets/js/vendor/foundation/plugins/foundation.dropdown.min.js +1 -0
  113. data/assets/js/vendor/foundation/plugins/foundation.dropdownMenu.js +486 -0
  114. data/assets/js/vendor/foundation/plugins/foundation.dropdownMenu.min.js +1 -0
  115. data/assets/js/vendor/foundation/plugins/foundation.equalizer.js +374 -0
  116. data/assets/js/vendor/foundation/plugins/foundation.equalizer.min.js +1 -0
  117. data/assets/js/vendor/foundation/plugins/foundation.interchange.js +233 -0
  118. data/assets/js/vendor/foundation/plugins/foundation.interchange.min.js +1 -0
  119. data/assets/js/vendor/foundation/plugins/foundation.magellan.js +285 -0
  120. data/assets/js/vendor/foundation/plugins/foundation.magellan.min.js +1 -0
  121. data/assets/js/vendor/foundation/plugins/foundation.offcanvas.js +474 -0
  122. data/assets/js/vendor/foundation/plugins/foundation.offcanvas.min.js +1 -0
  123. data/assets/js/vendor/foundation/plugins/foundation.orbit.js +566 -0
  124. data/assets/js/vendor/foundation/plugins/foundation.orbit.min.js +1 -0
  125. data/assets/js/vendor/foundation/plugins/foundation.responsiveMenu.js +169 -0
  126. data/assets/js/vendor/foundation/plugins/foundation.responsiveMenu.min.js +1 -0
  127. data/assets/js/vendor/foundation/plugins/foundation.responsiveToggle.js +177 -0
  128. data/assets/js/vendor/foundation/plugins/foundation.responsiveToggle.min.js +1 -0
  129. data/assets/js/vendor/foundation/plugins/foundation.reveal.js +633 -0
  130. data/assets/js/vendor/foundation/plugins/foundation.reveal.min.js +1 -0
  131. data/assets/js/vendor/foundation/plugins/foundation.slider.js +762 -0
  132. data/assets/js/vendor/foundation/plugins/foundation.slider.min.js +1 -0
  133. data/assets/js/vendor/foundation/plugins/foundation.sticky.js +518 -0
  134. data/assets/js/vendor/foundation/plugins/foundation.sticky.min.js +1 -0
  135. data/assets/js/vendor/foundation/plugins/foundation.tabs.js +512 -0
  136. data/assets/js/vendor/foundation/plugins/foundation.tabs.min.js +1 -0
  137. data/assets/js/vendor/foundation/plugins/foundation.toggler.js +169 -0
  138. data/assets/js/vendor/foundation/plugins/foundation.toggler.min.js +1 -0
  139. data/assets/js/vendor/foundation/plugins/foundation.tooltip.js +492 -0
  140. data/assets/js/vendor/foundation/plugins/foundation.tooltip.min.js +1 -0
  141. data/assets/js/vendor/foundation/plugins/foundation.util.box.js +196 -0
  142. data/assets/js/vendor/foundation/plugins/foundation.util.box.min.js +1 -0
  143. data/assets/js/vendor/foundation/plugins/foundation.util.keyboard.js +163 -0
  144. data/assets/js/vendor/foundation/plugins/foundation.util.keyboard.min.js +1 -0
  145. data/assets/js/vendor/foundation/plugins/foundation.util.mediaQuery.js +233 -0
  146. data/assets/js/vendor/foundation/plugins/foundation.util.mediaQuery.min.js +1 -0
  147. data/assets/js/vendor/foundation/plugins/foundation.util.motion.js +103 -0
  148. data/assets/js/vendor/foundation/plugins/foundation.util.motion.min.js +1 -0
  149. data/assets/js/vendor/foundation/plugins/foundation.util.nest.js +74 -0
  150. data/assets/js/vendor/foundation/plugins/foundation.util.nest.min.js +1 -0
  151. data/assets/js/vendor/foundation/plugins/foundation.util.timerAndImageLoader.js +90 -0
  152. data/assets/js/vendor/foundation/plugins/foundation.util.timerAndImageLoader.min.js +1 -0
  153. data/assets/js/vendor/foundation/plugins/foundation.util.touch.js +352 -0
  154. data/assets/js/vendor/foundation/plugins/foundation.util.touch.min.js +1 -0
  155. data/assets/js/vendor/foundation/plugins/foundation.util.triggers.js +261 -0
  156. data/assets/js/vendor/foundation/plugins/foundation.util.triggers.min.js +1 -0
  157. data/assets/js/vendor/foundation/plugins/foundation.zf.responsiveAccordionTabs.js +262 -0
  158. data/assets/js/vendor/foundation/plugins/foundation.zf.responsiveAccordionTabs.min.js +1 -0
  159. data/assets/main.scss +6 -0
  160. metadata +232 -0
@@ -0,0 +1,41 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ /// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.
10
+ ///
11
+ /// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.
12
+ /// @param {Keyword} $modifier [''] - A modifier to be applied to each text input type (e.g. a class or a pseudo-class). Leave blank to ignore.
13
+ @function text-inputs($types: (), $modifier: '') {
14
+ $return: ();
15
+
16
+ $all-types:
17
+ text
18
+ password
19
+ date
20
+ datetime
21
+ datetime-local
22
+ month
23
+ week
24
+ email
25
+ number
26
+ search
27
+ tel
28
+ time
29
+ url
30
+ color;
31
+
32
+ @if not has-value($types) {
33
+ $types: $all-types;
34
+ }
35
+
36
+ @each $type in $types {
37
+ $return: append($return, unquote('[type=\'#{$type}\']#{$modifier}'), comma);
38
+ }
39
+
40
+ @return $return;
41
+ }
@@ -0,0 +1,152 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ $global-font-size: 100% !default;
10
+
11
+ /// Removes the unit (e.g. px, em, rem) from a value, returning the number only.
12
+ ///
13
+ /// @param {Number} $num - Number to strip unit from.
14
+ ///
15
+ /// @returns {Number} The same number, sans unit.
16
+ @function strip-unit($num) {
17
+ @return $num / ($num * 0 + 1);
18
+ }
19
+
20
+ /// Converts one or more pixel values into matching rem values.
21
+ ///
22
+ /// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.
23
+ /// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$base-font-size` variable as the base.
24
+ ///
25
+ /// @returns {List} A list of converted values.
26
+ @function rem-calc($values, $base: null) {
27
+ $rem-values: ();
28
+ $count: length($values);
29
+
30
+ // If no base is defined, defer to the global font size
31
+ @if $base == null {
32
+ $base: $global-font-size;
33
+ }
34
+
35
+ // If the base font size is a %, then multiply it by 16px
36
+ // This is because 100% font size = 16px in most all browsers
37
+ @if unit($base) == '%' {
38
+ $base: ($base / 100%) * 16px;
39
+ }
40
+
41
+ // Using rem as base allows correct scaling
42
+ @if unit($base) == 'rem' {
43
+ $base: strip-unit($base) * 16px;
44
+ }
45
+
46
+ @if $count == 1 {
47
+ @return -zf-to-rem($values, $base);
48
+ }
49
+
50
+ @for $i from 1 through $count {
51
+ $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));
52
+ }
53
+
54
+ @return $rem-values;
55
+ }
56
+
57
+ // Converts a unitless, pixel, or rem value to em, for use in breakpoints.
58
+ @function -zf-bp-to-em($value) {
59
+ // Pixel and unitless values are converted to rems
60
+ @if unit($value) == 'px' or unitless($value) {
61
+ $value: rem-calc($value, $base: 16px);
62
+ }
63
+
64
+ // Then the value is converted to ems
65
+ @return strip-unit($value) * 1em;
66
+ }
67
+
68
+ /// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.
69
+ /// @access private
70
+ ///
71
+ /// @param {Number} $value - Pixel value to convert.
72
+ /// @param {Number} $base [null] - Base for pixel conversion.
73
+ ///
74
+ /// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.
75
+ @function -zf-to-rem($value, $base: null) {
76
+ // Check if the value is a number
77
+ @if type-of($value) != 'number' {
78
+ @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';
79
+ @return $value;
80
+ }
81
+
82
+ // Transform em into rem if someone hands over 'em's
83
+ @if unit($value) == 'em' {
84
+ $value: strip-unit($value) * 1rem;
85
+ }
86
+
87
+ // Calculate rem if units for $value is not rem or em
88
+ @if unit($value) != 'rem' {
89
+ $value: strip-unit($value) / strip-unit($base) * 1rem;
90
+ }
91
+
92
+ // Turn 0rem into 0
93
+ @if $value == 0rem {
94
+ $value: 0;
95
+ }
96
+
97
+ @return $value;
98
+ }
99
+
100
+ /// Converts a pixel, percentage, rem or em value to a unitless value based on a given font size. Ideal for working out unitless line heights.
101
+ ///
102
+ /// @param {Number} $value - Value to convert to a unitless line height
103
+ /// @param {Number} $base - The font size to use to work out the line height - defaults to $global-font-size
104
+ ///
105
+ /// @return {Number} - Unitless number
106
+ @function unitless-calc($value, $base: null) {
107
+
108
+ // If no base is defined, defer to the global font size
109
+ @if $base == null {
110
+ $base: $global-font-size;
111
+ }
112
+
113
+ // First, lets convert our $base to pixels
114
+
115
+ // If the base font size is a %, then multiply it by 16px
116
+ @if unit($base) == '%' {
117
+ $base: ($base / 100%) * 16px;
118
+ }
119
+
120
+ @if unit($base) == 'rem' {
121
+ $base: strip-unit($base) * 16px;
122
+ }
123
+
124
+ @if unit($base) == 'em' {
125
+ $base: strip-unit($base) * 16px;
126
+ }
127
+
128
+ // Now lets convert our value to pixels too
129
+ @if unit($value) == '%' {
130
+ $value: ($value / 100%) * $base;
131
+ }
132
+
133
+ @if unit($value) == 'rem' {
134
+ $value: strip-unit($value) * $base;
135
+ }
136
+
137
+ @if unit($value) == 'em' {
138
+ $value: strip-unit($value) * $base;
139
+ }
140
+
141
+ // 'px'
142
+ @if unit($value) == 'px' {
143
+ @return strip-unit($value) / strip-unit($base);
144
+ }
145
+
146
+ // assume that line-heights greatern then 10 are meant to be absolute in 'px'
147
+ @if unitless($value) and ($value > 10) {
148
+ @return $value / strip-unit($base);
149
+ }
150
+
151
+ @return $value;
152
+ }
@@ -0,0 +1,13 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import 'math';
6
+ @import 'unit';
7
+ @import 'value';
8
+ @import 'direction';
9
+ @import 'color';
10
+ @import 'selector';
11
+ @import 'flex';
12
+ @import 'breakpoint';
13
+ @import 'mixins';
@@ -0,0 +1,140 @@
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
+ }
@@ -0,0 +1 @@
1
+ $(document).foundation();
@@ -0,0 +1,496 @@
1
+ // Type definitions for Foundation Sites v6.3.1
2
+ // Project: http://foundation.zurb.com/
3
+ // Github: https://github.com/zurb/foundation-sites
4
+ //
5
+ // Definitions by: Sam Vloeberghs <https://github.com/samvloeberghs/>
6
+ // Original Definitions: https://github.com/samvloeberghs/foundation-sites-typings
7
+
8
+ declare module FoundationSites {
9
+
10
+ // http://foundation.zurb.com/sites/docs/abide.html#javascript-reference
11
+ interface Abide {
12
+ requiredChecked(element: JQuery): boolean;
13
+ findFormError(element: JQuery): JQuery;
14
+ findLabel(element: JQuery): boolean;
15
+ addErrorClasses(element: JQuery): void;
16
+ removeRadioErrorClasses(groupName: string): void;
17
+ removeErrorClasses(element: JQuery): void;
18
+ validateInput(element: JQuery): boolean;
19
+ validateForm(): boolean;
20
+ validateText(element: JQuery, pattern: string): boolean;
21
+ validateRadio(groupName: string): boolean;
22
+ matchValidation(element: JQuery, validators: string, required: boolean): boolean;
23
+ resetForm(): void;
24
+ destroy(): void;
25
+ }
26
+
27
+ interface AbideDefaults {
28
+ validateOn: string;
29
+ labelErrorClass: string;
30
+ inputErrorClass: string;
31
+ formErrorSelector: string;
32
+ formErrorClass: string;
33
+ liveValidate: boolean;
34
+ validateOnBlur: boolean;
35
+ patterns: IAbidePatterns;
36
+ validators: any; // TODO, maybe there is a better solution to describe how this object may look like
37
+ }
38
+
39
+ interface IAbidePatterns {
40
+ alpha?: RegExp;
41
+ alpha_numeric?: RegExp;
42
+ integer?: RegExp;
43
+ number?: RegExp;
44
+ card?: RegExp;
45
+ cvv?: RegExp;
46
+ email ?: RegExp;
47
+ url?: RegExp;
48
+ domain?: RegExp;
49
+ datetime?: RegExp;
50
+ date?: RegExp;
51
+ time?: RegExp;
52
+ dateISO?: RegExp;
53
+ month_day_year?: RegExp;
54
+ day_month_year?: RegExp;
55
+ color?: RegExp;
56
+ }
57
+
58
+ interface IAbideOptions {
59
+ validateOn?: string;
60
+ labelErrorClass?: string;
61
+ inputErrorClass?: string;
62
+ formErrorSelector?: string;
63
+ formErrorClass?: string;
64
+ liveValidate?: boolean;
65
+ validators?: any;
66
+ }
67
+
68
+ // http://foundation.zurb.com/sites/docs/accordion.html#javascript-reference
69
+ interface Accordion {
70
+ toggle($target: JQuery): void;
71
+ down($target: JQuery, firstTime: boolean): void;
72
+ up($target: JQuery): void;
73
+ destroy(): void;
74
+ }
75
+
76
+ interface IAccordionOptions {
77
+ slideSpeed?: number
78
+ multiExpand?: boolean;
79
+ allowAllClosed?: boolean;
80
+ }
81
+
82
+ // http://foundation.zurb.com/sites/docs/accordion-menu.html#javascript-reference
83
+ interface AccordionMenu {
84
+ hideAll(): void;
85
+ toggle($target: JQuery): void;
86
+ down($target: JQuery, firstTime: boolean): void;
87
+ up($target: JQuery): void;
88
+ destroy(): void;
89
+ }
90
+
91
+ interface IAccordionMenuOptions {
92
+ slideSpeed?: number;
93
+ multiOpen?: boolean;
94
+ }
95
+
96
+ // http://foundation.zurb.com/sites/docs/drilldown-menu.html#javascript-reference
97
+ interface Drilldown {
98
+ destroy(): void;
99
+ }
100
+
101
+ interface IDrilldownOptions {
102
+ backButton?: string;
103
+ wrapper?: string;
104
+ parentLink?: boolean;
105
+ closeOnClick?: boolean;
106
+ }
107
+
108
+ // http://foundation.zurb.com/sites/docs/dropdown.html#javascript-reference
109
+ interface Dropdown {
110
+ getPositionClass(): string;
111
+ open(): void;
112
+ close(): void;
113
+ toggle(): void;
114
+ destroy(): void;
115
+ }
116
+
117
+ interface IDropdownOptions {
118
+ hoverDelay?: number;
119
+ hover?: boolean;
120
+ hoverPane?: boolean;
121
+ vOffset?: number;
122
+ hOffset?: number;
123
+ positionClass?: string;
124
+ trapFocus?: boolean;
125
+ autoFocus?: boolean;
126
+ closeOnClick?: boolean;
127
+ }
128
+
129
+ // http://foundation.zurb.com/sites/docs/dropdown-menu.html#javascript-reference
130
+ interface DropdownMenu {
131
+ destroy(): void;
132
+ }
133
+
134
+ interface IDropdownMenuOptions {
135
+ disableHover?: boolean;
136
+ autoclose?: boolean;
137
+ hoverDelay?: number;
138
+ clickOpen?: boolean;
139
+ closingTime?: number;
140
+ alignment?: string;
141
+ closeOnClick?: boolean;
142
+ verticalClass?: string;
143
+ rightClass?: string;
144
+ forceFollow?: boolean;
145
+ }
146
+
147
+ // http://foundation.zurb.com/sites/docs/equalizer.html#javascript-reference
148
+ interface Equalizer {
149
+ getHeights(cb: Function): Array<any>;
150
+ getHeightsByRow(cb: Function): Array<any>;
151
+ applyHeight(heights: Array<any>): void;
152
+ applyHeightByRow(groups: Array<any>): void;
153
+ destroy(): void;
154
+ }
155
+
156
+ interface IEqualizerOptions {
157
+ equalizeOnStack?: boolean;
158
+ equalizeByRow?: boolean;
159
+ equalizeOn?: string;
160
+ }
161
+
162
+ // http://foundation.zurb.com/sites/docs/interchange.html#javascript-reference
163
+ interface Interchange {
164
+ replace(path: string): void;
165
+ destroy(): void;
166
+ }
167
+
168
+ interface IInterchangeOptions {
169
+ rules?: Array<any>
170
+ }
171
+
172
+ // http://foundation.zurb.com/sites/docs/magellan.html#javascript-reference
173
+ interface Magellan {
174
+ calcPoints(): void;
175
+ scrollToLoc(location: string): void;
176
+ reflow(): void;
177
+ destroy(): void;
178
+ }
179
+
180
+ interface IMagellanOptions {
181
+ animationDuration?: number;
182
+ animationEasing?: string;
183
+ threshold?: number;
184
+ activeClass?: string;
185
+ deepLinking?: boolean;
186
+ barOffset?: number;
187
+ }
188
+
189
+ // http://foundation.zurb.com/sites/docs/offcanvas.html#javascript-reference
190
+ interface OffCanvas {
191
+ reveal(isRevealed: boolean): void;
192
+ open(event: Event, trigger: JQuery): void;
193
+ close(cb?: Function): void;
194
+ toggle(event: Event, trigger: JQuery): void;
195
+ destroy(): void;
196
+ }
197
+
198
+ interface IOffCanvasOptions {
199
+ closeOnClick?: boolean;
200
+ transitionTime?: number;
201
+ position?: string;
202
+ forceTop?: boolean;
203
+ isRevealed?: boolean;
204
+ revealOn?: string;
205
+ autoFocus?: boolean;
206
+ revealClass?: string;
207
+ trapFocus?: boolean;
208
+ }
209
+
210
+ // http://foundation.zurb.com/sites/docs/orbit.html#javascript-reference
211
+ interface Orbit {
212
+ geoSync(): void;
213
+ changeSlide(isLTR: boolean, chosenSlide?: JQuery, idx?: number): void;
214
+ destroy(): void;
215
+ }
216
+
217
+ interface IOrbitOptions {
218
+ bullets?: boolean;
219
+ navButtons?: boolean;
220
+ animInFromRight?: string;
221
+ animOutToRight?: string;
222
+ animInFromLeft?: string;
223
+ animOutToLeft?: string;
224
+ autoPlay?: boolean;
225
+ timerDelay?: number;
226
+ infiniteWrap?: boolean;
227
+ swipe?: boolean;
228
+ pauseOnHover?: boolean;
229
+ accessible?: boolean;
230
+ containerClass?: string;
231
+ slideClass?: string;
232
+ boxOfBullets?: string;
233
+ nextClass?: string;
234
+ prevClass?: string;
235
+ useMUI?: boolean;
236
+ }
237
+
238
+ // http://foundation.zurb.com/sites/docs/reveal.html#javascript-reference
239
+ interface Reveal {
240
+ open(): void;
241
+ toggle(): void;
242
+ close(): void;
243
+ destroy(): void;
244
+ }
245
+
246
+ interface IRevealOptions {
247
+ animationIn?: string;
248
+ animationOut?: string;
249
+ showDelay?: number;
250
+ hideDelay?: number;
251
+ closeOnClick?: boolean;
252
+ closeOnEsc?: boolean;
253
+ multipleOpened?: boolean;
254
+ vOffset?: number;
255
+ hOffset?: number;
256
+ fullScreen?: boolean;
257
+ btmOffsetPct?: number;
258
+ overlay?: boolean;
259
+ resetOnClose?: boolean;
260
+ deepLink?: boolean;
261
+ }
262
+
263
+ // http://foundation.zurb.com/sites/docs/slider.html#javascript-reference
264
+ interface Slider {
265
+ destroy(): void;
266
+ }
267
+
268
+ interface ISliderOptions {
269
+ start?: number;
270
+ end?: number;
271
+ step?: number;
272
+ initialStart ?: number;
273
+ initialEnd?: number;
274
+ binding?: boolean;
275
+ clickSelect?: boolean;
276
+ vertical?: boolean;
277
+ draggable?: boolean;
278
+ disabled?: boolean;
279
+ doubleSided?: boolean;
280
+ decimal?: number;
281
+ moveTime?: number;
282
+ disabledClass?: string;
283
+ }
284
+
285
+ // http://foundation.zurb.com/sites/docs/sticky.html#javascript-reference
286
+ interface Sticky {
287
+ destroy(): void;
288
+ }
289
+
290
+ interface IStickyOptions {
291
+ container?: string;
292
+ stickTo?: string;
293
+ anchor?: string;
294
+ topAnchor?: string;
295
+ btmAnchor?: string;
296
+ marginTop?: number;
297
+ marginBottom?: number;
298
+ stickyOn?: string;
299
+ stickyClass?: string;
300
+ containerClass?: string;
301
+ checkEvery?: number;
302
+ }
303
+
304
+ // http://foundation.zurb.com/sites/docs/tabs.html#javascript-reference
305
+ interface Tabs {
306
+ selectTab(element: JQuery | string): void;
307
+ destroy(): void;
308
+ }
309
+
310
+ interface ITabsOptions {
311
+ autoFocus?: boolean;
312
+ wrapOnKeys?: boolean;
313
+ matchHeight?: boolean;
314
+ linkClass?: string;
315
+ panelClass?: string;
316
+ }
317
+
318
+ // http://foundation.zurb.com/sites/docs/toggler.html#javascript-reference
319
+ interface Toggler {
320
+ toggle(): void;
321
+ destroy(): void;
322
+ }
323
+
324
+ interface ITogglerOptions {
325
+ animate?: boolean;
326
+ }
327
+
328
+ // http://foundation.zurb.com/sites/docs/tooltip.html#javascript-reference
329
+ interface Tooltip {
330
+ show(): void;
331
+ hide(): void;
332
+ toggle(): void;
333
+ destroy(): void;
334
+ }
335
+
336
+ interface ITooltipOptions {
337
+ hoverDelay?: number;
338
+ fadeInDuration?: number;
339
+ fadeOutDuration?: number;
340
+ disableHover?: boolean;
341
+ templateClasses?: string;
342
+ tooltipClass?: string;
343
+ triggerClass?: string;
344
+ showOn?: string;
345
+ template?: string;
346
+ tipText?: string;
347
+ clickOpen?: boolean;
348
+ positionClass?: string;
349
+ vOffset?: number;
350
+ hOffset?: number;
351
+ }
352
+
353
+ // Utilities
354
+ // ---------
355
+
356
+ interface Box {
357
+ ImNotTouchingYou(element: Object, parent?: Object, lrOnly?: boolean, tbOnly?: boolean): boolean;
358
+ GetDimensions(element: Object): Object;
359
+ GetOffsets(element: Object, anchor: Object, position: string, vOffset: number, hOffset: number, isOverflow: boolean): Object;
360
+ }
361
+
362
+ interface KeyBoard {
363
+ parseKey(event: any): string;
364
+ handleKey(event: any, component: any, functions: any): void;
365
+ findFocusable($element: Object): Object;
366
+ }
367
+
368
+ interface MediaQuery {
369
+ get(size: string): string;
370
+ atLeast(size: string): boolean;
371
+ queries: Array<string>;
372
+ current: string;
373
+ }
374
+
375
+ interface Motion {
376
+ animateIn(element: Object, animation: any, cb: Function): void;
377
+ animateOut(element: Object, animation: any, cb: Function): void;
378
+ }
379
+
380
+ interface Move {
381
+ // TODO
382
+ }
383
+
384
+ interface Nest {
385
+ Feather(menu: any, type: any): void;
386
+ Burn(menu: any, type: any): void;
387
+ }
388
+
389
+ interface Timer {
390
+ start(): void;
391
+ restart(): void;
392
+ pause(): void;
393
+ }
394
+
395
+ interface Touch {
396
+ // TODO :extension on jQuery
397
+ }
398
+
399
+ interface Triggers {
400
+ // TODO :extension on jQuery
401
+ }
402
+
403
+ interface FoundationSitesStatic {
404
+ version: string;
405
+
406
+ rtl(): boolean;
407
+ plugin(plugin: Object, name: string): void;
408
+ registerPlugin(plugin: Object): void;
409
+ unregisterPlugin(plugin: Object): void;
410
+ reInit(plugins: Array<any>): void;
411
+ GetYoDigits(length: number, namespace?: string): string;
412
+ reflow(elem: Object, plugins?: Array<string>|string): void;
413
+ getFnName(fn: string): string;
414
+ transitionend(): string;
415
+
416
+ util: {
417
+ throttle(func: (...args: any[]) => any, delay: number): (...args: any[]) => any;
418
+ };
419
+
420
+ Abide: {
421
+ new(element: JQuery, options?: IAbideOptions): Abide;
422
+ defaults: AbideDefaults;
423
+ }
424
+ Accordion: {
425
+ new(element: JQuery, options?: IAccordionOptions): Accordion;
426
+ }
427
+ AccordionMenu: {
428
+ new(element: JQuery, options?: IAccordionMenuOptions): AccordionMenu;
429
+ }
430
+ Drilldown: {
431
+ new(element: JQuery, options?: IDrilldownOptions): Drilldown;
432
+ }
433
+ Dropdown: {
434
+ new(element: JQuery, options?: IDropdownOptions): Dropdown;
435
+ }
436
+ DropdownMenu: {
437
+ new(element: JQuery, options?: IDropdownMenuOptions): DropdownMenu;
438
+ }
439
+ Equalizer: {
440
+ new(element: JQuery, options?: IEqualizerOptions): Equalizer;
441
+ }
442
+ Interchange: {
443
+ new(element: JQuery, options?: IInterchangeOptions): Interchange;
444
+ }
445
+ Magellan: {
446
+ new(element: JQuery, options?: IMagellanOptions): Magellan;
447
+ }
448
+ OffCanvas: {
449
+ new(element: JQuery, options?: IOffCanvasOptions): OffCanvas;
450
+ }
451
+ Orbit: {
452
+ new(element: JQuery, options?: IOrbitOptions): Orbit;
453
+ }
454
+ Reveal: {
455
+ new(element: JQuery, options?: IRevealOptions): Reveal;
456
+ };
457
+ Slider: {
458
+ new(element: JQuery, options?: ISliderOptions): Slider;
459
+ }
460
+ Sticky: {
461
+ new(element: JQuery, options?: IStickyOptions): Sticky;
462
+ }
463
+ Tabs: {
464
+ new(element: JQuery, options?: ITabsOptions): Tabs;
465
+ }
466
+ Toggler: {
467
+ new(element: JQuery, options?: ITogglerOptions): Toggler;
468
+ }
469
+ Tooltip: {
470
+ new(element: JQuery, options?: ITooltipOptions): Tooltip;
471
+ }
472
+
473
+ // utils
474
+ Box: Box;
475
+ KeyBoard: KeyBoard;
476
+ MediaQuery: MediaQuery;
477
+ Motion: Motion;
478
+ Move: Move;
479
+ Nest: Nest;
480
+ Timer: Timer;
481
+ Touch: Touch;
482
+ Triggers: Triggers;
483
+
484
+ }
485
+
486
+ }
487
+
488
+ interface JQuery {
489
+ foundation(method?: string|Array<any>, $element?: JQuery): JQuery;
490
+ }
491
+
492
+ declare var Foundation: FoundationSites.FoundationSitesStatic;
493
+
494
+ declare module "Foundation" {
495
+ export = Foundation;
496
+ }