aacinfo-theme 0.2.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +25 -1
  3. data/_includes/footer.html +54 -0
  4. data/_includes/header.html +46 -0
  5. data/_includes/parts/content.html +6 -0
  6. data/_includes/parts/social-media.html +10 -0
  7. data/_includes/theme-menu.html +27 -28
  8. data/_layouts/theme.html +14 -26
  9. data/_layouts/title-page.html +22 -0
  10. data/_sass/_style.scss +122 -0
  11. data/_sass/components/_blockquotes.scss +62 -0
  12. data/_sass/components/_buttons.scss +100 -0
  13. data/_sass/components/_cards.scss +29 -0
  14. data/_sass/components/_dividers.scss +165 -0
  15. data/_sass/components/_featured-image.scss +14 -0
  16. data/_sass/components/_forms.scss +414 -0
  17. data/_sass/components/_links.scss +83 -0
  18. data/_sass/components/_pagination.scss +91 -0
  19. data/_sass/components/_selectric.scss +200 -0
  20. data/_sass/components/_slick-theme.scss +194 -0
  21. data/_sass/components/_slick.scss +98 -0
  22. data/_sass/components/_spinner.scss +356 -0
  23. data/_sass/components/_svg.scss +12 -0
  24. data/_sass/fontawesome/.bower.json +36 -0
  25. data/_sass/fontawesome/.gitignore +33 -0
  26. data/_sass/fontawesome/.npmignore +42 -0
  27. data/_sass/fontawesome/HELP-US-OUT.txt +7 -0
  28. data/_sass/fontawesome/bower.json +22 -0
  29. data/{assets → _sass/fontawesome}/css/font-awesome.css +547 -11
  30. data/_sass/fontawesome/css/font-awesome.css.map +7 -0
  31. data/_sass/fontawesome/css/font-awesome.min.css +4 -0
  32. data/_sass/fontawesome/fonts/FontAwesome.otf +0 -0
  33. data/_sass/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  34. data/_sass/fontawesome/fonts/fontawesome-webfont.svg +2671 -0
  35. data/_sass/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  36. data/_sass/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  37. data/_sass/fontawesome/fonts/fontawesome-webfont.woff2 +0 -0
  38. data/_sass/fontawesome/less/animated.less +34 -0
  39. data/_sass/fontawesome/less/bordered-pulled.less +25 -0
  40. data/_sass/fontawesome/less/core.less +12 -0
  41. data/_sass/fontawesome/less/fixed-width.less +6 -0
  42. data/_sass/fontawesome/less/font-awesome.less +18 -0
  43. data/_sass/fontawesome/less/icons.less +789 -0
  44. data/_sass/fontawesome/less/larger.less +13 -0
  45. data/_sass/fontawesome/less/list.less +19 -0
  46. data/_sass/fontawesome/less/mixins.less +60 -0
  47. data/_sass/fontawesome/less/path.less +15 -0
  48. data/_sass/fontawesome/less/rotated-flipped.less +20 -0
  49. data/_sass/fontawesome/less/screen-reader.less +5 -0
  50. data/_sass/fontawesome/less/stacked.less +20 -0
  51. data/_sass/fontawesome/less/variables.less +800 -0
  52. data/_sass/fontawesome/scss/_animated.scss +34 -0
  53. data/_sass/fontawesome/scss/_bordered-pulled.scss +25 -0
  54. data/_sass/fontawesome/scss/_core.scss +12 -0
  55. data/_sass/fontawesome/scss/_fixed-width.scss +6 -0
  56. data/_sass/fontawesome/scss/_icons.scss +789 -0
  57. data/_sass/fontawesome/scss/_larger.scss +13 -0
  58. data/_sass/fontawesome/scss/_list.scss +19 -0
  59. data/_sass/fontawesome/scss/_mixins.scss +60 -0
  60. data/_sass/fontawesome/scss/_path.scss +15 -0
  61. data/_sass/fontawesome/scss/_rotated-flipped.scss +20 -0
  62. data/_sass/fontawesome/scss/_screen-reader.scss +5 -0
  63. data/_sass/fontawesome/scss/_stacked.scss +20 -0
  64. data/_sass/fontawesome/scss/_variables.scss +800 -0
  65. data/_sass/fontawesome/scss/font-awesome.scss +18 -0
  66. data/_sass/foundation-sites/.bower.json +44 -0
  67. data/_sass/foundation-sites/.bowerrc +3 -0
  68. data/_sass/foundation-sites/.eslintrc +64 -0
  69. data/_sass/foundation-sites/.github/ISSUE_TEMPLATE.md +21 -0
  70. data/_sass/foundation-sites/.github/PULL_REQUEST_TEMPLATE.md +9 -0
  71. data/_sass/foundation-sites/.sass-lint.yml +409 -0
  72. data/_sass/foundation-sites/.travis.yml +9 -0
  73. data/_sass/foundation-sites/LICENSE +22 -0
  74. data/_sass/foundation-sites/README.md +52 -0
  75. data/_sass/foundation-sites/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  76. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  77. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  78. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  79. data/_sass/foundation-sites/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  80. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  81. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  82. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  83. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  84. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  85. data/_sass/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  86. data/_sass/foundation-sites/assets/foundation-flex.scss +3 -0
  87. data/_sass/foundation-sites/assets/foundation-rtl.scss +5 -0
  88. data/_sass/foundation-sites/assets/foundation.scss +3 -0
  89. data/_sass/foundation-sites/bower.json +34 -0
  90. data/_sass/foundation-sites/browserstack.json +32 -0
  91. data/_sass/foundation-sites/code-of-conduct.md +43 -0
  92. data/_sass/foundation-sites/customizer/complete.json +48 -0
  93. data/_sass/foundation-sites/customizer/config.yml +228 -0
  94. data/_sass/foundation-sites/customizer/essential.json +11 -0
  95. data/_sass/foundation-sites/customizer/index.html +169 -0
  96. data/_sass/foundation-sites/dist/css/foundation-flex.css +4566 -0
  97. data/_sass/foundation-sites/dist/css/foundation-flex.min.css +2 -0
  98. data/_sass/foundation-sites/dist/css/foundation-rtl.css +4006 -0
  99. data/_sass/foundation-sites/dist/css/foundation-rtl.min.css +2 -0
  100. data/_sass/foundation-sites/dist/css/foundation.css +4001 -0
  101. data/_sass/foundation-sites/dist/css/foundation.min.css +2 -0
  102. data/_sass/foundation-sites/dist/js/foundation.d.ts +496 -0
  103. data/_sass/foundation-sites/dist/js/foundation.js +10207 -0
  104. data/_sass/foundation-sites/dist/js/foundation.min.js +4 -0
  105. data/_sass/foundation-sites/dist/js/plugins/foundation.abide.js +637 -0
  106. data/_sass/foundation-sites/dist/js/plugins/foundation.abide.min.js +1 -0
  107. data/_sass/foundation-sites/dist/js/plugins/foundation.accordion.js +252 -0
  108. data/_sass/foundation-sites/dist/js/plugins/foundation.accordion.min.js +1 -0
  109. data/_sass/foundation-sites/dist/js/plugins/foundation.accordionMenu.js +318 -0
  110. data/_sass/foundation-sites/dist/js/plugins/foundation.accordionMenu.min.js +1 -0
  111. data/_sass/foundation-sites/dist/js/plugins/foundation.core.js +386 -0
  112. data/_sass/foundation-sites/dist/js/plugins/foundation.core.min.js +1 -0
  113. data/_sass/foundation-sites/dist/js/plugins/foundation.drilldown.js +565 -0
  114. data/_sass/foundation-sites/dist/js/plugins/foundation.drilldown.min.js +1 -0
  115. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdown.js +465 -0
  116. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdown.min.js +1 -0
  117. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdownMenu.js +486 -0
  118. data/_sass/foundation-sites/dist/js/plugins/foundation.dropdownMenu.min.js +1 -0
  119. data/_sass/foundation-sites/dist/js/plugins/foundation.equalizer.js +374 -0
  120. data/_sass/foundation-sites/dist/js/plugins/foundation.equalizer.min.js +1 -0
  121. data/_sass/foundation-sites/dist/js/plugins/foundation.interchange.js +233 -0
  122. data/_sass/foundation-sites/dist/js/plugins/foundation.interchange.min.js +1 -0
  123. data/_sass/foundation-sites/dist/js/plugins/foundation.magellan.js +285 -0
  124. data/_sass/foundation-sites/dist/js/plugins/foundation.magellan.min.js +1 -0
  125. data/_sass/foundation-sites/dist/js/plugins/foundation.offcanvas.js +474 -0
  126. data/_sass/foundation-sites/dist/js/plugins/foundation.offcanvas.min.js +1 -0
  127. data/_sass/foundation-sites/dist/js/plugins/foundation.orbit.js +566 -0
  128. data/_sass/foundation-sites/dist/js/plugins/foundation.orbit.min.js +1 -0
  129. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveMenu.js +169 -0
  130. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveMenu.min.js +1 -0
  131. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveToggle.js +177 -0
  132. data/_sass/foundation-sites/dist/js/plugins/foundation.responsiveToggle.min.js +1 -0
  133. data/_sass/foundation-sites/dist/js/plugins/foundation.reveal.js +633 -0
  134. data/_sass/foundation-sites/dist/js/plugins/foundation.reveal.min.js +1 -0
  135. data/_sass/foundation-sites/dist/js/plugins/foundation.slider.js +762 -0
  136. data/_sass/foundation-sites/dist/js/plugins/foundation.slider.min.js +1 -0
  137. data/_sass/foundation-sites/dist/js/plugins/foundation.sticky.js +518 -0
  138. data/_sass/foundation-sites/dist/js/plugins/foundation.sticky.min.js +1 -0
  139. data/_sass/foundation-sites/dist/js/plugins/foundation.tabs.js +512 -0
  140. data/_sass/foundation-sites/dist/js/plugins/foundation.tabs.min.js +1 -0
  141. data/_sass/foundation-sites/dist/js/plugins/foundation.toggler.js +169 -0
  142. data/_sass/foundation-sites/dist/js/plugins/foundation.toggler.min.js +1 -0
  143. data/_sass/foundation-sites/dist/js/plugins/foundation.tooltip.js +492 -0
  144. data/_sass/foundation-sites/dist/js/plugins/foundation.tooltip.min.js +1 -0
  145. data/_sass/foundation-sites/dist/js/plugins/foundation.util.box.js +196 -0
  146. data/_sass/foundation-sites/dist/js/plugins/foundation.util.box.min.js +1 -0
  147. data/_sass/foundation-sites/dist/js/plugins/foundation.util.keyboard.js +163 -0
  148. data/_sass/foundation-sites/dist/js/plugins/foundation.util.keyboard.min.js +1 -0
  149. data/_sass/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.js +233 -0
  150. data/_sass/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.min.js +1 -0
  151. data/_sass/foundation-sites/dist/js/plugins/foundation.util.motion.js +103 -0
  152. data/_sass/foundation-sites/dist/js/plugins/foundation.util.motion.min.js +1 -0
  153. data/_sass/foundation-sites/dist/js/plugins/foundation.util.nest.js +74 -0
  154. data/_sass/foundation-sites/dist/js/plugins/foundation.util.nest.min.js +1 -0
  155. data/_sass/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.js +90 -0
  156. data/_sass/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.min.js +1 -0
  157. data/_sass/foundation-sites/dist/js/plugins/foundation.util.touch.js +352 -0
  158. data/_sass/foundation-sites/dist/js/plugins/foundation.util.touch.min.js +1 -0
  159. data/_sass/foundation-sites/dist/js/plugins/foundation.util.triggers.js +261 -0
  160. data/_sass/foundation-sites/dist/js/plugins/foundation.util.triggers.min.js +1 -0
  161. data/_sass/foundation-sites/dist/js/plugins/foundation.zf.responsiveAccordionTabs.js +262 -0
  162. data/_sass/foundation-sites/dist/js/plugins/foundation.zf.responsiveAccordionTabs.min.js +1 -0
  163. data/_sass/foundation-sites/docslink.sh +3 -0
  164. data/_sass/foundation-sites/js/foundation.abide.js +584 -0
  165. data/_sass/foundation-sites/js/foundation.accordion.js +315 -0
  166. data/_sass/foundation-sites/js/foundation.accordionMenu.js +283 -0
  167. data/_sass/foundation-sites/js/foundation.core.js +378 -0
  168. data/_sass/foundation-sites/js/foundation.drilldown.js +518 -0
  169. data/_sass/foundation-sites/js/foundation.dropdown.js +432 -0
  170. data/_sass/foundation-sites/js/foundation.dropdownMenu.js +442 -0
  171. data/_sass/foundation-sites/js/foundation.equalizer.js +317 -0
  172. data/_sass/foundation-sites/js/foundation.interchange.js +203 -0
  173. data/_sass/foundation-sites/js/foundation.magellan.js +251 -0
  174. data/_sass/foundation-sites/js/foundation.offcanvas.js +434 -0
  175. data/_sass/foundation-sites/js/foundation.orbit.js +523 -0
  176. data/_sass/foundation-sites/js/foundation.responsiveMenu.js +147 -0
  177. data/_sass/foundation-sites/js/foundation.responsiveToggle.js +155 -0
  178. data/_sass/foundation-sites/js/foundation.reveal.js +603 -0
  179. data/_sass/foundation-sites/js/foundation.slider.js +697 -0
  180. data/_sass/foundation-sites/js/foundation.sticky.js +499 -0
  181. data/_sass/foundation-sites/js/foundation.tabs.js +490 -0
  182. data/_sass/foundation-sites/js/foundation.toggler.js +148 -0
  183. data/_sass/foundation-sites/js/foundation.tooltip.js +470 -0
  184. data/_sass/foundation-sites/js/foundation.util.box.js +195 -0
  185. data/_sass/foundation-sites/js/foundation.util.keyboard.js +152 -0
  186. data/_sass/foundation-sites/js/foundation.util.mediaQuery.js +230 -0
  187. data/_sass/foundation-sites/js/foundation.util.motion.js +105 -0
  188. data/_sass/foundation-sites/js/foundation.util.nest.js +81 -0
  189. data/_sass/foundation-sites/js/foundation.util.timerAndImageLoader.js +88 -0
  190. data/_sass/foundation-sites/js/foundation.util.touch.js +352 -0
  191. data/_sass/foundation-sites/js/foundation.util.triggers.js +210 -0
  192. data/_sass/foundation-sites/js/foundation.zf.responsiveAccordionTabs.js +240 -0
  193. data/_sass/foundation-sites/scss/_global.scss +219 -0
  194. data/_sass/foundation-sites/scss/components/_accordion-menu.scss +36 -0
  195. data/_sass/foundation-sites/scss/components/_accordion.scss +150 -0
  196. data/_sass/foundation-sites/scss/components/_badge.scss +63 -0
  197. data/_sass/foundation-sites/scss/components/_breadcrumbs.scss +100 -0
  198. data/_sass/foundation-sites/scss/components/_button-group.scss +253 -0
  199. data/_sass/foundation-sites/scss/components/_button.scss +332 -0
  200. data/_sass/foundation-sites/scss/components/_callout.scss +106 -0
  201. data/_sass/foundation-sites/scss/components/_card.scss +121 -0
  202. data/_sass/foundation-sites/scss/components/_close-button.scss +102 -0
  203. data/_sass/foundation-sites/scss/components/_drilldown.scss +93 -0
  204. data/_sass/foundation-sites/scss/components/_dropdown-menu.scss +226 -0
  205. data/_sass/foundation-sites/scss/components/_dropdown.scss +72 -0
  206. data/_sass/foundation-sites/scss/components/_flex-video.scss +1 -0
  207. data/_sass/foundation-sites/scss/components/_flex.scss +34 -0
  208. data/_sass/foundation-sites/scss/components/_float.scss +27 -0
  209. data/_sass/foundation-sites/scss/components/_label.scss +64 -0
  210. data/_sass/foundation-sites/scss/components/_media-object.scss +114 -0
  211. data/_sass/foundation-sites/scss/components/_menu-icon.scss +9 -0
  212. data/_sass/foundation-sites/scss/components/_menu.scss +376 -0
  213. data/_sass/foundation-sites/scss/components/_off-canvas.scss +329 -0
  214. data/_sass/foundation-sites/scss/components/_orbit.scss +196 -0
  215. data/_sass/foundation-sites/scss/components/_pagination.scss +193 -0
  216. data/_sass/foundation-sites/scss/components/_progress-bar.scss +64 -0
  217. data/_sass/foundation-sites/scss/components/_responsive-embed.scss +70 -0
  218. data/_sass/foundation-sites/scss/components/_reveal.scss +178 -0
  219. data/_sass/foundation-sites/scss/components/_slider.scss +138 -0
  220. data/_sass/foundation-sites/scss/components/_sticky.scss +38 -0
  221. data/_sass/foundation-sites/scss/components/_switch.scss +247 -0
  222. data/_sass/foundation-sites/scss/components/_table.scss +329 -0
  223. data/_sass/foundation-sites/scss/components/_tabs.scss +196 -0
  224. data/_sass/foundation-sites/scss/components/_thumbnail.scss +67 -0
  225. data/_sass/foundation-sites/scss/components/_title-bar.scss +84 -0
  226. data/_sass/foundation-sites/scss/components/_tooltip.scss +107 -0
  227. data/_sass/foundation-sites/scss/components/_top-bar.scss +173 -0
  228. data/_sass/foundation-sites/scss/components/_visibility.scss +132 -0
  229. data/_sass/foundation-sites/scss/forms/_checkbox.scss +41 -0
  230. data/_sass/foundation-sites/scss/forms/_error.scss +88 -0
  231. data/_sass/foundation-sites/scss/forms/_fieldset.scss +54 -0
  232. data/_sass/foundation-sites/scss/forms/_forms.scss +34 -0
  233. data/_sass/foundation-sites/scss/forms/_help-text.scss +30 -0
  234. data/_sass/foundation-sites/scss/forms/_input-group.scss +135 -0
  235. data/_sass/foundation-sites/scss/forms/_label.scss +50 -0
  236. data/_sass/foundation-sites/scss/forms/_meter.scss +110 -0
  237. data/_sass/foundation-sites/scss/forms/_progress.scss +94 -0
  238. data/_sass/foundation-sites/scss/forms/_range.scss +149 -0
  239. data/_sass/foundation-sites/scss/forms/_select.scss +85 -0
  240. data/_sass/foundation-sites/scss/forms/_text.scss +170 -0
  241. data/_sass/foundation-sites/scss/foundation.scss +118 -0
  242. data/_sass/foundation-sites/scss/grid/_classes.scss +176 -0
  243. data/_sass/foundation-sites/scss/grid/_column.scss +112 -0
  244. data/_sass/foundation-sites/scss/grid/_flex-grid.scss +312 -0
  245. data/_sass/foundation-sites/scss/grid/_grid.scss +48 -0
  246. data/_sass/foundation-sites/scss/grid/_gutter.scss +82 -0
  247. data/_sass/foundation-sites/scss/grid/_layout.scss +76 -0
  248. data/_sass/foundation-sites/scss/grid/_position.scss +76 -0
  249. data/_sass/foundation-sites/scss/grid/_row.scss +99 -0
  250. data/_sass/foundation-sites/scss/grid/_size.scss +24 -0
  251. data/_sass/foundation-sites/scss/settings/_settings.scss +620 -0
  252. data/_sass/foundation-sites/scss/typography/_alignment.scss +22 -0
  253. data/_sass/foundation-sites/scss/typography/_base.scss +509 -0
  254. data/_sass/foundation-sites/scss/typography/_helpers.scss +78 -0
  255. data/_sass/foundation-sites/scss/typography/_print.scss +86 -0
  256. data/_sass/foundation-sites/scss/typography/_typography.scss +26 -0
  257. data/_sass/foundation-sites/scss/util/_breakpoint.scss +281 -0
  258. data/_sass/foundation-sites/scss/util/_color.scss +126 -0
  259. data/_sass/foundation-sites/scss/util/_direction.scss +31 -0
  260. data/_sass/foundation-sites/scss/util/_flex.scss +85 -0
  261. data/_sass/foundation-sites/scss/util/_math.scss +72 -0
  262. data/_sass/foundation-sites/scss/util/_mixins.scss +276 -0
  263. data/_sass/foundation-sites/scss/util/_selector.scss +41 -0
  264. data/_sass/foundation-sites/scss/util/_typography.scss +26 -0
  265. data/_sass/foundation-sites/scss/util/_unit.scss +152 -0
  266. data/_sass/foundation-sites/scss/util/_util.scss +14 -0
  267. data/_sass/foundation-sites/scss/util/_value.scss +160 -0
  268. data/_sass/global/_accessibility.scss +32 -0
  269. data/_sass/global/_functions.scss +7 -0
  270. data/_sass/global/_modernizr.scss +0 -0
  271. data/_sass/global/_settings.scss +657 -0
  272. data/_sass/global/_wp-admin.scss +24 -0
  273. data/_sass/global/_wp-overrides.scss +51 -0
  274. data/_sass/jquery/.bower.json +25 -0
  275. data/_sass/jquery/AUTHORS.txt +278 -0
  276. data/_sass/jquery/LICENSE.txt +36 -0
  277. data/_sass/jquery/README.md +65 -0
  278. data/_sass/jquery/bower.json +14 -0
  279. data/_sass/jquery/dist/jquery.js +9814 -0
  280. data/_sass/jquery/dist/jquery.min.js +4 -0
  281. data/_sass/jquery/dist/jquery.min.map +1 -0
  282. data/_sass/jquery/external/sizzle/LICENSE.txt +36 -0
  283. data/_sass/jquery/external/sizzle/dist/sizzle.js +2143 -0
  284. data/_sass/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  285. data/_sass/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  286. data/_sass/jquery/src/.jshintrc +29 -0
  287. data/_sass/jquery/src/ajax.js +845 -0
  288. data/_sass/jquery/src/ajax/jsonp.js +100 -0
  289. data/_sass/jquery/src/ajax/load.js +83 -0
  290. data/_sass/jquery/src/ajax/parseJSON.js +13 -0
  291. data/_sass/jquery/src/ajax/parseXML.js +27 -0
  292. data/_sass/jquery/src/ajax/script.js +68 -0
  293. data/_sass/jquery/src/ajax/var/location.js +3 -0
  294. data/_sass/jquery/src/ajax/var/nonce.js +5 -0
  295. data/_sass/jquery/src/ajax/var/rquery.js +3 -0
  296. data/_sass/jquery/src/ajax/xhr.js +167 -0
  297. data/_sass/jquery/src/attributes.js +11 -0
  298. data/_sass/jquery/src/attributes/attr.js +142 -0
  299. data/_sass/jquery/src/attributes/classes.js +177 -0
  300. data/_sass/jquery/src/attributes/prop.js +125 -0
  301. data/_sass/jquery/src/attributes/support.js +36 -0
  302. data/_sass/jquery/src/attributes/val.js +177 -0
  303. data/_sass/jquery/src/callbacks.js +232 -0
  304. data/_sass/jquery/src/core.js +494 -0
  305. data/_sass/jquery/src/core/access.js +65 -0
  306. data/_sass/jquery/src/core/init.js +134 -0
  307. data/_sass/jquery/src/core/parseHTML.js +41 -0
  308. data/_sass/jquery/src/core/ready.js +103 -0
  309. data/_sass/jquery/src/core/var/rsingleTag.js +5 -0
  310. data/_sass/jquery/src/css.js +502 -0
  311. data/_sass/jquery/src/css/addGetHookIf.js +24 -0
  312. data/_sass/jquery/src/css/adjustCSS.js +65 -0
  313. data/_sass/jquery/src/css/curCSS.js +60 -0
  314. data/_sass/jquery/src/css/defaultDisplay.js +72 -0
  315. data/_sass/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  316. data/_sass/jquery/src/css/showHide.js +48 -0
  317. data/_sass/jquery/src/css/support.js +121 -0
  318. data/_sass/jquery/src/css/var/cssExpand.js +3 -0
  319. data/_sass/jquery/src/css/var/getStyles.js +15 -0
  320. data/_sass/jquery/src/css/var/isHidden.js +16 -0
  321. data/_sass/jquery/src/css/var/rmargin.js +3 -0
  322. data/_sass/jquery/src/css/var/rnumnonpx.js +5 -0
  323. data/_sass/jquery/src/css/var/swap.js +24 -0
  324. data/_sass/jquery/src/data.js +187 -0
  325. data/_sass/jquery/src/data/Data.js +200 -0
  326. data/_sass/jquery/src/data/var/acceptData.js +18 -0
  327. data/_sass/jquery/src/data/var/dataPriv.js +5 -0
  328. data/_sass/jquery/src/data/var/dataUser.js +5 -0
  329. data/_sass/jquery/src/deferred.js +158 -0
  330. data/_sass/jquery/src/deprecated.js +32 -0
  331. data/_sass/jquery/src/dimensions.js +54 -0
  332. data/_sass/jquery/src/effects.js +629 -0
  333. data/_sass/jquery/src/effects/Tween.js +121 -0
  334. data/_sass/jquery/src/effects/animatedSelector.js +13 -0
  335. data/_sass/jquery/src/event.js +711 -0
  336. data/_sass/jquery/src/event/ajax.js +20 -0
  337. data/_sass/jquery/src/event/alias.js +27 -0
  338. data/_sass/jquery/src/event/focusin.js +53 -0
  339. data/_sass/jquery/src/event/support.js +9 -0
  340. data/_sass/jquery/src/event/trigger.js +183 -0
  341. data/_sass/jquery/src/exports/amd.js +24 -0
  342. data/_sass/jquery/src/exports/global.js +26 -0
  343. data/_sass/jquery/src/intro.js +44 -0
  344. data/_sass/jquery/src/jquery.js +37 -0
  345. data/_sass/jquery/src/manipulation.js +481 -0
  346. data/_sass/jquery/src/manipulation/_evalUrl.js +20 -0
  347. data/_sass/jquery/src/manipulation/buildFragment.js +102 -0
  348. data/_sass/jquery/src/manipulation/getAll.js +21 -0
  349. data/_sass/jquery/src/manipulation/setGlobalEval.js +20 -0
  350. data/_sass/jquery/src/manipulation/support.js +33 -0
  351. data/_sass/jquery/src/manipulation/var/rcheckableType.js +3 -0
  352. data/_sass/jquery/src/manipulation/var/rscriptType.js +3 -0
  353. data/_sass/jquery/src/manipulation/var/rtagName.js +3 -0
  354. data/_sass/jquery/src/manipulation/wrapMap.js +27 -0
  355. data/_sass/jquery/src/offset.js +218 -0
  356. data/_sass/jquery/src/outro.js +2 -0
  357. data/_sass/jquery/src/queue.js +143 -0
  358. data/_sass/jquery/src/queue/delay.js +22 -0
  359. data/_sass/jquery/src/selector-native.js +211 -0
  360. data/_sass/jquery/src/selector-sizzle.js +14 -0
  361. data/_sass/jquery/src/selector.js +1 -0
  362. data/_sass/jquery/src/serialize.js +125 -0
  363. data/_sass/jquery/src/traversing.js +175 -0
  364. data/_sass/jquery/src/traversing/findFilter.js +100 -0
  365. data/_sass/jquery/src/traversing/var/dir.js +20 -0
  366. data/_sass/jquery/src/traversing/var/rneedsContext.js +6 -0
  367. data/_sass/jquery/src/traversing/var/siblings.js +15 -0
  368. data/_sass/jquery/src/var/arr.js +3 -0
  369. data/_sass/jquery/src/var/class2type.js +5 -0
  370. data/_sass/jquery/src/var/concat.js +5 -0
  371. data/_sass/jquery/src/var/document.js +3 -0
  372. data/_sass/jquery/src/var/documentElement.js +5 -0
  373. data/_sass/jquery/src/var/hasOwn.js +5 -0
  374. data/_sass/jquery/src/var/indexOf.js +5 -0
  375. data/_sass/jquery/src/var/pnum.js +3 -0
  376. data/_sass/jquery/src/var/push.js +5 -0
  377. data/_sass/jquery/src/var/rcssNum.js +7 -0
  378. data/_sass/jquery/src/var/rnotwhite.js +3 -0
  379. data/_sass/jquery/src/var/slice.js +5 -0
  380. data/_sass/jquery/src/var/support.js +5 -0
  381. data/_sass/jquery/src/var/toString.js +5 -0
  382. data/_sass/jquery/src/wrap.js +79 -0
  383. data/_sass/modules/_editor-style.scss +5 -0
  384. data/_sass/modules/_footer.scss +115 -0
  385. data/_sass/modules/_navigation.scss +570 -0
  386. data/_sass/modules/_sidebar.scss +66 -0
  387. data/_sass/modules/_twitter.scss +58 -0
  388. data/_sass/motion-ui/.bower.json +38 -0
  389. data/_sass/motion-ui/LICENSE +22 -0
  390. data/_sass/motion-ui/README.md +29 -0
  391. data/_sass/motion-ui/bower.json +28 -0
  392. data/_sass/motion-ui/composer.json +25 -0
  393. data/_sass/motion-ui/dist/motion-ui.css +634 -0
  394. data/_sass/motion-ui/dist/motion-ui.js +117 -0
  395. data/_sass/motion-ui/dist/motion-ui.min.css +1 -0
  396. data/_sass/motion-ui/dist/motion-ui.min.js +1 -0
  397. data/_sass/motion-ui/docs/animations.md +230 -0
  398. data/_sass/motion-ui/docs/classes.md +81 -0
  399. data/_sass/motion-ui/docs/configuration.md +63 -0
  400. data/_sass/motion-ui/docs/installation.md +50 -0
  401. data/_sass/motion-ui/docs/javascript.md +36 -0
  402. data/_sass/motion-ui/docs/readme.md +32 -0
  403. data/_sass/motion-ui/docs/transitions.md +112 -0
  404. data/_sass/motion-ui/docs/wow.md +35 -0
  405. data/_sass/motion-ui/gulpfile.js +90 -0
  406. data/_sass/motion-ui/lib/handlebars.js +8 -0
  407. data/_sass/motion-ui/motion-ui.js +105 -0
  408. data/_sass/motion-ui/motion-ui.scss +4 -0
  409. data/_sass/motion-ui/package.json +44 -0
  410. data/_sass/motion-ui/src/_classes.scss +109 -0
  411. data/_sass/motion-ui/src/_settings.scss +61 -0
  412. data/_sass/motion-ui/src/effects/_fade.scss +32 -0
  413. data/_sass/motion-ui/src/effects/_hinge.scss +65 -0
  414. data/_sass/motion-ui/src/effects/_shake.scss +15 -0
  415. data/_sass/motion-ui/src/effects/_slide.scss +41 -0
  416. data/_sass/motion-ui/src/effects/_spin.scss +28 -0
  417. data/_sass/motion-ui/src/effects/_wiggle.scss +13 -0
  418. data/_sass/motion-ui/src/effects/_zoom.scss +15 -0
  419. data/_sass/motion-ui/src/motion-ui.scss +29 -0
  420. data/_sass/motion-ui/src/transitions/_fade.scss +28 -0
  421. data/_sass/motion-ui/src/transitions/_hinge.scss +43 -0
  422. data/_sass/motion-ui/src/transitions/_slide.scss +42 -0
  423. data/_sass/motion-ui/src/transitions/_spin.scss +39 -0
  424. data/_sass/motion-ui/src/transitions/_zoom.scss +39 -0
  425. data/_sass/motion-ui/src/util/_animation.scss +7 -0
  426. data/_sass/motion-ui/src/util/_args.scss +15 -0
  427. data/_sass/motion-ui/src/util/_keyframe.scss +136 -0
  428. data/_sass/motion-ui/src/util/_selector.scss +23 -0
  429. data/_sass/motion-ui/src/util/_series.scss +54 -0
  430. data/_sass/motion-ui/src/util/_transition.scss +45 -0
  431. data/_sass/motion-ui/src/util/_unit.scss +7 -0
  432. data/_sass/templates/_archive.scss +66 -0
  433. data/_sass/templates/_page-accordion-sidebar.scss +137 -0
  434. data/_sass/templates/_page-contact.scss +33 -0
  435. data/_sass/templates/_page-default.scss +472 -0
  436. data/_sass/templates/_page-faq-sidebar.scss +77 -0
  437. data/_sass/templates/_page-front.scss +549 -0
  438. data/_sass/templates/_page-full-width.scss +11 -0
  439. data/_sass/templates/_page-highlights.scss +156 -0
  440. data/_sass/templates/_page-sidebar-left.scss +27 -0
  441. data/_sass/templates/_print.scss +69 -0
  442. data/_sass/templates/_single-post.scss +12 -0
  443. data/_sass/what-input/.bower.json +35 -0
  444. data/_sass/what-input/Gulpfile.js +104 -0
  445. data/_sass/what-input/LICENSE +21 -0
  446. data/_sass/what-input/README.md +178 -0
  447. data/_sass/what-input/bower.json +26 -0
  448. data/_sass/what-input/dist/lte-IE8.js +1 -0
  449. data/_sass/what-input/dist/what-input.js +337 -0
  450. data/_sass/what-input/dist/what-input.min.js +7 -0
  451. data/_sass/what-input/index.html +164 -0
  452. data/_sass/what-input/package.json +38 -0
  453. data/_sass/what-input/src/polyfills/ie8/EventListener.js +150 -0
  454. data/_sass/what-input/src/polyfills/ie8/indexOf.js +65 -0
  455. data/_sass/what-input/src/what-input.js +269 -0
  456. data/_sass/what-input/yarn.lock +3482 -0
  457. data/assets/css/style.scss +4 -0
  458. data/assets/{css → fonts}/comfortaa-bold-webfont.eot +0 -0
  459. data/assets/{css → fonts}/comfortaa-bold-webfont.svg +0 -0
  460. data/assets/{css → fonts}/comfortaa-bold-webfont.ttf +0 -0
  461. data/assets/{css → fonts}/comfortaa-bold-webfont.woff +0 -0
  462. data/assets/{css → fonts}/comfortaa-bold-webfont.woff2 +0 -0
  463. data/assets/{css → fonts}/comfortaa-regular-webfont.eot +0 -0
  464. data/assets/{css → fonts}/comfortaa-regular-webfont.svg +0 -0
  465. data/assets/{css → fonts}/comfortaa-regular-webfont.ttf +0 -0
  466. data/assets/{css → fonts}/comfortaa-regular-webfont.woff +0 -0
  467. data/assets/{css → fonts}/comfortaa-regular-webfont.woff2 +0 -0
  468. data/assets/{css → fonts}/raleway-regular-webfont.svg +0 -0
  469. data/assets/images/ace-centre-logo.png +0 -0
  470. data/assets/images/getting-started-with-aac-logo.png +0 -0
  471. data/assets/images/getting-started-with-aac.png +0 -0
  472. data/assets/images/icon/ace-icon-180x180.png +0 -0
  473. data/assets/images/icon/ace-icon-192x192.png +0 -0
  474. data/assets/images/icon/ace-icon-270x270.png +0 -0
  475. data/assets/images/icon/ace-icon-32x32.png +0 -0
  476. data/assets/javascript/scripts.js +10 -0
  477. metadata +477 -29
  478. data/_includes/theme-footer.html +0 -16
  479. data/_includes/theme-head.html +0 -48
  480. data/assets/css/bootstrap-select.min.css +0 -7
  481. data/assets/css/bootstrap-theme.css +0 -442
  482. data/assets/css/bootstrap.css +0 -6203
  483. data/assets/css/draganddrop.css +0 -210
  484. data/assets/css/fonts.css +0 -41
  485. data/assets/css/responsive.css +0 -90
  486. data/assets/css/style.css +0 -260
  487. data/assets/images/divider.png +0 -0
  488. data/assets/images/logo-1.png +0 -0
  489. data/assets/images/logo-2.png +0 -0
@@ -0,0 +1,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);