aacinfo-theme 0.2.0 → 2.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 (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);