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 @@
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);