jekyll-theme-pirati 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (587) hide show
  1. checksums.yaml +4 -4
  2. data/_data/elections.yml +7 -0
  3. data/_data/menu.yml +3 -3
  4. data/_includes/candidate_badge.html +3 -7
  5. data/_includes/contacts/basic_contacts.html +30 -50
  6. data/_includes/contacts/residance.html +1 -1
  7. data/_includes/footer.html +3 -3
  8. data/_includes/head.html +6 -8
  9. data/_includes/header.html +1 -1
  10. data/_includes/headline-image.html +16 -0
  11. data/_includes/js/main.html +7 -13
  12. data/_includes/js/webpack.html +13 -0
  13. data/_includes/people/{list_2col.html → list-2col.html} +2 -2
  14. data/_includes/people/{list_group.html → list-group.html} +1 -1
  15. data/_includes/people/{profile_badge.html → profile-badge.html} +5 -4
  16. data/_includes/right-bar/bar_garant.html +1 -1
  17. data/_includes/right-bar/bar_people.html +1 -1
  18. data/_includes/right-bar/bar_person_contact.html +8 -8
  19. data/_includes/right-bar/bar_program.html +7 -5
  20. data/_layouts/contacts.html +47 -51
  21. data/_layouts/komunalni-volby.html +1 -1
  22. data/_layouts/page.html +9 -9
  23. data/_layouts/person.html +5 -0
  24. data/_layouts/post.html +30 -38
  25. data/_layouts/team.html +2 -2
  26. data/_sass/_base.scss +2 -1
  27. data/_sass/_fonts.scss +42 -0
  28. data/_sass/_settings.scss +6 -5
  29. data/_sass/components/BlogPosting.scss +6 -4
  30. data/_sass/components/contact-bar.scss +2 -2
  31. data/_sass/components/content-block.scss +11 -0
  32. data/_sass/components/footer.scss +5 -0
  33. data/_sass/components/header-bar.scss +2 -2
  34. data/_sass/components/headline-image.scss +44 -0
  35. data/_sass/components/metadata-block.scss +29 -0
  36. data/_sass/components/program.scss +4 -2
  37. data/_sass/components/tag.scss +10 -11
  38. data/_sass/components/top-bar.scss +236 -236
  39. data/_sass/components/typography.scss +43 -0
  40. data/_sass/components/widget-accordion.scss +12 -7
  41. data/_sass/foundation-sites/LICENSE +22 -0
  42. data/_sass/foundation-sites/README.md +44 -0
  43. data/_sass/foundation-sites/assets/foundation-flex.scss +3 -0
  44. data/_sass/foundation-sites/assets/foundation-rtl.scss +5 -0
  45. data/_sass/foundation-sites/assets/foundation.scss +3 -0
  46. data/_sass/foundation-sites/code-of-conduct.md +43 -0
  47. data/_sass/foundation-sites/customizer/complete.json +46 -0
  48. data/_sass/foundation-sites/customizer/config.yml +218 -0
  49. data/_sass/foundation-sites/customizer/essential.json +11 -0
  50. data/_sass/foundation-sites/customizer/index.html +169 -0
  51. data/_sass/foundation-sites/dist/foundation-flex.css +4028 -0
  52. data/_sass/foundation-sites/dist/foundation-flex.min.css +2 -0
  53. data/_sass/foundation-sites/dist/foundation-rtl.css +3583 -0
  54. data/_sass/foundation-sites/dist/foundation-rtl.min.css +2 -0
  55. data/_sass/foundation-sites/dist/foundation.css +3578 -0
  56. data/_sass/foundation-sites/dist/foundation.js +9069 -0
  57. data/_sass/foundation-sites/dist/foundation.min.css +2 -0
  58. data/_sass/foundation-sites/dist/foundation.min.js +4 -0
  59. data/_sass/foundation-sites/dist/plugins/foundation.abide.js +600 -0
  60. data/_sass/foundation-sites/dist/plugins/foundation.accordion.js +262 -0
  61. data/_sass/foundation-sites/dist/plugins/foundation.accordionMenu.js +307 -0
  62. data/_sass/foundation-sites/dist/plugins/foundation.core.js +386 -0
  63. data/_sass/foundation-sites/dist/plugins/foundation.drilldown.js +409 -0
  64. data/_sass/foundation-sites/dist/plugins/foundation.dropdown.js +447 -0
  65. data/_sass/foundation-sites/dist/plugins/foundation.dropdownMenu.js +447 -0
  66. data/_sass/foundation-sites/dist/plugins/foundation.equalizer.js +364 -0
  67. data/_sass/foundation-sites/dist/plugins/foundation.interchange.js +227 -0
  68. data/_sass/foundation-sites/dist/plugins/foundation.magellan.js +257 -0
  69. data/_sass/foundation-sites/dist/plugins/foundation.offcanvas.js +438 -0
  70. data/_sass/foundation-sites/dist/plugins/foundation.orbit.js +484 -0
  71. data/_sass/foundation-sites/dist/plugins/foundation.responsiveMenu.js +171 -0
  72. data/_sass/foundation-sites/dist/plugins/foundation.responsiveToggle.js +142 -0
  73. data/_sass/foundation-sites/dist/plugins/foundation.reveal.js +623 -0
  74. data/_sass/foundation-sites/dist/plugins/foundation.slider.js +648 -0
  75. data/_sass/foundation-sites/dist/plugins/foundation.sticky.js +495 -0
  76. data/_sass/foundation-sites/dist/plugins/foundation.tabs.js +348 -0
  77. data/_sass/foundation-sites/dist/plugins/foundation.toggler.js +166 -0
  78. data/_sass/foundation-sites/dist/plugins/foundation.tooltip.js +468 -0
  79. data/_sass/foundation-sites/dist/plugins/foundation.util.box.js +196 -0
  80. data/_sass/foundation-sites/dist/plugins/foundation.util.keyboard.js +123 -0
  81. data/_sass/foundation-sites/dist/plugins/foundation.util.mediaQuery.js +216 -0
  82. data/_sass/foundation-sites/dist/plugins/foundation.util.motion.js +97 -0
  83. data/_sass/foundation-sites/dist/plugins/foundation.util.nest.js +69 -0
  84. data/_sass/foundation-sites/dist/plugins/foundation.util.timerAndImageLoader.js +84 -0
  85. data/_sass/foundation-sites/dist/plugins/foundation.util.touch.js +352 -0
  86. data/_sass/foundation-sites/dist/plugins/foundation.util.triggers.js +243 -0
  87. data/_sass/foundation-sites/docslink.sh +3 -0
  88. data/_sass/foundation-sites/js/foundation.abide.js +543 -0
  89. data/_sass/foundation-sites/js/foundation.accordion.js +237 -0
  90. data/_sass/foundation-sites/js/foundation.accordionMenu.js +274 -0
  91. data/_sass/foundation-sites/js/foundation.core.js +378 -0
  92. data/_sass/foundation-sites/js/foundation.drilldown.js +369 -0
  93. data/_sass/foundation-sites/js/foundation.dropdown.js +409 -0
  94. data/_sass/foundation-sites/js/foundation.dropdownMenu.js +404 -0
  95. data/_sass/foundation-sites/js/foundation.equalizer.js +306 -0
  96. data/_sass/foundation-sites/js/foundation.interchange.js +198 -0
  97. data/_sass/foundation-sites/js/foundation.magellan.js +223 -0
  98. data/_sass/foundation-sites/js/foundation.offcanvas.js +398 -0
  99. data/_sass/foundation-sites/js/foundation.orbit.js +446 -0
  100. data/_sass/foundation-sites/js/foundation.responsiveMenu.js +148 -0
  101. data/_sass/foundation-sites/js/foundation.responsiveToggle.js +119 -0
  102. data/_sass/foundation-sites/js/foundation.reveal.js +576 -0
  103. data/_sass/foundation-sites/js/foundation.slider.js +597 -0
  104. data/_sass/foundation-sites/js/foundation.sticky.js +450 -0
  105. data/_sass/foundation-sites/js/foundation.tabs.js +333 -0
  106. data/_sass/foundation-sites/js/foundation.toggler.js +144 -0
  107. data/_sass/foundation-sites/js/foundation.tooltip.js +444 -0
  108. data/_sass/foundation-sites/js/foundation.util.box.js +195 -0
  109. data/_sass/foundation-sites/js/foundation.util.keyboard.js +115 -0
  110. data/_sass/foundation-sites/js/foundation.util.mediaQuery.js +214 -0
  111. data/_sass/foundation-sites/js/foundation.util.motion.js +99 -0
  112. data/_sass/foundation-sites/js/foundation.util.nest.js +76 -0
  113. data/_sass/foundation-sites/js/foundation.util.timerAndImageLoader.js +86 -0
  114. data/_sass/foundation-sites/js/foundation.util.touch.js +352 -0
  115. data/_sass/foundation-sites/js/foundation.util.triggers.js +239 -0
  116. data/_sass/foundation-sites/node_modules/jquery/AUTHORS.txt +278 -0
  117. data/_sass/foundation-sites/node_modules/jquery/LICENSE.txt +36 -0
  118. data/_sass/foundation-sites/node_modules/jquery/README.md +65 -0
  119. data/_sass/foundation-sites/node_modules/jquery/bower.json +14 -0
  120. data/_sass/foundation-sites/node_modules/jquery/dist/jquery.js +9814 -0
  121. data/_sass/foundation-sites/node_modules/jquery/dist/jquery.min.js +4 -0
  122. data/_sass/foundation-sites/node_modules/jquery/dist/jquery.min.map +1 -0
  123. data/_sass/foundation-sites/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  124. data/_sass/foundation-sites/node_modules/jquery/external/sizzle/dist/sizzle.js +2143 -0
  125. data/_sass/foundation-sites/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  126. data/_sass/foundation-sites/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  127. data/_sass/foundation-sites/node_modules/jquery/package.json +112 -0
  128. data/_sass/foundation-sites/node_modules/jquery/src/ajax.js +845 -0
  129. data/_sass/foundation-sites/node_modules/jquery/src/ajax/jsonp.js +100 -0
  130. data/_sass/foundation-sites/node_modules/jquery/src/ajax/load.js +83 -0
  131. data/_sass/foundation-sites/node_modules/jquery/src/ajax/parseJSON.js +13 -0
  132. data/_sass/foundation-sites/node_modules/jquery/src/ajax/parseXML.js +27 -0
  133. data/_sass/foundation-sites/node_modules/jquery/src/ajax/script.js +68 -0
  134. data/_sass/foundation-sites/node_modules/jquery/src/ajax/var/location.js +3 -0
  135. data/_sass/foundation-sites/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  136. data/_sass/foundation-sites/node_modules/jquery/src/ajax/var/rquery.js +3 -0
  137. data/_sass/foundation-sites/node_modules/jquery/src/ajax/xhr.js +167 -0
  138. data/_sass/foundation-sites/node_modules/jquery/src/attributes.js +11 -0
  139. data/_sass/foundation-sites/node_modules/jquery/src/attributes/attr.js +142 -0
  140. data/_sass/foundation-sites/node_modules/jquery/src/attributes/classes.js +177 -0
  141. data/_sass/foundation-sites/node_modules/jquery/src/attributes/prop.js +125 -0
  142. data/_sass/foundation-sites/node_modules/jquery/src/attributes/support.js +36 -0
  143. data/_sass/foundation-sites/node_modules/jquery/src/attributes/val.js +177 -0
  144. data/_sass/foundation-sites/node_modules/jquery/src/callbacks.js +232 -0
  145. data/_sass/foundation-sites/node_modules/jquery/src/core.js +494 -0
  146. data/_sass/foundation-sites/node_modules/jquery/src/core/access.js +65 -0
  147. data/_sass/foundation-sites/node_modules/jquery/src/core/init.js +134 -0
  148. data/_sass/foundation-sites/node_modules/jquery/src/core/parseHTML.js +41 -0
  149. data/_sass/foundation-sites/node_modules/jquery/src/core/ready.js +103 -0
  150. data/_sass/foundation-sites/node_modules/jquery/src/core/var/rsingleTag.js +5 -0
  151. data/_sass/foundation-sites/node_modules/jquery/src/css.js +502 -0
  152. data/_sass/foundation-sites/node_modules/jquery/src/css/addGetHookIf.js +24 -0
  153. data/_sass/foundation-sites/node_modules/jquery/src/css/adjustCSS.js +65 -0
  154. data/_sass/foundation-sites/node_modules/jquery/src/css/curCSS.js +60 -0
  155. data/_sass/foundation-sites/node_modules/jquery/src/css/defaultDisplay.js +72 -0
  156. data/_sass/foundation-sites/node_modules/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  157. data/_sass/foundation-sites/node_modules/jquery/src/css/showHide.js +48 -0
  158. data/_sass/foundation-sites/node_modules/jquery/src/css/support.js +121 -0
  159. data/_sass/foundation-sites/node_modules/jquery/src/css/var/cssExpand.js +3 -0
  160. data/_sass/foundation-sites/node_modules/jquery/src/css/var/getStyles.js +15 -0
  161. data/_sass/foundation-sites/node_modules/jquery/src/css/var/isHidden.js +16 -0
  162. data/_sass/foundation-sites/node_modules/jquery/src/css/var/rmargin.js +3 -0
  163. data/_sass/foundation-sites/node_modules/jquery/src/css/var/rnumnonpx.js +5 -0
  164. data/_sass/foundation-sites/node_modules/jquery/src/css/var/swap.js +24 -0
  165. data/_sass/foundation-sites/node_modules/jquery/src/data.js +187 -0
  166. data/_sass/foundation-sites/node_modules/jquery/src/data/Data.js +200 -0
  167. data/_sass/foundation-sites/node_modules/jquery/src/data/var/acceptData.js +18 -0
  168. data/_sass/foundation-sites/node_modules/jquery/src/data/var/dataPriv.js +5 -0
  169. data/_sass/foundation-sites/node_modules/jquery/src/data/var/dataUser.js +5 -0
  170. data/_sass/foundation-sites/node_modules/jquery/src/deferred.js +158 -0
  171. data/_sass/foundation-sites/node_modules/jquery/src/deprecated.js +32 -0
  172. data/_sass/foundation-sites/node_modules/jquery/src/dimensions.js +54 -0
  173. data/_sass/foundation-sites/node_modules/jquery/src/effects.js +629 -0
  174. data/_sass/foundation-sites/node_modules/jquery/src/effects/Tween.js +121 -0
  175. data/_sass/foundation-sites/node_modules/jquery/src/effects/animatedSelector.js +13 -0
  176. data/_sass/foundation-sites/node_modules/jquery/src/event.js +711 -0
  177. data/_sass/foundation-sites/node_modules/jquery/src/event/ajax.js +20 -0
  178. data/_sass/foundation-sites/node_modules/jquery/src/event/alias.js +27 -0
  179. data/_sass/foundation-sites/node_modules/jquery/src/event/focusin.js +53 -0
  180. data/_sass/foundation-sites/node_modules/jquery/src/event/support.js +9 -0
  181. data/_sass/foundation-sites/node_modules/jquery/src/event/trigger.js +183 -0
  182. data/_sass/foundation-sites/node_modules/jquery/src/exports/amd.js +24 -0
  183. data/_sass/foundation-sites/node_modules/jquery/src/exports/global.js +26 -0
  184. data/_sass/foundation-sites/node_modules/jquery/src/intro.js +44 -0
  185. data/_sass/foundation-sites/node_modules/jquery/src/jquery.js +37 -0
  186. data/_sass/foundation-sites/node_modules/jquery/src/manipulation.js +481 -0
  187. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/_evalUrl.js +20 -0
  188. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/buildFragment.js +102 -0
  189. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/getAll.js +21 -0
  190. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/setGlobalEval.js +20 -0
  191. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/support.js +33 -0
  192. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/var/rcheckableType.js +3 -0
  193. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/var/rscriptType.js +3 -0
  194. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/var/rtagName.js +3 -0
  195. data/_sass/foundation-sites/node_modules/jquery/src/manipulation/wrapMap.js +27 -0
  196. data/_sass/foundation-sites/node_modules/jquery/src/offset.js +218 -0
  197. data/_sass/foundation-sites/node_modules/jquery/src/outro.js +2 -0
  198. data/_sass/foundation-sites/node_modules/jquery/src/queue.js +143 -0
  199. data/_sass/foundation-sites/node_modules/jquery/src/queue/delay.js +22 -0
  200. data/_sass/foundation-sites/node_modules/jquery/src/selector-native.js +211 -0
  201. data/_sass/foundation-sites/node_modules/jquery/src/selector-sizzle.js +14 -0
  202. data/_sass/foundation-sites/node_modules/jquery/src/selector.js +1 -0
  203. data/_sass/foundation-sites/node_modules/jquery/src/serialize.js +125 -0
  204. data/_sass/foundation-sites/node_modules/jquery/src/traversing.js +175 -0
  205. data/_sass/foundation-sites/node_modules/jquery/src/traversing/findFilter.js +100 -0
  206. data/_sass/foundation-sites/node_modules/jquery/src/traversing/var/dir.js +20 -0
  207. data/_sass/foundation-sites/node_modules/jquery/src/traversing/var/rneedsContext.js +6 -0
  208. data/_sass/foundation-sites/node_modules/jquery/src/traversing/var/siblings.js +15 -0
  209. data/_sass/foundation-sites/node_modules/jquery/src/var/arr.js +3 -0
  210. data/_sass/foundation-sites/node_modules/jquery/src/var/class2type.js +5 -0
  211. data/_sass/foundation-sites/node_modules/jquery/src/var/concat.js +5 -0
  212. data/_sass/foundation-sites/node_modules/jquery/src/var/document.js +3 -0
  213. data/_sass/foundation-sites/node_modules/jquery/src/var/documentElement.js +5 -0
  214. data/_sass/foundation-sites/node_modules/jquery/src/var/hasOwn.js +5 -0
  215. data/_sass/foundation-sites/node_modules/jquery/src/var/indexOf.js +5 -0
  216. data/_sass/foundation-sites/node_modules/jquery/src/var/pnum.js +3 -0
  217. data/_sass/foundation-sites/node_modules/jquery/src/var/push.js +5 -0
  218. data/_sass/foundation-sites/node_modules/jquery/src/var/rcssNum.js +7 -0
  219. data/_sass/foundation-sites/node_modules/jquery/src/var/rnotwhite.js +3 -0
  220. data/_sass/foundation-sites/node_modules/jquery/src/var/slice.js +5 -0
  221. data/_sass/foundation-sites/node_modules/jquery/src/var/support.js +5 -0
  222. data/_sass/foundation-sites/node_modules/jquery/src/var/toString.js +5 -0
  223. data/_sass/foundation-sites/node_modules/jquery/src/wrap.js +79 -0
  224. data/_sass/foundation-sites/package.json +148 -0
  225. data/_sass/foundation-sites/scss/_global.scss +638 -0
  226. data/_sass/foundation-sites/scss/components/_accordion-menu.scss +32 -0
  227. data/_sass/foundation-sites/scss/components/_accordion.scss +129 -0
  228. data/_sass/foundation-sites/scss/components/_badge.scss +55 -0
  229. data/_sass/foundation-sites/scss/components/_breadcrumbs.scss +95 -0
  230. data/_sass/foundation-sites/scss/components/_button-group.scss +195 -0
  231. data/_sass/foundation-sites/scss/components/_button.scss +265 -0
  232. data/_sass/foundation-sites/scss/components/_callout.scss +105 -0
  233. data/_sass/foundation-sites/scss/components/_close-button.scss +61 -0
  234. data/_sass/foundation-sites/scss/components/_drilldown.scss +79 -0
  235. data/_sass/foundation-sites/scss/components/_dropdown-menu.scss +221 -0
  236. data/_sass/foundation-sites/scss/components/_dropdown.scss +65 -0
  237. data/_sass/foundation-sites/scss/components/_flex-video.scss +63 -0
  238. data/_sass/foundation-sites/scss/components/_flex.scss +28 -0
  239. data/_sass/foundation-sites/scss/components/_float.scss +27 -0
  240. data/_sass/foundation-sites/scss/components/_label.scss +56 -0
  241. data/_sass/foundation-sites/scss/components/_media-object.scss +115 -0
  242. data/_sass/foundation-sites/scss/components/_menu-icon.scss +9 -0
  243. data/_sass/foundation-sites/scss/components/_menu.scss +314 -0
  244. data/_sass/foundation-sites/scss/components/_off-canvas.scss +177 -0
  245. data/_sass/foundation-sites/scss/components/_orbit.scss +193 -0
  246. data/_sass/foundation-sites/scss/components/_pagination.scss +162 -0
  247. data/_sass/foundation-sites/scss/components/_progress-bar.scss +64 -0
  248. data/_sass/foundation-sites/scss/components/_reveal.scss +172 -0
  249. data/_sass/foundation-sites/scss/components/_slider.scss +133 -0
  250. data/_sass/foundation-sites/scss/components/_sticky.scss +38 -0
  251. data/_sass/foundation-sites/scss/components/_switch.scss +232 -0
  252. data/_sass/foundation-sites/scss/components/_table.scss +234 -0
  253. data/_sass/foundation-sites/scss/components/_tabs.scss +165 -0
  254. data/_sass/foundation-sites/scss/components/_thumbnail.scss +54 -0
  255. data/_sass/foundation-sites/scss/components/_title-bar.scss +89 -0
  256. data/_sass/foundation-sites/scss/components/_tooltip.scss +104 -0
  257. data/_sass/foundation-sites/scss/components/_top-bar.scss +168 -0
  258. data/_sass/foundation-sites/scss/components/_visibility.scss +132 -0
  259. data/_sass/foundation-sites/scss/forms/_checkbox.scss +40 -0
  260. data/_sass/foundation-sites/scss/forms/_error.scss +84 -0
  261. data/_sass/foundation-sites/scss/forms/_fieldset.scss +54 -0
  262. data/_sass/foundation-sites/scss/forms/_forms.scss +34 -0
  263. data/_sass/foundation-sites/scss/forms/_help-text.scss +30 -0
  264. data/_sass/foundation-sites/scss/forms/_input-group.scss +128 -0
  265. data/_sass/foundation-sites/scss/forms/_label.scss +48 -0
  266. data/_sass/foundation-sites/scss/forms/_meter.scss +109 -0
  267. data/_sass/foundation-sites/scss/forms/_progress.scss +85 -0
  268. data/_sass/foundation-sites/scss/forms/_range.scss +144 -0
  269. data/_sass/foundation-sites/scss/forms/_select.scss +67 -0
  270. data/_sass/foundation-sites/scss/forms/_text.scss +163 -0
  271. data/_sass/foundation-sites/scss/foundation.scss +102 -0
  272. data/_sass/foundation-sites/scss/grid/_classes.scss +151 -0
  273. data/_sass/foundation-sites/scss/grid/_column.scss +126 -0
  274. data/_sass/foundation-sites/scss/grid/_flex-grid.scss +274 -0
  275. data/_sass/foundation-sites/scss/grid/_grid.scss +60 -0
  276. data/_sass/foundation-sites/scss/grid/_gutter.scss +34 -0
  277. data/_sass/foundation-sites/scss/grid/_layout.scss +51 -0
  278. data/_sass/foundation-sites/scss/grid/_position.scss +73 -0
  279. data/_sass/foundation-sites/scss/grid/_row.scss +95 -0
  280. data/_sass/foundation-sites/scss/grid/_size.scss +24 -0
  281. data/_sass/foundation-sites/scss/settings/_settings.scss +567 -0
  282. data/_sass/foundation-sites/scss/typography/_alignment.scss +22 -0
  283. data/_sass/foundation-sites/scss/typography/_base.scss +443 -0
  284. data/_sass/foundation-sites/scss/typography/_helpers.scss +77 -0
  285. data/_sass/foundation-sites/scss/typography/_print.scss +77 -0
  286. data/_sass/foundation-sites/scss/typography/_typography.scss +28 -0
  287. data/_sass/foundation-sites/scss/util/_breakpoint.scss +275 -0
  288. data/_sass/foundation-sites/scss/util/_color.scss +60 -0
  289. data/_sass/foundation-sites/scss/util/_flex.scss +68 -0
  290. data/_sass/foundation-sites/scss/util/_mixins.scss +235 -0
  291. data/_sass/foundation-sites/scss/util/_selector.scss +40 -0
  292. data/_sass/foundation-sites/scss/util/_unit.scss +90 -0
  293. data/_sass/foundation-sites/scss/util/_util.scss +11 -0
  294. data/_sass/foundation-sites/scss/util/_value.scss +107 -0
  295. data/_sass/foundation-sites/vendor/fastclick/LICENSE +22 -0
  296. data/_sass/foundation-sites/vendor/fastclick/README.md +140 -0
  297. data/_sass/foundation-sites/vendor/jquery-placeholder/jquery.placeholder.js +192 -0
  298. data/_sass/foundation-sites/vendor/jquery.autocomplete/content/styles.css +9 -0
  299. data/_sass/foundation-sites/vendor/jquery.autocomplete/devbridge-autocomplete.jquery.json +28 -0
  300. data/_sass/foundation-sites/vendor/jquery.autocomplete/dist/jquery.autocomplete.js +823 -0
  301. data/_sass/foundation-sites/vendor/jquery.autocomplete/dist/jquery.autocomplete.min.js +29 -0
  302. data/_sass/foundation-sites/vendor/jquery.autocomplete/dist/license.txt +21 -0
  303. data/_sass/foundation-sites/vendor/jquery.autocomplete/index.htm +48 -0
  304. data/_sass/foundation-sites/vendor/jquery.autocomplete/license.txt +21 -0
  305. data/_sass/foundation-sites/vendor/jquery.autocomplete/readme.md +165 -0
  306. data/_sass/foundation-sites/vendor/jquery.autocomplete/scripts/countries.js +266 -0
  307. data/_sass/foundation-sites/vendor/jquery.autocomplete/scripts/demo.js +68 -0
  308. data/_sass/foundation-sites/vendor/jquery.autocomplete/scripts/jquery-1.8.2.min.js +2 -0
  309. data/_sass/foundation-sites/vendor/jquery.autocomplete/scripts/jquery.mockjax.js +564 -0
  310. data/_sass/foundation-sites/vendor/jquery.autocomplete/src/jquery.autocomplete.d.ts +40 -0
  311. data/_sass/foundation-sites/vendor/jquery.autocomplete/src/jquery.autocomplete.js +823 -0
  312. data/_sass/foundation-sites/vendor/jquery.cookie/jquery.cookie.js +117 -0
  313. data/_sass/foundation-sites/vendor/jquery/AUTHORS.txt +278 -0
  314. data/_sass/foundation-sites/vendor/jquery/LICENSE.txt +36 -0
  315. data/_sass/foundation-sites/vendor/jquery/README.md +65 -0
  316. data/_sass/foundation-sites/vendor/jquery/dist/jquery.js +9842 -0
  317. data/_sass/foundation-sites/vendor/jquery/dist/jquery.min.js +4 -0
  318. data/_sass/foundation-sites/vendor/jquery/dist/jquery.min.map +1 -0
  319. data/_sass/foundation-sites/vendor/jquery/dist/jquery.slim.js +7877 -0
  320. data/_sass/foundation-sites/vendor/jquery/dist/jquery.slim.min.js +4 -0
  321. data/_sass/foundation-sites/vendor/jquery/dist/jquery.slim.min.map +1 -0
  322. data/_sass/foundation-sites/vendor/jquery/sizzle/LICENSE.txt +36 -0
  323. data/_sass/foundation-sites/vendor/jquery/sizzle/dist/sizzle.js +2143 -0
  324. data/_sass/foundation-sites/vendor/jquery/sizzle/dist/sizzle.min.js +3 -0
  325. data/_sass/foundation-sites/vendor/jquery/sizzle/dist/sizzle.min.map +1 -0
  326. data/_sass/foundation-sites/vendor/jquery/src/ajax.js +845 -0
  327. data/_sass/foundation-sites/vendor/jquery/src/ajax/jsonp.js +100 -0
  328. data/_sass/foundation-sites/vendor/jquery/src/ajax/load.js +83 -0
  329. data/_sass/foundation-sites/vendor/jquery/src/ajax/parseJSON.js +13 -0
  330. data/_sass/foundation-sites/vendor/jquery/src/ajax/parseXML.js +27 -0
  331. data/_sass/foundation-sites/vendor/jquery/src/ajax/script.js +68 -0
  332. data/_sass/foundation-sites/vendor/jquery/src/ajax/var/location.js +3 -0
  333. data/_sass/foundation-sites/vendor/jquery/src/ajax/var/nonce.js +5 -0
  334. data/_sass/foundation-sites/vendor/jquery/src/ajax/var/rquery.js +3 -0
  335. data/_sass/foundation-sites/vendor/jquery/src/ajax/xhr.js +167 -0
  336. data/_sass/foundation-sites/vendor/jquery/src/attributes.js +11 -0
  337. data/_sass/foundation-sites/vendor/jquery/src/attributes/attr.js +142 -0
  338. data/_sass/foundation-sites/vendor/jquery/src/attributes/classes.js +177 -0
  339. data/_sass/foundation-sites/vendor/jquery/src/attributes/prop.js +125 -0
  340. data/_sass/foundation-sites/vendor/jquery/src/attributes/support.js +36 -0
  341. data/_sass/foundation-sites/vendor/jquery/src/attributes/val.js +177 -0
  342. data/_sass/foundation-sites/vendor/jquery/src/callbacks.js +232 -0
  343. data/_sass/foundation-sites/vendor/jquery/src/core.js +494 -0
  344. data/_sass/foundation-sites/vendor/jquery/src/core/DOMEval.js +14 -0
  345. data/_sass/foundation-sites/vendor/jquery/src/core/access.js +65 -0
  346. data/_sass/foundation-sites/vendor/jquery/src/core/init.js +134 -0
  347. data/_sass/foundation-sites/vendor/jquery/src/core/parseHTML.js +41 -0
  348. data/_sass/foundation-sites/vendor/jquery/src/core/ready.js +103 -0
  349. data/_sass/foundation-sites/vendor/jquery/src/core/support.js +18 -0
  350. data/_sass/foundation-sites/vendor/jquery/src/core/var/rsingleTag.js +5 -0
  351. data/_sass/foundation-sites/vendor/jquery/src/css.js +515 -0
  352. data/_sass/foundation-sites/vendor/jquery/src/css/addGetHookIf.js +24 -0
  353. data/_sass/foundation-sites/vendor/jquery/src/css/adjustCSS.js +65 -0
  354. data/_sass/foundation-sites/vendor/jquery/src/css/curCSS.js +60 -0
  355. data/_sass/foundation-sites/vendor/jquery/src/css/defaultDisplay.js +72 -0
  356. data/_sass/foundation-sites/vendor/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  357. data/_sass/foundation-sites/vendor/jquery/src/css/showHide.js +48 -0
  358. data/_sass/foundation-sites/vendor/jquery/src/css/support.js +121 -0
  359. data/_sass/foundation-sites/vendor/jquery/src/css/var/cssExpand.js +3 -0
  360. data/_sass/foundation-sites/vendor/jquery/src/css/var/getStyles.js +15 -0
  361. data/_sass/foundation-sites/vendor/jquery/src/css/var/isHidden.js +16 -0
  362. data/_sass/foundation-sites/vendor/jquery/src/css/var/rmargin.js +3 -0
  363. data/_sass/foundation-sites/vendor/jquery/src/css/var/rnumnonpx.js +5 -0
  364. data/_sass/foundation-sites/vendor/jquery/src/css/var/swap.js +24 -0
  365. data/_sass/foundation-sites/vendor/jquery/src/data.js +187 -0
  366. data/_sass/foundation-sites/vendor/jquery/src/data/Data.js +200 -0
  367. data/_sass/foundation-sites/vendor/jquery/src/data/accepts.js +20 -0
  368. data/_sass/foundation-sites/vendor/jquery/src/data/support.js +23 -0
  369. data/_sass/foundation-sites/vendor/jquery/src/data/var/acceptData.js +18 -0
  370. data/_sass/foundation-sites/vendor/jquery/src/data/var/dataPriv.js +5 -0
  371. data/_sass/foundation-sites/vendor/jquery/src/data/var/dataUser.js +5 -0
  372. data/_sass/foundation-sites/vendor/jquery/src/deferred.js +158 -0
  373. data/_sass/foundation-sites/vendor/jquery/src/deferred/exceptionHook.js +19 -0
  374. data/_sass/foundation-sites/vendor/jquery/src/deprecated.js +32 -0
  375. data/_sass/foundation-sites/vendor/jquery/src/dimensions.js +54 -0
  376. data/_sass/foundation-sites/vendor/jquery/src/effects.js +629 -0
  377. data/_sass/foundation-sites/vendor/jquery/src/effects/Tween.js +121 -0
  378. data/_sass/foundation-sites/vendor/jquery/src/effects/animatedSelector.js +13 -0
  379. data/_sass/foundation-sites/vendor/jquery/src/effects/support.js +58 -0
  380. data/_sass/foundation-sites/vendor/jquery/src/event.js +710 -0
  381. data/_sass/foundation-sites/vendor/jquery/src/event/ajax.js +20 -0
  382. data/_sass/foundation-sites/vendor/jquery/src/event/alias.js +27 -0
  383. data/_sass/foundation-sites/vendor/jquery/src/event/focusin.js +53 -0
  384. data/_sass/foundation-sites/vendor/jquery/src/event/support.js +9 -0
  385. data/_sass/foundation-sites/vendor/jquery/src/event/trigger.js +199 -0
  386. data/_sass/foundation-sites/vendor/jquery/src/exports/amd.js +24 -0
  387. data/_sass/foundation-sites/vendor/jquery/src/exports/global.js +26 -0
  388. data/_sass/foundation-sites/vendor/jquery/src/intro.js +44 -0
  389. data/_sass/foundation-sites/vendor/jquery/src/jquery.js +37 -0
  390. data/_sass/foundation-sites/vendor/jquery/src/manipulation.js +481 -0
  391. data/_sass/foundation-sites/vendor/jquery/src/manipulation/_evalUrl.js +20 -0
  392. data/_sass/foundation-sites/vendor/jquery/src/manipulation/buildFragment.js +102 -0
  393. data/_sass/foundation-sites/vendor/jquery/src/manipulation/createSafeFragment.js +20 -0
  394. data/_sass/foundation-sites/vendor/jquery/src/manipulation/getAll.js +21 -0
  395. data/_sass/foundation-sites/vendor/jquery/src/manipulation/setGlobalEval.js +20 -0
  396. data/_sass/foundation-sites/vendor/jquery/src/manipulation/support.js +33 -0
  397. data/_sass/foundation-sites/vendor/jquery/src/manipulation/var/nodeNames.js +5 -0
  398. data/_sass/foundation-sites/vendor/jquery/src/manipulation/var/rcheckableType.js +3 -0
  399. data/_sass/foundation-sites/vendor/jquery/src/manipulation/var/rleadingWhitespace.js +3 -0
  400. data/_sass/foundation-sites/vendor/jquery/src/manipulation/var/rscriptType.js +3 -0
  401. data/_sass/foundation-sites/vendor/jquery/src/manipulation/var/rtagName.js +3 -0
  402. data/_sass/foundation-sites/vendor/jquery/src/manipulation/wrapMap.js +27 -0
  403. data/_sass/foundation-sites/vendor/jquery/src/offset.js +218 -0
  404. data/_sass/foundation-sites/vendor/jquery/src/outro.js +2 -0
  405. data/_sass/foundation-sites/vendor/jquery/src/queue.js +143 -0
  406. data/_sass/foundation-sites/vendor/jquery/src/queue/delay.js +22 -0
  407. data/_sass/foundation-sites/vendor/jquery/src/selector-native.js +211 -0
  408. data/_sass/foundation-sites/vendor/jquery/src/selector-sizzle.js +14 -0
  409. data/_sass/foundation-sites/vendor/jquery/src/selector.js +1 -0
  410. data/_sass/foundation-sites/vendor/jquery/src/serialize.js +125 -0
  411. data/_sass/foundation-sites/vendor/jquery/src/support.js +63 -0
  412. data/_sass/foundation-sites/vendor/jquery/src/traversing.js +175 -0
  413. data/_sass/foundation-sites/vendor/jquery/src/traversing/findFilter.js +100 -0
  414. data/_sass/foundation-sites/vendor/jquery/src/traversing/var/dir.js +20 -0
  415. data/_sass/foundation-sites/vendor/jquery/src/traversing/var/rneedsContext.js +6 -0
  416. data/_sass/foundation-sites/vendor/jquery/src/traversing/var/siblings.js +15 -0
  417. data/_sass/foundation-sites/vendor/jquery/src/var/arr.js +3 -0
  418. data/_sass/foundation-sites/vendor/jquery/src/var/class2type.js +5 -0
  419. data/_sass/foundation-sites/vendor/jquery/src/var/concat.js +5 -0
  420. data/_sass/foundation-sites/vendor/jquery/src/var/deletedIds.js +3 -0
  421. data/_sass/foundation-sites/vendor/jquery/src/var/document.js +3 -0
  422. data/_sass/foundation-sites/vendor/jquery/src/var/documentElement.js +5 -0
  423. data/_sass/foundation-sites/vendor/jquery/src/var/hasOwn.js +5 -0
  424. data/_sass/foundation-sites/vendor/jquery/src/var/indexOf.js +5 -0
  425. data/_sass/foundation-sites/vendor/jquery/src/var/pnum.js +3 -0
  426. data/_sass/foundation-sites/vendor/jquery/src/var/push.js +5 -0
  427. data/_sass/foundation-sites/vendor/jquery/src/var/rcssNum.js +7 -0
  428. data/_sass/foundation-sites/vendor/jquery/src/var/rnotwhite.js +3 -0
  429. data/_sass/foundation-sites/vendor/jquery/src/var/slice.js +5 -0
  430. data/_sass/foundation-sites/vendor/jquery/src/var/support.js +5 -0
  431. data/_sass/foundation-sites/vendor/jquery/src/var/toString.js +5 -0
  432. data/_sass/foundation-sites/vendor/jquery/src/wrap.js +79 -0
  433. data/_sass/foundation-sites/vendor/lodash/LICENSE.txt +22 -0
  434. data/_sass/foundation-sites/vendor/lodash/dist/lodash.compat.js +7158 -0
  435. data/_sass/foundation-sites/vendor/lodash/dist/lodash.compat.min.js +92 -0
  436. data/_sass/foundation-sites/vendor/lodash/dist/lodash.js +6786 -0
  437. data/_sass/foundation-sites/vendor/lodash/dist/lodash.min.js +87 -0
  438. data/_sass/foundation-sites/vendor/lodash/dist/lodash.underscore.js +4979 -0
  439. data/_sass/foundation-sites/vendor/lodash/dist/lodash.underscore.min.js +39 -0
  440. data/_sass/foundation-sites/vendor/modernizr/feature-detects/a-download.js +8 -0
  441. data/_sass/foundation-sites/vendor/modernizr/feature-detects/audio-audiodata-api.js +4 -0
  442. data/_sass/foundation-sites/vendor/modernizr/feature-detects/audio-webaudio-api.js +4 -0
  443. data/_sass/foundation-sites/vendor/modernizr/feature-detects/battery-api.js +8 -0
  444. data/_sass/foundation-sites/vendor/modernizr/feature-detects/battery-level.js +11 -0
  445. data/_sass/foundation-sites/vendor/modernizr/feature-detects/blob-constructor.js +10 -0
  446. data/_sass/foundation-sites/vendor/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
  447. data/_sass/foundation-sites/vendor/modernizr/feature-detects/contenteditable.js +9 -0
  448. data/_sass/foundation-sites/vendor/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
  449. data/_sass/foundation-sites/vendor/modernizr/feature-detects/contextmenu.js +11 -0
  450. data/_sass/foundation-sites/vendor/modernizr/feature-detects/cookies.js +15 -0
  451. data/_sass/foundation-sites/vendor/modernizr/feature-detects/cors.js +3 -0
  452. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
  453. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
  454. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
  455. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
  456. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-boxsizing.js +9 -0
  457. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-calc.js +12 -0
  458. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
  459. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-displayrunin.js +18 -0
  460. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-displaytable.js +27 -0
  461. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-filters.js +7 -0
  462. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-hyphens.js +205 -0
  463. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-lastchild.js +11 -0
  464. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-mask.js +12 -0
  465. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-mediaqueries.js +3 -0
  466. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-objectfit.js +6 -0
  467. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
  468. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-pointerevents.js +25 -0
  469. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-positionsticky.js +13 -0
  470. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-regions.js +55 -0
  471. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-remunit.js +19 -0
  472. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-resize.js +8 -0
  473. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-scrollbars.js +19 -0
  474. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-shapes.js +4 -0
  475. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-subpixelfont.js +23 -0
  476. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-supports.js +6 -0
  477. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-userselect.js +10 -0
  478. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-vhunit.js +14 -0
  479. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-vmaxunit.js +14 -0
  480. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-vminunit.js +14 -0
  481. data/_sass/foundation-sites/vendor/modernizr/feature-detects/css-vwunit.js +14 -0
  482. data/_sass/foundation-sites/vendor/modernizr/feature-detects/custom-protocol-handler.js +10 -0
  483. data/_sass/foundation-sites/vendor/modernizr/feature-detects/dart.js +6 -0
  484. data/_sass/foundation-sites/vendor/modernizr/feature-detects/dataview-api.js +4 -0
  485. data/_sass/foundation-sites/vendor/modernizr/feature-detects/dom-classlist.js +4 -0
  486. data/_sass/foundation-sites/vendor/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
  487. data/_sass/foundation-sites/vendor/modernizr/feature-detects/dom-dataset.js +9 -0
  488. data/_sass/foundation-sites/vendor/modernizr/feature-detects/dom-microdata.js +4 -0
  489. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-datalist.js +12 -0
  490. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-details.js +25 -0
  491. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-output.js +4 -0
  492. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-progress-meter.js +11 -0
  493. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-ruby.js +53 -0
  494. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-time.js +4 -0
  495. data/_sass/foundation-sites/vendor/modernizr/feature-detects/elem-track.js +11 -0
  496. data/_sass/foundation-sites/vendor/modernizr/feature-detects/emoji.js +11 -0
  497. data/_sass/foundation-sites/vendor/modernizr/feature-detects/es5-strictmode.js +7 -0
  498. data/_sass/foundation-sites/vendor/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
  499. data/_sass/foundation-sites/vendor/modernizr/feature-detects/exif-orientation.js +32 -0
  500. data/_sass/foundation-sites/vendor/modernizr/feature-detects/file-api.js +12 -0
  501. data/_sass/foundation-sites/vendor/modernizr/feature-detects/file-filesystem.js +9 -0
  502. data/_sass/foundation-sites/vendor/modernizr/feature-detects/forms-fileinput.js +13 -0
  503. data/_sass/foundation-sites/vendor/modernizr/feature-detects/forms-formattribute.js +29 -0
  504. data/_sass/foundation-sites/vendor/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
  505. data/_sass/foundation-sites/vendor/modernizr/feature-detects/forms-placeholder.js +10 -0
  506. data/_sass/foundation-sites/vendor/modernizr/feature-detects/forms-speechinput.js +19 -0
  507. data/_sass/foundation-sites/vendor/modernizr/feature-detects/forms-validation.js +62 -0
  508. data/_sass/foundation-sites/vendor/modernizr/feature-detects/fullscreen-api.js +10 -0
  509. data/_sass/foundation-sites/vendor/modernizr/feature-detects/gamepad.js +12 -0
  510. data/_sass/foundation-sites/vendor/modernizr/feature-detects/getusermedia.js +5 -0
  511. data/_sass/foundation-sites/vendor/modernizr/feature-detects/ie8compat.js +12 -0
  512. data/_sass/foundation-sites/vendor/modernizr/feature-detects/iframe-sandbox.js +5 -0
  513. data/_sass/foundation-sites/vendor/modernizr/feature-detects/iframe-seamless.js +5 -0
  514. data/_sass/foundation-sites/vendor/modernizr/feature-detects/iframe-srcdoc.js +5 -0
  515. data/_sass/foundation-sites/vendor/modernizr/feature-detects/img-apng.js +26 -0
  516. data/_sass/foundation-sites/vendor/modernizr/feature-detects/img-webp.js +20 -0
  517. data/_sass/foundation-sites/vendor/modernizr/feature-detects/json.js +7 -0
  518. data/_sass/foundation-sites/vendor/modernizr/feature-detects/lists-reversed.js +6 -0
  519. data/_sass/foundation-sites/vendor/modernizr/feature-detects/mathml.js +23 -0
  520. data/_sass/foundation-sites/vendor/modernizr/feature-detects/network-connection.js +22 -0
  521. data/_sass/foundation-sites/vendor/modernizr/feature-detects/network-eventsource.js +5 -0
  522. data/_sass/foundation-sites/vendor/modernizr/feature-detects/network-xhr2.js +13 -0
  523. data/_sass/foundation-sites/vendor/modernizr/feature-detects/notification.js +10 -0
  524. data/_sass/foundation-sites/vendor/modernizr/feature-detects/performance.js +5 -0
  525. data/_sass/foundation-sites/vendor/modernizr/feature-detects/pointerlock-api.js +4 -0
  526. data/_sass/foundation-sites/vendor/modernizr/feature-detects/quota-management-api.js +11 -0
  527. data/_sass/foundation-sites/vendor/modernizr/feature-detects/requestanimationframe.js +7 -0
  528. data/_sass/foundation-sites/vendor/modernizr/feature-detects/script-async.js +3 -0
  529. data/_sass/foundation-sites/vendor/modernizr/feature-detects/script-defer.js +3 -0
  530. data/_sass/foundation-sites/vendor/modernizr/feature-detects/style-scoped.js +6 -0
  531. data/_sass/foundation-sites/vendor/modernizr/feature-detects/svg-filters.js +13 -0
  532. data/_sass/foundation-sites/vendor/modernizr/feature-detects/unicode.js +32 -0
  533. data/_sass/foundation-sites/vendor/modernizr/feature-detects/url-data-uri.js +26 -0
  534. data/_sass/foundation-sites/vendor/modernizr/feature-detects/userdata.js +7 -0
  535. data/_sass/foundation-sites/vendor/modernizr/feature-detects/vibration.js +4 -0
  536. data/_sass/foundation-sites/vendor/modernizr/feature-detects/web-intents.js +6 -0
  537. data/_sass/foundation-sites/vendor/modernizr/feature-detects/webgl-extensions.js +42 -0
  538. data/_sass/foundation-sites/vendor/modernizr/feature-detects/websockets-binary.js +20 -0
  539. data/_sass/foundation-sites/vendor/modernizr/feature-detects/window-framed.js +8 -0
  540. data/_sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js +66 -0
  541. data/_sass/foundation-sites/vendor/modernizr/feature-detects/workers-dataworkers.js +34 -0
  542. data/_sass/foundation-sites/vendor/modernizr/feature-detects/workers-sharedworkers.js +3 -0
  543. data/_sass/foundation-sites/vendor/modernizr/grunt.js +69 -0
  544. data/_sass/foundation-sites/vendor/modernizr/media/Modernizr 2 Logo.ai +292 -1
  545. data/_sass/foundation-sites/vendor/modernizr/media/Modernizr 2 Logo.eps +0 -0
  546. data/_sass/foundation-sites/vendor/modernizr/media/Modernizr 2 Logo.pdf +292 -1
  547. data/_sass/foundation-sites/vendor/modernizr/media/Modernizr 2 Logo.png +0 -0
  548. data/_sass/foundation-sites/vendor/modernizr/media/Modernizr 2 Logo.svg +35 -0
  549. data/_sass/foundation-sites/vendor/modernizr/modernizr.js +1406 -0
  550. data/_sass/foundation-sites/vendor/modernizr/readme.md +28 -0
  551. data/_sass/objects/media.scss +7 -2
  552. data/_sass/objects/section.scss +5 -5
  553. data/assets/css/main.scss +7 -1
  554. data/assets/fonts/BebasNeue-Thin.ttf +0 -0
  555. data/assets/fonts/BebasNeue-Thin.woff +0 -0
  556. data/assets/fonts/BebasNeueBold.ttf +0 -0
  557. data/assets/fonts/BebasNeueBold.woff +0 -0
  558. data/assets/fonts/BebasNeueBook.ttf +0 -0
  559. data/assets/fonts/BebasNeueBook.woff +0 -0
  560. data/assets/fonts/BebasNeueLight.ttf +0 -0
  561. data/assets/fonts/BebasNeueLight.woff +0 -0
  562. data/assets/fonts/BebasNeueRegular.ttf +0 -0
  563. data/assets/fonts/BebasNeueRegular.woff +0 -0
  564. data/assets/fonts/demo.html +311 -0
  565. data/assets/fonts/stylesheet.css +40 -0
  566. data/assets/img/people/unknown-pirate.svg +3 -0
  567. data/assets/js/0.main.98ff15822eba72edef32.js +51 -0
  568. data/assets/js/0.main.98ff15822eba72edef32.js.map +1 -0
  569. data/assets/js/main.98ff15822eba72edef32.css +3 -0
  570. data/assets/js/main.98ff15822eba72edef32.css.map +1 -0
  571. data/assets/js/main.98ff15822eba72edef32.js +1 -0
  572. data/assets/js/main.98ff15822eba72edef32.js.map +1 -0
  573. data/jekyll-theme-pirati.gemspec +26 -0
  574. metadata +549 -20
  575. data/_sass/components/BasicPage.scss +0 -469
  576. data/assets/fonts/bebasneue_regular-webfont.eot +0 -0
  577. data/assets/fonts/bebasneue_regular-webfont.svg +0 -3906
  578. data/assets/fonts/bebasneue_regular-webfont.ttf +0 -0
  579. data/assets/fonts/bebasneue_regular-webfont.woff +0 -0
  580. data/assets/fonts/bebasneue_regular-webfont.woff2 +0 -0
  581. data/assets/js/apps.js +0 -8
  582. data/assets/js/apps/scroll-top/ScrollTop.vue +0 -83
  583. data/assets/js/apps/scroll-top/index.js +0 -9
  584. data/assets/js/apps/site-search/SiteSearch.vue +0 -85
  585. data/assets/js/apps/site-search/SiteSearchItemTemplate.vue +0 -29
  586. data/assets/js/apps/site-search/index.js +0 -14
  587. data/assets/js/index.js +0 -52
@@ -0,0 +1,243 @@
1
+ 'use strict';
2
+
3
+ !function ($) {
4
+
5
+ var MutationObserver = function () {
6
+ var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
7
+ for (var i = 0; i < prefixes.length; i++) {
8
+ if (prefixes[i] + 'MutationObserver' in window) {
9
+ return window[prefixes[i] + 'MutationObserver'];
10
+ }
11
+ }
12
+ return false;
13
+ }();
14
+
15
+ var triggers = function (el, type) {
16
+ el.data(type).split(' ').forEach(function (id) {
17
+ $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
18
+ });
19
+ };
20
+ // Elements with [data-open] will reveal a plugin that supports it when clicked.
21
+ $(document).on('click.zf.trigger', '[data-open]', function () {
22
+ triggers($(this), 'open');
23
+ });
24
+
25
+ // Elements with [data-close] will close a plugin that supports it when clicked.
26
+ // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
27
+ $(document).on('click.zf.trigger', '[data-close]', function () {
28
+ var id = $(this).data('close');
29
+ if (id) {
30
+ triggers($(this), 'close');
31
+ } else {
32
+ $(this).trigger('close.zf.trigger');
33
+ }
34
+ });
35
+
36
+ // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
37
+ $(document).on('click.zf.trigger', '[data-toggle]', function () {
38
+ triggers($(this), 'toggle');
39
+ });
40
+
41
+ // Elements with [data-closable] will respond to close.zf.trigger events.
42
+ $(document).on('close.zf.trigger', '[data-closable]', function (e) {
43
+ e.stopPropagation();
44
+ var animation = $(this).data('closable');
45
+
46
+ if (animation !== '') {
47
+ Foundation.Motion.animateOut($(this), animation, function () {
48
+ $(this).trigger('closed.zf');
49
+ });
50
+ } else {
51
+ $(this).fadeOut().trigger('closed.zf');
52
+ }
53
+ });
54
+
55
+ $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
56
+ var id = $(this).data('toggle-focus');
57
+ $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
58
+ });
59
+
60
+ /**
61
+ * Fires once after all other scripts have loaded
62
+ * @function
63
+ * @private
64
+ */
65
+ $(window).load(function () {
66
+ checkListeners();
67
+ });
68
+
69
+ function checkListeners() {
70
+ eventsListener();
71
+ resizeListener();
72
+ scrollListener();
73
+ closemeListener();
74
+ }
75
+
76
+ //******** only fires this function once on load, if there's something to watch ********
77
+ function closemeListener(pluginName) {
78
+ var yetiBoxes = $('[data-yeti-box]'),
79
+ plugNames = ['dropdown', 'tooltip', 'reveal'];
80
+
81
+ if (pluginName) {
82
+ if (typeof pluginName === 'string') {
83
+ plugNames.push(pluginName);
84
+ } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
85
+ plugNames.concat(pluginName);
86
+ } else {
87
+ console.error('Plugin names must be strings');
88
+ }
89
+ }
90
+ if (yetiBoxes.length) {
91
+ var listeners = plugNames.map(function (name) {
92
+ return 'closeme.zf.' + name;
93
+ }).join(' ');
94
+
95
+ $(window).off(listeners).on(listeners, function (e, pluginId) {
96
+ var plugin = e.namespace.split('.')[0];
97
+ var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
98
+
99
+ plugins.each(function () {
100
+ var _this = $(this);
101
+
102
+ _this.triggerHandler('close.zf.trigger', [_this]);
103
+ });
104
+ });
105
+ }
106
+ }
107
+
108
+ function resizeListener(debounce) {
109
+ var timer = void 0,
110
+ $nodes = $('[data-resize]');
111
+ if ($nodes.length) {
112
+ $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
113
+ if (timer) {
114
+ clearTimeout(timer);
115
+ }
116
+
117
+ timer = setTimeout(function () {
118
+
119
+ if (!MutationObserver) {
120
+ //fallback for IE 9
121
+ $nodes.each(function () {
122
+ $(this).triggerHandler('resizeme.zf.trigger');
123
+ });
124
+ }
125
+ //trigger all listening elements and signal a resize event
126
+ $nodes.attr('data-events', "resize");
127
+ }, debounce || 10); //default time to emit resize event
128
+ });
129
+ }
130
+ }
131
+
132
+ function scrollListener(debounce) {
133
+ var timer = void 0,
134
+ $nodes = $('[data-scroll]');
135
+ if ($nodes.length) {
136
+ $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
137
+ if (timer) {
138
+ clearTimeout(timer);
139
+ }
140
+
141
+ timer = setTimeout(function () {
142
+
143
+ if (!MutationObserver) {
144
+ //fallback for IE 9
145
+ $nodes.each(function () {
146
+ $(this).triggerHandler('scrollme.zf.trigger');
147
+ });
148
+ }
149
+ //trigger all listening elements and signal a scroll event
150
+ $nodes.attr('data-events', "scroll");
151
+ }, debounce || 10); //default time to emit scroll event
152
+ });
153
+ }
154
+ }
155
+
156
+ function eventsListener() {
157
+ if (!MutationObserver) {
158
+ return false;
159
+ }
160
+ var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
161
+
162
+ //element callback
163
+ var listeningElementsMutation = function (mutationRecordsList) {
164
+ var $target = $(mutationRecordsList[0].target);
165
+ //trigger the event handler for the element depending on type
166
+ switch ($target.attr("data-events")) {
167
+
168
+ case "resize":
169
+ $target.triggerHandler('resizeme.zf.trigger', [$target]);
170
+ break;
171
+
172
+ case "scroll":
173
+ $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
174
+ break;
175
+
176
+ // case "mutate" :
177
+ // console.log('mutate', $target);
178
+ // $target.triggerHandler('mutate.zf.trigger');
179
+ //
180
+ // //make sure we don't get stuck in an infinite loop from sloppy codeing
181
+ // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
182
+ // domMutationObserver();
183
+ // }
184
+ // break;
185
+
186
+ default:
187
+ return false;
188
+ //nothing
189
+ }
190
+ };
191
+
192
+ if (nodes.length) {
193
+ //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
194
+ for (var i = 0; i <= nodes.length - 1; i++) {
195
+ var elementObserver = new MutationObserver(listeningElementsMutation);
196
+ elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
197
+ }
198
+ }
199
+ }
200
+
201
+ // ------------------------------------
202
+
203
+ // [PH]
204
+ // Foundation.CheckWatchers = checkWatchers;
205
+ Foundation.IHearYou = checkListeners;
206
+ // Foundation.ISeeYou = scrollListener;
207
+ // Foundation.IFeelYou = closemeListener;
208
+ }(jQuery);
209
+
210
+ // function domMutationObserver(debounce) {
211
+ // // !!! This is coming soon and needs more work; not active !!! //
212
+ // var timer,
213
+ // nodes = document.querySelectorAll('[data-mutate]');
214
+ // //
215
+ // if (nodes.length) {
216
+ // // var MutationObserver = (function () {
217
+ // // var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
218
+ // // for (var i=0; i < prefixes.length; i++) {
219
+ // // if (prefixes[i] + 'MutationObserver' in window) {
220
+ // // return window[prefixes[i] + 'MutationObserver'];
221
+ // // }
222
+ // // }
223
+ // // return false;
224
+ // // }());
225
+ //
226
+ //
227
+ // //for the body, we need to listen for all changes effecting the style and class attributes
228
+ // var bodyObserver = new MutationObserver(bodyMutation);
229
+ // bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
230
+ //
231
+ //
232
+ // //body callback
233
+ // function bodyMutation(mutate) {
234
+ // //trigger all listening elements and signal a mutation event
235
+ // if (timer) { clearTimeout(timer); }
236
+ //
237
+ // timer = setTimeout(function() {
238
+ // bodyObserver.disconnect();
239
+ // $('[data-mutate]').attr('data-events',"mutate");
240
+ // }, debounce || 150);
241
+ // }
242
+ // }
243
+ // }
@@ -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,543 @@
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
+
67
+ /**
68
+ * Calls necessary functions to update Abide upon DOM change
69
+ * @private
70
+ */
71
+ _reflow() {
72
+ this._init();
73
+ }
74
+
75
+ /**
76
+ * Checks whether or not a form element has the required attribute and if it's checked or not
77
+ * @param {Object} element - jQuery object to check for required attribute
78
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
79
+ */
80
+ requiredCheck($el) {
81
+ if (!$el.attr('required')) return true;
82
+
83
+ var isGood = true;
84
+
85
+ switch ($el[0].type) {
86
+ case 'checkbox':
87
+ isGood = $el[0].checked;
88
+ break;
89
+
90
+ case 'select':
91
+ case 'select-one':
92
+ case 'select-multiple':
93
+ var opt = $el.find('option:selected');
94
+ if (!opt.length || !opt.val()) isGood = false;
95
+ break;
96
+
97
+ default:
98
+ if(!$el.val() || !$el.val().length) isGood = false;
99
+ }
100
+
101
+ return isGood;
102
+ }
103
+
104
+ /**
105
+ * Based on $el, get the first element with selector in this order:
106
+ * 1. The element's direct sibling('s).
107
+ * 3. The element's parent's children.
108
+ *
109
+ * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
110
+ *
111
+ * @param {Object} $el - jQuery object to use as reference to find the form error selector.
112
+ * @returns {Object} jQuery object with the selector.
113
+ */
114
+ findFormError($el) {
115
+ var $error = $el.siblings(this.options.formErrorSelector);
116
+
117
+ if (!$error.length) {
118
+ $error = $el.parent().find(this.options.formErrorSelector);
119
+ }
120
+
121
+ return $error;
122
+ }
123
+
124
+ /**
125
+ * Get the first element in this order:
126
+ * 2. The <label> with the attribute `[for="someInputId"]`
127
+ * 3. The `.closest()` <label>
128
+ *
129
+ * @param {Object} $el - jQuery object to check for required attribute
130
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
131
+ */
132
+ findLabel($el) {
133
+ var id = $el[0].id;
134
+ var $label = this.$element.find(`label[for="${id}"]`);
135
+
136
+ if (!$label.length) {
137
+ return $el.closest('label');
138
+ }
139
+
140
+ return $label;
141
+ }
142
+
143
+ /**
144
+ * Get the set of labels associated with a set of radio els in this order
145
+ * 2. The <label> with the attribute `[for="someInputId"]`
146
+ * 3. The `.closest()` <label>
147
+ *
148
+ * @param {Object} $el - jQuery object to check for required attribute
149
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
150
+ */
151
+ findRadioLabels($els) {
152
+ var labels = $els.map((i, el) => {
153
+ var id = el.id;
154
+ var $label = this.$element.find(`label[for="${id}"]`);
155
+
156
+ if (!$label.length) {
157
+ $label = $(el).closest('label');
158
+ }
159
+ return $label[0];
160
+ });
161
+
162
+ return $(labels);
163
+ }
164
+
165
+ /**
166
+ * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
167
+ * @param {Object} $el - jQuery object to add the class to
168
+ */
169
+ addErrorClasses($el) {
170
+ var $label = this.findLabel($el);
171
+ var $formError = this.findFormError($el);
172
+
173
+ if ($label.length) {
174
+ $label.addClass(this.options.labelErrorClass);
175
+ }
176
+
177
+ if ($formError.length) {
178
+ $formError.addClass(this.options.formErrorClass);
179
+ }
180
+
181
+ $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');
182
+ }
183
+
184
+ /**
185
+ * Remove CSS error classes etc from an entire radio button group
186
+ * @param {String} groupName - A string that specifies the name of a radio button group
187
+ *
188
+ */
189
+
190
+ removeRadioErrorClasses(groupName) {
191
+ var $els = this.$element.find(`:radio[name="${groupName}"]`);
192
+ var $labels = this.findRadioLabels($els);
193
+ var $formErrors = this.findFormError($els);
194
+
195
+ if ($labels.length) {
196
+ $labels.removeClass(this.options.labelErrorClass);
197
+ }
198
+
199
+ if ($formErrors.length) {
200
+ $formErrors.removeClass(this.options.formErrorClass);
201
+ }
202
+
203
+ $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
204
+
205
+ }
206
+
207
+ /**
208
+ * Removes CSS error class as specified by the Abide settings from the label, input, and the form
209
+ * @param {Object} $el - jQuery object to remove the class from
210
+ */
211
+ removeErrorClasses($el) {
212
+ // radios need to clear all of the els
213
+ if($el[0].type == 'radio') {
214
+ return this.removeRadioErrorClasses($el.attr('name'));
215
+ }
216
+
217
+ var $label = this.findLabel($el);
218
+ var $formError = this.findFormError($el);
219
+
220
+ if ($label.length) {
221
+ $label.removeClass(this.options.labelErrorClass);
222
+ }
223
+
224
+ if ($formError.length) {
225
+ $formError.removeClass(this.options.formErrorClass);
226
+ }
227
+
228
+ $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
229
+ }
230
+
231
+ /**
232
+ * Goes through a form to find inputs and proceeds to validate them in ways specific to their type
233
+ * @fires Abide#invalid
234
+ * @fires Abide#valid
235
+ * @param {Object} element - jQuery object to validate, should be an HTML input
236
+ * @returns {Boolean} goodToGo - If the input is valid or not.
237
+ */
238
+ validateInput($el) {
239
+ var clearRequire = this.requiredCheck($el),
240
+ validated = false,
241
+ customValidator = true,
242
+ validator = $el.attr('data-validator'),
243
+ equalTo = true;
244
+
245
+ // don't validate ignored inputs or hidden inputs
246
+ if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]')) {
247
+ return true;
248
+ }
249
+
250
+ switch ($el[0].type) {
251
+ case 'radio':
252
+ validated = this.validateRadio($el.attr('name'));
253
+ break;
254
+
255
+ case 'checkbox':
256
+ validated = clearRequire;
257
+ break;
258
+
259
+ case 'select':
260
+ case 'select-one':
261
+ case 'select-multiple':
262
+ validated = clearRequire;
263
+ break;
264
+
265
+ default:
266
+ validated = this.validateText($el);
267
+ }
268
+
269
+ if (validator) {
270
+ customValidator = this.matchValidation($el, validator, $el.attr('required'));
271
+ }
272
+
273
+ if ($el.attr('data-equalto')) {
274
+ equalTo = this.options.validators.equalTo($el);
275
+ }
276
+
277
+
278
+ var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;
279
+ var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
280
+
281
+ this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);
282
+
283
+ /**
284
+ * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
285
+ * Trigger includes the DOM element of the input.
286
+ * @event Abide#valid
287
+ * @event Abide#invalid
288
+ */
289
+ $el.trigger(message, [$el]);
290
+
291
+ return goodToGo;
292
+ }
293
+
294
+ /**
295
+ * Goes through a form and if there are any invalid inputs, it will display the form error element
296
+ * @returns {Boolean} noError - true if no errors were detected...
297
+ * @fires Abide#formvalid
298
+ * @fires Abide#forminvalid
299
+ */
300
+ validateForm() {
301
+ var acc = [];
302
+ var _this = this;
303
+
304
+ this.$inputs.each(function() {
305
+ acc.push(_this.validateInput($(this)));
306
+ });
307
+
308
+ var noError = acc.indexOf(false) === -1;
309
+
310
+ this.$element.find('[data-abide-error]').css('display', (noError ? 'none' : 'block'));
311
+
312
+ /**
313
+ * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
314
+ * Trigger includes the element of the form.
315
+ * @event Abide#formvalid
316
+ * @event Abide#forminvalid
317
+ */
318
+ this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
319
+
320
+ return noError;
321
+ }
322
+
323
+ /**
324
+ * 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.
325
+ * @param {Object} $el - jQuery object to validate, should be a text input HTML element
326
+ * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
327
+ * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
328
+ */
329
+ validateText($el, pattern) {
330
+ // A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
331
+ pattern = (pattern || $el.attr('pattern') || $el.attr('type'));
332
+ var inputText = $el.val();
333
+ var valid = false;
334
+
335
+ if (inputText.length) {
336
+ // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
337
+ if (this.options.patterns.hasOwnProperty(pattern)) {
338
+ valid = this.options.patterns[pattern].test(inputText);
339
+ }
340
+ // If the pattern name isn't also the type attribute of the field, then test it as a regexp
341
+ else if (pattern !== $el.attr('type')) {
342
+ valid = new RegExp(pattern).test(inputText);
343
+ }
344
+ else {
345
+ valid = true;
346
+ }
347
+ }
348
+ // An empty field is valid if it's not required
349
+ else if (!$el.prop('required')) {
350
+ valid = true;
351
+ }
352
+
353
+ return valid;
354
+ }
355
+
356
+ /**
357
+ * 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.
358
+ * @param {String} groupName - A string that specifies the name of a radio button group
359
+ * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
360
+ */
361
+ validateRadio(groupName) {
362
+ // If at least one radio in the group has the `required` attribute, the group is considered required
363
+ // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
364
+ var $group = this.$element.find(`:radio[name="${groupName}"]`);
365
+ var valid = false, required = false;
366
+
367
+ // For the group to be required, at least one radio needs to be required
368
+ $group.each((i, e) => {
369
+ if ($(e).attr('required')) {
370
+ required = true;
371
+ }
372
+ });
373
+ if(!required) valid=true;
374
+
375
+ if (!valid) {
376
+ // For the group to be valid, at least one radio needs to be checked
377
+ $group.each((i, e) => {
378
+ if ($(e).prop('checked')) {
379
+ valid = true;
380
+ }
381
+ });
382
+ };
383
+
384
+ return valid;
385
+ }
386
+
387
+ /**
388
+ * 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.
389
+ * @param {Object} $el - jQuery input element.
390
+ * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
391
+ * @param {Boolean} required - self explanatory?
392
+ * @returns {Boolean} - true if validations passed.
393
+ */
394
+ matchValidation($el, validators, required) {
395
+ required = required ? true : false;
396
+
397
+ var clear = validators.split(' ').map((v) => {
398
+ return this.options.validators[v]($el, required, $el.parent());
399
+ });
400
+ return clear.indexOf(false) === -1;
401
+ }
402
+
403
+ /**
404
+ * Resets form inputs and styles
405
+ * @fires Abide#formreset
406
+ */
407
+ resetForm() {
408
+ var $form = this.$element,
409
+ opts = this.options;
410
+
411
+ $(`.${opts.labelErrorClass}`, $form).not('small').removeClass(opts.labelErrorClass);
412
+ $(`.${opts.inputErrorClass}`, $form).not('small').removeClass(opts.inputErrorClass);
413
+ $(`${opts.formErrorSelector}.${opts.formErrorClass}`).removeClass(opts.formErrorClass);
414
+ $form.find('[data-abide-error]').css('display', 'none');
415
+ $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');
416
+ $(':input:radio', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');
417
+ $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');
418
+ /**
419
+ * Fires when the form has been reset.
420
+ * @event Abide#formreset
421
+ */
422
+ $form.trigger('formreset.zf.abide', [$form]);
423
+ }
424
+
425
+ /**
426
+ * Destroys an instance of Abide.
427
+ * Removes error styles and classes from elements, without resetting their values.
428
+ */
429
+ destroy() {
430
+ var _this = this;
431
+ this.$element
432
+ .off('.abide')
433
+ .find('[data-abide-error]')
434
+ .css('display', 'none');
435
+
436
+ this.$inputs
437
+ .off('.abide')
438
+ .each(function() {
439
+ _this.removeErrorClasses($(this));
440
+ });
441
+
442
+ Foundation.unregisterPlugin(this);
443
+ }
444
+ }
445
+
446
+ /**
447
+ * Default settings for plugin
448
+ */
449
+ Abide.defaults = {
450
+ /**
451
+ * The default event to validate inputs. Checkboxes and radios validate immediately.
452
+ * Remove or change this value for manual validation.
453
+ * @option
454
+ * @example 'fieldChange'
455
+ */
456
+ validateOn: 'fieldChange',
457
+
458
+ /**
459
+ * Class to be applied to input labels on failed validation.
460
+ * @option
461
+ * @example 'is-invalid-label'
462
+ */
463
+ labelErrorClass: 'is-invalid-label',
464
+
465
+ /**
466
+ * Class to be applied to inputs on failed validation.
467
+ * @option
468
+ * @example 'is-invalid-input'
469
+ */
470
+ inputErrorClass: 'is-invalid-input',
471
+
472
+ /**
473
+ * Class selector to use to target Form Errors for show/hide.
474
+ * @option
475
+ * @example '.form-error'
476
+ */
477
+ formErrorSelector: '.form-error',
478
+
479
+ /**
480
+ * Class added to Form Errors on failed validation.
481
+ * @option
482
+ * @example 'is-visible'
483
+ */
484
+ formErrorClass: 'is-visible',
485
+
486
+ /**
487
+ * Set to true to validate text inputs on any value change.
488
+ * @option
489
+ * @example false
490
+ */
491
+ liveValidate: false,
492
+
493
+ patterns: {
494
+ alpha : /^[a-zA-Z]+$/,
495
+ alpha_numeric : /^[a-zA-Z0-9]+$/,
496
+ integer : /^[-+]?\d+$/,
497
+ number : /^[-+]?\d*(?:[\.\,]\d+)?$/,
498
+
499
+ // amex, visa, diners
500
+ 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})$/,
501
+ cvv : /^([0-9]){3,4}$/,
502
+
503
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
504
+ 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])?)+$/,
505
+
506
+ 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})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
507
+ // abc.de
508
+ domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
509
+
510
+ 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))$/,
511
+ // YYYY-MM-DD
512
+ 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))$/,
513
+ // HH:MM:SS
514
+ time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
515
+ dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
516
+ // MM/DD/YYYY
517
+ month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
518
+ // DD/MM/YYYY
519
+ day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
520
+
521
+ // #FFF or #FFFFFF
522
+ color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
523
+ },
524
+
525
+ /**
526
+ * Optional validation functions to be used. `equalTo` being the only default included function.
527
+ * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
528
+ * el : The jQuery element to validate.
529
+ * required : Boolean value of the required attribute be present or not.
530
+ * parent : The direct parent of the input.
531
+ * @option
532
+ */
533
+ validators: {
534
+ equalTo: function (el, required, parent) {
535
+ return $(`#${el.attr('data-equalto')}`).val() === el.val();
536
+ }
537
+ }
538
+ }
539
+
540
+ // Window exports
541
+ Foundation.plugin(Abide, 'Abide');
542
+
543
+ }(jQuery);