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,432 @@
1
+ 'use strict';
2
+
3
+ !function($) {
4
+
5
+ /**
6
+ * Dropdown module.
7
+ * @module foundation.dropdown
8
+ * @requires foundation.util.keyboard
9
+ * @requires foundation.util.box
10
+ * @requires foundation.util.triggers
11
+ */
12
+
13
+ class Dropdown {
14
+ /**
15
+ * Creates a new instance of a dropdown.
16
+ * @class
17
+ * @param {jQuery} element - jQuery object to make into a dropdown.
18
+ * Object should be of the dropdown panel, rather than its anchor.
19
+ * @param {Object} options - Overrides to the default plugin settings.
20
+ */
21
+ constructor(element, options) {
22
+ this.$element = element;
23
+ this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);
24
+ this._init();
25
+
26
+ Foundation.registerPlugin(this, 'Dropdown');
27
+ Foundation.Keyboard.register('Dropdown', {
28
+ 'ENTER': 'open',
29
+ 'SPACE': 'open',
30
+ 'ESCAPE': 'close'
31
+ });
32
+ }
33
+
34
+ /**
35
+ * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
36
+ * @function
37
+ * @private
38
+ */
39
+ _init() {
40
+ var $id = this.$element.attr('id');
41
+
42
+ this.$anchor = $(`[data-toggle="${$id}"]`).length ? $(`[data-toggle="${$id}"]`) : $(`[data-open="${$id}"]`);
43
+ this.$anchor.attr({
44
+ 'aria-controls': $id,
45
+ 'data-is-focus': false,
46
+ 'data-yeti-box': $id,
47
+ 'aria-haspopup': true,
48
+ 'aria-expanded': false
49
+
50
+ });
51
+
52
+ if(this.options.parentClass){
53
+ this.$parent = this.$element.parents('.' + this.options.parentClass);
54
+ }else{
55
+ this.$parent = null;
56
+ }
57
+ this.options.positionClass = this.getPositionClass();
58
+ this.counter = 4;
59
+ this.usedPositions = [];
60
+ this.$element.attr({
61
+ 'aria-hidden': 'true',
62
+ 'data-yeti-box': $id,
63
+ 'data-resize': $id,
64
+ 'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')
65
+ });
66
+ this._events();
67
+ }
68
+
69
+ /**
70
+ * Helper function to determine current orientation of dropdown pane.
71
+ * @function
72
+ * @returns {String} position - string value of a position class.
73
+ */
74
+ getPositionClass() {
75
+ var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
76
+ verticalPosition = verticalPosition ? verticalPosition[0] : '';
77
+ var horizontalPosition = /float-(\S+)/.exec(this.$anchor[0].className);
78
+ horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';
79
+ var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;
80
+
81
+ return position;
82
+ }
83
+
84
+ /**
85
+ * Adjusts the dropdown panes orientation by adding/removing positioning classes.
86
+ * @function
87
+ * @private
88
+ * @param {String} position - position class to remove.
89
+ */
90
+ _reposition(position) {
91
+ this.usedPositions.push(position ? position : 'bottom');
92
+ //default, try switching to opposite side
93
+ if(!position && (this.usedPositions.indexOf('top') < 0)){
94
+ this.$element.addClass('top');
95
+ }else if(position === 'top' && (this.usedPositions.indexOf('bottom') < 0)){
96
+ this.$element.removeClass(position);
97
+ }else if(position === 'left' && (this.usedPositions.indexOf('right') < 0)){
98
+ this.$element.removeClass(position)
99
+ .addClass('right');
100
+ }else if(position === 'right' && (this.usedPositions.indexOf('left') < 0)){
101
+ this.$element.removeClass(position)
102
+ .addClass('left');
103
+ }
104
+
105
+ //if default change didn't work, try bottom or left first
106
+ else if(!position && (this.usedPositions.indexOf('top') > -1) && (this.usedPositions.indexOf('left') < 0)){
107
+ this.$element.addClass('left');
108
+ }else if(position === 'top' && (this.usedPositions.indexOf('bottom') > -1) && (this.usedPositions.indexOf('left') < 0)){
109
+ this.$element.removeClass(position)
110
+ .addClass('left');
111
+ }else if(position === 'left' && (this.usedPositions.indexOf('right') > -1) && (this.usedPositions.indexOf('bottom') < 0)){
112
+ this.$element.removeClass(position);
113
+ }else if(position === 'right' && (this.usedPositions.indexOf('left') > -1) && (this.usedPositions.indexOf('bottom') < 0)){
114
+ this.$element.removeClass(position);
115
+ }
116
+ //if nothing cleared, set to bottom
117
+ else{
118
+ this.$element.removeClass(position);
119
+ }
120
+ this.classChanged = true;
121
+ this.counter--;
122
+ }
123
+
124
+ /**
125
+ * Sets the position and orientation of the dropdown pane, checks for collisions.
126
+ * Recursively calls itself if a collision is detected, with a new position class.
127
+ * @function
128
+ * @private
129
+ */
130
+ _setPosition() {
131
+ if(this.$anchor.attr('aria-expanded') === 'false'){ return false; }
132
+ var position = this.getPositionClass(),
133
+ $eleDims = Foundation.Box.GetDimensions(this.$element),
134
+ $anchorDims = Foundation.Box.GetDimensions(this.$anchor),
135
+ _this = this,
136
+ direction = (position === 'left' ? 'left' : ((position === 'right') ? 'left' : 'top')),
137
+ param = (direction === 'top') ? 'height' : 'width',
138
+ offset = (param === 'height') ? this.options.vOffset : this.options.hOffset;
139
+
140
+ if(($eleDims.width >= $eleDims.windowDims.width) || (!this.counter && !Foundation.Box.ImNotTouchingYou(this.$element, this.$parent))){
141
+ var newWidth = $eleDims.windowDims.width,
142
+ parentHOffset = 0;
143
+ if(this.$parent){
144
+ var $parentDims = Foundation.Box.GetDimensions(this.$parent),
145
+ parentHOffset = $parentDims.offset.left;
146
+ if ($parentDims.width < newWidth){
147
+ newWidth = $parentDims.width;
148
+ }
149
+ }
150
+
151
+ this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset + parentHOffset, true)).css({
152
+ 'width': newWidth - (this.options.hOffset * 2),
153
+ 'height': 'auto'
154
+ });
155
+ this.classChanged = true;
156
+ return false;
157
+ }
158
+
159
+ this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));
160
+
161
+ while(!Foundation.Box.ImNotTouchingYou(this.$element, this.$parent, true) && this.counter){
162
+ this._reposition(position);
163
+ this._setPosition();
164
+ }
165
+ }
166
+
167
+ /**
168
+ * Adds event listeners to the element utilizing the triggers utility library.
169
+ * @function
170
+ * @private
171
+ */
172
+ _events() {
173
+ var _this = this;
174
+ this.$element.on({
175
+ 'open.zf.trigger': this.open.bind(this),
176
+ 'close.zf.trigger': this.close.bind(this),
177
+ 'toggle.zf.trigger': this.toggle.bind(this),
178
+ 'resizeme.zf.trigger': this._setPosition.bind(this)
179
+ });
180
+
181
+ if(this.options.hover){
182
+ this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')
183
+ .on('mouseenter.zf.dropdown', function(){
184
+ var bodyData = $('body').data();
185
+ if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {
186
+ clearTimeout(_this.timeout);
187
+ _this.timeout = setTimeout(function(){
188
+ _this.open();
189
+ _this.$anchor.data('hover', true);
190
+ }, _this.options.hoverDelay);
191
+ }
192
+ }).on('mouseleave.zf.dropdown', function(){
193
+ clearTimeout(_this.timeout);
194
+ _this.timeout = setTimeout(function(){
195
+ _this.close();
196
+ _this.$anchor.data('hover', false);
197
+ }, _this.options.hoverDelay);
198
+ });
199
+ if(this.options.hoverPane){
200
+ this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')
201
+ .on('mouseenter.zf.dropdown', function(){
202
+ clearTimeout(_this.timeout);
203
+ }).on('mouseleave.zf.dropdown', function(){
204
+ clearTimeout(_this.timeout);
205
+ _this.timeout = setTimeout(function(){
206
+ _this.close();
207
+ _this.$anchor.data('hover', false);
208
+ }, _this.options.hoverDelay);
209
+ });
210
+ }
211
+ }
212
+ this.$anchor.add(this.$element).on('keydown.zf.dropdown', function(e) {
213
+
214
+ var $target = $(this),
215
+ visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);
216
+
217
+ Foundation.Keyboard.handleKey(e, 'Dropdown', {
218
+ open: function() {
219
+ if ($target.is(_this.$anchor)) {
220
+ _this.open();
221
+ _this.$element.attr('tabindex', -1).focus();
222
+ e.preventDefault();
223
+ }
224
+ },
225
+ close: function() {
226
+ _this.close();
227
+ _this.$anchor.focus();
228
+ }
229
+ });
230
+ });
231
+ }
232
+
233
+ /**
234
+ * Adds an event handler to the body to close any dropdowns on a click.
235
+ * @function
236
+ * @private
237
+ */
238
+ _addBodyHandler() {
239
+ var $body = $(document.body).not(this.$element),
240
+ _this = this;
241
+ $body.off('click.zf.dropdown')
242
+ .on('click.zf.dropdown', function(e){
243
+ if(_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {
244
+ return;
245
+ }
246
+ if(_this.$element.find(e.target).length) {
247
+ return;
248
+ }
249
+ _this.close();
250
+ $body.off('click.zf.dropdown');
251
+ });
252
+ }
253
+
254
+ /**
255
+ * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
256
+ * @function
257
+ * @fires Dropdown#closeme
258
+ * @fires Dropdown#show
259
+ */
260
+ open() {
261
+ // var _this = this;
262
+ /**
263
+ * Fires to close other open dropdowns, typically when dropdown is opening
264
+ * @event Dropdown#closeme
265
+ */
266
+ this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
267
+ this.$anchor.addClass('hover')
268
+ .attr({'aria-expanded': true});
269
+ // this.$element/*.show()*/;
270
+ this._setPosition();
271
+ this.$element.addClass('is-open')
272
+ .attr({'aria-hidden': false});
273
+
274
+ if(this.options.autoFocus){
275
+ var $focusable = Foundation.Keyboard.findFocusable(this.$element);
276
+ if($focusable.length){
277
+ $focusable.eq(0).focus();
278
+ }
279
+ }
280
+
281
+ if(this.options.closeOnClick){ this._addBodyHandler(); }
282
+
283
+ if (this.options.trapFocus) {
284
+ Foundation.Keyboard.trapFocus(this.$element);
285
+ }
286
+
287
+ /**
288
+ * Fires once the dropdown is visible.
289
+ * @event Dropdown#show
290
+ */
291
+ this.$element.trigger('show.zf.dropdown', [this.$element]);
292
+ }
293
+
294
+ /**
295
+ * Closes the open dropdown pane.
296
+ * @function
297
+ * @fires Dropdown#hide
298
+ */
299
+ close() {
300
+ if(!this.$element.hasClass('is-open')){
301
+ return false;
302
+ }
303
+ this.$element.removeClass('is-open')
304
+ .attr({'aria-hidden': true});
305
+
306
+ this.$anchor.removeClass('hover')
307
+ .attr('aria-expanded', false);
308
+
309
+ if(this.classChanged){
310
+ var curPositionClass = this.getPositionClass();
311
+ if(curPositionClass){
312
+ this.$element.removeClass(curPositionClass);
313
+ }
314
+ this.$element.addClass(this.options.positionClass)
315
+ /*.hide()*/.css({height: '', width: ''});
316
+ this.classChanged = false;
317
+ this.counter = 4;
318
+ this.usedPositions.length = 0;
319
+ }
320
+ /**
321
+ * Fires once the dropdown is no longer visible.
322
+ * @event Dropdown#hide
323
+ */
324
+ this.$element.trigger('hide.zf.dropdown', [this.$element]);
325
+
326
+ if (this.options.trapFocus) {
327
+ Foundation.Keyboard.releaseFocus(this.$element);
328
+ }
329
+ }
330
+
331
+ /**
332
+ * Toggles the dropdown pane's visibility.
333
+ * @function
334
+ */
335
+ toggle() {
336
+ if(this.$element.hasClass('is-open')){
337
+ if(this.$anchor.data('hover')) return;
338
+ this.close();
339
+ }else{
340
+ this.open();
341
+ }
342
+ }
343
+
344
+ /**
345
+ * Destroys the dropdown.
346
+ * @function
347
+ */
348
+ destroy() {
349
+ this.$element.off('.zf.trigger').hide();
350
+ this.$anchor.off('.zf.dropdown');
351
+
352
+ Foundation.unregisterPlugin(this);
353
+ }
354
+ }
355
+
356
+ Dropdown.defaults = {
357
+ /**
358
+ * Class that designates bounding container of Dropdown (default: window)
359
+ * @option
360
+ * @type {?string}
361
+ * @default null
362
+ */
363
+ parentClass: null,
364
+ /**
365
+ * Amount of time to delay opening a submenu on hover event.
366
+ * @option
367
+ * @type {number}
368
+ * @default 250
369
+ */
370
+ hoverDelay: 250,
371
+ /**
372
+ * Allow submenus to open on hover events
373
+ * @option
374
+ * @type {boolean}
375
+ * @default false
376
+ */
377
+ hover: false,
378
+ /**
379
+ * Don't close dropdown when hovering over dropdown pane
380
+ * @option
381
+ * @type {boolean}
382
+ * @default false
383
+ */
384
+ hoverPane: false,
385
+ /**
386
+ * Number of pixels between the dropdown pane and the triggering element on open.
387
+ * @option
388
+ * @type {number}
389
+ * @default 1
390
+ */
391
+ vOffset: 1,
392
+ /**
393
+ * Number of pixels between the dropdown pane and the triggering element on open.
394
+ * @option
395
+ * @type {number}
396
+ * @default 1
397
+ */
398
+ hOffset: 1,
399
+ /**
400
+ * Class applied to adjust open position. JS will test and fill this in.
401
+ * @option
402
+ * @type {string}
403
+ * @default ''
404
+ */
405
+ positionClass: '',
406
+ /**
407
+ * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
408
+ * @option
409
+ * @type {boolean}
410
+ * @default false
411
+ */
412
+ trapFocus: false,
413
+ /**
414
+ * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
415
+ * @option
416
+ * @type {boolean}
417
+ * @default false
418
+ */
419
+ autoFocus: false,
420
+ /**
421
+ * Allows a click on the body to close the dropdown.
422
+ * @option
423
+ * @type {boolean}
424
+ * @default false
425
+ */
426
+ closeOnClick: false
427
+ }
428
+
429
+ // Window exports
430
+ Foundation.plugin(Dropdown, 'Dropdown');
431
+
432
+ }(jQuery);
@@ -0,0 +1,442 @@
1
+ 'use strict';
2
+
3
+ !function($) {
4
+
5
+ /**
6
+ * DropdownMenu module.
7
+ * @module foundation.dropdown-menu
8
+ * @requires foundation.util.keyboard
9
+ * @requires foundation.util.box
10
+ * @requires foundation.util.nest
11
+ */
12
+
13
+ class DropdownMenu {
14
+ /**
15
+ * Creates a new instance of DropdownMenu.
16
+ * @class
17
+ * @fires DropdownMenu#init
18
+ * @param {jQuery} element - jQuery object to make into a dropdown menu.
19
+ * @param {Object} options - Overrides to the default plugin settings.
20
+ */
21
+ constructor(element, options) {
22
+ this.$element = element;
23
+ this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);
24
+
25
+ Foundation.Nest.Feather(this.$element, 'dropdown');
26
+ this._init();
27
+
28
+ Foundation.registerPlugin(this, 'DropdownMenu');
29
+ Foundation.Keyboard.register('DropdownMenu', {
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
+ });
38
+ }
39
+
40
+ /**
41
+ * Initializes the plugin, and calls _prepareMenu
42
+ * @private
43
+ * @function
44
+ */
45
+ _init() {
46
+ var subs = this.$element.find('li.is-dropdown-submenu-parent');
47
+ this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
48
+
49
+ this.$menuItems = this.$element.find('[role="menuitem"]');
50
+ this.$tabs = this.$element.children('[role="menuitem"]');
51
+ this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
52
+
53
+ if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {
54
+ this.options.alignment = 'right';
55
+ subs.addClass('opens-left');
56
+ } else {
57
+ subs.addClass('opens-right');
58
+ }
59
+ this.changed = false;
60
+ this._events();
61
+ };
62
+
63
+ _isVertical() {
64
+ return this.$tabs.css('display') === 'block';
65
+ }
66
+
67
+ /**
68
+ * Adds event listeners to elements within the menu
69
+ * @private
70
+ * @function
71
+ */
72
+ _events() {
73
+ var _this = this,
74
+ hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined'),
75
+ parClass = 'is-dropdown-submenu-parent';
76
+
77
+ // used for onClick and in the keyboard handlers
78
+ var handleClickFn = function(e) {
79
+ var $elem = $(e.target).parentsUntil('ul', `.${parClass}`),
80
+ hasSub = $elem.hasClass(parClass),
81
+ hasClicked = $elem.attr('data-is-click') === 'true',
82
+ $sub = $elem.children('.is-dropdown-submenu');
83
+
84
+ if (hasSub) {
85
+ if (hasClicked) {
86
+ if (!_this.options.closeOnClick || (!_this.options.clickOpen && !hasTouch) || (_this.options.forceFollow && hasTouch)) { return; }
87
+ else {
88
+ e.stopImmediatePropagation();
89
+ e.preventDefault();
90
+ _this._hide($elem);
91
+ }
92
+ } else {
93
+ e.preventDefault();
94
+ e.stopImmediatePropagation();
95
+ _this._show($sub);
96
+ $elem.add($elem.parentsUntil(_this.$element, `.${parClass}`)).attr('data-is-click', true);
97
+ }
98
+ }
99
+ };
100
+
101
+ if (this.options.clickOpen || hasTouch) {
102
+ this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);
103
+ }
104
+
105
+ // Handle Leaf element Clicks
106
+ if(_this.options.closeOnClickInside){
107
+ this.$menuItems.on('click.zf.dropdownmenu', function(e) {
108
+ var $elem = $(this),
109
+ hasSub = $elem.hasClass(parClass);
110
+ if(!hasSub){
111
+ _this._hide();
112
+ }
113
+ });
114
+ }
115
+
116
+ if (!this.options.disableHover) {
117
+ this.$menuItems.on('mouseenter.zf.dropdownmenu', function(e) {
118
+ var $elem = $(this),
119
+ hasSub = $elem.hasClass(parClass);
120
+
121
+ if (hasSub) {
122
+ clearTimeout($elem.data('_delay'));
123
+ $elem.data('_delay', setTimeout(function() {
124
+ _this._show($elem.children('.is-dropdown-submenu'));
125
+ }, _this.options.hoverDelay));
126
+ }
127
+ }).on('mouseleave.zf.dropdownmenu', function(e) {
128
+ var $elem = $(this),
129
+ hasSub = $elem.hasClass(parClass);
130
+ if (hasSub && _this.options.autoclose) {
131
+ if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { return false; }
132
+
133
+ clearTimeout($elem.data('_delay'));
134
+ $elem.data('_delay', setTimeout(function() {
135
+ _this._hide($elem);
136
+ }, _this.options.closingTime));
137
+ }
138
+ });
139
+ }
140
+ this.$menuItems.on('keydown.zf.dropdownmenu', function(e) {
141
+ var $element = $(e.target).parentsUntil('ul', '[role="menuitem"]'),
142
+ isTab = _this.$tabs.index($element) > -1,
143
+ $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
144
+ $prevElement,
145
+ $nextElement;
146
+
147
+ $elements.each(function(i) {
148
+ if ($(this).is($element)) {
149
+ $prevElement = $elements.eq(i-1);
150
+ $nextElement = $elements.eq(i+1);
151
+ return;
152
+ }
153
+ });
154
+
155
+ var nextSibling = function() {
156
+ if (!$element.is(':last-child')) {
157
+ $nextElement.children('a:first').focus();
158
+ e.preventDefault();
159
+ }
160
+ }, prevSibling = function() {
161
+ $prevElement.children('a:first').focus();
162
+ e.preventDefault();
163
+ }, openSub = function() {
164
+ var $sub = $element.children('ul.is-dropdown-submenu');
165
+ if ($sub.length) {
166
+ _this._show($sub);
167
+ $element.find('li > a:first').focus();
168
+ e.preventDefault();
169
+ } else { return; }
170
+ }, closeSub = function() {
171
+ //if ($element.is(':first-child')) {
172
+ var close = $element.parent('ul').parent('li');
173
+ close.children('a:first').focus();
174
+ _this._hide(close);
175
+ e.preventDefault();
176
+ //}
177
+ };
178
+ var functions = {
179
+ open: openSub,
180
+ close: function() {
181
+ _this._hide(_this.$element);
182
+ _this.$menuItems.find('a:first').focus(); // focus to first element
183
+ e.preventDefault();
184
+ },
185
+ handled: function() {
186
+ e.stopImmediatePropagation();
187
+ }
188
+ };
189
+
190
+ if (isTab) {
191
+ if (_this._isVertical()) { // vertical menu
192
+ if (Foundation.rtl()) { // right aligned
193
+ $.extend(functions, {
194
+ down: nextSibling,
195
+ up: prevSibling,
196
+ next: closeSub,
197
+ previous: openSub
198
+ });
199
+ } else { // left aligned
200
+ $.extend(functions, {
201
+ down: nextSibling,
202
+ up: prevSibling,
203
+ next: openSub,
204
+ previous: closeSub
205
+ });
206
+ }
207
+ } else { // horizontal menu
208
+ if (Foundation.rtl()) { // right aligned
209
+ $.extend(functions, {
210
+ next: prevSibling,
211
+ previous: nextSibling,
212
+ down: openSub,
213
+ up: closeSub
214
+ });
215
+ } else { // left aligned
216
+ $.extend(functions, {
217
+ next: nextSibling,
218
+ previous: prevSibling,
219
+ down: openSub,
220
+ up: closeSub
221
+ });
222
+ }
223
+ }
224
+ } else { // not tabs -> one sub
225
+ if (Foundation.rtl()) { // right aligned
226
+ $.extend(functions, {
227
+ next: closeSub,
228
+ previous: openSub,
229
+ down: nextSibling,
230
+ up: prevSibling
231
+ });
232
+ } else { // left aligned
233
+ $.extend(functions, {
234
+ next: openSub,
235
+ previous: closeSub,
236
+ down: nextSibling,
237
+ up: prevSibling
238
+ });
239
+ }
240
+ }
241
+ Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);
242
+
243
+ });
244
+ }
245
+
246
+ /**
247
+ * Adds an event handler to the body to close any dropdowns on a click.
248
+ * @function
249
+ * @private
250
+ */
251
+ _addBodyHandler() {
252
+ var $body = $(document.body),
253
+ _this = this;
254
+ $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu')
255
+ .on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function(e) {
256
+ var $link = _this.$element.find(e.target);
257
+ if ($link.length) { return; }
258
+
259
+ _this._hide();
260
+ $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');
261
+ });
262
+ }
263
+
264
+ /**
265
+ * Opens a dropdown pane, and checks for collisions first.
266
+ * @param {jQuery} $sub - ul element that is a submenu to show
267
+ * @function
268
+ * @private
269
+ * @fires DropdownMenu#show
270
+ */
271
+ _show($sub) {
272
+ var idx = this.$tabs.index(this.$tabs.filter(function(i, el) {
273
+ return $(el).find($sub).length > 0;
274
+ }));
275
+ var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');
276
+ this._hide($sibs, idx);
277
+ $sub.css('visibility', 'hidden').addClass('js-dropdown-active')
278
+ .parent('li.is-dropdown-submenu-parent').addClass('is-active');
279
+ var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
280
+ if (!clear) {
281
+ var oldClass = this.options.alignment === 'left' ? '-right' : '-left',
282
+ $parentLi = $sub.parent('.is-dropdown-submenu-parent');
283
+ $parentLi.removeClass(`opens${oldClass}`).addClass(`opens-${this.options.alignment}`);
284
+ clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
285
+ if (!clear) {
286
+ $parentLi.removeClass(`opens-${this.options.alignment}`).addClass('opens-inner');
287
+ }
288
+ this.changed = true;
289
+ }
290
+ $sub.css('visibility', '');
291
+ if (this.options.closeOnClick) { this._addBodyHandler(); }
292
+ /**
293
+ * Fires when the new dropdown pane is visible.
294
+ * @event DropdownMenu#show
295
+ */
296
+ this.$element.trigger('show.zf.dropdownmenu', [$sub]);
297
+ }
298
+
299
+ /**
300
+ * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
301
+ * @function
302
+ * @param {jQuery} $elem - element with a submenu to hide
303
+ * @param {Number} idx - index of the $tabs collection to hide
304
+ * @private
305
+ */
306
+ _hide($elem, idx) {
307
+ var $toClose;
308
+ if ($elem && $elem.length) {
309
+ $toClose = $elem;
310
+ } else if (idx !== undefined) {
311
+ $toClose = this.$tabs.not(function(i, el) {
312
+ return i === idx;
313
+ });
314
+ }
315
+ else {
316
+ $toClose = this.$element;
317
+ }
318
+ var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;
319
+
320
+ if (somethingToClose) {
321
+ $toClose.find('li.is-active').add($toClose).attr({
322
+ 'data-is-click': false
323
+ }).removeClass('is-active');
324
+
325
+ $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');
326
+
327
+ if (this.changed || $toClose.find('opens-inner').length) {
328
+ var oldClass = this.options.alignment === 'left' ? 'right' : 'left';
329
+ $toClose.find('li.is-dropdown-submenu-parent').add($toClose)
330
+ .removeClass(`opens-inner opens-${this.options.alignment}`)
331
+ .addClass(`opens-${oldClass}`);
332
+ this.changed = false;
333
+ }
334
+ /**
335
+ * Fires when the open menus are closed.
336
+ * @event DropdownMenu#hide
337
+ */
338
+ this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);
339
+ }
340
+ }
341
+
342
+ /**
343
+ * Destroys the plugin.
344
+ * @function
345
+ */
346
+ destroy() {
347
+ this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click')
348
+ .removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');
349
+ $(document.body).off('.zf.dropdownmenu');
350
+ Foundation.Nest.Burn(this.$element, 'dropdown');
351
+ Foundation.unregisterPlugin(this);
352
+ }
353
+ }
354
+
355
+ /**
356
+ * Default settings for plugin
357
+ */
358
+ DropdownMenu.defaults = {
359
+ /**
360
+ * Disallows hover events from opening submenus
361
+ * @option
362
+ * @type {boolean}
363
+ * @default false
364
+ */
365
+ disableHover: false,
366
+ /**
367
+ * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
368
+ * @option
369
+ * @type {boolean}
370
+ * @default true
371
+ */
372
+ autoclose: true,
373
+ /**
374
+ * Amount of time to delay opening a submenu on hover event.
375
+ * @option
376
+ * @type {number}
377
+ * @default 50
378
+ */
379
+ hoverDelay: 50,
380
+ /**
381
+ * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
382
+ * @option
383
+ * @type {boolean}
384
+ * @default false
385
+ */
386
+ clickOpen: false,
387
+ /**
388
+ * Amount of time to delay closing a submenu on a mouseleave event.
389
+ * @option
390
+ * @type {number}
391
+ * @default 500
392
+ */
393
+
394
+ closingTime: 500,
395
+ /**
396
+ * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'left'` or `'right'`.
397
+ * @option
398
+ * @type {string}
399
+ * @default 'left'
400
+ */
401
+ alignment: 'left',
402
+ /**
403
+ * Allow clicks on the body to close any open submenus.
404
+ * @option
405
+ * @type {boolean}
406
+ * @default true
407
+ */
408
+ closeOnClick: true,
409
+ /**
410
+ * Allow clicks on leaf anchor links to close any open submenus.
411
+ * @option
412
+ * @type {boolean}
413
+ * @default true
414
+ */
415
+ closeOnClickInside: true,
416
+ /**
417
+ * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
418
+ * @option
419
+ * @type {string}
420
+ * @default 'vertical'
421
+ */
422
+ verticalClass: 'vertical',
423
+ /**
424
+ * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
425
+ * @option
426
+ * @type {string}
427
+ * @default 'align-right'
428
+ */
429
+ rightClass: 'align-right',
430
+ /**
431
+ * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
432
+ * @option
433
+ * @type {boolean}
434
+ * @default true
435
+ */
436
+ forceFollow: true
437
+ };
438
+
439
+ // Window exports
440
+ Foundation.plugin(DropdownMenu, 'DropdownMenu');
441
+
442
+ }(jQuery);