aacinfo-theme 0.2.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (489) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +25 -1
  3. data/_includes/footer.html +54 -0
  4. data/_includes/header.html +46 -0
  5. data/_includes/parts/content.html +6 -0
  6. data/_includes/parts/social-media.html +10 -0
  7. data/_includes/theme-menu.html +27 -28
  8. data/_layouts/theme.html +14 -26
  9. data/_layouts/title-page.html +22 -0
  10. data/_sass/_style.scss +122 -0
  11. data/_sass/components/_blockquotes.scss +62 -0
  12. data/_sass/components/_buttons.scss +100 -0
  13. data/_sass/components/_cards.scss +29 -0
  14. data/_sass/components/_dividers.scss +165 -0
  15. data/_sass/components/_featured-image.scss +14 -0
  16. data/_sass/components/_forms.scss +414 -0
  17. data/_sass/components/_links.scss +83 -0
  18. data/_sass/components/_pagination.scss +91 -0
  19. data/_sass/components/_selectric.scss +200 -0
  20. data/_sass/components/_slick-theme.scss +194 -0
  21. data/_sass/components/_slick.scss +98 -0
  22. data/_sass/components/_spinner.scss +356 -0
  23. data/_sass/components/_svg.scss +12 -0
  24. data/_sass/fontawesome/.bower.json +36 -0
  25. data/_sass/fontawesome/.gitignore +33 -0
  26. data/_sass/fontawesome/.npmignore +42 -0
  27. data/_sass/fontawesome/HELP-US-OUT.txt +7 -0
  28. data/_sass/fontawesome/bower.json +22 -0
  29. data/{assets → _sass/fontawesome}/css/font-awesome.css +547 -11
  30. data/_sass/fontawesome/css/font-awesome.css.map +7 -0
  31. data/_sass/fontawesome/css/font-awesome.min.css +4 -0
  32. data/_sass/fontawesome/fonts/FontAwesome.otf +0 -0
  33. data/_sass/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  34. data/_sass/fontawesome/fonts/fontawesome-webfont.svg +2671 -0
  35. data/_sass/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  36. data/_sass/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  37. data/_sass/fontawesome/fonts/fontawesome-webfont.woff2 +0 -0
  38. data/_sass/fontawesome/less/animated.less +34 -0
  39. data/_sass/fontawesome/less/bordered-pulled.less +25 -0
  40. data/_sass/fontawesome/less/core.less +12 -0
  41. data/_sass/fontawesome/less/fixed-width.less +6 -0
  42. data/_sass/fontawesome/less/font-awesome.less +18 -0
  43. data/_sass/fontawesome/less/icons.less +789 -0
  44. data/_sass/fontawesome/less/larger.less +13 -0
  45. data/_sass/fontawesome/less/list.less +19 -0
  46. data/_sass/fontawesome/less/mixins.less +60 -0
  47. data/_sass/fontawesome/less/path.less +15 -0
  48. data/_sass/fontawesome/less/rotated-flipped.less +20 -0
  49. data/_sass/fontawesome/less/screen-reader.less +5 -0
  50. data/_sass/fontawesome/less/stacked.less +20 -0
  51. data/_sass/fontawesome/less/variables.less +800 -0
  52. data/_sass/fontawesome/scss/_animated.scss +34 -0
  53. data/_sass/fontawesome/scss/_bordered-pulled.scss +25 -0
  54. data/_sass/fontawesome/scss/_core.scss +12 -0
  55. data/_sass/fontawesome/scss/_fixed-width.scss +6 -0
  56. data/_sass/fontawesome/scss/_icons.scss +789 -0
  57. data/_sass/fontawesome/scss/_larger.scss +13 -0
  58. data/_sass/fontawesome/scss/_list.scss +19 -0
  59. data/_sass/fontawesome/scss/_mixins.scss +60 -0
  60. data/_sass/fontawesome/scss/_path.scss +15 -0
  61. data/_sass/fontawesome/scss/_rotated-flipped.scss +20 -0
  62. data/_sass/fontawesome/scss/_screen-reader.scss +5 -0
  63. data/_sass/fontawesome/scss/_stacked.scss +20 -0
  64. data/_sass/fontawesome/scss/_variables.scss +800 -0
  65. data/_sass/fontawesome/scss/font-awesome.scss +18 -0
  66. data/_sass/foundation-sites/.bower.json +44 -0
  67. data/_sass/foundation-sites/.bowerrc +3 -0
  68. data/_sass/foundation-sites/.eslintrc +64 -0
  69. data/_sass/foundation-sites/.github/ISSUE_TEMPLATE.md +21 -0
  70. data/_sass/foundation-sites/.github/PULL_REQUEST_TEMPLATE.md +9 -0
  71. data/_sass/foundation-sites/.sass-lint.yml +409 -0
  72. data/_sass/foundation-sites/.travis.yml +9 -0
  73. data/_sass/foundation-sites/LICENSE +22 -0
  74. data/_sass/foundation-sites/README.md +52 -0
  75. data/_sass/foundation-sites/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  76. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  77. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  78. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  79. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  80. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  81. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  82. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  83. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  84. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  85. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  86. data/_sass/foundation-sites/assets/foundation-flex.scss +3 -0
  87. data/_sass/foundation-sites/assets/foundation-rtl.scss +5 -0
  88. data/_sass/foundation-sites/assets/foundation.scss +3 -0
  89. data/_sass/foundation-sites/bower.json +34 -0
  90. data/_sass/foundation-sites/browserstack.json +32 -0
  91. data/_sass/foundation-sites/code-of-conduct.md +43 -0
  92. data/_sass/foundation-sites/customizer/complete.json +48 -0
  93. data/_sass/foundation-sites/customizer/config.yml +228 -0
  94. data/_sass/foundation-sites/customizer/essential.json +11 -0
  95. data/_sass/foundation-sites/customizer/index.html +169 -0
  96. data/_sass/foundation-sites/dist/css/foundation-flex.css +4566 -0
  97. data/_sass/foundation-sites/dist/css/foundation-flex.min.css +2 -0
  98. data/_sass/foundation-sites/dist/css/foundation-rtl.css +4006 -0
  99. data/_sass/foundation-sites/dist/css/foundation-rtl.min.css +2 -0
  100. data/_sass/foundation-sites/dist/css/foundation.css +4001 -0
  101. data/_sass/foundation-sites/dist/css/foundation.min.css +2 -0
  102. data/_sass/foundation-sites/dist/js/foundation.d.ts +496 -0
  103. data/_sass/foundation-sites/dist/js/foundation.js +10207 -0
  104. data/_sass/foundation-sites/dist/js/foundation.min.js +4 -0
  105. data/_sass/foundation-sites/dist/js/plugins/foundation.abide.js +637 -0
  106. data/_sass/foundation-sites/dist/js/plugins/foundation.abide.min.js +1 -0
  107. data/_sass/foundation-sites/dist/js/plugins/foundation.accordion.js +252 -0
  108. data/_sass/foundation-sites/dist/js/plugins/foundation.accordion.min.js +1 -0
  109. data/_sass/foundation-sites/dist/js/plugins/foundation.accordionMenu.js +318 -0
  110. data/_sass/foundation-sites/dist/js/plugins/foundation.accordionMenu.min.js +1 -0
  111. data/_sass/foundation-sites/dist/js/plugins/foundation.core.js +386 -0
  112. data/_sass/foundation-sites/dist/js/plugins/foundation.core.min.js +1 -0
  113. data/_sass/foundation-sites/dist/js/plugins/foundation.drilldown.js +565 -0
  114. data/_sass/foundation-sites/dist/js/plugins/foundation.drilldown.min.js +1 -0
  115. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdown.js +465 -0
  116. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdown.min.js +1 -0
  117. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdownMenu.js +486 -0
  118. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdownMenu.min.js +1 -0
  119. data/_sass/foundation-sites/dist/js/plugins/foundation.equalizer.js +374 -0
  120. data/_sass/foundation-sites/dist/js/plugins/foundation.equalizer.min.js +1 -0
  121. data/_sass/foundation-sites/dist/js/plugins/foundation.interchange.js +233 -0
  122. data/_sass/foundation-sites/dist/js/plugins/foundation.interchange.min.js +1 -0
  123. data/_sass/foundation-sites/dist/js/plugins/foundation.magellan.js +285 -0
  124. data/_sass/foundation-sites/dist/js/plugins/foundation.magellan.min.js +1 -0
  125. data/_sass/foundation-sites/dist/js/plugins/foundation.offcanvas.js +474 -0
  126. data/_sass/foundation-sites/dist/js/plugins/foundation.offcanvas.min.js +1 -0
  127. data/_sass/foundation-sites/dist/js/plugins/foundation.orbit.js +566 -0
  128. data/_sass/foundation-sites/dist/js/plugins/foundation.orbit.min.js +1 -0
  129. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveMenu.js +169 -0
  130. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveMenu.min.js +1 -0
  131. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveToggle.js +177 -0
  132. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveToggle.min.js +1 -0
  133. data/_sass/foundation-sites/dist/js/plugins/foundation.reveal.js +633 -0
  134. data/_sass/foundation-sites/dist/js/plugins/foundation.reveal.min.js +1 -0
  135. data/_sass/foundation-sites/dist/js/plugins/foundation.slider.js +762 -0
  136. data/_sass/foundation-sites/dist/js/plugins/foundation.slider.min.js +1 -0
  137. data/_sass/foundation-sites/dist/js/plugins/foundation.sticky.js +518 -0
  138. data/_sass/foundation-sites/dist/js/plugins/foundation.sticky.min.js +1 -0
  139. data/_sass/foundation-sites/dist/js/plugins/foundation.tabs.js +512 -0
  140. data/_sass/foundation-sites/dist/js/plugins/foundation.tabs.min.js +1 -0
  141. data/_sass/foundation-sites/dist/js/plugins/foundation.toggler.js +169 -0
  142. data/_sass/foundation-sites/dist/js/plugins/foundation.toggler.min.js +1 -0
  143. data/_sass/foundation-sites/dist/js/plugins/foundation.tooltip.js +492 -0
  144. data/_sass/foundation-sites/dist/js/plugins/foundation.tooltip.min.js +1 -0
  145. data/_sass/foundation-sites/dist/js/plugins/foundation.util.box.js +196 -0
  146. data/_sass/foundation-sites/dist/js/plugins/foundation.util.box.min.js +1 -0
  147. data/_sass/foundation-sites/dist/js/plugins/foundation.util.keyboard.js +163 -0
  148. data/_sass/foundation-sites/dist/js/plugins/foundation.util.keyboard.min.js +1 -0
  149. data/_sass/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.js +233 -0
  150. data/_sass/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.min.js +1 -0
  151. data/_sass/foundation-sites/dist/js/plugins/foundation.util.motion.js +103 -0
  152. data/_sass/foundation-sites/dist/js/plugins/foundation.util.motion.min.js +1 -0
  153. data/_sass/foundation-sites/dist/js/plugins/foundation.util.nest.js +74 -0
  154. data/_sass/foundation-sites/dist/js/plugins/foundation.util.nest.min.js +1 -0
  155. data/_sass/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.js +90 -0
  156. data/_sass/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.min.js +1 -0
  157. data/_sass/foundation-sites/dist/js/plugins/foundation.util.touch.js +352 -0
  158. data/_sass/foundation-sites/dist/js/plugins/foundation.util.touch.min.js +1 -0
  159. data/_sass/foundation-sites/dist/js/plugins/foundation.util.triggers.js +261 -0
  160. data/_sass/foundation-sites/dist/js/plugins/foundation.util.triggers.min.js +1 -0
  161. data/_sass/foundation-sites/dist/js/plugins/foundation.zf.responsiveAccordionTabs.js +262 -0
  162. data/_sass/foundation-sites/dist/js/plugins/foundation.zf.responsiveAccordionTabs.min.js +1 -0
  163. data/_sass/foundation-sites/docslink.sh +3 -0
  164. data/_sass/foundation-sites/js/foundation.abide.js +584 -0
  165. data/_sass/foundation-sites/js/foundation.accordion.js +315 -0
  166. data/_sass/foundation-sites/js/foundation.accordionMenu.js +283 -0
  167. data/_sass/foundation-sites/js/foundation.core.js +378 -0
  168. data/_sass/foundation-sites/js/foundation.drilldown.js +518 -0
  169. data/_sass/foundation-sites/js/foundation.dropdown.js +432 -0
  170. data/_sass/foundation-sites/js/foundation.dropdownMenu.js +442 -0
  171. data/_sass/foundation-sites/js/foundation.equalizer.js +317 -0
  172. data/_sass/foundation-sites/js/foundation.interchange.js +203 -0
  173. data/_sass/foundation-sites/js/foundation.magellan.js +251 -0
  174. data/_sass/foundation-sites/js/foundation.offcanvas.js +434 -0
  175. data/_sass/foundation-sites/js/foundation.orbit.js +523 -0
  176. data/_sass/foundation-sites/js/foundation.responsiveMenu.js +147 -0
  177. data/_sass/foundation-sites/js/foundation.responsiveToggle.js +155 -0
  178. data/_sass/foundation-sites/js/foundation.reveal.js +603 -0
  179. data/_sass/foundation-sites/js/foundation.slider.js +697 -0
  180. data/_sass/foundation-sites/js/foundation.sticky.js +499 -0
  181. data/_sass/foundation-sites/js/foundation.tabs.js +490 -0
  182. data/_sass/foundation-sites/js/foundation.toggler.js +148 -0
  183. data/_sass/foundation-sites/js/foundation.tooltip.js +470 -0
  184. data/_sass/foundation-sites/js/foundation.util.box.js +195 -0
  185. data/_sass/foundation-sites/js/foundation.util.keyboard.js +152 -0
  186. data/_sass/foundation-sites/js/foundation.util.mediaQuery.js +230 -0
  187. data/_sass/foundation-sites/js/foundation.util.motion.js +105 -0
  188. data/_sass/foundation-sites/js/foundation.util.nest.js +81 -0
  189. data/_sass/foundation-sites/js/foundation.util.timerAndImageLoader.js +88 -0
  190. data/_sass/foundation-sites/js/foundation.util.touch.js +352 -0
  191. data/_sass/foundation-sites/js/foundation.util.triggers.js +210 -0
  192. data/_sass/foundation-sites/js/foundation.zf.responsiveAccordionTabs.js +240 -0
  193. data/_sass/foundation-sites/scss/_global.scss +219 -0
  194. data/_sass/foundation-sites/scss/components/_accordion-menu.scss +36 -0
  195. data/_sass/foundation-sites/scss/components/_accordion.scss +150 -0
  196. data/_sass/foundation-sites/scss/components/_badge.scss +63 -0
  197. data/_sass/foundation-sites/scss/components/_breadcrumbs.scss +100 -0
  198. data/_sass/foundation-sites/scss/components/_button-group.scss +253 -0
  199. data/_sass/foundation-sites/scss/components/_button.scss +332 -0
  200. data/_sass/foundation-sites/scss/components/_callout.scss +106 -0
  201. data/_sass/foundation-sites/scss/components/_card.scss +121 -0
  202. data/_sass/foundation-sites/scss/components/_close-button.scss +102 -0
  203. data/_sass/foundation-sites/scss/components/_drilldown.scss +93 -0
  204. data/_sass/foundation-sites/scss/components/_dropdown-menu.scss +226 -0
  205. data/_sass/foundation-sites/scss/components/_dropdown.scss +72 -0
  206. data/_sass/foundation-sites/scss/components/_flex-video.scss +1 -0
  207. data/_sass/foundation-sites/scss/components/_flex.scss +34 -0
  208. data/_sass/foundation-sites/scss/components/_float.scss +27 -0
  209. data/_sass/foundation-sites/scss/components/_label.scss +64 -0
  210. data/_sass/foundation-sites/scss/components/_media-object.scss +114 -0
  211. data/_sass/foundation-sites/scss/components/_menu-icon.scss +9 -0
  212. data/_sass/foundation-sites/scss/components/_menu.scss +376 -0
  213. data/_sass/foundation-sites/scss/components/_off-canvas.scss +329 -0
  214. data/_sass/foundation-sites/scss/components/_orbit.scss +196 -0
  215. data/_sass/foundation-sites/scss/components/_pagination.scss +193 -0
  216. data/_sass/foundation-sites/scss/components/_progress-bar.scss +64 -0
  217. data/_sass/foundation-sites/scss/components/_responsive-embed.scss +70 -0
  218. data/_sass/foundation-sites/scss/components/_reveal.scss +178 -0
  219. data/_sass/foundation-sites/scss/components/_slider.scss +138 -0
  220. data/_sass/foundation-sites/scss/components/_sticky.scss +38 -0
  221. data/_sass/foundation-sites/scss/components/_switch.scss +247 -0
  222. data/_sass/foundation-sites/scss/components/_table.scss +329 -0
  223. data/_sass/foundation-sites/scss/components/_tabs.scss +196 -0
  224. data/_sass/foundation-sites/scss/components/_thumbnail.scss +67 -0
  225. data/_sass/foundation-sites/scss/components/_title-bar.scss +84 -0
  226. data/_sass/foundation-sites/scss/components/_tooltip.scss +107 -0
  227. data/_sass/foundation-sites/scss/components/_top-bar.scss +173 -0
  228. data/_sass/foundation-sites/scss/components/_visibility.scss +132 -0
  229. data/_sass/foundation-sites/scss/forms/_checkbox.scss +41 -0
  230. data/_sass/foundation-sites/scss/forms/_error.scss +88 -0
  231. data/_sass/foundation-sites/scss/forms/_fieldset.scss +54 -0
  232. data/_sass/foundation-sites/scss/forms/_forms.scss +34 -0
  233. data/_sass/foundation-sites/scss/forms/_help-text.scss +30 -0
  234. data/_sass/foundation-sites/scss/forms/_input-group.scss +135 -0
  235. data/_sass/foundation-sites/scss/forms/_label.scss +50 -0
  236. data/_sass/foundation-sites/scss/forms/_meter.scss +110 -0
  237. data/_sass/foundation-sites/scss/forms/_progress.scss +94 -0
  238. data/_sass/foundation-sites/scss/forms/_range.scss +149 -0
  239. data/_sass/foundation-sites/scss/forms/_select.scss +85 -0
  240. data/_sass/foundation-sites/scss/forms/_text.scss +170 -0
  241. data/_sass/foundation-sites/scss/foundation.scss +118 -0
  242. data/_sass/foundation-sites/scss/grid/_classes.scss +176 -0
  243. data/_sass/foundation-sites/scss/grid/_column.scss +112 -0
  244. data/_sass/foundation-sites/scss/grid/_flex-grid.scss +312 -0
  245. data/_sass/foundation-sites/scss/grid/_grid.scss +48 -0
  246. data/_sass/foundation-sites/scss/grid/_gutter.scss +82 -0
  247. data/_sass/foundation-sites/scss/grid/_layout.scss +76 -0
  248. data/_sass/foundation-sites/scss/grid/_position.scss +76 -0
  249. data/_sass/foundation-sites/scss/grid/_row.scss +99 -0
  250. data/_sass/foundation-sites/scss/grid/_size.scss +24 -0
  251. data/_sass/foundation-sites/scss/settings/_settings.scss +620 -0
  252. data/_sass/foundation-sites/scss/typography/_alignment.scss +22 -0
  253. data/_sass/foundation-sites/scss/typography/_base.scss +509 -0
  254. data/_sass/foundation-sites/scss/typography/_helpers.scss +78 -0
  255. data/_sass/foundation-sites/scss/typography/_print.scss +86 -0
  256. data/_sass/foundation-sites/scss/typography/_typography.scss +26 -0
  257. data/_sass/foundation-sites/scss/util/_breakpoint.scss +281 -0
  258. data/_sass/foundation-sites/scss/util/_color.scss +126 -0
  259. data/_sass/foundation-sites/scss/util/_direction.scss +31 -0
  260. data/_sass/foundation-sites/scss/util/_flex.scss +85 -0
  261. data/_sass/foundation-sites/scss/util/_math.scss +72 -0
  262. data/_sass/foundation-sites/scss/util/_mixins.scss +276 -0
  263. data/_sass/foundation-sites/scss/util/_selector.scss +41 -0
  264. data/_sass/foundation-sites/scss/util/_typography.scss +26 -0
  265. data/_sass/foundation-sites/scss/util/_unit.scss +152 -0
  266. data/_sass/foundation-sites/scss/util/_util.scss +14 -0
  267. data/_sass/foundation-sites/scss/util/_value.scss +160 -0
  268. data/_sass/global/_accessibility.scss +32 -0
  269. data/_sass/global/_functions.scss +7 -0
  270. data/_sass/global/_modernizr.scss +0 -0
  271. data/_sass/global/_settings.scss +657 -0
  272. data/_sass/global/_wp-admin.scss +24 -0
  273. data/_sass/global/_wp-overrides.scss +51 -0
  274. data/_sass/jquery/.bower.json +25 -0
  275. data/_sass/jquery/AUTHORS.txt +278 -0
  276. data/_sass/jquery/LICENSE.txt +36 -0
  277. data/_sass/jquery/README.md +65 -0
  278. data/_sass/jquery/bower.json +14 -0
  279. data/_sass/jquery/dist/jquery.js +9814 -0
  280. data/_sass/jquery/dist/jquery.min.js +4 -0
  281. data/_sass/jquery/dist/jquery.min.map +1 -0
  282. data/_sass/jquery/external/sizzle/LICENSE.txt +36 -0
  283. data/_sass/jquery/external/sizzle/dist/sizzle.js +2143 -0
  284. data/_sass/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  285. data/_sass/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  286. data/_sass/jquery/src/.jshintrc +29 -0
  287. data/_sass/jquery/src/ajax.js +845 -0
  288. data/_sass/jquery/src/ajax/jsonp.js +100 -0
  289. data/_sass/jquery/src/ajax/load.js +83 -0
  290. data/_sass/jquery/src/ajax/parseJSON.js +13 -0
  291. data/_sass/jquery/src/ajax/parseXML.js +27 -0
  292. data/_sass/jquery/src/ajax/script.js +68 -0
  293. data/_sass/jquery/src/ajax/var/location.js +3 -0
  294. data/_sass/jquery/src/ajax/var/nonce.js +5 -0
  295. data/_sass/jquery/src/ajax/var/rquery.js +3 -0
  296. data/_sass/jquery/src/ajax/xhr.js +167 -0
  297. data/_sass/jquery/src/attributes.js +11 -0
  298. data/_sass/jquery/src/attributes/attr.js +142 -0
  299. data/_sass/jquery/src/attributes/classes.js +177 -0
  300. data/_sass/jquery/src/attributes/prop.js +125 -0
  301. data/_sass/jquery/src/attributes/support.js +36 -0
  302. data/_sass/jquery/src/attributes/val.js +177 -0
  303. data/_sass/jquery/src/callbacks.js +232 -0
  304. data/_sass/jquery/src/core.js +494 -0
  305. data/_sass/jquery/src/core/access.js +65 -0
  306. data/_sass/jquery/src/core/init.js +134 -0
  307. data/_sass/jquery/src/core/parseHTML.js +41 -0
  308. data/_sass/jquery/src/core/ready.js +103 -0
  309. data/_sass/jquery/src/core/var/rsingleTag.js +5 -0
  310. data/_sass/jquery/src/css.js +502 -0
  311. data/_sass/jquery/src/css/addGetHookIf.js +24 -0
  312. data/_sass/jquery/src/css/adjustCSS.js +65 -0
  313. data/_sass/jquery/src/css/curCSS.js +60 -0
  314. data/_sass/jquery/src/css/defaultDisplay.js +72 -0
  315. data/_sass/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  316. data/_sass/jquery/src/css/showHide.js +48 -0
  317. data/_sass/jquery/src/css/support.js +121 -0
  318. data/_sass/jquery/src/css/var/cssExpand.js +3 -0
  319. data/_sass/jquery/src/css/var/getStyles.js +15 -0
  320. data/_sass/jquery/src/css/var/isHidden.js +16 -0
  321. data/_sass/jquery/src/css/var/rmargin.js +3 -0
  322. data/_sass/jquery/src/css/var/rnumnonpx.js +5 -0
  323. data/_sass/jquery/src/css/var/swap.js +24 -0
  324. data/_sass/jquery/src/data.js +187 -0
  325. data/_sass/jquery/src/data/Data.js +200 -0
  326. data/_sass/jquery/src/data/var/acceptData.js +18 -0
  327. data/_sass/jquery/src/data/var/dataPriv.js +5 -0
  328. data/_sass/jquery/src/data/var/dataUser.js +5 -0
  329. data/_sass/jquery/src/deferred.js +158 -0
  330. data/_sass/jquery/src/deprecated.js +32 -0
  331. data/_sass/jquery/src/dimensions.js +54 -0
  332. data/_sass/jquery/src/effects.js +629 -0
  333. data/_sass/jquery/src/effects/Tween.js +121 -0
  334. data/_sass/jquery/src/effects/animatedSelector.js +13 -0
  335. data/_sass/jquery/src/event.js +711 -0
  336. data/_sass/jquery/src/event/ajax.js +20 -0
  337. data/_sass/jquery/src/event/alias.js +27 -0
  338. data/_sass/jquery/src/event/focusin.js +53 -0
  339. data/_sass/jquery/src/event/support.js +9 -0
  340. data/_sass/jquery/src/event/trigger.js +183 -0
  341. data/_sass/jquery/src/exports/amd.js +24 -0
  342. data/_sass/jquery/src/exports/global.js +26 -0
  343. data/_sass/jquery/src/intro.js +44 -0
  344. data/_sass/jquery/src/jquery.js +37 -0
  345. data/_sass/jquery/src/manipulation.js +481 -0
  346. data/_sass/jquery/src/manipulation/_evalUrl.js +20 -0
  347. data/_sass/jquery/src/manipulation/buildFragment.js +102 -0
  348. data/_sass/jquery/src/manipulation/getAll.js +21 -0
  349. data/_sass/jquery/src/manipulation/setGlobalEval.js +20 -0
  350. data/_sass/jquery/src/manipulation/support.js +33 -0
  351. data/_sass/jquery/src/manipulation/var/rcheckableType.js +3 -0
  352. data/_sass/jquery/src/manipulation/var/rscriptType.js +3 -0
  353. data/_sass/jquery/src/manipulation/var/rtagName.js +3 -0
  354. data/_sass/jquery/src/manipulation/wrapMap.js +27 -0
  355. data/_sass/jquery/src/offset.js +218 -0
  356. data/_sass/jquery/src/outro.js +2 -0
  357. data/_sass/jquery/src/queue.js +143 -0
  358. data/_sass/jquery/src/queue/delay.js +22 -0
  359. data/_sass/jquery/src/selector-native.js +211 -0
  360. data/_sass/jquery/src/selector-sizzle.js +14 -0
  361. data/_sass/jquery/src/selector.js +1 -0
  362. data/_sass/jquery/src/serialize.js +125 -0
  363. data/_sass/jquery/src/traversing.js +175 -0
  364. data/_sass/jquery/src/traversing/findFilter.js +100 -0
  365. data/_sass/jquery/src/traversing/var/dir.js +20 -0
  366. data/_sass/jquery/src/traversing/var/rneedsContext.js +6 -0
  367. data/_sass/jquery/src/traversing/var/siblings.js +15 -0
  368. data/_sass/jquery/src/var/arr.js +3 -0
  369. data/_sass/jquery/src/var/class2type.js +5 -0
  370. data/_sass/jquery/src/var/concat.js +5 -0
  371. data/_sass/jquery/src/var/document.js +3 -0
  372. data/_sass/jquery/src/var/documentElement.js +5 -0
  373. data/_sass/jquery/src/var/hasOwn.js +5 -0
  374. data/_sass/jquery/src/var/indexOf.js +5 -0
  375. data/_sass/jquery/src/var/pnum.js +3 -0
  376. data/_sass/jquery/src/var/push.js +5 -0
  377. data/_sass/jquery/src/var/rcssNum.js +7 -0
  378. data/_sass/jquery/src/var/rnotwhite.js +3 -0
  379. data/_sass/jquery/src/var/slice.js +5 -0
  380. data/_sass/jquery/src/var/support.js +5 -0
  381. data/_sass/jquery/src/var/toString.js +5 -0
  382. data/_sass/jquery/src/wrap.js +79 -0
  383. data/_sass/modules/_editor-style.scss +5 -0
  384. data/_sass/modules/_footer.scss +115 -0
  385. data/_sass/modules/_navigation.scss +570 -0
  386. data/_sass/modules/_sidebar.scss +66 -0
  387. data/_sass/modules/_twitter.scss +58 -0
  388. data/_sass/motion-ui/.bower.json +38 -0
  389. data/_sass/motion-ui/LICENSE +22 -0
  390. data/_sass/motion-ui/README.md +29 -0
  391. data/_sass/motion-ui/bower.json +28 -0
  392. data/_sass/motion-ui/composer.json +25 -0
  393. data/_sass/motion-ui/dist/motion-ui.css +634 -0
  394. data/_sass/motion-ui/dist/motion-ui.js +117 -0
  395. data/_sass/motion-ui/dist/motion-ui.min.css +1 -0
  396. data/_sass/motion-ui/dist/motion-ui.min.js +1 -0
  397. data/_sass/motion-ui/docs/animations.md +230 -0
  398. data/_sass/motion-ui/docs/classes.md +81 -0
  399. data/_sass/motion-ui/docs/configuration.md +63 -0
  400. data/_sass/motion-ui/docs/installation.md +50 -0
  401. data/_sass/motion-ui/docs/javascript.md +36 -0
  402. data/_sass/motion-ui/docs/readme.md +32 -0
  403. data/_sass/motion-ui/docs/transitions.md +112 -0
  404. data/_sass/motion-ui/docs/wow.md +35 -0
  405. data/_sass/motion-ui/gulpfile.js +90 -0
  406. data/_sass/motion-ui/lib/handlebars.js +8 -0
  407. data/_sass/motion-ui/motion-ui.js +105 -0
  408. data/_sass/motion-ui/motion-ui.scss +4 -0
  409. data/_sass/motion-ui/package.json +44 -0
  410. data/_sass/motion-ui/src/_classes.scss +109 -0
  411. data/_sass/motion-ui/src/_settings.scss +61 -0
  412. data/_sass/motion-ui/src/effects/_fade.scss +32 -0
  413. data/_sass/motion-ui/src/effects/_hinge.scss +65 -0
  414. data/_sass/motion-ui/src/effects/_shake.scss +15 -0
  415. data/_sass/motion-ui/src/effects/_slide.scss +41 -0
  416. data/_sass/motion-ui/src/effects/_spin.scss +28 -0
  417. data/_sass/motion-ui/src/effects/_wiggle.scss +13 -0
  418. data/_sass/motion-ui/src/effects/_zoom.scss +15 -0
  419. data/_sass/motion-ui/src/motion-ui.scss +29 -0
  420. data/_sass/motion-ui/src/transitions/_fade.scss +28 -0
  421. data/_sass/motion-ui/src/transitions/_hinge.scss +43 -0
  422. data/_sass/motion-ui/src/transitions/_slide.scss +42 -0
  423. data/_sass/motion-ui/src/transitions/_spin.scss +39 -0
  424. data/_sass/motion-ui/src/transitions/_zoom.scss +39 -0
  425. data/_sass/motion-ui/src/util/_animation.scss +7 -0
  426. data/_sass/motion-ui/src/util/_args.scss +15 -0
  427. data/_sass/motion-ui/src/util/_keyframe.scss +136 -0
  428. data/_sass/motion-ui/src/util/_selector.scss +23 -0
  429. data/_sass/motion-ui/src/util/_series.scss +54 -0
  430. data/_sass/motion-ui/src/util/_transition.scss +45 -0
  431. data/_sass/motion-ui/src/util/_unit.scss +7 -0
  432. data/_sass/templates/_archive.scss +66 -0
  433. data/_sass/templates/_page-accordion-sidebar.scss +137 -0
  434. data/_sass/templates/_page-contact.scss +33 -0
  435. data/_sass/templates/_page-default.scss +472 -0
  436. data/_sass/templates/_page-faq-sidebar.scss +77 -0
  437. data/_sass/templates/_page-front.scss +549 -0
  438. data/_sass/templates/_page-full-width.scss +11 -0
  439. data/_sass/templates/_page-highlights.scss +156 -0
  440. data/_sass/templates/_page-sidebar-left.scss +27 -0
  441. data/_sass/templates/_print.scss +69 -0
  442. data/_sass/templates/_single-post.scss +12 -0
  443. data/_sass/what-input/.bower.json +35 -0
  444. data/_sass/what-input/Gulpfile.js +104 -0
  445. data/_sass/what-input/LICENSE +21 -0
  446. data/_sass/what-input/README.md +178 -0
  447. data/_sass/what-input/bower.json +26 -0
  448. data/_sass/what-input/dist/lte-IE8.js +1 -0
  449. data/_sass/what-input/dist/what-input.js +337 -0
  450. data/_sass/what-input/dist/what-input.min.js +7 -0
  451. data/_sass/what-input/index.html +164 -0
  452. data/_sass/what-input/package.json +38 -0
  453. data/_sass/what-input/src/polyfills/ie8/EventListener.js +150 -0
  454. data/_sass/what-input/src/polyfills/ie8/indexOf.js +65 -0
  455. data/_sass/what-input/src/what-input.js +269 -0
  456. data/_sass/what-input/yarn.lock +3482 -0
  457. data/assets/css/style.scss +4 -0
  458. data/assets/{css → fonts}/comfortaa-bold-webfont.eot +0 -0
  459. data/assets/{css → fonts}/comfortaa-bold-webfont.svg +0 -0
  460. data/assets/{css → fonts}/comfortaa-bold-webfont.ttf +0 -0
  461. data/assets/{css → fonts}/comfortaa-bold-webfont.woff +0 -0
  462. data/assets/{css → fonts}/comfortaa-bold-webfont.woff2 +0 -0
  463. data/assets/{css → fonts}/comfortaa-regular-webfont.eot +0 -0
  464. data/assets/{css → fonts}/comfortaa-regular-webfont.svg +0 -0
  465. data/assets/{css → fonts}/comfortaa-regular-webfont.ttf +0 -0
  466. data/assets/{css → fonts}/comfortaa-regular-webfont.woff +0 -0
  467. data/assets/{css → fonts}/comfortaa-regular-webfont.woff2 +0 -0
  468. data/assets/{css → fonts}/raleway-regular-webfont.svg +0 -0
  469. data/assets/images/ace-centre-logo.png +0 -0
  470. data/assets/images/getting-started-with-aac-logo.png +0 -0
  471. data/assets/images/getting-started-with-aac.png +0 -0
  472. data/assets/images/icon/ace-icon-180x180.png +0 -0
  473. data/assets/images/icon/ace-icon-192x192.png +0 -0
  474. data/assets/images/icon/ace-icon-270x270.png +0 -0
  475. data/assets/images/icon/ace-icon-32x32.png +0 -0
  476. data/assets/javascript/scripts.js +10 -0
  477. metadata +477 -29
  478. data/_includes/theme-footer.html +0 -16
  479. data/_includes/theme-head.html +0 -48
  480. data/assets/css/bootstrap-select.min.css +0 -7
  481. data/assets/css/bootstrap-theme.css +0 -442
  482. data/assets/css/bootstrap.css +0 -6203
  483. data/assets/css/draganddrop.css +0 -210
  484. data/assets/css/fonts.css +0 -41
  485. data/assets/css/responsive.css +0 -90
  486. data/assets/css/style.css +0 -260
  487. data/assets/images/divider.png +0 -0
  488. data/assets/images/logo-1.png +0 -0
  489. data/assets/images/logo-2.png +0 -0
@@ -0,0 +1,251 @@
1
+ 'use strict';
2
+
3
+ !function($) {
4
+
5
+ /**
6
+ * Magellan module.
7
+ * @module foundation.magellan
8
+ */
9
+
10
+ class Magellan {
11
+ /**
12
+ * Creates a new instance of Magellan.
13
+ * @class
14
+ * @fires Magellan#init
15
+ * @param {Object} element - jQuery object to add the trigger to.
16
+ * @param {Object} options - Overrides to the default plugin settings.
17
+ */
18
+ constructor(element, options) {
19
+ this.$element = element;
20
+ this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);
21
+
22
+ this._init();
23
+ this.calcPoints();
24
+
25
+ Foundation.registerPlugin(this, 'Magellan');
26
+ }
27
+
28
+ /**
29
+ * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.
30
+ * @private
31
+ */
32
+ _init() {
33
+ var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');
34
+ var _this = this;
35
+ this.$targets = $('[data-magellan-target]');
36
+ this.$links = this.$element.find('a');
37
+ this.$element.attr({
38
+ 'data-resize': id,
39
+ 'data-scroll': id,
40
+ 'id': id
41
+ });
42
+ this.$active = $();
43
+ this.scrollPos = parseInt(window.pageYOffset, 10);
44
+
45
+ this._events();
46
+ }
47
+
48
+ /**
49
+ * Calculates an array of pixel values that are the demarcation lines between locations on the page.
50
+ * Can be invoked if new elements are added or the size of a location changes.
51
+ * @function
52
+ */
53
+ calcPoints() {
54
+ var _this = this,
55
+ body = document.body,
56
+ html = document.documentElement;
57
+
58
+ this.points = [];
59
+ this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));
60
+ this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));
61
+
62
+ this.$targets.each(function(){
63
+ var $tar = $(this),
64
+ pt = Math.round($tar.offset().top - _this.options.threshold);
65
+ $tar.targetPoint = pt;
66
+ _this.points.push(pt);
67
+ });
68
+ }
69
+
70
+ /**
71
+ * Initializes events for Magellan.
72
+ * @private
73
+ */
74
+ _events() {
75
+ var _this = this,
76
+ $body = $('html, body'),
77
+ opts = {
78
+ duration: _this.options.animationDuration,
79
+ easing: _this.options.animationEasing
80
+ };
81
+ $(window).one('load', function(){
82
+ if(_this.options.deepLinking){
83
+ if(location.hash){
84
+ _this.scrollToLoc(location.hash);
85
+ }
86
+ }
87
+ _this.calcPoints();
88
+ _this._updateActive();
89
+ });
90
+
91
+ this.$element.on({
92
+ 'resizeme.zf.trigger': this.reflow.bind(this),
93
+ 'scrollme.zf.trigger': this._updateActive.bind(this)
94
+ }).on('click.zf.magellan', 'a[href^="#"]', function(e) {
95
+ e.preventDefault();
96
+ var arrival = this.getAttribute('href');
97
+ _this.scrollToLoc(arrival);
98
+ });
99
+ $(window).on('popstate', function(e) {
100
+ if(_this.options.deepLinking) {
101
+ _this.scrollToLoc(window.location.hash);
102
+ }
103
+ });
104
+ }
105
+
106
+ /**
107
+ * Function to scroll to a given location on the page.
108
+ * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'
109
+ * @function
110
+ */
111
+ scrollToLoc(loc) {
112
+ // Do nothing if target does not exist to prevent errors
113
+ if (!$(loc).length) {return false;}
114
+ this._inTransition = true;
115
+ var _this = this,
116
+ scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);
117
+
118
+ $('html, body').stop(true).animate(
119
+ { scrollTop: scrollPos },
120
+ this.options.animationDuration,
121
+ this.options.animationEasing,
122
+ function() {_this._inTransition = false; _this._updateActive()}
123
+ );
124
+ }
125
+
126
+ /**
127
+ * Calls necessary functions to update Magellan upon DOM change
128
+ * @function
129
+ */
130
+ reflow() {
131
+ this.calcPoints();
132
+ this._updateActive();
133
+ }
134
+
135
+ /**
136
+ * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.
137
+ * @private
138
+ * @function
139
+ * @fires Magellan#update
140
+ */
141
+ _updateActive(/*evt, elem, scrollPos*/) {
142
+ if(this._inTransition) {return;}
143
+ var winPos = /*scrollPos ||*/ parseInt(window.pageYOffset, 10),
144
+ curIdx;
145
+
146
+ if(winPos + this.winHeight === this.docHeight){ curIdx = this.points.length - 1; }
147
+ else if(winPos < this.points[0]){ curIdx = undefined; }
148
+ else{
149
+ var isDown = this.scrollPos < winPos,
150
+ _this = this,
151
+ curVisible = this.points.filter(function(p, i){
152
+ return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;
153
+ });
154
+ curIdx = curVisible.length ? curVisible.length - 1 : 0;
155
+ }
156
+
157
+ this.$active.removeClass(this.options.activeClass);
158
+ this.$active = this.$links.filter('[href="#' + this.$targets.eq(curIdx).data('magellan-target') + '"]').addClass(this.options.activeClass);
159
+
160
+ if(this.options.deepLinking){
161
+ var hash = "";
162
+ if(curIdx != undefined){
163
+ hash = this.$active[0].getAttribute('href');
164
+ }
165
+ if(hash !== window.location.hash) {
166
+ if(window.history.pushState){
167
+ window.history.pushState(null, null, hash);
168
+ }else{
169
+ window.location.hash = hash;
170
+ }
171
+ }
172
+ }
173
+
174
+ this.scrollPos = winPos;
175
+ /**
176
+ * Fires when magellan is finished updating to the new active element.
177
+ * @event Magellan#update
178
+ */
179
+ this.$element.trigger('update.zf.magellan', [this.$active]);
180
+ }
181
+
182
+ /**
183
+ * Destroys an instance of Magellan and resets the url of the window.
184
+ * @function
185
+ */
186
+ destroy() {
187
+ this.$element.off('.zf.trigger .zf.magellan')
188
+ .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);
189
+
190
+ if(this.options.deepLinking){
191
+ var hash = this.$active[0].getAttribute('href');
192
+ window.location.hash.replace(hash, '');
193
+ }
194
+
195
+ Foundation.unregisterPlugin(this);
196
+ }
197
+ }
198
+
199
+ /**
200
+ * Default settings for plugin
201
+ */
202
+ Magellan.defaults = {
203
+ /**
204
+ * Amount of time, in ms, the animated scrolling should take between locations.
205
+ * @option
206
+ * @type {number}
207
+ * @default 500
208
+ */
209
+ animationDuration: 500,
210
+ /**
211
+ * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.
212
+ * @option
213
+ * @type {string}
214
+ * @default 'linear'
215
+ * @see {@link https://api.jquery.com/animate|Jquery animate}
216
+ */
217
+ animationEasing: 'linear',
218
+ /**
219
+ * Number of pixels to use as a marker for location changes.
220
+ * @option
221
+ * @type {number}
222
+ * @default 50
223
+ */
224
+ threshold: 50,
225
+ /**
226
+ * Class applied to the active locations link on the magellan container.
227
+ * @option
228
+ * @type {string}
229
+ * @default 'active'
230
+ */
231
+ activeClass: 'active',
232
+ /**
233
+ * Allows the script to manipulate the url of the current page, and if supported, alter the history.
234
+ * @option
235
+ * @type {boolean}
236
+ * @default false
237
+ */
238
+ deepLinking: false,
239
+ /**
240
+ * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
241
+ * @option
242
+ * @type {number}
243
+ * @default 0
244
+ */
245
+ barOffset: 0
246
+ }
247
+
248
+ // Window exports
249
+ Foundation.plugin(Magellan, 'Magellan');
250
+
251
+ }(jQuery);
@@ -0,0 +1,434 @@
1
+ 'use strict';
2
+
3
+ !function($) {
4
+
5
+ /**
6
+ * OffCanvas module.
7
+ * @module foundation.offcanvas
8
+ * @requires foundation.util.keyboard
9
+ * @requires foundation.util.mediaQuery
10
+ * @requires foundation.util.triggers
11
+ * @requires foundation.util.motion
12
+ */
13
+
14
+ class OffCanvas {
15
+ /**
16
+ * Creates a new instance of an off-canvas wrapper.
17
+ * @class
18
+ * @fires OffCanvas#init
19
+ * @param {Object} element - jQuery object to initialize.
20
+ * @param {Object} options - Overrides to the default plugin settings.
21
+ */
22
+ constructor(element, options) {
23
+ this.$element = element;
24
+ this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);
25
+ this.$lastTrigger = $();
26
+ this.$triggers = $();
27
+
28
+ this._init();
29
+ this._events();
30
+
31
+ Foundation.registerPlugin(this, 'OffCanvas')
32
+ Foundation.Keyboard.register('OffCanvas', {
33
+ 'ESCAPE': 'close'
34
+ });
35
+
36
+ }
37
+
38
+ /**
39
+ * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
40
+ * @function
41
+ * @private
42
+ */
43
+ _init() {
44
+ var id = this.$element.attr('id');
45
+
46
+ this.$element.attr('aria-hidden', 'true');
47
+
48
+ this.$element.addClass(`is-transition-${this.options.transition}`);
49
+
50
+ // Find triggers that affect this element and add aria-expanded to them
51
+ this.$triggers = $(document)
52
+ .find('[data-open="'+id+'"], [data-close="'+id+'"], [data-toggle="'+id+'"]')
53
+ .attr('aria-expanded', 'false')
54
+ .attr('aria-controls', id);
55
+
56
+ // Add an overlay over the content if necessary
57
+ if (this.options.contentOverlay === true) {
58
+ var overlay = document.createElement('div');
59
+ var overlayPosition = $(this.$element).css("position") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';
60
+ overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);
61
+ this.$overlay = $(overlay);
62
+ if(overlayPosition === 'is-overlay-fixed') {
63
+ $('body').append(this.$overlay);
64
+ } else {
65
+ this.$element.siblings('[data-off-canvas-content]').append(this.$overlay);
66
+ }
67
+ }
68
+
69
+ this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);
70
+
71
+ if (this.options.isRevealed === true) {
72
+ this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];
73
+ this._setMQChecker();
74
+ }
75
+ if (!this.options.transitionTime === true) {
76
+ this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas]')[0]).transitionDuration) * 1000;
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Adds event handlers to the off-canvas wrapper and the exit overlay.
82
+ * @function
83
+ * @private
84
+ */
85
+ _events() {
86
+ this.$element.off('.zf.trigger .zf.offcanvas').on({
87
+ 'open.zf.trigger': this.open.bind(this),
88
+ 'close.zf.trigger': this.close.bind(this),
89
+ 'toggle.zf.trigger': this.toggle.bind(this),
90
+ 'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
91
+ });
92
+
93
+ if (this.options.closeOnClick === true) {
94
+ var $target = this.options.contentOverlay ? this.$overlay : $('[data-off-canvas-content]');
95
+ $target.on({'click.zf.offcanvas': this.close.bind(this)});
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Applies event listener for elements that will reveal at certain breakpoints.
101
+ * @private
102
+ */
103
+ _setMQChecker() {
104
+ var _this = this;
105
+
106
+ $(window).on('changed.zf.mediaquery', function() {
107
+ if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
108
+ _this.reveal(true);
109
+ } else {
110
+ _this.reveal(false);
111
+ }
112
+ }).one('load.zf.offcanvas', function() {
113
+ if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
114
+ _this.reveal(true);
115
+ }
116
+ });
117
+ }
118
+
119
+ /**
120
+ * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
121
+ * @param {Boolean} isRevealed - true if element should be revealed.
122
+ * @function
123
+ */
124
+ reveal(isRevealed) {
125
+ var $closer = this.$element.find('[data-close]');
126
+ if (isRevealed) {
127
+ this.close();
128
+ this.isRevealed = true;
129
+ this.$element.attr('aria-hidden', 'false');
130
+ this.$element.off('open.zf.trigger toggle.zf.trigger');
131
+ if ($closer.length) { $closer.hide(); }
132
+ } else {
133
+ this.isRevealed = false;
134
+ this.$element.attr('aria-hidden', 'true');
135
+ this.$element.off('open.zf.trigger toggle.zf.trigger').on({
136
+ 'open.zf.trigger': this.open.bind(this),
137
+ 'toggle.zf.trigger': this.toggle.bind(this)
138
+ });
139
+ if ($closer.length) {
140
+ $closer.show();
141
+ }
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.
147
+ * @private
148
+ */
149
+ _stopScrolling(event) {
150
+ return false;
151
+ }
152
+
153
+ // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios
154
+ // Only really works for y, not sure how to extend to x or if we need to.
155
+ _recordScrollable(event) {
156
+ let elem = this; // called from event handler context with this as elem
157
+
158
+ // If the element is scrollable (content overflows), then...
159
+ if (elem.scrollHeight !== elem.clientHeight) {
160
+ // If we're at the top, scroll down one pixel to allow scrolling up
161
+ if (elem.scrollTop === 0) {
162
+ elem.scrollTop = 1;
163
+ }
164
+ // If we're at the bottom, scroll up one pixel to allow scrolling down
165
+ if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {
166
+ elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;
167
+ }
168
+ }
169
+ elem.allowUp = elem.scrollTop > 0;
170
+ elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight);
171
+ elem.lastY = event.originalEvent.pageY;
172
+ }
173
+
174
+ _stopScrollPropagation(event) {
175
+ let elem = this; // called from event handler context with this as elem
176
+ let up = event.pageY < elem.lastY;
177
+ let down = !up;
178
+ elem.lastY = event.pageY;
179
+
180
+ if((up && elem.allowUp) || (down && elem.allowDown)) {
181
+ event.stopPropagation();
182
+ } else {
183
+ event.preventDefault();
184
+ }
185
+ }
186
+
187
+ /**
188
+ * Opens the off-canvas menu.
189
+ * @function
190
+ * @param {Object} event - Event object passed from listener.
191
+ * @param {jQuery} trigger - element that triggered the off-canvas to open.
192
+ * @fires OffCanvas#opened
193
+ */
194
+ open(event, trigger) {
195
+ if (this.$element.hasClass('is-open') || this.isRevealed) { return; }
196
+ var _this = this;
197
+
198
+ if (trigger) {
199
+ this.$lastTrigger = trigger;
200
+ }
201
+
202
+ if (this.options.forceTo === 'top') {
203
+ window.scrollTo(0, 0);
204
+ } else if (this.options.forceTo === 'bottom') {
205
+ window.scrollTo(0,document.body.scrollHeight);
206
+ }
207
+
208
+ /**
209
+ * Fires when the off-canvas menu opens.
210
+ * @event OffCanvas#opened
211
+ */
212
+ _this.$element.addClass('is-open')
213
+
214
+ this.$triggers.attr('aria-expanded', 'true');
215
+ this.$element.attr('aria-hidden', 'false')
216
+ .trigger('opened.zf.offcanvas');
217
+
218
+ // If `contentScroll` is set to false, add class and disable scrolling on touch devices.
219
+ if (this.options.contentScroll === false) {
220
+ $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);
221
+ this.$element.on('touchstart', this._recordScrollable);
222
+ this.$element.on('touchmove', this._stopScrollPropagation);
223
+ }
224
+
225
+ if (this.options.contentOverlay === true) {
226
+ this.$overlay.addClass('is-visible');
227
+ }
228
+
229
+ if (this.options.closeOnClick === true && this.options.contentOverlay === true) {
230
+ this.$overlay.addClass('is-closable');
231
+ }
232
+
233
+ if (this.options.autoFocus === true) {
234
+ this.$element.one(Foundation.transitionend(this.$element), function() {
235
+ var canvasFocus = _this.$element.find('[data-autofocus]');
236
+ if (canvasFocus.length) {
237
+ canvasFocus.eq(0).focus();
238
+ } else {
239
+ _this.$element.find('a, button').eq(0).focus();
240
+ }
241
+ });
242
+ }
243
+
244
+ if (this.options.trapFocus === true) {
245
+ this.$element.siblings('[data-off-canvas-content]').attr('tabindex', '-1');
246
+ Foundation.Keyboard.trapFocus(this.$element);
247
+ }
248
+ }
249
+
250
+ /**
251
+ * Closes the off-canvas menu.
252
+ * @function
253
+ * @param {Function} cb - optional cb to fire after closure.
254
+ * @fires OffCanvas#closed
255
+ */
256
+ close(cb) {
257
+ if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }
258
+
259
+ var _this = this;
260
+
261
+ _this.$element.removeClass('is-open');
262
+
263
+ this.$element.attr('aria-hidden', 'true')
264
+ /**
265
+ * Fires when the off-canvas menu opens.
266
+ * @event OffCanvas#closed
267
+ */
268
+ .trigger('closed.zf.offcanvas');
269
+
270
+ // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.
271
+ if (this.options.contentScroll === false) {
272
+ $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);
273
+ this.$element.off('touchstart', this._recordScrollable);
274
+ this.$element.off('touchmove', this._stopScrollPropagation);
275
+ }
276
+
277
+ if (this.options.contentOverlay === true) {
278
+ this.$overlay.removeClass('is-visible');
279
+ }
280
+
281
+ if (this.options.closeOnClick === true && this.options.contentOverlay === true) {
282
+ this.$overlay.removeClass('is-closable');
283
+ }
284
+
285
+ this.$triggers.attr('aria-expanded', 'false');
286
+
287
+ if (this.options.trapFocus === true) {
288
+ this.$element.siblings('[data-off-canvas-content]').removeAttr('tabindex');
289
+ Foundation.Keyboard.releaseFocus(this.$element);
290
+ }
291
+ }
292
+
293
+ /**
294
+ * Toggles the off-canvas menu open or closed.
295
+ * @function
296
+ * @param {Object} event - Event object passed from listener.
297
+ * @param {jQuery} trigger - element that triggered the off-canvas to open.
298
+ */
299
+ toggle(event, trigger) {
300
+ if (this.$element.hasClass('is-open')) {
301
+ this.close(event, trigger);
302
+ }
303
+ else {
304
+ this.open(event, trigger);
305
+ }
306
+ }
307
+
308
+ /**
309
+ * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
310
+ * @function
311
+ * @private
312
+ */
313
+ _handleKeyboard(e) {
314
+ Foundation.Keyboard.handleKey(e, 'OffCanvas', {
315
+ close: () => {
316
+ this.close();
317
+ this.$lastTrigger.focus();
318
+ return true;
319
+ },
320
+ handled: () => {
321
+ e.stopPropagation();
322
+ e.preventDefault();
323
+ }
324
+ });
325
+ }
326
+
327
+ /**
328
+ * Destroys the offcanvas plugin.
329
+ * @function
330
+ */
331
+ destroy() {
332
+ this.close();
333
+ this.$element.off('.zf.trigger .zf.offcanvas');
334
+ this.$overlay.off('.zf.offcanvas');
335
+
336
+ Foundation.unregisterPlugin(this);
337
+ }
338
+ }
339
+
340
+ OffCanvas.defaults = {
341
+ /**
342
+ * Allow the user to click outside of the menu to close it.
343
+ * @option
344
+ * @type {boolean}
345
+ * @default true
346
+ */
347
+ closeOnClick: true,
348
+
349
+ /**
350
+ * Adds an overlay on top of `[data-off-canvas-content]`.
351
+ * @option
352
+ * @type {boolean}
353
+ * @default true
354
+ */
355
+ contentOverlay: true,
356
+
357
+ /**
358
+ * Enable/disable scrolling of the main content when an off canvas panel is open.
359
+ * @option
360
+ * @type {boolean}
361
+ * @default true
362
+ */
363
+ contentScroll: true,
364
+
365
+ /**
366
+ * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
367
+ * @option
368
+ * @type {number}
369
+ * @default 0
370
+ */
371
+ transitionTime: 0,
372
+
373
+ /**
374
+ * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.
375
+ * @option
376
+ * @type {string}
377
+ * @default push
378
+ */
379
+ transition: 'push',
380
+
381
+ /**
382
+ * Force the page to scroll to top or bottom on open.
383
+ * @option
384
+ * @type {?string}
385
+ * @default null
386
+ */
387
+ forceTo: null,
388
+
389
+ /**
390
+ * Allow the offcanvas to remain open for certain breakpoints.
391
+ * @option
392
+ * @type {boolean}
393
+ * @default false
394
+ */
395
+ isRevealed: false,
396
+
397
+ /**
398
+ * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
399
+ * @option
400
+ * @type {?string}
401
+ * @default null
402
+ */
403
+ revealOn: null,
404
+
405
+ /**
406
+ * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
407
+ * @option
408
+ * @type {boolean}
409
+ * @default true
410
+ */
411
+ autoFocus: true,
412
+
413
+ /**
414
+ * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
415
+ * @option
416
+ * @type {string}
417
+ * @default reveal-for-
418
+ * @todo improve the regex testing for this.
419
+ */
420
+ revealClass: 'reveal-for-',
421
+
422
+ /**
423
+ * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
424
+ * @option
425
+ * @type {boolean}
426
+ * @default false
427
+ */
428
+ trapFocus: false
429
+ }
430
+
431
+ // Window exports
432
+ Foundation.plugin(OffCanvas, 'OffCanvas');
433
+
434
+ }(jQuery);