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,378 @@
1
+ !function($) {
2
+
3
+ "use strict";
4
+
5
+ var FOUNDATION_VERSION = '6.3.1';
6
+
7
+ // Global Foundation object
8
+ // This is attached to the window, or used as a module for AMD/Browserify
9
+ var Foundation = {
10
+ version: FOUNDATION_VERSION,
11
+
12
+ /**
13
+ * Stores initialized plugins.
14
+ */
15
+ _plugins: {},
16
+
17
+ /**
18
+ * Stores generated unique ids for plugin instances
19
+ */
20
+ _uuids: [],
21
+
22
+ /**
23
+ * Returns a boolean for RTL support
24
+ */
25
+ rtl: function(){
26
+ return $('html').attr('dir') === 'rtl';
27
+ },
28
+ /**
29
+ * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
30
+ * @param {Object} plugin - The constructor of the plugin.
31
+ */
32
+ plugin: function(plugin, name) {
33
+ // Object key to use when adding to global Foundation object
34
+ // Examples: Foundation.Reveal, Foundation.OffCanvas
35
+ var className = (name || functionName(plugin));
36
+ // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
37
+ // Examples: data-reveal, data-off-canvas
38
+ var attrName = hyphenate(className);
39
+
40
+ // Add to the Foundation object and the plugins list (for reflowing)
41
+ this._plugins[attrName] = this[className] = plugin;
42
+ },
43
+ /**
44
+ * @function
45
+ * Populates the _uuids array with pointers to each individual plugin instance.
46
+ * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
47
+ * Also fires the initialization event for each plugin, consolidating repetitive code.
48
+ * @param {Object} plugin - an instance of a plugin, usually `this` in context.
49
+ * @param {String} name - the name of the plugin, passed as a camelCased string.
50
+ * @fires Plugin#init
51
+ */
52
+ registerPlugin: function(plugin, name){
53
+ var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
54
+ plugin.uuid = this.GetYoDigits(6, pluginName);
55
+
56
+ if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }
57
+ if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }
58
+ /**
59
+ * Fires when the plugin has initialized.
60
+ * @event Plugin#init
61
+ */
62
+ plugin.$element.trigger(`init.zf.${pluginName}`);
63
+
64
+ this._uuids.push(plugin.uuid);
65
+
66
+ return;
67
+ },
68
+ /**
69
+ * @function
70
+ * Removes the plugins uuid from the _uuids array.
71
+ * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
72
+ * Also fires the destroyed event for the plugin, consolidating repetitive code.
73
+ * @param {Object} plugin - an instance of a plugin, usually `this` in context.
74
+ * @fires Plugin#destroyed
75
+ */
76
+ unregisterPlugin: function(plugin){
77
+ var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));
78
+
79
+ this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);
80
+ plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')
81
+ /**
82
+ * Fires when the plugin has been destroyed.
83
+ * @event Plugin#destroyed
84
+ */
85
+ .trigger(`destroyed.zf.${pluginName}`);
86
+ for(var prop in plugin){
87
+ plugin[prop] = null;//clean up script to prep for garbage collection.
88
+ }
89
+ return;
90
+ },
91
+
92
+ /**
93
+ * @function
94
+ * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
95
+ * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
96
+ * @default If no argument is passed, reflow all currently active plugins.
97
+ */
98
+ reInit: function(plugins){
99
+ var isJQ = plugins instanceof $;
100
+ try{
101
+ if(isJQ){
102
+ plugins.each(function(){
103
+ $(this).data('zfPlugin')._init();
104
+ });
105
+ }else{
106
+ var type = typeof plugins,
107
+ _this = this,
108
+ fns = {
109
+ 'object': function(plgs){
110
+ plgs.forEach(function(p){
111
+ p = hyphenate(p);
112
+ $('[data-'+ p +']').foundation('_init');
113
+ });
114
+ },
115
+ 'string': function(){
116
+ plugins = hyphenate(plugins);
117
+ $('[data-'+ plugins +']').foundation('_init');
118
+ },
119
+ 'undefined': function(){
120
+ this['object'](Object.keys(_this._plugins));
121
+ }
122
+ };
123
+ fns[type](plugins);
124
+ }
125
+ }catch(err){
126
+ console.error(err);
127
+ }finally{
128
+ return plugins;
129
+ }
130
+ },
131
+
132
+ /**
133
+ * returns a random base-36 uid with namespacing
134
+ * @function
135
+ * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
136
+ * @param {String} namespace - name of plugin to be incorporated in uid, optional.
137
+ * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
138
+ * @returns {String} - unique id
139
+ */
140
+ GetYoDigits: function(length, namespace){
141
+ length = length || 6;
142
+ return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1) + (namespace ? `-${namespace}` : '');
143
+ },
144
+ /**
145
+ * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
146
+ * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
147
+ * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
148
+ */
149
+ reflow: function(elem, plugins) {
150
+
151
+ // If plugins is undefined, just grab everything
152
+ if (typeof plugins === 'undefined') {
153
+ plugins = Object.keys(this._plugins);
154
+ }
155
+ // If plugins is a string, convert it to an array with one item
156
+ else if (typeof plugins === 'string') {
157
+ plugins = [plugins];
158
+ }
159
+
160
+ var _this = this;
161
+
162
+ // Iterate through each plugin
163
+ $.each(plugins, function(i, name) {
164
+ // Get the current plugin
165
+ var plugin = _this._plugins[name];
166
+
167
+ // Localize the search to all elements inside elem, as well as elem itself, unless elem === document
168
+ var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']');
169
+
170
+ // For each plugin found, initialize it
171
+ $elem.each(function() {
172
+ var $el = $(this),
173
+ opts = {};
174
+ // Don't double-dip on plugins
175
+ if ($el.data('zfPlugin')) {
176
+ console.warn("Tried to initialize "+name+" on an element that already has a Foundation plugin.");
177
+ return;
178
+ }
179
+
180
+ if($el.attr('data-options')){
181
+ var thing = $el.attr('data-options').split(';').forEach(function(e, i){
182
+ var opt = e.split(':').map(function(el){ return el.trim(); });
183
+ if(opt[0]) opts[opt[0]] = parseValue(opt[1]);
184
+ });
185
+ }
186
+ try{
187
+ $el.data('zfPlugin', new plugin($(this), opts));
188
+ }catch(er){
189
+ console.error(er);
190
+ }finally{
191
+ return;
192
+ }
193
+ });
194
+ });
195
+ },
196
+ getFnName: functionName,
197
+ transitionend: function($elem){
198
+ var transitions = {
199
+ 'transition': 'transitionend',
200
+ 'WebkitTransition': 'webkitTransitionEnd',
201
+ 'MozTransition': 'transitionend',
202
+ 'OTransition': 'otransitionend'
203
+ };
204
+ var elem = document.createElement('div'),
205
+ end;
206
+
207
+ for (var t in transitions){
208
+ if (typeof elem.style[t] !== 'undefined'){
209
+ end = transitions[t];
210
+ }
211
+ }
212
+ if(end){
213
+ return end;
214
+ }else{
215
+ end = setTimeout(function(){
216
+ $elem.triggerHandler('transitionend', [$elem]);
217
+ }, 1);
218
+ return 'transitionend';
219
+ }
220
+ }
221
+ };
222
+
223
+ Foundation.util = {
224
+ /**
225
+ * Function for applying a debounce effect to a function call.
226
+ * @function
227
+ * @param {Function} func - Function to be called at end of timeout.
228
+ * @param {Number} delay - Time in ms to delay the call of `func`.
229
+ * @returns function
230
+ */
231
+ throttle: function (func, delay) {
232
+ var timer = null;
233
+
234
+ return function () {
235
+ var context = this, args = arguments;
236
+
237
+ if (timer === null) {
238
+ timer = setTimeout(function () {
239
+ func.apply(context, args);
240
+ timer = null;
241
+ }, delay);
242
+ }
243
+ };
244
+ }
245
+ };
246
+
247
+ // TODO: consider not making this a jQuery function
248
+ // TODO: need way to reflow vs. re-initialize
249
+ /**
250
+ * The Foundation jQuery method.
251
+ * @param {String|Array} method - An action to perform on the current jQuery object.
252
+ */
253
+ var foundation = function(method) {
254
+ var type = typeof method,
255
+ $meta = $('meta.foundation-mq'),
256
+ $noJS = $('.no-js');
257
+
258
+ if(!$meta.length){
259
+ $('<meta class="foundation-mq">').appendTo(document.head);
260
+ }
261
+ if($noJS.length){
262
+ $noJS.removeClass('no-js');
263
+ }
264
+
265
+ if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.
266
+ Foundation.MediaQuery._init();
267
+ Foundation.reflow(this);
268
+ }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins
269
+ var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary
270
+ var plugClass = this.data('zfPlugin');//determine the class of plugin
271
+
272
+ if(plugClass !== undefined && plugClass[method] !== undefined){//make sure both the class and method exist
273
+ if(this.length === 1){//if there's only one, call it directly.
274
+ plugClass[method].apply(plugClass, args);
275
+ }else{
276
+ this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each
277
+ plugClass[method].apply($(el).data('zfPlugin'), args);
278
+ });
279
+ }
280
+ }else{//error for no class or no method
281
+ throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
282
+ }
283
+ }else{//error for invalid argument type
284
+ throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);
285
+ }
286
+ return this;
287
+ };
288
+
289
+ window.Foundation = Foundation;
290
+ $.fn.foundation = foundation;
291
+
292
+ // Polyfill for requestAnimationFrame
293
+ (function() {
294
+ if (!Date.now || !window.Date.now)
295
+ window.Date.now = Date.now = function() { return new Date().getTime(); };
296
+
297
+ var vendors = ['webkit', 'moz'];
298
+ for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
299
+ var vp = vendors[i];
300
+ window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];
301
+ window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']
302
+ || window[vp+'CancelRequestAnimationFrame']);
303
+ }
304
+ if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)
305
+ || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
306
+ var lastTime = 0;
307
+ window.requestAnimationFrame = function(callback) {
308
+ var now = Date.now();
309
+ var nextTime = Math.max(lastTime + 16, now);
310
+ return setTimeout(function() { callback(lastTime = nextTime); },
311
+ nextTime - now);
312
+ };
313
+ window.cancelAnimationFrame = clearTimeout;
314
+ }
315
+ /**
316
+ * Polyfill for performance.now, required by rAF
317
+ */
318
+ if(!window.performance || !window.performance.now){
319
+ window.performance = {
320
+ start: Date.now(),
321
+ now: function(){ return Date.now() - this.start; }
322
+ };
323
+ }
324
+ })();
325
+ if (!Function.prototype.bind) {
326
+ Function.prototype.bind = function(oThis) {
327
+ if (typeof this !== 'function') {
328
+ // closest thing possible to the ECMAScript 5
329
+ // internal IsCallable function
330
+ throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
331
+ }
332
+
333
+ var aArgs = Array.prototype.slice.call(arguments, 1),
334
+ fToBind = this,
335
+ fNOP = function() {},
336
+ fBound = function() {
337
+ return fToBind.apply(this instanceof fNOP
338
+ ? this
339
+ : oThis,
340
+ aArgs.concat(Array.prototype.slice.call(arguments)));
341
+ };
342
+
343
+ if (this.prototype) {
344
+ // native functions don't have a prototype
345
+ fNOP.prototype = this.prototype;
346
+ }
347
+ fBound.prototype = new fNOP();
348
+
349
+ return fBound;
350
+ };
351
+ }
352
+ // Polyfill to get the name of a function in IE9
353
+ function functionName(fn) {
354
+ if (Function.prototype.name === undefined) {
355
+ var funcNameRegex = /function\s([^(]{1,})\(/;
356
+ var results = (funcNameRegex).exec((fn).toString());
357
+ return (results && results.length > 1) ? results[1].trim() : "";
358
+ }
359
+ else if (fn.prototype === undefined) {
360
+ return fn.constructor.name;
361
+ }
362
+ else {
363
+ return fn.prototype.constructor.name;
364
+ }
365
+ }
366
+ function parseValue(str){
367
+ if ('true' === str) return true;
368
+ else if ('false' === str) return false;
369
+ else if (!isNaN(str * 1)) return parseFloat(str);
370
+ return str;
371
+ }
372
+ // Convert PascalCase to kebab-case
373
+ // Thank you: http://stackoverflow.com/a/8955580
374
+ function hyphenate(str) {
375
+ return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
376
+ }
377
+
378
+ }(jQuery);
@@ -0,0 +1,518 @@
1
+ 'use strict';
2
+
3
+ !function($) {
4
+
5
+ /**
6
+ * Drilldown module.
7
+ * @module foundation.drilldown
8
+ * @requires foundation.util.keyboard
9
+ * @requires foundation.util.motion
10
+ * @requires foundation.util.nest
11
+ */
12
+
13
+ class Drilldown {
14
+ /**
15
+ * Creates a new instance of a drilldown menu.
16
+ * @class
17
+ * @param {jQuery} element - jQuery object to make into an accordion menu.
18
+ * @param {Object} options - Overrides to the default plugin settings.
19
+ */
20
+ constructor(element, options) {
21
+ this.$element = element;
22
+ this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);
23
+
24
+ Foundation.Nest.Feather(this.$element, 'drilldown');
25
+
26
+ this._init();
27
+
28
+ Foundation.registerPlugin(this, 'Drilldown');
29
+ Foundation.Keyboard.register('Drilldown', {
30
+ 'ENTER': 'open',
31
+ 'SPACE': 'open',
32
+ 'ARROW_RIGHT': 'next',
33
+ 'ARROW_UP': 'up',
34
+ 'ARROW_DOWN': 'down',
35
+ 'ARROW_LEFT': 'previous',
36
+ 'ESCAPE': 'close',
37
+ 'TAB': 'down',
38
+ 'SHIFT_TAB': 'up'
39
+ });
40
+ }
41
+
42
+ /**
43
+ * Initializes the drilldown by creating jQuery collections of elements
44
+ * @private
45
+ */
46
+ _init() {
47
+ this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');
48
+ this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');
49
+ this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');
50
+ this.$element.attr('data-mutate', (this.$element.attr('data-drilldown') || Foundation.GetYoDigits(6, 'drilldown')));
51
+
52
+ this._prepareMenu();
53
+ this._registerEvents();
54
+
55
+ this._keyboardEvents();
56
+ }
57
+
58
+ /**
59
+ * prepares drilldown menu by setting attributes to links and elements
60
+ * sets a min height to prevent content jumping
61
+ * wraps the element if not already wrapped
62
+ * @private
63
+ * @function
64
+ */
65
+ _prepareMenu() {
66
+ var _this = this;
67
+ // if(!this.options.holdOpen){
68
+ // this._menuLinkEvents();
69
+ // }
70
+ this.$submenuAnchors.each(function(){
71
+ var $link = $(this);
72
+ var $sub = $link.parent();
73
+ if(_this.options.parentLink){
74
+ $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>');
75
+ }
76
+ $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);
77
+ $link.children('[data-submenu]')
78
+ .attr({
79
+ 'aria-hidden': true,
80
+ 'tabindex': 0,
81
+ 'role': 'menu'
82
+ });
83
+ _this._events($link);
84
+ });
85
+ this.$submenus.each(function(){
86
+ var $menu = $(this),
87
+ $back = $menu.find('.js-drilldown-back');
88
+ if(!$back.length){
89
+ switch (_this.options.backButtonPosition) {
90
+ case "bottom":
91
+ $menu.append(_this.options.backButton);
92
+ break;
93
+ case "top":
94
+ $menu.prepend(_this.options.backButton);
95
+ break;
96
+ default:
97
+ console.error("Unsupported backButtonPosition value '" + _this.options.backButtonPosition + "'");
98
+ }
99
+ }
100
+ _this._back($menu);
101
+ });
102
+
103
+ this.$submenus.addClass('invisible');
104
+ if(!this.options.autoHeight) {
105
+ this.$submenus.addClass('drilldown-submenu-cover-previous');
106
+ }
107
+
108
+ // create a wrapper on element if it doesn't exist.
109
+ if(!this.$element.parent().hasClass('is-drilldown')){
110
+ this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');
111
+ if(this.options.animateHeight) this.$wrapper.addClass('animate-height');
112
+ this.$element.wrap(this.$wrapper);
113
+ }
114
+ // set wrapper
115
+ this.$wrapper = this.$element.parent();
116
+ this.$wrapper.css(this._getMaxDims());
117
+ }
118
+
119
+ _resize() {
120
+ this.$wrapper.css({'max-width': 'none', 'min-height': 'none'});
121
+ // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths
122
+ this.$wrapper.css(this._getMaxDims());
123
+ }
124
+
125
+ /**
126
+ * Adds event handlers to elements in the menu.
127
+ * @function
128
+ * @private
129
+ * @param {jQuery} $elem - the current menu item to add handlers to.
130
+ */
131
+ _events($elem) {
132
+ var _this = this;
133
+
134
+ $elem.off('click.zf.drilldown')
135
+ .on('click.zf.drilldown', function(e){
136
+ if($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')){
137
+ e.stopImmediatePropagation();
138
+ e.preventDefault();
139
+ }
140
+
141
+ // if(e.target !== e.currentTarget.firstElementChild){
142
+ // return false;
143
+ // }
144
+ _this._show($elem.parent('li'));
145
+
146
+ if(_this.options.closeOnClick){
147
+ var $body = $('body');
148
+ $body.off('.zf.drilldown').on('click.zf.drilldown', function(e){
149
+ if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }
150
+ e.preventDefault();
151
+ _this._hideAll();
152
+ $body.off('.zf.drilldown');
153
+ });
154
+ }
155
+ });
156
+ this.$element.on('mutateme.zf.trigger', this._resize.bind(this));
157
+ }
158
+
159
+ /**
160
+ * Adds event handlers to the menu element.
161
+ * @function
162
+ * @private
163
+ */
164
+ _registerEvents() {
165
+ if(this.options.scrollTop){
166
+ this._bindHandler = this._scrollTop.bind(this);
167
+ this.$element.on('open.zf.drilldown hide.zf.drilldown closed.zf.drilldown',this._bindHandler);
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Scroll to Top of Element or data-scroll-top-element
173
+ * @function
174
+ * @fires Drilldown#scrollme
175
+ */
176
+ _scrollTop() {
177
+ var _this = this;
178
+ var $scrollTopElement = _this.options.scrollTopElement!=''?$(_this.options.scrollTopElement):_this.$element,
179
+ scrollPos = parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset);
180
+ $('html, body').stop(true).animate({ scrollTop: scrollPos }, _this.options.animationDuration, _this.options.animationEasing,function(){
181
+ /**
182
+ * Fires after the menu has scrolled
183
+ * @event Drilldown#scrollme
184
+ */
185
+ if(this===$('html')[0])_this.$element.trigger('scrollme.zf.drilldown');
186
+ });
187
+ }
188
+
189
+ /**
190
+ * Adds keydown event listener to `li`'s in the menu.
191
+ * @private
192
+ */
193
+ _keyboardEvents() {
194
+ var _this = this;
195
+
196
+ this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function(e){
197
+ var $element = $(this),
198
+ $elements = $element.parent('li').parent('ul').children('li').children('a'),
199
+ $prevElement,
200
+ $nextElement;
201
+
202
+ $elements.each(function(i) {
203
+ if ($(this).is($element)) {
204
+ $prevElement = $elements.eq(Math.max(0, i-1));
205
+ $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));
206
+ return;
207
+ }
208
+ });
209
+
210
+ Foundation.Keyboard.handleKey(e, 'Drilldown', {
211
+ next: function() {
212
+ if ($element.is(_this.$submenuAnchors)) {
213
+ _this._show($element.parent('li'));
214
+ $element.parent('li').one(Foundation.transitionend($element), function(){
215
+ $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
216
+ });
217
+ return true;
218
+ }
219
+ },
220
+ previous: function() {
221
+ _this._hide($element.parent('li').parent('ul'));
222
+ $element.parent('li').parent('ul').one(Foundation.transitionend($element), function(){
223
+ setTimeout(function() {
224
+ $element.parent('li').parent('ul').parent('li').children('a').first().focus();
225
+ }, 1);
226
+ });
227
+ return true;
228
+ },
229
+ up: function() {
230
+ $prevElement.focus();
231
+ // Don't tap focus on first element in root ul
232
+ return !$element.is(_this.$element.find('> li:first-child > a'));
233
+ },
234
+ down: function() {
235
+ $nextElement.focus();
236
+ // Don't tap focus on last element in root ul
237
+ return !$element.is(_this.$element.find('> li:last-child > a'));
238
+ },
239
+ close: function() {
240
+ // Don't close on element in root ul
241
+ if (!$element.is(_this.$element.find('> li > a'))) {
242
+ _this._hide($element.parent().parent());
243
+ $element.parent().parent().siblings('a').focus();
244
+ }
245
+ },
246
+ open: function() {
247
+ if (!$element.is(_this.$menuItems)) { // not menu item means back button
248
+ _this._hide($element.parent('li').parent('ul'));
249
+ $element.parent('li').parent('ul').one(Foundation.transitionend($element), function(){
250
+ setTimeout(function() {
251
+ $element.parent('li').parent('ul').parent('li').children('a').first().focus();
252
+ }, 1);
253
+ });
254
+ return true;
255
+ } else if ($element.is(_this.$submenuAnchors)) {
256
+ _this._show($element.parent('li'));
257
+ $element.parent('li').one(Foundation.transitionend($element), function(){
258
+ $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
259
+ });
260
+ return true;
261
+ }
262
+ },
263
+ handled: function(preventDefault) {
264
+ if (preventDefault) {
265
+ e.preventDefault();
266
+ }
267
+ e.stopImmediatePropagation();
268
+ }
269
+ });
270
+ }); // end keyboardAccess
271
+ }
272
+
273
+ /**
274
+ * Closes all open elements, and returns to root menu.
275
+ * @function
276
+ * @fires Drilldown#closed
277
+ */
278
+ _hideAll() {
279
+ var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');
280
+ if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});
281
+ $elem.one(Foundation.transitionend($elem), function(e){
282
+ $elem.removeClass('is-active is-closing');
283
+ });
284
+ /**
285
+ * Fires when the menu is fully closed.
286
+ * @event Drilldown#closed
287
+ */
288
+ this.$element.trigger('closed.zf.drilldown');
289
+ }
290
+
291
+ /**
292
+ * Adds event listener for each `back` button, and closes open menus.
293
+ * @function
294
+ * @fires Drilldown#back
295
+ * @param {jQuery} $elem - the current sub-menu to add `back` event.
296
+ */
297
+ _back($elem) {
298
+ var _this = this;
299
+ $elem.off('click.zf.drilldown');
300
+ $elem.children('.js-drilldown-back')
301
+ .on('click.zf.drilldown', function(e){
302
+ e.stopImmediatePropagation();
303
+ // console.log('mouseup on back');
304
+ _this._hide($elem);
305
+
306
+ // If there is a parent submenu, call show
307
+ let parentSubMenu = $elem.parent('li').parent('ul').parent('li');
308
+ if (parentSubMenu.length) {
309
+ _this._show(parentSubMenu);
310
+ }
311
+ });
312
+ }
313
+
314
+ /**
315
+ * Adds event listener to menu items w/o submenus to close open menus on click.
316
+ * @function
317
+ * @private
318
+ */
319
+ _menuLinkEvents() {
320
+ var _this = this;
321
+ this.$menuItems.not('.is-drilldown-submenu-parent')
322
+ .off('click.zf.drilldown')
323
+ .on('click.zf.drilldown', function(e){
324
+ // e.stopImmediatePropagation();
325
+ setTimeout(function(){
326
+ _this._hideAll();
327
+ }, 0);
328
+ });
329
+ }
330
+
331
+ /**
332
+ * Opens a submenu.
333
+ * @function
334
+ * @fires Drilldown#open
335
+ * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.
336
+ */
337
+ _show($elem) {
338
+ if(this.options.autoHeight) this.$wrapper.css({height:$elem.children('[data-submenu]').data('calcHeight')});
339
+ $elem.attr('aria-expanded', true);
340
+ $elem.children('[data-submenu]').addClass('is-active').removeClass('invisible').attr('aria-hidden', false);
341
+ /**
342
+ * Fires when the submenu has opened.
343
+ * @event Drilldown#open
344
+ */
345
+ this.$element.trigger('open.zf.drilldown', [$elem]);
346
+ };
347
+
348
+ /**
349
+ * Hides a submenu
350
+ * @function
351
+ * @fires Drilldown#hide
352
+ * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.
353
+ */
354
+ _hide($elem) {
355
+ if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});
356
+ var _this = this;
357
+ $elem.parent('li').attr('aria-expanded', false);
358
+ $elem.attr('aria-hidden', true).addClass('is-closing')
359
+ $elem.addClass('is-closing')
360
+ .one(Foundation.transitionend($elem), function(){
361
+ $elem.removeClass('is-active is-closing');
362
+ $elem.blur().addClass('invisible');
363
+ });
364
+ /**
365
+ * Fires when the submenu has closed.
366
+ * @event Drilldown#hide
367
+ */
368
+ $elem.trigger('hide.zf.drilldown', [$elem]);
369
+ }
370
+
371
+ /**
372
+ * Iterates through the nested menus to calculate the min-height, and max-width for the menu.
373
+ * Prevents content jumping.
374
+ * @function
375
+ * @private
376
+ */
377
+ _getMaxDims() {
378
+ var maxHeight = 0, result = {}, _this = this;
379
+ this.$submenus.add(this.$element).each(function(){
380
+ var numOfElems = $(this).children('li').length;
381
+ var height = Foundation.Box.GetDimensions(this).height;
382
+ maxHeight = height > maxHeight ? height : maxHeight;
383
+ if(_this.options.autoHeight) {
384
+ $(this).data('calcHeight',height);
385
+ if (!$(this).hasClass('is-drilldown-submenu')) result['height'] = height;
386
+ }
387
+ });
388
+
389
+ if(!this.options.autoHeight) result['min-height'] = `${maxHeight}px`;
390
+
391
+ result['max-width'] = `${this.$element[0].getBoundingClientRect().width}px`;
392
+
393
+ return result;
394
+ }
395
+
396
+ /**
397
+ * Destroys the Drilldown Menu
398
+ * @function
399
+ */
400
+ destroy() {
401
+ if(this.options.scrollTop) this.$element.off('.zf.drilldown',this._bindHandler);
402
+ this._hideAll();
403
+ this.$element.off('mutateme.zf.trigger');
404
+ Foundation.Nest.Burn(this.$element, 'drilldown');
405
+ this.$element.unwrap()
406
+ .find('.js-drilldown-back, .is-submenu-parent-item').remove()
407
+ .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu')
408
+ .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');
409
+ this.$submenuAnchors.each(function() {
410
+ $(this).off('.zf.drilldown');
411
+ });
412
+
413
+ this.$submenus.removeClass('drilldown-submenu-cover-previous');
414
+
415
+ this.$element.find('a').each(function(){
416
+ var $link = $(this);
417
+ $link.removeAttr('tabindex');
418
+ if($link.data('savedHref')){
419
+ $link.attr('href', $link.data('savedHref')).removeData('savedHref');
420
+ }else{ return; }
421
+ });
422
+ Foundation.unregisterPlugin(this);
423
+ };
424
+ }
425
+
426
+ Drilldown.defaults = {
427
+ /**
428
+ * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting.
429
+ * @option
430
+ * @type {string}
431
+ * @default '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>'
432
+ */
433
+ backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',
434
+ /**
435
+ * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.
436
+ * @option
437
+ * @type {string}
438
+ * @default top
439
+ */
440
+ backButtonPosition: 'top',
441
+ /**
442
+ * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting.
443
+ * @option
444
+ * @type {string}
445
+ * @default '<div></div>'
446
+ */
447
+ wrapper: '<div></div>',
448
+ /**
449
+ * Adds the parent link to the submenu.
450
+ * @option
451
+ * @type {boolean}
452
+ * @default false
453
+ */
454
+ parentLink: false,
455
+ /**
456
+ * Allow the menu to return to root list on body click.
457
+ * @option
458
+ * @type {boolean}
459
+ * @default false
460
+ */
461
+ closeOnClick: false,
462
+ /**
463
+ * Allow the menu to auto adjust height.
464
+ * @option
465
+ * @type {boolean}
466
+ * @default false
467
+ */
468
+ autoHeight: false,
469
+ /**
470
+ * Animate the auto adjust height.
471
+ * @option
472
+ * @type {boolean}
473
+ * @default false
474
+ */
475
+ animateHeight: false,
476
+ /**
477
+ * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button
478
+ * @option
479
+ * @type {boolean}
480
+ * @default false
481
+ */
482
+ scrollTop: false,
483
+ /**
484
+ * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken
485
+ * @option
486
+ * @type {string}
487
+ * @default ''
488
+ */
489
+ scrollTopElement: '',
490
+ /**
491
+ * ScrollTop offset
492
+ * @option
493
+ * @type {number}
494
+ * @default 0
495
+ */
496
+ scrollTopOffset: 0,
497
+ /**
498
+ * Scroll animation duration
499
+ * @option
500
+ * @type {number}
501
+ * @default 500
502
+ */
503
+ animationDuration: 500,
504
+ /**
505
+ * Scroll animation easing. Can be `'swing'` or `'linear'`.
506
+ * @option
507
+ * @type {string}
508
+ * @see {@link https://api.jquery.com/animate|JQuery animate}
509
+ * @default 'swing'
510
+ */
511
+ animationEasing: 'swing'
512
+ // holdOpen: false
513
+ };
514
+
515
+ // Window exports
516
+ Foundation.plugin(Drilldown, 'Drilldown');
517
+
518
+ }(jQuery);