zurb-foundation 3.2.5 → 4.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. data/.gitignore +6 -2
  2. data/CHANGELOG.md +1 -26
  3. data/CONTRIBUTING.md +18 -0
  4. data/Gemfile.lock +19 -0
  5. data/Gruntfile.js +27 -0
  6. data/README.md +5 -6
  7. data/{Capfile → docs/Capfile} +0 -1
  8. data/docs/Gemfile +8 -0
  9. data/docs/Gemfile.lock +43 -0
  10. data/docs/Procfile +2 -0
  11. data/docs/README.md +1 -0
  12. data/docs/_sidebar-components.html.erb +109 -0
  13. data/docs/_sidebar.html.erb +109 -0
  14. data/docs/_zurb-jobs.html.erb +5 -0
  15. data/docs/changelog.html.erb +185 -0
  16. data/docs/compile.rb +43 -0
  17. data/docs/components/alert-boxes.html.erb +202 -0
  18. data/docs/components/block-grid.html.erb +118 -0
  19. data/docs/components/breadcrumbs.html.erb +146 -0
  20. data/docs/components/button-groups.html.erb +174 -0
  21. data/docs/components/buttons.html.erb +220 -0
  22. data/docs/components/clearing.html.erb +152 -0
  23. data/docs/components/custom-forms.html.erb +306 -0
  24. data/docs/components/dropdown-buttons.html.erb +233 -0
  25. data/docs/components/dropdown.html.erb +186 -0
  26. data/docs/components/flex-video.html.erb +93 -0
  27. data/docs/components/forms.html.erb +468 -0
  28. data/docs/components/grid.html.erb +355 -0
  29. data/docs/components/inline-lists.html.erb +89 -0
  30. data/docs/components/joyride.html.erb +178 -0
  31. data/docs/components/keystrokes.html.erb +74 -0
  32. data/docs/components/labels.html.erb +98 -0
  33. data/docs/components/magellan.html.erb +84 -0
  34. data/docs/components/orbit.html.erb +262 -0
  35. data/docs/components/pagination.html.erb +181 -0
  36. data/docs/components/panels.html.erb +121 -0
  37. data/docs/components/pricing-tables.html.erb +154 -0
  38. data/docs/components/progress-bars.html.erb +120 -0
  39. data/docs/components/reveal.html.erb +147 -0
  40. data/docs/components/section.html.erb +156 -0
  41. data/docs/components/side-nav.html.erb +122 -0
  42. data/docs/components/split-buttons.html.erb +218 -0
  43. data/docs/components/sub-nav.html.erb +120 -0
  44. data/docs/components/switch.html.erb +288 -0
  45. data/docs/components/tables.html.erb +123 -0
  46. data/docs/components/thumbnails.html.erb +87 -0
  47. data/docs/components/tooltips.html.erb +73 -0
  48. data/docs/components/top-bar.html.erb +219 -0
  49. data/docs/components/type.html.erb +359 -0
  50. data/docs/components/visibility.html.erb +102 -0
  51. data/docs/config.ru +12 -0
  52. data/docs/config/deploy.rb +33 -0
  53. data/docs/controller.rb +43 -0
  54. data/docs/css/_coderay.scss +116 -0
  55. data/docs/css/_settings.scss +1 -0
  56. data/docs/css/docs.scss +174 -0
  57. data/docs/css/normalize.scss +396 -0
  58. data/docs/css/qunit-composite.css +13 -0
  59. data/docs/css/qunit.css +235 -0
  60. data/docs/faq.html.erb +61 -0
  61. data/docs/img/demos/demo1-th.png +0 -0
  62. data/docs/img/demos/demo1.png +0 -0
  63. data/docs/img/demos/demo2-th.png +0 -0
  64. data/docs/img/demos/demo2.png +0 -0
  65. data/docs/img/demos/demo3-th.png +0 -0
  66. data/docs/img/demos/demo3.png +0 -0
  67. data/docs/img/demos/demo4-th.png +0 -0
  68. data/docs/img/demos/demo4.png +0 -0
  69. data/docs/img/demos/demo5-th.png +0 -0
  70. data/docs/img/demos/demo5.png +0 -0
  71. data/docs/index.html.erb +299 -0
  72. data/docs/javascript.html.erb +133 -0
  73. data/docs/js/docs.js +3 -0
  74. data/docs/js/qunit-composite.js +105 -0
  75. data/docs/js/qunit.js +1977 -0
  76. data/docs/js/tests/tabs/simple_tabs.html +57 -0
  77. data/docs/js/tests/tabs/simple_tabs.js +54 -0
  78. data/docs/js/tests/tooltips/tooltips.html +39 -0
  79. data/docs/js/tests/tooltips/tooltips.js +11 -0
  80. data/docs/layout.html.erb +99 -0
  81. data/docs/rails.html.erb +66 -0
  82. data/docs/sass.html.erb +299 -0
  83. data/docs/support.html.erb +134 -0
  84. data/foundation.gemspec +2 -4
  85. data/index.html +3 -23
  86. data/js/foundation/foundation.alerts.js +50 -0
  87. data/js/foundation/foundation.clearing.js +478 -0
  88. data/{vendor/assets/javascripts/foundation/jquery.cookie.js → js/foundation/foundation.cookie.js} +3 -1
  89. data/js/foundation/foundation.dropdown.js +122 -0
  90. data/js/foundation/foundation.forms.js +403 -0
  91. data/js/foundation/foundation.joyride.js +613 -0
  92. data/js/foundation/foundation.js +331 -0
  93. data/js/foundation/foundation.magellan.js +130 -0
  94. data/js/foundation/foundation.orbit.js +355 -0
  95. data/{vendor/assets/javascripts/foundation/jquery.placeholder.js → js/foundation/foundation.placeholder.js} +4 -2
  96. data/js/foundation/foundation.reveal.js +264 -0
  97. data/js/foundation/foundation.section.js +180 -0
  98. data/js/foundation/foundation.tooltips.js +195 -0
  99. data/js/foundation/foundation.topbar.js +187 -0
  100. data/js/foundation/index.js +16 -0
  101. data/{vendor/assets/javascripts/foundation/modernizr.foundation.js → js/vendor/custom.modernizr.js} +0 -0
  102. data/js/vendor/jquery.js +9597 -0
  103. data/js/vendor/zepto.js +1782 -0
  104. data/lib/foundation/engine.rb +8 -1
  105. data/lib/foundation/generators/install_generator.rb +24 -1
  106. data/lib/foundation/generators/templates/application.html.erb +20 -6
  107. data/lib/foundation/generators/templates/application.html.haml +2 -6
  108. data/lib/foundation/generators/templates/application.html.slim +2 -5
  109. data/lib/foundation/version.rb +1 -1
  110. data/lib/zurb-foundation.rb +7 -9
  111. data/package.json +9 -0
  112. data/scss/foundation.scss +42 -15
  113. data/scss/foundation/_foundation-global.scss +226 -0
  114. data/scss/foundation/components/_alert-boxes.scss +106 -0
  115. data/scss/foundation/components/_block-grid.scss +63 -0
  116. data/scss/foundation/components/_breadcrumbs.scss +117 -0
  117. data/scss/foundation/components/_button-groups.scss +59 -0
  118. data/scss/foundation/components/_buttons.scss +217 -0
  119. data/scss/foundation/components/_clearing.scss +209 -0
  120. data/scss/foundation/components/_custom-forms.scss +232 -0
  121. data/scss/foundation/components/_dropdown-buttons.scss +114 -0
  122. data/scss/foundation/components/_dropdown.scss +137 -0
  123. data/scss/foundation/components/_flex-video.scss +45 -0
  124. data/scss/foundation/components/_forms.scss +309 -0
  125. data/scss/foundation/components/_grid.scss +149 -71
  126. data/scss/foundation/components/_inline-lists.scss +47 -0
  127. data/scss/foundation/components/_joyride.scss +193 -0
  128. data/scss/foundation/components/_keystrokes.scss +56 -0
  129. data/scss/foundation/components/_labels.scss +81 -0
  130. data/scss/foundation/components/_magellan.scss +15 -0
  131. data/scss/foundation/components/_orbit.scss +193 -0
  132. data/scss/foundation/components/_pagination.scss +99 -0
  133. data/scss/foundation/components/_panels.scss +76 -0
  134. data/scss/foundation/components/_pricing-tables.scss +130 -0
  135. data/scss/foundation/components/_progress-bars.scss +68 -0
  136. data/scss/foundation/components/_reveal.scss +131 -0
  137. data/scss/foundation/components/_section.scss +194 -0
  138. data/scss/foundation/components/_side-nav.scss +68 -0
  139. data/scss/foundation/components/_split-buttons.scss +159 -0
  140. data/scss/foundation/components/_sub-nav.scss +67 -0
  141. data/scss/foundation/components/_switch.scss +242 -0
  142. data/scss/foundation/components/_tables.scss +80 -0
  143. data/scss/foundation/components/_thumbs.scss +45 -0
  144. data/scss/foundation/components/_tooltips.scss +113 -0
  145. data/scss/foundation/components/_top-bar.scss +443 -0
  146. data/scss/foundation/components/_type.scss +411 -0
  147. data/scss/foundation/components/_visibility.scss +117 -0
  148. data/scss/normalize.scss +396 -0
  149. data/templates/project/config.rb +26 -0
  150. data/templates/project/index.html +28 -43
  151. data/templates/project/manifest.rb +21 -28
  152. data/templates/project/scss/_settings.scss +4 -243
  153. data/templates/project/scss/app.scss +37 -44
  154. data/templates/project/scss/normalize.scss +396 -0
  155. data/test/stylesheets/styles.css +955 -0
  156. metadata +144 -153
  157. data/config/deploy.rb +0 -42
  158. data/lib/foundation/generators/layout_generator.rb +0 -28
  159. data/scss/foundation/_settings.scss +0 -281
  160. data/scss/foundation/common/_base.scss +0 -4
  161. data/scss/foundation/common/_forms.scss +0 -117
  162. data/scss/foundation/common/_globals.scss +0 -35
  163. data/scss/foundation/common/_ratios.scss +0 -19
  164. data/scss/foundation/common/_typography.scss +0 -104
  165. data/scss/foundation/components/modules/_all.scss +0 -10
  166. data/scss/foundation/components/modules/_buttons.scss +0 -178
  167. data/scss/foundation/components/modules/_clearing.scss +0 -61
  168. data/scss/foundation/components/modules/_joyride.scss +0 -33
  169. data/scss/foundation/components/modules/_mqueries.scss +0 -458
  170. data/scss/foundation/components/modules/_navbar.scss +0 -74
  171. data/scss/foundation/components/modules/_offcanvas.scss +0 -55
  172. data/scss/foundation/components/modules/_orbit.scss +0 -90
  173. data/scss/foundation/components/modules/_reveal.scss +0 -34
  174. data/scss/foundation/components/modules/_tabs.scss +0 -67
  175. data/scss/foundation/components/modules/_topbar.scss +0 -167
  176. data/scss/foundation/components/modules/_ui.scss +0 -292
  177. data/scss/foundation/functions/_all.scss +0 -2
  178. data/scss/foundation/functions/_convert-number-to-word.scss +0 -10
  179. data/scss/foundation/functions/_grid-calc.scss +0 -5
  180. data/scss/foundation/functions/modular-scale.scss +0 -3
  181. data/scss/foundation/mixins/_all.scss +0 -5
  182. data/scss/foundation/mixins/_clearfix.scss +0 -13
  183. data/scss/foundation/mixins/_css-triangle.scss +0 -22
  184. data/scss/foundation/mixins/_font-size.scss +0 -13
  185. data/scss/foundation/mixins/_respond-to.scss +0 -11
  186. data/scss/foundation/mixins/_semantic-grid.scss +0 -66
  187. data/test/buttons.html +0 -189
  188. data/test/clearing.html +0 -85
  189. data/test/config.rb +0 -11
  190. data/test/elements.html +0 -490
  191. data/test/forms.html +0 -371
  192. data/test/grid.html +0 -543
  193. data/test/images/orbit-demo/demo1.jpeg +0 -0
  194. data/test/images/orbit-demo/demo2.jpeg +0 -0
  195. data/test/images/orbit-demo/demo3.jpeg +0 -0
  196. data/test/images/orbit-demo/slider-background.jpeg +0 -0
  197. data/test/index.html +0 -83
  198. data/test/joyride.html +0 -127
  199. data/test/magellan.html +0 -112
  200. data/test/navigation.html +0 -269
  201. data/test/orbit.html +0 -112
  202. data/test/reveal.html +0 -91
  203. data/test/scss/_settings.scss +0 -245
  204. data/test/scss/styles.scss +0 -50
  205. data/test/tabs.html +0 -197
  206. data/test/template.html +0 -52
  207. data/test/topbar-login.html +0 -194
  208. data/test/topbar.html +0 -139
  209. data/test/type.html +0 -188
  210. data/vendor/assets/images/foundation/orbit/bullets.jpg +0 -0
  211. data/vendor/assets/images/foundation/orbit/left-arrow-small.png +0 -0
  212. data/vendor/assets/images/foundation/orbit/left-arrow.png +0 -0
  213. data/vendor/assets/images/foundation/orbit/loading.gif +0 -0
  214. data/vendor/assets/images/foundation/orbit/mask-black.png +0 -0
  215. data/vendor/assets/images/foundation/orbit/pause-black.png +0 -0
  216. data/vendor/assets/images/foundation/orbit/right-arrow-small.png +0 -0
  217. data/vendor/assets/images/foundation/orbit/right-arrow.png +0 -0
  218. data/vendor/assets/images/foundation/orbit/rotator-black.png +0 -0
  219. data/vendor/assets/images/foundation/orbit/timer-black.png +0 -0
  220. data/vendor/assets/javascripts/foundation/app.js +0 -41
  221. data/vendor/assets/javascripts/foundation/index.js +0 -19
  222. data/vendor/assets/javascripts/foundation/jquery.event.move.js +0 -580
  223. data/vendor/assets/javascripts/foundation/jquery.event.swipe.js +0 -130
  224. data/vendor/assets/javascripts/foundation/jquery.foundation.accordion.js +0 -47
  225. data/vendor/assets/javascripts/foundation/jquery.foundation.alerts.js +0 -20
  226. data/vendor/assets/javascripts/foundation/jquery.foundation.buttons.js +0 -83
  227. data/vendor/assets/javascripts/foundation/jquery.foundation.clearing.js +0 -413
  228. data/vendor/assets/javascripts/foundation/jquery.foundation.forms.js +0 -502
  229. data/vendor/assets/javascripts/foundation/jquery.foundation.joyride.js +0 -639
  230. data/vendor/assets/javascripts/foundation/jquery.foundation.magellan.js +0 -96
  231. data/vendor/assets/javascripts/foundation/jquery.foundation.mediaQueryToggle.js +0 -27
  232. data/vendor/assets/javascripts/foundation/jquery.foundation.navigation.js +0 -55
  233. data/vendor/assets/javascripts/foundation/jquery.foundation.orbit.js +0 -919
  234. data/vendor/assets/javascripts/foundation/jquery.foundation.reveal.js +0 -794
  235. data/vendor/assets/javascripts/foundation/jquery.foundation.tabs.js +0 -66
  236. data/vendor/assets/javascripts/foundation/jquery.foundation.tooltips.js +0 -211
  237. data/vendor/assets/javascripts/foundation/jquery.foundation.topbar.js +0 -174
  238. data/vendor/assets/javascripts/foundation/jquery.js +0 -9555
  239. data/vendor/assets/javascripts/foundation/jquery.offcanvas.js +0 -50
@@ -1,188 +0,0 @@
1
- <!DOCTYPE html>
2
- <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
3
- <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
4
- <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
5
- <head>
6
- <meta charset="utf-8" />
7
-
8
- <!-- Set the viewport width to device width for mobile -->
9
- <meta name="viewport" content="width=device-width" />
10
-
11
- <title>Foundation Typography Testing</title>
12
-
13
- <!-- Included CSS Files -->
14
- <link rel="stylesheet" href="stylesheets/styles.css">
15
-
16
- <script src="../vendor/assets/javascripts/foundation/modernizr.foundation.js"></script>
17
-
18
- </head>
19
- <body>
20
-
21
- <div class="row">
22
- <div class="twelve columns">
23
- <p><a href="index.html">&laquo; Back</a></p>
24
- <h2>Foundation Typography Testing</h2>
25
- <hr />
26
- <dl class="sub-nav">
27
- <dt>Go to:</dt>
28
- <dd><a href="#headers">Headers</a></dd>
29
- <dd><a href="#links">Links</a></dd>
30
- <dd><a href="#lists">Lists</a></dd>
31
- <dd><a href="#blockquotes">Blockquotes</a></dd>
32
- </dl>
33
- </div>
34
- </div>
35
-
36
- <!-- Test Foundation Components Here -->
37
- <div class="row">
38
- <div class="twelve columns">
39
-
40
- <h3>Typography</h3>
41
- <h4 class="subheader">Foundation 3 uses a modular scale to generate typography. That means a great, logical vertical rhythm for every design.</h4>
42
-
43
- <div class="row">
44
- <div class="four columns">
45
- <a name="headers"></a>
46
- <h4>General Typography</h4>
47
- <p>These are the basic elements of typography and rhythm in Foundation 3.</p>
48
- </div>
49
- <div class="eight columns">
50
- <h1>h1. This is a very large header.</h1>
51
- <h2>h2. This is a large header.</h2>
52
- <h3>h3. This is a medium header.</h3>
53
- <h4>h4. This is a moderate header.</h4>
54
- <h5>h5. This is small header.</h5>
55
- <h6>h6. This is very small header.</h6>
56
-
57
- <p>This is a paragraph. Paragraphs are preset with a font size, line height and spacing to match the overall vertical rhythm. To show what a paragraph looks like this needs a little more content so, let's see&#8230; did you know that there are storms occurring on Jupiter that are larger than the Earth? That's pretty cool.</p>
58
- </div>
59
- </div>
60
-
61
- <br><br>
62
-
63
- <div class="row">
64
- <div class="four columns">
65
- <h4>Header Styles</h4>
66
- <p>Optional Subheader Styles</p>
67
- </div>
68
- <div class="eight columns">
69
- <h2>This is a very large main header.</h2>
70
- <h4 class="subheader">This is a smaller subheader.</h4>
71
-
72
- <h3>This is a large header. <small>This is a small segment of that header.</small></h3>
73
- </div>
74
- </div>
75
-
76
- <br><br>
77
-
78
- <div class="row">
79
- <div class="four columns">
80
- <a name="links"></a>
81
- <h4>Links</h4>
82
- <p>Links are very standard, and the color is preset.</p>
83
- </div>
84
- <div class="eight columns">
85
- <h2><a href="#">This is a header link.</a></h2>
86
- <h3><a href="#">This is a header link.</a></h3>
87
- <h4><a href="#">This is a header link.</a></h4>
88
- <h5><a href="#">This is a header link.</a></h5>
89
- <p><a href="#">This is a standard inline paragraph link.</a></p>
90
- </div>
91
- </div>
92
-
93
- <br><br>
94
-
95
- <div class="row">
96
- <div class="four columns">
97
- <a name="lists"></a>
98
- <h4>Lists</h4>
99
- <p>Lists are helpful for, well, lists of things.</p>
100
- </div>
101
- <div class="eight columns">
102
- <h6>ul.disc</h6>
103
- <ul class="disc">
104
- <li>List item with a much longer description or more content.</li>
105
- <li>List item</li>
106
- <li>List item
107
- <ul>
108
- <li>Nested List Item</li>
109
- <li>Nested List Item</li>
110
- <li>Nested List Item</li>
111
- </ul>
112
- </li>
113
- <li>List item</li>
114
- <li>List item</li>
115
- <li>List item</li>
116
- </ul>
117
- <br>
118
- <h6>ul.circle</h6>
119
- <ul class="circle">
120
- <li>List item with a much longer description or more content.</li>
121
- <li>List item</li>
122
- <li>List item
123
- <ul>
124
- <li>Nested List Item</li>
125
- <li>Nested List Item</li>
126
- <li>Nested List Item</li>
127
- </ul>
128
- </li>
129
- <li>List item</li>
130
- <li>List item</li>
131
- <li>List item</li>
132
- </ul>
133
- <br>
134
- <h6>ul.square</h6>
135
- <ul class="square">
136
- <li>List item with a much longer description or more content.</li>
137
- <li>List item</li>
138
- <li>List item
139
- <ul>
140
- <li>Nested List Item</li>
141
- <li>Nested List Item</li>
142
- <li>Nested List Item</li>
143
- </ul>
144
- </li>
145
- <li>List item</li>
146
- <li>List item</li>
147
- <li>List item</li>
148
- </ul>
149
- </div>
150
- </div>
151
-
152
- <br><br>
153
-
154
- <div class="row">
155
- <div class="four columns">
156
- <a name="blockquotes"></a>
157
- <h4>Blockquotes</h4>
158
- <p>Sometimes other people say smart things, and you may want to mention that through a blockquote callout. We've got you covered.</p>
159
- </div>
160
- <br>
161
- <div class="eight columns">
162
- <blockquote>I do not fear computers. I fear the lack of them. Maecenas faucibus mollis interdum. Aenean lacinia bibendum nulla sed consectetur.<cite>Isaac Asimov</cite></blockquote>
163
- </div>
164
- </div>
165
-
166
-
167
- </div>
168
- </div>
169
-
170
- <!-- Included JS Files -->
171
- <script src="../vendor/assets/javascripts/foundation/jquery.js"></script>
172
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.mediaQueryToggle.js"></script>
173
- <script src="../vendor/assets/javascripts/foundation/jquery.placeholder.js"></script>
174
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.alerts.js"></script>
175
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.accordion.js"></script>
176
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.buttons.js"></script>
177
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.tooltips.js"></script>
178
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.forms.js"></script>
179
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.tabs.js"></script>
180
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.navigation.js"></script>
181
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.reveal.js"></script>
182
- <script src="../vendor/assets/javascripts/foundation/jquery.foundation.orbit.js"></script>
183
- <script src="../vendor/assets/javascripts/foundation/app.js"></script>
184
- <script type="text/javascript">
185
- // Page-Specific JavaScript Goes Here
186
- </script>
187
- </body>
188
- </html>
@@ -1,41 +0,0 @@
1
- ;(function ($, window, undefined) {
2
- 'use strict';
3
-
4
- var $doc = $(document),
5
- Modernizr = window.Modernizr;
6
-
7
- $(document).ready(function() {
8
- $.fn.foundationAlerts ? $doc.foundationAlerts() : null;
9
- $.fn.foundationButtons ? $doc.foundationButtons() : null;
10
- $.fn.foundationAccordion ? $doc.foundationAccordion() : null;
11
- $.fn.foundationNavigation ? $doc.foundationNavigation() : null;
12
- $.fn.foundationTopBar ? $doc.foundationTopBar() : null;
13
- $.fn.foundationCustomForms ? $doc.foundationCustomForms() : null;
14
- $.fn.foundationMediaQueryViewer ? $doc.foundationMediaQueryViewer() : null;
15
- $.fn.foundationTabs ? $doc.foundationTabs({callback : $.foundation.customForms.appendCustomMarkup}) : null;
16
- $.fn.foundationTooltips ? $doc.foundationTooltips() : null;
17
- $.fn.foundationMagellan ? $doc.foundationMagellan() : null;
18
- $.fn.foundationClearing ? $doc.foundationClearing() : null;
19
-
20
- $.fn.placeholder ? $('input, textarea').placeholder() : null;
21
- });
22
-
23
- // UNCOMMENT THE LINE YOU WANT BELOW IF YOU WANT IE8 SUPPORT AND ARE USING .block-grids
24
- // $('.block-grid.two-up>li:nth-child(2n+1)').css({clear: 'both'});
25
- // $('.block-grid.three-up>li:nth-child(3n+1)').css({clear: 'both'});
26
- // $('.block-grid.four-up>li:nth-child(4n+1)').css({clear: 'both'});
27
- // $('.block-grid.five-up>li:nth-child(5n+1)').css({clear: 'both'});
28
-
29
- // Hide address bar on mobile devices (except if #hash present, so we don't mess up deep linking).
30
- if (Modernizr.touch && !window.location.hash) {
31
- $(window).load(function () {
32
- setTimeout(function () {
33
- // At load, if user hasn't scrolled more than 20px or so...
34
- if( $(window).scrollTop() < 20 ) {
35
- window.scrollTo(0, 1);
36
- }
37
- }, 0);
38
- });
39
- }
40
-
41
- })(jQuery, this);
@@ -1,19 +0,0 @@
1
- /*
2
- =require foundation/modernizr.foundation
3
- =require foundation/jquery.placeholder
4
- =require foundation/jquery.foundation.alerts
5
- =require foundation/jquery.foundation.accordion
6
- =require foundation/jquery.foundation.buttons
7
- =require foundation/jquery.foundation.tooltips
8
- =require foundation/jquery.foundation.forms
9
- =require foundation/jquery.foundation.tabs
10
- =require foundation/jquery.foundation.navigation
11
- =require foundation/jquery.foundation.topbar
12
- =require foundation/jquery.foundation.reveal
13
- =require foundation/jquery.foundation.orbit
14
- =require foundation/jquery.foundation.magellan
15
- =require foundation/jquery.foundation.joyride
16
- =require foundation/jquery.foundation.clearing
17
- =require foundation/jquery.foundation.mediaQueryToggle
18
- =require foundation/app
19
- */
@@ -1,580 +0,0 @@
1
- // jquery.event.move
2
- //
3
- // 1.3.1
4
- //
5
- // Stephen Band
6
- //
7
- // Triggers 'movestart', 'move' and 'moveend' events after
8
- // mousemoves following a mousedown cross a distance threshold,
9
- // similar to the native 'dragstart', 'drag' and 'dragend' events.
10
- // Move events are throttled to animation frames. Move event objects
11
- // have the properties:
12
- //
13
- // pageX:
14
- // pageY: Page coordinates of pointer.
15
- // startX:
16
- // startY: Page coordinates of pointer at movestart.
17
- // distX:
18
- // distY: Distance the pointer has moved since movestart.
19
- // deltaX:
20
- // deltaY: Distance the finger has moved since last event.
21
- // velocityX:
22
- // velocityY: Average velocity over last few events.
23
-
24
-
25
- (function (module) {
26
- if (typeof define === 'function' && define.amd) {
27
- // AMD. Register as an anonymous module.
28
- define(['jquery'], module);
29
- } else {
30
- // Browser globals
31
- module(jQuery);
32
- }
33
- })(function(jQuery, undefined){
34
-
35
- var // Number of pixels a pressed pointer travels before movestart
36
- // event is fired.
37
- threshold = 6,
38
-
39
- add = jQuery.event.add,
40
-
41
- remove = jQuery.event.remove,
42
-
43
- // Just sugar, so we can have arguments in the same order as
44
- // add and remove.
45
- trigger = function(node, type, data) {
46
- jQuery.event.trigger(type, data, node);
47
- },
48
-
49
- // Shim for requestAnimationFrame, falling back to timer. See:
50
- // see http://paulirish.com/2011/requestanimationframe-for-smart-animating/
51
- requestFrame = (function(){
52
- return (
53
- window.requestAnimationFrame ||
54
- window.webkitRequestAnimationFrame ||
55
- window.mozRequestAnimationFrame ||
56
- window.oRequestAnimationFrame ||
57
- window.msRequestAnimationFrame ||
58
- function(fn, element){
59
- return window.setTimeout(function(){
60
- fn();
61
- }, 25);
62
- }
63
- );
64
- })(),
65
-
66
- ignoreTags = {
67
- textarea: true,
68
- input: true,
69
- select: true,
70
- button: true
71
- },
72
-
73
- mouseevents = {
74
- move: 'mousemove',
75
- cancel: 'mouseup dragstart',
76
- end: 'mouseup'
77
- },
78
-
79
- touchevents = {
80
- move: 'touchmove',
81
- cancel: 'touchend',
82
- end: 'touchend'
83
- };
84
-
85
-
86
- // Constructors
87
-
88
- function Timer(fn){
89
- var callback = fn,
90
- active = false,
91
- running = false;
92
-
93
- function trigger(time) {
94
- if (active){
95
- callback();
96
- requestFrame(trigger);
97
- running = true;
98
- active = false;
99
- }
100
- else {
101
- running = false;
102
- }
103
- }
104
-
105
- this.kick = function(fn) {
106
- active = true;
107
- if (!running) { trigger(); }
108
- };
109
-
110
- this.end = function(fn) {
111
- var cb = callback;
112
-
113
- if (!fn) { return; }
114
-
115
- // If the timer is not running, simply call the end callback.
116
- if (!running) {
117
- fn();
118
- }
119
- // If the timer is running, and has been kicked lately, then
120
- // queue up the current callback and the end callback, otherwise
121
- // just the end callback.
122
- else {
123
- callback = active ?
124
- function(){ cb(); fn(); } :
125
- fn ;
126
-
127
- active = true;
128
- }
129
- };
130
- }
131
-
132
-
133
- // Functions
134
-
135
- function returnTrue() {
136
- return true;
137
- }
138
-
139
- function returnFalse() {
140
- return false;
141
- }
142
-
143
- function preventDefault(e) {
144
- e.preventDefault();
145
- }
146
-
147
- function preventIgnoreTags(e) {
148
- // Don't prevent interaction with form elements.
149
- if (ignoreTags[ e.target.tagName.toLowerCase() ]) { return; }
150
-
151
- e.preventDefault();
152
- }
153
-
154
- function isLeftButton(e) {
155
- // Ignore mousedowns on any button other than the left (or primary)
156
- // mouse button, or when a modifier key is pressed.
157
- return (e.which === 1 && !e.ctrlKey && !e.altKey);
158
- }
159
-
160
- function identifiedTouch(touchList, id) {
161
- var i, l;
162
-
163
- if (touchList.identifiedTouch) {
164
- return touchList.identifiedTouch(id);
165
- }
166
-
167
- // touchList.identifiedTouch() does not exist in
168
- // webkit yet… we must do the search ourselves...
169
-
170
- i = -1;
171
- l = touchList.length;
172
-
173
- while (++i < l) {
174
- if (touchList[i].identifier === id) {
175
- return touchList[i];
176
- }
177
- }
178
- }
179
-
180
- function changedTouch(e, event) {
181
- var touch = identifiedTouch(e.changedTouches, event.identifier);
182
-
183
- // This isn't the touch you're looking for.
184
- if (!touch) { return; }
185
-
186
- // Chrome Android (at least) includes touches that have not
187
- // changed in e.changedTouches. That's a bit annoying. Check
188
- // that this touch has changed.
189
- if (touch.pageX === event.pageX && touch.pageY === event.pageY) { return; }
190
-
191
- return touch;
192
- }
193
-
194
-
195
- // Handlers that decide when the first movestart is triggered
196
-
197
- function mousedown(e){
198
- var data;
199
-
200
- if (!isLeftButton(e)) { return; }
201
-
202
- data = {
203
- target: e.target,
204
- startX: e.pageX,
205
- startY: e.pageY,
206
- timeStamp: e.timeStamp
207
- };
208
-
209
- add(document, mouseevents.move, mousemove, data);
210
- add(document, mouseevents.cancel, mouseend, data);
211
- }
212
-
213
- function mousemove(e){
214
- var data = e.data;
215
-
216
- checkThreshold(e, data, e, removeMouse);
217
- }
218
-
219
- function mouseend(e) {
220
- removeMouse();
221
- }
222
-
223
- function removeMouse() {
224
- remove(document, mouseevents.move, mousemove);
225
- remove(document, mouseevents.cancel, removeMouse);
226
- }
227
-
228
- function touchstart(e) {
229
- var touch, template;
230
-
231
- // Don't get in the way of interaction with form elements.
232
- if (ignoreTags[ e.target.tagName.toLowerCase() ]) { return; }
233
-
234
- touch = e.changedTouches[0];
235
-
236
- // iOS live updates the touch objects whereas Android gives us copies.
237
- // That means we can't trust the touchstart object to stay the same,
238
- // so we must copy the data. This object acts as a template for
239
- // movestart, move and moveend event objects.
240
- template = {
241
- target: touch.target,
242
- startX: touch.pageX,
243
- startY: touch.pageY,
244
- timeStamp: e.timeStamp,
245
- identifier: touch.identifier
246
- };
247
-
248
- // Use the touch identifier as a namespace, so that we can later
249
- // remove handlers pertaining only to this touch.
250
- add(document, touchevents.move + '.' + touch.identifier, touchmove, template);
251
- add(document, touchevents.cancel + '.' + touch.identifier, touchend, template);
252
- }
253
-
254
- function touchmove(e){
255
- var data = e.data,
256
- touch = changedTouch(e, data);
257
-
258
- if (!touch) { return; }
259
-
260
- checkThreshold(e, data, touch, removeTouch);
261
- }
262
-
263
- function touchend(e) {
264
- var template = e.data,
265
- touch = identifiedTouch(e.changedTouches, template.identifier);
266
-
267
- if (!touch) { return; }
268
-
269
- removeTouch(template.identifier);
270
- }
271
-
272
- function removeTouch(identifier) {
273
- remove(document, '.' + identifier, touchmove);
274
- remove(document, '.' + identifier, touchend);
275
- }
276
-
277
-
278
- // Logic for deciding when to trigger a movestart.
279
-
280
- function checkThreshold(e, template, touch, fn) {
281
- var distX = touch.pageX - template.startX,
282
- distY = touch.pageY - template.startY;
283
-
284
- // Do nothing if the threshold has not been crossed.
285
- if ((distX * distX) + (distY * distY) < (threshold * threshold)) { return; }
286
-
287
- triggerStart(e, template, touch, distX, distY, fn);
288
- }
289
-
290
- function handled() {
291
- // this._handled should return false once, and after return true.
292
- this._handled = returnTrue;
293
- return false;
294
- }
295
-
296
- function flagAsHandled(e) {
297
- e._handled();
298
- }
299
-
300
- function triggerStart(e, template, touch, distX, distY, fn) {
301
- var node = template.target,
302
- touches, time;
303
-
304
- touches = e.targetTouches;
305
- time = e.timeStamp - template.timeStamp;
306
-
307
- // Create a movestart object with some special properties that
308
- // are passed only to the movestart handlers.
309
- template.type = 'movestart';
310
- template.distX = distX;
311
- template.distY = distY;
312
- template.deltaX = distX;
313
- template.deltaY = distY;
314
- template.pageX = touch.pageX;
315
- template.pageY = touch.pageY;
316
- template.velocityX = distX / time;
317
- template.velocityY = distY / time;
318
- template.targetTouches = touches;
319
- template.finger = touches ?
320
- touches.length :
321
- 1 ;
322
-
323
- // The _handled method is fired to tell the default movestart
324
- // handler that one of the move events is bound.
325
- template._handled = handled;
326
-
327
- // Pass the touchmove event so it can be prevented if or when
328
- // movestart is handled.
329
- template._preventTouchmoveDefault = function() {
330
- e.preventDefault();
331
- };
332
-
333
- // Trigger the movestart event.
334
- trigger(template.target, template);
335
-
336
- // Unbind handlers that tracked the touch or mouse up till now.
337
- fn(template.identifier);
338
- }
339
-
340
-
341
- // Handlers that control what happens following a movestart
342
-
343
- function activeMousemove(e) {
344
- var event = e.data.event,
345
- timer = e.data.timer;
346
-
347
- updateEvent(event, e, e.timeStamp, timer);
348
- }
349
-
350
- function activeMouseend(e) {
351
- var event = e.data.event,
352
- timer = e.data.timer;
353
-
354
- removeActiveMouse();
355
-
356
- endEvent(event, timer, function() {
357
- // Unbind the click suppressor, waiting until after mouseup
358
- // has been handled.
359
- setTimeout(function(){
360
- remove(event.target, 'click', returnFalse);
361
- }, 0);
362
- });
363
- }
364
-
365
- function removeActiveMouse(event) {
366
- remove(document, mouseevents.move, activeMousemove);
367
- remove(document, mouseevents.end, activeMouseend);
368
- }
369
-
370
- function activeTouchmove(e) {
371
- var event = e.data.event,
372
- timer = e.data.timer,
373
- touch = changedTouch(e, event);
374
-
375
- if (!touch) { return; }
376
-
377
- // Stop the interface from gesturing
378
- e.preventDefault();
379
-
380
- event.targetTouches = e.targetTouches;
381
- updateEvent(event, touch, e.timeStamp, timer);
382
- }
383
-
384
- function activeTouchend(e) {
385
- var event = e.data.event,
386
- timer = e.data.timer,
387
- touch = identifiedTouch(e.changedTouches, event.identifier);
388
-
389
- // This isn't the touch you're looking for.
390
- if (!touch) { return; }
391
-
392
- removeActiveTouch(event);
393
- endEvent(event, timer);
394
- }
395
-
396
- function removeActiveTouch(event) {
397
- remove(document, '.' + event.identifier, activeTouchmove);
398
- remove(document, '.' + event.identifier, activeTouchend);
399
- }
400
-
401
-
402
- // Logic for triggering move and moveend events
403
-
404
- function updateEvent(event, touch, timeStamp, timer) {
405
- var time = timeStamp - event.timeStamp;
406
-
407
- event.type = 'move';
408
- event.distX = touch.pageX - event.startX;
409
- event.distY = touch.pageY - event.startY;
410
- event.deltaX = touch.pageX - event.pageX;
411
- event.deltaY = touch.pageY - event.pageY;
412
-
413
- // Average the velocity of the last few events using a decay
414
- // curve to even out spurious jumps in values.
415
- event.velocityX = 0.3 * event.velocityX + 0.7 * event.deltaX / time;
416
- event.velocityY = 0.3 * event.velocityY + 0.7 * event.deltaY / time;
417
- event.pageX = touch.pageX;
418
- event.pageY = touch.pageY;
419
-
420
- timer.kick();
421
- }
422
-
423
- function endEvent(event, timer, fn) {
424
- timer.end(function(){
425
- event.type = 'moveend';
426
-
427
- trigger(event.target, event);
428
-
429
- return fn && fn();
430
- });
431
- }
432
-
433
-
434
- // jQuery special event definition
435
-
436
- function setup(data, namespaces, eventHandle) {
437
- // Stop the node from being dragged
438
- //add(this, 'dragstart.move drag.move', preventDefault);
439
-
440
- // Prevent text selection and touch interface scrolling
441
- //add(this, 'mousedown.move', preventIgnoreTags);
442
-
443
- // Tell movestart default handler that we've handled this
444
- add(this, 'movestart.move', flagAsHandled);
445
-
446
- // Don't bind to the DOM. For speed.
447
- return true;
448
- }
449
-
450
- function teardown(namespaces) {
451
- remove(this, 'dragstart drag', preventDefault);
452
- remove(this, 'mousedown touchstart', preventIgnoreTags);
453
- remove(this, 'movestart', flagAsHandled);
454
-
455
- // Don't bind to the DOM. For speed.
456
- return true;
457
- }
458
-
459
- function addMethod(handleObj) {
460
- // We're not interested in preventing defaults for handlers that
461
- // come from internal move or moveend bindings
462
- if (handleObj.namespace === "move" || handleObj.namespace === "moveend") {
463
- return;
464
- }
465
-
466
- // Stop the node from being dragged
467
- add(this, 'dragstart.' + handleObj.guid + ' drag.' + handleObj.guid, preventDefault, undefined, handleObj.selector);
468
-
469
- // Prevent text selection and touch interface scrolling
470
- add(this, 'mousedown.' + handleObj.guid, preventIgnoreTags, undefined, handleObj.selector);
471
- }
472
-
473
- function removeMethod(handleObj) {
474
- if (handleObj.namespace === "move" || handleObj.namespace === "moveend") {
475
- return;
476
- }
477
-
478
- remove(this, 'dragstart.' + handleObj.guid + ' drag.' + handleObj.guid);
479
- remove(this, 'mousedown.' + handleObj.guid);
480
- }
481
-
482
- jQuery.event.special.movestart = {
483
- setup: setup,
484
- teardown: teardown,
485
- add: addMethod,
486
- remove: removeMethod,
487
-
488
- _default: function(e) {
489
- var template, data;
490
-
491
- // If no move events were bound to any ancestors of this
492
- // target, high tail it out of here.
493
- if (!e._handled()) { return; }
494
-
495
- template = {
496
- target: e.target,
497
- startX: e.startX,
498
- startY: e.startY,
499
- pageX: e.pageX,
500
- pageY: e.pageY,
501
- distX: e.distX,
502
- distY: e.distY,
503
- deltaX: e.deltaX,
504
- deltaY: e.deltaY,
505
- velocityX: e.velocityX,
506
- velocityY: e.velocityY,
507
- timeStamp: e.timeStamp,
508
- identifier: e.identifier,
509
- targetTouches: e.targetTouches,
510
- finger: e.finger
511
- };
512
-
513
- data = {
514
- event: template,
515
- timer: new Timer(function(time){
516
- trigger(e.target, template);
517
- })
518
- };
519
-
520
- if (e.identifier === undefined) {
521
- // We're dealing with a mouse
522
- // Stop clicks from propagating during a move
523
- add(e.target, 'click', returnFalse);
524
- add(document, mouseevents.move, activeMousemove, data);
525
- add(document, mouseevents.end, activeMouseend, data);
526
- }
527
- else {
528
- // We're dealing with a touch. Stop touchmove doing
529
- // anything defaulty.
530
- e._preventTouchmoveDefault();
531
- add(document, touchevents.move + '.' + e.identifier, activeTouchmove, data);
532
- add(document, touchevents.end + '.' + e.identifier, activeTouchend, data);
533
- }
534
- }
535
- };
536
-
537
- jQuery.event.special.move = {
538
- setup: function() {
539
- // Bind a noop to movestart. Why? It's the movestart
540
- // setup that decides whether other move events are fired.
541
- add(this, 'movestart.move', jQuery.noop);
542
- },
543
-
544
- teardown: function() {
545
- remove(this, 'movestart.move', jQuery.noop);
546
- }
547
- };
548
-
549
- jQuery.event.special.moveend = {
550
- setup: function() {
551
- // Bind a noop to movestart. Why? It's the movestart
552
- // setup that decides whether other move events are fired.
553
- add(this, 'movestart.moveend', jQuery.noop);
554
- },
555
-
556
- teardown: function() {
557
- remove(this, 'movestart.moveend', jQuery.noop);
558
- }
559
- };
560
-
561
- add(document, 'mousedown.move', mousedown);
562
- add(document, 'touchstart.move', touchstart);
563
-
564
- // Make jQuery copy touch event properties over to the jQuery event
565
- // object, if they are not already listed. But only do the ones we
566
- // really need. IE7/8 do not have Array#indexOf(), but nor do they
567
- // have touch events, so let's assume we can ignore them.
568
- if (typeof Array.prototype.indexOf === 'function') {
569
- (function(jQuery, undefined){
570
- var props = ["changedTouches", "targetTouches"],
571
- l = props.length;
572
-
573
- while (l--) {
574
- if (jQuery.event.props.indexOf(props[l]) === -1) {
575
- jQuery.event.props.push(props[l]);
576
- }
577
- }
578
- })(jQuery);
579
- };
580
- });