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 @@
1
+ "use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function t(t,e){for(var a=0;a<e.length;a++){var i=e[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,a,i){return a&&t(e.prototype,a),i&&t(e,i),e}}();!function(t){var e=function(){function e(a,i){_classCallCheck(this,e),this.$element=t(a),this.options=t.extend({},this.$element.data(),i),this.rules=this.$element.data("responsive-accordion-tabs"),this.currentMq=null,this.currentPlugin=null,this.$element.attr("id")||this.$element.attr("id",Foundation.GetYoDigits(6,"responsiveaccordiontabs")),this._init(),this._events(),Foundation.registerPlugin(this,"ResponsiveAccordionTabs")}return _createClass(e,[{key:"_init",value:function(){if("string"==typeof this.rules){for(var e={},i=this.rules.split(" "),n=0;n<i.length;n++){var s=i[n].split("-"),r=s.length>1?s[0]:"small",l=s.length>1?s[1]:s[0];null!==a[l]&&(e[r]=a[l])}this.rules=e}this._getAllOptions(),t.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_getAllOptions",value:function(){var e=this;e.allOptions={};for(var i in a)if(a.hasOwnProperty(i)){var n=a[i];try{var s=t("<ul></ul>"),r=new n.plugin(s,e.options);for(var l in r.options)if(r.options.hasOwnProperty(l)&&"zfPlugin"!==l){var o=r.options[l];e.allOptions[l]=o}r.destroy()}catch(t){}}}},{key:"_events",value:function(){var e=this;t(window).on("changed.zf.mediaquery",function(){e._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var e,i=this;t.each(this.rules,function(t){Foundation.MediaQuery.atLeast(t)&&(e=t)}),e&&(this.currentPlugin instanceof this.rules[e].plugin||(t.each(a,function(t,e){i.$element.removeClass(e.cssClass)}),this.$element.addClass(this.rules[e].cssClass),this.currentPlugin&&(!this.currentPlugin.$element.data("zfPlugin")&&this.storezfData&&this.currentPlugin.$element.data("zfPlugin",this.storezfData),this.currentPlugin.destroy()),this._handleMarkup(this.rules[e].cssClass),this.currentPlugin=new this.rules[e].plugin(this.$element,{}),this.storezfData=this.currentPlugin.$element.data("zfPlugin")))}},{key:"_handleMarkup",value:function(e){var a=this,i="accordion",n=t("[data-tabs-content="+this.$element.attr("id")+"]");if(n.length&&(i="tabs"),i!==e){var s=a.allOptions.linkClass?a.allOptions.linkClass:"tabs-title",r=a.allOptions.panelClass?a.allOptions.panelClass:"tabs-panel";this.$element.removeAttr("role");var l=this.$element.children("."+s+",[data-accordion-item]").removeClass(s).removeClass("accordion-item").removeAttr("data-accordion-item"),o=l.children("a").removeClass("accordion-title");if("tabs"===i?(n=n.children("."+r).removeClass(r).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby"),n.children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected")):n=l.children("[data-tab-content]").removeClass("accordion-content"),n.css({display:"",visibility:""}),l.css({display:"",visibility:""}),"accordion"===e)n.each(function(e,i){t(i).appendTo(l.get(e)).addClass("accordion-content").attr("data-tab-content","").removeClass("is-active").css({height:""}),t("[data-tabs-content="+a.$element.attr("id")+"]").after('<div id="tabs-placeholder-'+a.$element.attr("id")+'"></div>').remove(),l.addClass("accordion-item").attr("data-accordion-item",""),o.addClass("accordion-title")});else if("tabs"===e){var c=t("[data-tabs-content="+a.$element.attr("id")+"]"),d=t("#tabs-placeholder-"+a.$element.attr("id"));d.length?(c=t('<div class="tabs-content"></div>').insertAfter(d).attr("data-tabs-content",a.$element.attr("id")),d.remove()):c=t('<div class="tabs-content"></div>').insertAfter(a.$element).attr("data-tabs-content",a.$element.attr("id")),n.each(function(e,a){var i=t(a).appendTo(c).addClass(r),n=o.get(e).hash.slice(1),s=t(a).attr("id")||Foundation.GetYoDigits(6,"accordion");n!==s&&(""!==n?t(a).attr("id",n):(n=s,t(a).attr("id",n),t(o.get(e)).attr("href",t(o.get(e)).attr("href").replace("#","")+"#"+n)));var d=t(l.get(e)).hasClass("is-active");d&&i.addClass("is-active")}),l.addClass(s)}}}},{key:"destroy",value:function(){this.currentPlugin&&this.currentPlugin.destroy(),t(window).off(".zf.ResponsiveAccordionTabs"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={};var a={tabs:{cssClass:"tabs",plugin:Foundation._plugins.tabs||null},accordion:{cssClass:"accordion",plugin:Foundation._plugins.accordion||null}};Foundation.plugin(e,"ResponsiveAccordionTabs")}(jQuery);
@@ -0,0 +1,3 @@
1
+ # Clones the foundation-docs repo and links it to NPM locally
2
+ git clone https://github.com/zurb/foundation-docs
3
+ npm link ./foundation-docs
@@ -0,0 +1,584 @@
1
+ 'use strict';
2
+
3
+ !function($) {
4
+
5
+ /**
6
+ * Abide module.
7
+ * @module foundation.abide
8
+ */
9
+
10
+ class Abide {
11
+ /**
12
+ * Creates a new instance of Abide.
13
+ * @class
14
+ * @fires Abide#init
15
+ * @param {Object} element - jQuery object to add the trigger to.
16
+ * @param {Object} options - Overrides to the default plugin settings.
17
+ */
18
+ constructor(element, options = {}) {
19
+ this.$element = element;
20
+ this.options = $.extend({}, Abide.defaults, this.$element.data(), options);
21
+
22
+ this._init();
23
+
24
+ Foundation.registerPlugin(this, 'Abide');
25
+ }
26
+
27
+ /**
28
+ * Initializes the Abide plugin and calls functions to get Abide functioning on load.
29
+ * @private
30
+ */
31
+ _init() {
32
+ this.$inputs = this.$element.find('input, textarea, select');
33
+
34
+ this._events();
35
+ }
36
+
37
+ /**
38
+ * Initializes events for Abide.
39
+ * @private
40
+ */
41
+ _events() {
42
+ this.$element.off('.abide')
43
+ .on('reset.zf.abide', () => {
44
+ this.resetForm();
45
+ })
46
+ .on('submit.zf.abide', () => {
47
+ return this.validateForm();
48
+ });
49
+
50
+ if (this.options.validateOn === 'fieldChange') {
51
+ this.$inputs
52
+ .off('change.zf.abide')
53
+ .on('change.zf.abide', (e) => {
54
+ this.validateInput($(e.target));
55
+ });
56
+ }
57
+
58
+ if (this.options.liveValidate) {
59
+ this.$inputs
60
+ .off('input.zf.abide')
61
+ .on('input.zf.abide', (e) => {
62
+ this.validateInput($(e.target));
63
+ });
64
+ }
65
+
66
+ if (this.options.validateOnBlur) {
67
+ this.$inputs
68
+ .off('blur.zf.abide')
69
+ .on('blur.zf.abide', (e) => {
70
+ this.validateInput($(e.target));
71
+ });
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Calls necessary functions to update Abide upon DOM change
77
+ * @private
78
+ */
79
+ _reflow() {
80
+ this._init();
81
+ }
82
+
83
+ /**
84
+ * Checks whether or not a form element has the required attribute and if it's checked or not
85
+ * @param {Object} element - jQuery object to check for required attribute
86
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
87
+ */
88
+ requiredCheck($el) {
89
+ if (!$el.attr('required')) return true;
90
+
91
+ var isGood = true;
92
+
93
+ switch ($el[0].type) {
94
+ case 'checkbox':
95
+ isGood = $el[0].checked;
96
+ break;
97
+
98
+ case 'select':
99
+ case 'select-one':
100
+ case 'select-multiple':
101
+ var opt = $el.find('option:selected');
102
+ if (!opt.length || !opt.val()) isGood = false;
103
+ break;
104
+
105
+ default:
106
+ if(!$el.val() || !$el.val().length) isGood = false;
107
+ }
108
+
109
+ return isGood;
110
+ }
111
+
112
+ /**
113
+ * Get:
114
+ * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:
115
+ * 1. The element's direct sibling('s).
116
+ * 2. The element's parent's children.
117
+ * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.
118
+ *
119
+ * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
120
+ *
121
+ * @param {Object} $el - jQuery object to use as reference to find the form error selector.
122
+ * @returns {Object} jQuery object with the selector.
123
+ */
124
+ findFormError($el) {
125
+ var id = $el[0].id;
126
+ var $error = $el.siblings(this.options.formErrorSelector);
127
+
128
+ if (!$error.length) {
129
+ $error = $el.parent().find(this.options.formErrorSelector);
130
+ }
131
+
132
+ $error = $error.add(this.$element.find(`[data-form-error-for="${id}"]`));
133
+
134
+ return $error;
135
+ }
136
+
137
+ /**
138
+ * Get the first element in this order:
139
+ * 2. The <label> with the attribute `[for="someInputId"]`
140
+ * 3. The `.closest()` <label>
141
+ *
142
+ * @param {Object} $el - jQuery object to check for required attribute
143
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
144
+ */
145
+ findLabel($el) {
146
+ var id = $el[0].id;
147
+ var $label = this.$element.find(`label[for="${id}"]`);
148
+
149
+ if (!$label.length) {
150
+ return $el.closest('label');
151
+ }
152
+
153
+ return $label;
154
+ }
155
+
156
+ /**
157
+ * Get the set of labels associated with a set of radio els in this order
158
+ * 2. The <label> with the attribute `[for="someInputId"]`
159
+ * 3. The `.closest()` <label>
160
+ *
161
+ * @param {Object} $el - jQuery object to check for required attribute
162
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
163
+ */
164
+ findRadioLabels($els) {
165
+ var labels = $els.map((i, el) => {
166
+ var id = el.id;
167
+ var $label = this.$element.find(`label[for="${id}"]`);
168
+
169
+ if (!$label.length) {
170
+ $label = $(el).closest('label');
171
+ }
172
+ return $label[0];
173
+ });
174
+
175
+ return $(labels);
176
+ }
177
+
178
+ /**
179
+ * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
180
+ * @param {Object} $el - jQuery object to add the class to
181
+ */
182
+ addErrorClasses($el) {
183
+ var $label = this.findLabel($el);
184
+ var $formError = this.findFormError($el);
185
+
186
+ if ($label.length) {
187
+ $label.addClass(this.options.labelErrorClass);
188
+ }
189
+
190
+ if ($formError.length) {
191
+ $formError.addClass(this.options.formErrorClass);
192
+ }
193
+
194
+ $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');
195
+ }
196
+
197
+ /**
198
+ * Remove CSS error classes etc from an entire radio button group
199
+ * @param {String} groupName - A string that specifies the name of a radio button group
200
+ *
201
+ */
202
+
203
+ removeRadioErrorClasses(groupName) {
204
+ var $els = this.$element.find(`:radio[name="${groupName}"]`);
205
+ var $labels = this.findRadioLabels($els);
206
+ var $formErrors = this.findFormError($els);
207
+
208
+ if ($labels.length) {
209
+ $labels.removeClass(this.options.labelErrorClass);
210
+ }
211
+
212
+ if ($formErrors.length) {
213
+ $formErrors.removeClass(this.options.formErrorClass);
214
+ }
215
+
216
+ $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
217
+
218
+ }
219
+
220
+ /**
221
+ * Removes CSS error class as specified by the Abide settings from the label, input, and the form
222
+ * @param {Object} $el - jQuery object to remove the class from
223
+ */
224
+ removeErrorClasses($el) {
225
+ // radios need to clear all of the els
226
+ if($el[0].type == 'radio') {
227
+ return this.removeRadioErrorClasses($el.attr('name'));
228
+ }
229
+
230
+ var $label = this.findLabel($el);
231
+ var $formError = this.findFormError($el);
232
+
233
+ if ($label.length) {
234
+ $label.removeClass(this.options.labelErrorClass);
235
+ }
236
+
237
+ if ($formError.length) {
238
+ $formError.removeClass(this.options.formErrorClass);
239
+ }
240
+
241
+ $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
242
+ }
243
+
244
+ /**
245
+ * Goes through a form to find inputs and proceeds to validate them in ways specific to their type.
246
+ * Ignores inputs with data-abide-ignore, type="hidden" or disabled attributes set
247
+ * @fires Abide#invalid
248
+ * @fires Abide#valid
249
+ * @param {Object} element - jQuery object to validate, should be an HTML input
250
+ * @returns {Boolean} goodToGo - If the input is valid or not.
251
+ */
252
+ validateInput($el) {
253
+ var clearRequire = this.requiredCheck($el),
254
+ validated = false,
255
+ customValidator = true,
256
+ validator = $el.attr('data-validator'),
257
+ equalTo = true;
258
+
259
+ // don't validate ignored inputs or hidden inputs or disabled inputs
260
+ if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]') || $el.is('[disabled]')) {
261
+ return true;
262
+ }
263
+
264
+ switch ($el[0].type) {
265
+ case 'radio':
266
+ validated = this.validateRadio($el.attr('name'));
267
+ break;
268
+
269
+ case 'checkbox':
270
+ validated = clearRequire;
271
+ break;
272
+
273
+ case 'select':
274
+ case 'select-one':
275
+ case 'select-multiple':
276
+ validated = clearRequire;
277
+ break;
278
+
279
+ default:
280
+ validated = this.validateText($el);
281
+ }
282
+
283
+ if (validator) {
284
+ customValidator = this.matchValidation($el, validator, $el.attr('required'));
285
+ }
286
+
287
+ if ($el.attr('data-equalto')) {
288
+ equalTo = this.options.validators.equalTo($el);
289
+ }
290
+
291
+
292
+ var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;
293
+ var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
294
+
295
+ if (goodToGo) {
296
+ // Re-validate inputs that depend on this one with equalto
297
+ const dependentElements = this.$element.find(`[data-equalto="${$el.attr('id')}"]`);
298
+ if (dependentElements.length) {
299
+ let _this = this;
300
+ dependentElements.each(function() {
301
+ if ($(this).val()) {
302
+ _this.validateInput($(this));
303
+ }
304
+ });
305
+ }
306
+ }
307
+
308
+ this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);
309
+
310
+ /**
311
+ * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
312
+ * Trigger includes the DOM element of the input.
313
+ * @event Abide#valid
314
+ * @event Abide#invalid
315
+ */
316
+ $el.trigger(message, [$el]);
317
+
318
+ return goodToGo;
319
+ }
320
+
321
+ /**
322
+ * Goes through a form and if there are any invalid inputs, it will display the form error element
323
+ * @returns {Boolean} noError - true if no errors were detected...
324
+ * @fires Abide#formvalid
325
+ * @fires Abide#forminvalid
326
+ */
327
+ validateForm() {
328
+ var acc = [];
329
+ var _this = this;
330
+
331
+ this.$inputs.each(function() {
332
+ acc.push(_this.validateInput($(this)));
333
+ });
334
+
335
+ var noError = acc.indexOf(false) === -1;
336
+
337
+ this.$element.find('[data-abide-error]').css('display', (noError ? 'none' : 'block'));
338
+
339
+ /**
340
+ * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
341
+ * Trigger includes the element of the form.
342
+ * @event Abide#formvalid
343
+ * @event Abide#forminvalid
344
+ */
345
+ this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
346
+
347
+ return noError;
348
+ }
349
+
350
+ /**
351
+ * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.
352
+ * @param {Object} $el - jQuery object to validate, should be a text input HTML element
353
+ * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
354
+ * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
355
+ */
356
+ validateText($el, pattern) {
357
+ // A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
358
+ pattern = (pattern || $el.attr('pattern') || $el.attr('type'));
359
+ var inputText = $el.val();
360
+ var valid = false;
361
+
362
+ if (inputText.length) {
363
+ // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
364
+ if (this.options.patterns.hasOwnProperty(pattern)) {
365
+ valid = this.options.patterns[pattern].test(inputText);
366
+ }
367
+ // If the pattern name isn't also the type attribute of the field, then test it as a regexp
368
+ else if (pattern !== $el.attr('type')) {
369
+ valid = new RegExp(pattern).test(inputText);
370
+ }
371
+ else {
372
+ valid = true;
373
+ }
374
+ }
375
+ // An empty field is valid if it's not required
376
+ else if (!$el.prop('required')) {
377
+ valid = true;
378
+ }
379
+
380
+ return valid;
381
+ }
382
+
383
+ /**
384
+ * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.
385
+ * @param {String} groupName - A string that specifies the name of a radio button group
386
+ * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
387
+ */
388
+ validateRadio(groupName) {
389
+ // If at least one radio in the group has the `required` attribute, the group is considered required
390
+ // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
391
+ var $group = this.$element.find(`:radio[name="${groupName}"]`);
392
+ var valid = false, required = false;
393
+
394
+ // For the group to be required, at least one radio needs to be required
395
+ $group.each((i, e) => {
396
+ if ($(e).attr('required')) {
397
+ required = true;
398
+ }
399
+ });
400
+ if(!required) valid=true;
401
+
402
+ if (!valid) {
403
+ // For the group to be valid, at least one radio needs to be checked
404
+ $group.each((i, e) => {
405
+ if ($(e).prop('checked')) {
406
+ valid = true;
407
+ }
408
+ });
409
+ };
410
+
411
+ return valid;
412
+ }
413
+
414
+ /**
415
+ * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator="foo bar baz"` in a space separated listed.
416
+ * @param {Object} $el - jQuery input element.
417
+ * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
418
+ * @param {Boolean} required - self explanatory?
419
+ * @returns {Boolean} - true if validations passed.
420
+ */
421
+ matchValidation($el, validators, required) {
422
+ required = required ? true : false;
423
+
424
+ var clear = validators.split(' ').map((v) => {
425
+ return this.options.validators[v]($el, required, $el.parent());
426
+ });
427
+ return clear.indexOf(false) === -1;
428
+ }
429
+
430
+ /**
431
+ * Resets form inputs and styles
432
+ * @fires Abide#formreset
433
+ */
434
+ resetForm() {
435
+ var $form = this.$element,
436
+ opts = this.options;
437
+
438
+ $(`.${opts.labelErrorClass}`, $form).not('small').removeClass(opts.labelErrorClass);
439
+ $(`.${opts.inputErrorClass}`, $form).not('small').removeClass(opts.inputErrorClass);
440
+ $(`${opts.formErrorSelector}.${opts.formErrorClass}`).removeClass(opts.formErrorClass);
441
+ $form.find('[data-abide-error]').css('display', 'none');
442
+ $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');
443
+ $(':input:radio', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');
444
+ $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');
445
+ /**
446
+ * Fires when the form has been reset.
447
+ * @event Abide#formreset
448
+ */
449
+ $form.trigger('formreset.zf.abide', [$form]);
450
+ }
451
+
452
+ /**
453
+ * Destroys an instance of Abide.
454
+ * Removes error styles and classes from elements, without resetting their values.
455
+ */
456
+ destroy() {
457
+ var _this = this;
458
+ this.$element
459
+ .off('.abide')
460
+ .find('[data-abide-error]')
461
+ .css('display', 'none');
462
+
463
+ this.$inputs
464
+ .off('.abide')
465
+ .each(function() {
466
+ _this.removeErrorClasses($(this));
467
+ });
468
+
469
+ Foundation.unregisterPlugin(this);
470
+ }
471
+ }
472
+
473
+ /**
474
+ * Default settings for plugin
475
+ */
476
+ Abide.defaults = {
477
+ /**
478
+ * The default event to validate inputs. Checkboxes and radios validate immediately.
479
+ * Remove or change this value for manual validation.
480
+ * @option
481
+ * @type {?string}
482
+ * @default 'fieldChange'
483
+ */
484
+ validateOn: 'fieldChange',
485
+
486
+ /**
487
+ * Class to be applied to input labels on failed validation.
488
+ * @option
489
+ * @type {string}
490
+ * @default 'is-invalid-label'
491
+ */
492
+ labelErrorClass: 'is-invalid-label',
493
+
494
+ /**
495
+ * Class to be applied to inputs on failed validation.
496
+ * @option
497
+ * @type {string}
498
+ * @default 'is-invalid-input'
499
+ */
500
+ inputErrorClass: 'is-invalid-input',
501
+
502
+ /**
503
+ * Class selector to use to target Form Errors for show/hide.
504
+ * @option
505
+ * @type {string}
506
+ * @default '.form-error'
507
+ */
508
+ formErrorSelector: '.form-error',
509
+
510
+ /**
511
+ * Class added to Form Errors on failed validation.
512
+ * @option
513
+ * @type {string}
514
+ * @default 'is-visible'
515
+ */
516
+ formErrorClass: 'is-visible',
517
+
518
+ /**
519
+ * Set to true to validate text inputs on any value change.
520
+ * @option
521
+ * @type {boolean}
522
+ * @default false
523
+ */
524
+ liveValidate: false,
525
+
526
+ /**
527
+ * Set to true to validate inputs on blur.
528
+ * @option
529
+ * @type {boolean}
530
+ * @default false
531
+ */
532
+ validateOnBlur: false,
533
+
534
+ patterns: {
535
+ alpha : /^[a-zA-Z]+$/,
536
+ alpha_numeric : /^[a-zA-Z0-9]+$/,
537
+ integer : /^[-+]?\d+$/,
538
+ number : /^[-+]?\d*(?:[\.\,]\d+)?$/,
539
+
540
+ // amex, visa, diners
541
+ card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
542
+ cvv : /^([0-9]){3,4}$/,
543
+
544
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
545
+ email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
546
+
547
+ url : /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
548
+ // abc.de
549
+ domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
550
+
551
+ datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
552
+ // YYYY-MM-DD
553
+ date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
554
+ // HH:MM:SS
555
+ time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
556
+ dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
557
+ // MM/DD/YYYY
558
+ month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
559
+ // DD/MM/YYYY
560
+ day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
561
+
562
+ // #FFF or #FFFFFF
563
+ color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
564
+ },
565
+
566
+ /**
567
+ * Optional validation functions to be used. `equalTo` being the only default included function.
568
+ * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
569
+ * el : The jQuery element to validate.
570
+ * required : Boolean value of the required attribute be present or not.
571
+ * parent : The direct parent of the input.
572
+ * @option
573
+ */
574
+ validators: {
575
+ equalTo: function (el, required, parent) {
576
+ return $(`#${el.attr('data-equalto')}`).val() === el.val();
577
+ }
578
+ }
579
+ }
580
+
581
+ // Window exports
582
+ Foundation.plugin(Abide, 'Abide');
583
+
584
+ }(jQuery);