foundation-rails 6.6.2.0 → 6.9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +2 -0
  4. data/Appraisals +4 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +198 -145
  7. data/bower.json +3 -3
  8. data/foundation-rails.gemspec +4 -4
  9. data/gemfiles/rails_7.1.gemfile +10 -0
  10. data/gemfiles/rails_7.1.gemfile.lock +261 -0
  11. data/lib/foundation/rails/version.rb +1 -1
  12. data/lib/generators/foundation/templates/_settings.scss +32 -28
  13. data/vendor/assets/js/foundation.cjs.js +1996 -3162
  14. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  15. data/vendor/assets/js/foundation.es6.js +385 -292
  16. data/vendor/assets/js/foundation.es6.js.map +1 -1
  17. data/vendor/assets/js/foundation.esm.js +1663 -2832
  18. data/vendor/assets/js/foundation.esm.js.map +1 -1
  19. data/vendor/assets/js/foundation.js +2440 -3870
  20. data/vendor/assets/js/foundation.js.map +1 -1
  21. data/vendor/assets/js/foundation.min.js +1 -1
  22. data/vendor/assets/js/foundation.min.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.abide.js +238 -344
  24. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  26. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.accordion.js +197 -275
  28. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  30. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.accordionMenu.js +174 -260
  32. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  34. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.core.js +308 -447
  36. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  38. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.drilldown.js +258 -358
  40. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  42. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.dropdown.js +289 -457
  44. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  45. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  46. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  47. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +246 -346
  48. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  49. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  50. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  51. data/vendor/assets/js/plugins/foundation.equalizer.js +178 -261
  52. data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -1
  53. data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
  54. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
  55. data/vendor/assets/js/plugins/foundation.interchange.js +227 -326
  56. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  57. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  58. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  59. data/vendor/assets/js/plugins/foundation.magellan.js +225 -336
  60. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  61. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  62. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  63. data/vendor/assets/js/plugins/foundation.offcanvas.js +326 -471
  64. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
  65. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
  66. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
  67. data/vendor/assets/js/plugins/foundation.orbit.js +244 -347
  68. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
  69. data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
  70. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
  71. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +203 -278
  72. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  73. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
  74. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  75. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +205 -255
  76. data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -1
  77. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
  78. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
  79. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +170 -226
  80. data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -1
  81. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
  82. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
  83. data/vendor/assets/js/plugins/foundation.reveal.js +284 -444
  84. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  85. data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
  86. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  87. data/vendor/assets/js/plugins/foundation.slider.js +322 -483
  88. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  89. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  90. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  91. data/vendor/assets/js/plugins/foundation.smoothScroll.js +138 -188
  92. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
  93. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
  94. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
  95. data/vendor/assets/js/plugins/foundation.sticky.js +253 -394
  96. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  97. data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
  98. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  99. data/vendor/assets/js/plugins/foundation.tabs.js +228 -317
  100. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
  101. data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
  102. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
  103. data/vendor/assets/js/plugins/foundation.toggler.js +207 -294
  104. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
  105. data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
  106. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
  107. data/vendor/assets/js/plugins/foundation.tooltip.js +275 -434
  108. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  109. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  110. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  111. data/vendor/assets/js/plugins/foundation.util.box.js +130 -186
  112. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  113. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  114. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  115. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +110 -150
  116. data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -1
  117. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
  118. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
  119. data/vendor/assets/js/plugins/foundation.util.keyboard.js +157 -172
  120. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
  121. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
  122. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
  123. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +167 -233
  124. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
  125. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
  126. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
  127. data/vendor/assets/js/plugins/foundation.util.motion.js +123 -161
  128. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  129. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  130. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  131. data/vendor/assets/js/plugins/foundation.util.nest.js +123 -160
  132. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -1
  133. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  134. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  135. data/vendor/assets/js/plugins/foundation.util.timer.js +116 -171
  136. data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -1
  137. data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
  138. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
  139. data/vendor/assets/js/plugins/foundation.util.touch.js +172 -228
  140. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
  141. data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
  142. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
  143. data/vendor/assets/js/plugins/foundation.util.triggers.js +158 -222
  144. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
  145. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
  146. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
  147. data/vendor/assets/scss/_global.scss +18 -5
  148. data/vendor/assets/scss/components/_accordion-menu.scss +2 -2
  149. data/vendor/assets/scss/components/_badge.scss +1 -1
  150. data/vendor/assets/scss/components/_breadcrumbs.scss +2 -1
  151. data/vendor/assets/scss/components/_button-group.scss +13 -8
  152. data/vendor/assets/scss/components/_button.scss +13 -13
  153. data/vendor/assets/scss/components/_callout.scss +2 -2
  154. data/vendor/assets/scss/components/_close-button.scss +5 -4
  155. data/vendor/assets/scss/components/_dropdown-menu.scss +1 -1
  156. data/vendor/assets/scss/components/_label.scss +1 -1
  157. data/vendor/assets/scss/components/_menu.scss +54 -19
  158. data/vendor/assets/scss/components/_off-canvas.scss +18 -16
  159. data/vendor/assets/scss/components/_orbit.scss +3 -3
  160. data/vendor/assets/scss/components/_pagination.scss +1 -1
  161. data/vendor/assets/scss/components/_progress-bar.scss +1 -1
  162. data/vendor/assets/scss/components/_responsive-embed.scss +1 -1
  163. data/vendor/assets/scss/components/_reveal.scss +8 -3
  164. data/vendor/assets/scss/components/_slider.scss +5 -2
  165. data/vendor/assets/scss/components/_switch.scss +25 -2
  166. data/vendor/assets/scss/components/_table.scss +8 -7
  167. data/vendor/assets/scss/components/_tabs.scss +2 -2
  168. data/vendor/assets/scss/components/_top-bar.scss +7 -5
  169. data/vendor/assets/scss/components/_visibility.scss +45 -2
  170. data/vendor/assets/scss/forms/_label.scss +2 -1
  171. data/vendor/assets/scss/forms/_progress.scss +1 -1
  172. data/vendor/assets/scss/forms/_range.scss +1 -1
  173. data/vendor/assets/scss/forms/_select.scss +5 -4
  174. data/vendor/assets/scss/forms/_text.scss +2 -2
  175. data/vendor/assets/scss/foundation.scss +1 -1
  176. data/vendor/assets/scss/grid/_classes.scss +1 -1
  177. data/vendor/assets/scss/grid/_column.scss +3 -2
  178. data/vendor/assets/scss/grid/_flex-grid.scss +7 -6
  179. data/vendor/assets/scss/grid/_gutter.scss +1 -1
  180. data/vendor/assets/scss/grid/_layout.scss +5 -5
  181. data/vendor/assets/scss/grid/_position.scss +4 -4
  182. data/vendor/assets/scss/grid/_row.scss +1 -1
  183. data/vendor/assets/scss/motion-ui/util/_animation.scss +1 -1
  184. data/vendor/assets/scss/motion-ui/util/_series.scss +1 -1
  185. data/vendor/assets/scss/motion-ui/util/_unit.scss +54 -1
  186. data/vendor/assets/scss/prototype/_border-none.scss +1 -1
  187. data/vendor/assets/scss/prototype/_font-styling.scss +2 -2
  188. data/vendor/assets/scss/prototype/_overflow.scss +9 -0
  189. data/vendor/assets/scss/prototype/_rotate.scss +7 -5
  190. data/vendor/assets/scss/prototype/_separator.scss +5 -5
  191. data/vendor/assets/scss/prototype/_shadow.scss +1 -2
  192. data/vendor/assets/scss/prototype/_spacing.scss +33 -33
  193. data/vendor/assets/scss/prototype/_text-transformation.scss +3 -3
  194. data/vendor/assets/scss/settings/_settings.scss +32 -28
  195. data/vendor/assets/scss/typography/_base.scss +6 -6
  196. data/vendor/assets/scss/typography/_helpers.scss +10 -2
  197. data/vendor/assets/scss/typography/_print.scss +2 -2
  198. data/vendor/assets/scss/util/_breakpoint.scss +21 -18
  199. data/vendor/assets/scss/util/_color.scss +20 -8
  200. data/vendor/assets/scss/util/_direction.scss +1 -1
  201. data/vendor/assets/scss/util/_flex.scss +1 -1
  202. data/vendor/assets/scss/util/_math.scss +61 -9
  203. data/vendor/assets/scss/util/_mixins.scss +18 -14
  204. data/vendor/assets/scss/util/_selector.scss +1 -15
  205. data/vendor/assets/scss/util/_typography.scss +6 -6
  206. data/vendor/assets/scss/util/_unit.scss +14 -8
  207. data/vendor/assets/scss/util/_value.scss +3 -18
  208. data/vendor/assets/scss/vendor/normalize.scss +19 -2
  209. data/vendor/assets/scss/xy-grid/_cell.scss +16 -5
  210. data/vendor/assets/scss/xy-grid/_classes.scss +8 -8
  211. data/vendor/assets/scss/xy-grid/_frame.scss +12 -0
  212. data/vendor/assets/scss/xy-grid/_grid.scss +2 -2
  213. data/vendor/assets/scss/xy-grid/_gutters.scss +2 -2
  214. data/vendor/assets/scss/xy-grid/_layout.scss +1 -1
  215. data/vendor/assets/scss/xy-grid/_position.scss +12 -7
  216. data/vendor/assets/scss/xy-grid/_xy-grid.scss +2 -2
  217. metadata +21 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.abide.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.abide.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_abide__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Abide","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","element","options","arguments","length","undefined","this","$element","$","extend","defaults","data","isEnabled","formnovalidate","className","_init","_this2","$inputs","merge","find","not","$submits","$globalErrors","a11yAttributes","each","i","input","addA11yAttributes","error","addGlobalErrorA11yAttributes","_events","_this3","off","on","resetForm","validateForm","e","key","preventDefault","target","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","$el","attr","isGood","type","checked","opt","val","value","id","failedValidators","$error","parent","formErrorSelector","add","concat","$label","_this5","labels","el","_this6","$formError","addClass","inputErrorClass","findLabel","findFormError","labelErrorClass","aria-invalid","errorId","$errors","first","elemId","GetYoDigits","$labels","label","end","a11yErrorLevel","$formErrors","groupName","$els","removeClass","formErrorClass","clearRequire","requiredCheck","validator","manageErrorClasses","validated","is","push","validateText","equalTo","message","goodToGo","dependentElements","forEach","v","_this7","_this","validators","required","trigger","checkboxGroupName","_this8","acc","noError","initialized","valid","pattern","$elem","css","patterns","test","inputText","RegExp","$group","prop","_this9","minRequired","parseInt","removeErrorClasses","clear","$form","opts","cvv","domain","datetime","alpha","date","integer","time","card","month_day_year","day_month_year","website","text","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","t","mode","__esModule","ns","create","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.abide.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.abide\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.abide\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Abide } from '../../foundation.abide';\nFoundation.plugin(Abide, 'Abide');\n\nexport { Foundation, Abide };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\n\n/**\n * Abide module.\n * @module foundation.abide\n */\n\nclass Abide extends Plugin {\n /**\n * Creates a new instance of Abide.\n * @class\n * @name Abide\n * @fires Abide#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options = {}) {\n this.$element = element;\n this.options = $.extend(true, {}, Abide.defaults, this.$element.data(), options);\n this.isEnabled = true;\n this.formnovalidate = null;\n\n this.className = 'Abide'; // ie9 back compat\n this._init();\n }\n\n /**\n * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n * @private\n */\n _init() {\n this.$inputs = $.merge( // Consider as input to validate:\n this.$element.find('input').not('[type=\"submit\"]'), // * all input fields expect submit\n this.$element.find('textarea, select') // * all textareas and select fields\n );\n this.$submits = this.$element.find('[type=\"submit\"]');\n const $globalErrors = this.$element.find('[data-abide-error]');\n\n // Add a11y attributes to all fields\n if (this.options.a11yAttributes) {\n this.$inputs.each((i, input) => this.addA11yAttributes($(input)));\n $globalErrors.each((i, error) => this.addGlobalErrorA11yAttributes($(error)));\n }\n\n this._events();\n }\n\n /**\n * Initializes events for Abide.\n * @private\n */\n _events() {\n this.$element.off('.abide')\n .on('reset.zf.abide', () => {\n this.resetForm();\n })\n .on('submit.zf.abide', () => {\n return this.validateForm();\n });\n\n this.$submits\n .off('click.zf.abide keydown.zf.abide')\n .on('click.zf.abide keydown.zf.abide', (e) => {\n if (!e.key || (e.key === ' ' || e.key === 'Enter')) {\n e.preventDefault();\n this.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n this.$element.submit();\n }\n });\n\n if (this.options.validateOn === 'fieldChange') {\n this.$inputs\n .off('change.zf.abide')\n .on('change.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.liveValidate) {\n this.$inputs\n .off('input.zf.abide')\n .on('input.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.validateOnBlur) {\n this.$inputs\n .off('blur.zf.abide')\n .on('blur.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n }\n\n /**\n * Calls necessary functions to update Abide upon DOM change\n * @private\n */\n _reflow() {\n this._init();\n }\n\n /**\n * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n * @returns {Boolean}\n * @private\n */\n _validationIsDisabled() {\n if (this.isEnabled === false) { // whole validation disabled\n return true;\n } else if (typeof this.formnovalidate === 'boolean') { // triggered by $submit\n return this.formnovalidate;\n } else { // triggered by Enter in non-submit input\n return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n }\n }\n\n /**\n * Enables the whole validation\n */\n enableValidation(){\n this.isEnabled = true;\n }\n\n /**\n * Disables the whole validation\n */\n disableValidation() {\n this.isEnabled = false;\n }\n\n /**\n * Checks whether or not a form element has the required attribute and if it's checked or not\n * @param {Object} element - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n requiredCheck($el) {\n if (!$el.attr('required')) return true;\n\n var isGood = true;\n\n switch ($el[0].type) {\n case 'checkbox':\n isGood = $el[0].checked;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n var opt = $el.find('option:selected');\n if (!opt.length || !opt.val()) isGood = false;\n break;\n\n default:\n if(!$el.val() || !$el.val().length) isGood = false;\n }\n\n return isGood;\n }\n\n /**\n * Get:\n * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n * 1. The element's direct sibling('s).\n * 2. The element's parent's children.\n * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n *\n * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n *\n * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n * @returns {Object} jQuery object with the selector.\n */\n findFormError($el) {\n var id = $el.length ? $el[0].id : '';\n var $error = $el.siblings(this.options.formErrorSelector);\n\n if (!$error.length) {\n $error = $el.parent().find(this.options.formErrorSelector);\n }\n\n if (id) {\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"]`));\n }\n\n return $error;\n }\n\n /**\n * Get the first element in this order:\n * 2. The <label> with the attribute `[for=\"someInputId\"]`\n * 3. The `.closest()` <label>\n *\n * @param {Object} $el - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n findLabel($el) {\n var id = $el[0].id;\n var $label = this.$element.find(`label[for=\"${id}\"]`);\n\n if (!$label.length) {\n return $el.closest('label');\n }\n\n return $label;\n }\n\n /**\n * Get the set of labels associated with a set of radio els in this order\n * 2. The <label> with the attribute `[for=\"someInputId\"]`\n * 3. The `.closest()` <label>\n *\n * @param {Object} $el - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n findRadioLabels($els) {\n var labels = $els.map((i, el) => {\n var id = el.id;\n var $label = this.$element.find(`label[for=\"${id}\"]`);\n\n if (!$label.length) {\n $label = $(el).closest('label');\n }\n return $label[0];\n });\n\n return $(labels);\n }\n\n /**\n * Get the set of labels associated with a set of checkbox els in this order\n * 2. The <label> with the attribute `[for=\"someInputId\"]`\n * 3. The `.closest()` <label>\n *\n * @param {Object} $el - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n findCheckboxLabels($els) {\n var labels = $els.map((i, el) => {\n var id = el.id;\n var $label = this.$element.find(`label[for=\"${id}\"]`);\n\n if (!$label.length) {\n $label = $(el).closest('label');\n }\n return $label[0];\n });\n\n return $(labels);\n }\n\n /**\n * Adds the CSS error class as specified by the Abide settings to the label, input, and the form\n * @param {Object} $el - jQuery object to add the class to\n */\n addErrorClasses($el) {\n var $label = this.findLabel($el);\n var $formError = this.findFormError($el);\n\n if ($label.length) {\n $label.addClass(this.options.labelErrorClass);\n }\n\n if ($formError.length) {\n $formError.addClass(this.options.formErrorClass);\n }\n\n $el.addClass(this.options.inputErrorClass).attr({\n 'data-invalid': '',\n 'aria-invalid': true\n });\n }\n\n /**\n * Adds [for] and [role=alert] attributes to all form error targetting $el,\n * and [aria-describedby] attribute to $el toward the first form error.\n * @param {Object} $el - jQuery object\n */\n addA11yAttributes($el) {\n let $errors = this.findFormError($el);\n let $labels = $errors.filter('label');\n let $error = $errors.first();\n if (!$errors.length) return;\n\n // Set [aria-describedby] on the input toward the first form error if it is not set\n if (typeof $el.attr('aria-describedby') === 'undefined') {\n // Get the first error ID or create one\n let errorId = $error.attr('id');\n if (typeof errorId === 'undefined') {\n errorId = GetYoDigits(6, 'abide-error');\n $error.attr('id', errorId);\n };\n\n $el.attr('aria-describedby', errorId);\n }\n\n if ($labels.filter('[for]').length < $labels.length) {\n // Get the input ID or create one\n let elemId = $el.attr('id');\n if (typeof elemId === 'undefined') {\n elemId = GetYoDigits(6, 'abide-input');\n $el.attr('id', elemId);\n };\n\n // For each label targeting $el, set [for] if it is not set.\n $labels.each((i, label) => {\n const $label = $(label);\n if (typeof $label.attr('for') === 'undefined')\n $label.attr('for', elemId);\n });\n }\n\n // For each error targeting $el, set [role=alert] if it is not set.\n $errors.each((i, label) => {\n const $label = $(label);\n if (typeof $label.attr('role') === 'undefined')\n $label.attr('role', 'alert');\n }).end();\n }\n\n /**\n * Adds [aria-live] attribute to the given global form error $el.\n * @param {Object} $el - jQuery object to add the attribute to\n */\n addGlobalErrorA11yAttributes($el) {\n if (typeof $el.attr('aria-live') === 'undefined')\n $el.attr('aria-live', this.options.a11yErrorLevel);\n }\n\n /**\n * Remove CSS error classes etc from an entire radio button group\n * @param {String} groupName - A string that specifies the name of a radio button group\n *\n */\n removeRadioErrorClasses(groupName) {\n var $els = this.$element.find(`:radio[name=\"${groupName}\"]`);\n var $labels = this.findRadioLabels($els);\n var $formErrors = this.findFormError($els);\n\n if ($labels.length) {\n $labels.removeClass(this.options.labelErrorClass);\n }\n\n if ($formErrors.length) {\n $formErrors.removeClass(this.options.formErrorClass);\n }\n\n $els.removeClass(this.options.inputErrorClass).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n\n }\n\n /**\n * Remove CSS error classes etc from an entire checkbox group\n * @param {String} groupName - A string that specifies the name of a checkbox group\n *\n */\n removeCheckboxErrorClasses(groupName) {\n var $els = this.$element.find(`:checkbox[name=\"${groupName}\"]`);\n var $labels = this.findCheckboxLabels($els);\n var $formErrors = this.findFormError($els);\n\n if ($labels.length) {\n $labels.removeClass(this.options.labelErrorClass);\n }\n\n if ($formErrors.length) {\n $formErrors.removeClass(this.options.formErrorClass);\n }\n\n $els.removeClass(this.options.inputErrorClass).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n\n }\n\n /**\n * Removes CSS error class as specified by the Abide settings from the label, input, and the form\n * @param {Object} $el - jQuery object to remove the class from\n */\n removeErrorClasses($el) {\n // radios need to clear all of the els\n if($el[0].type == 'radio') {\n return this.removeRadioErrorClasses($el.attr('name'));\n }\n // checkboxes need to clear all of the els\n else if($el[0].type == 'checkbox') {\n return this.removeCheckboxErrorClasses($el.attr('name'));\n }\n\n var $label = this.findLabel($el);\n var $formError = this.findFormError($el);\n\n if ($label.length) {\n $label.removeClass(this.options.labelErrorClass);\n }\n\n if ($formError.length) {\n $formError.removeClass(this.options.formErrorClass);\n }\n\n $el.removeClass(this.options.inputErrorClass).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n }\n\n /**\n * Goes through a form to find inputs and proceeds to validate them in ways specific to their type.\n * Ignores inputs with data-abide-ignore, type=\"hidden\" or disabled attributes set\n * @fires Abide#invalid\n * @fires Abide#valid\n * @param {Object} element - jQuery object to validate, should be an HTML input\n * @returns {Boolean} goodToGo - If the input is valid or not.\n */\n validateInput($el) {\n var clearRequire = this.requiredCheck($el),\n validated = false,\n customValidator = true,\n validator = $el.attr('data-validator'),\n equalTo = true;\n\n // skip validation if disabled\n if (this._validationIsDisabled()) {\n return true;\n }\n\n // don't validate ignored inputs or hidden inputs or disabled inputs\n if ($el.is('[data-abide-ignore]') || $el.is('[type=\"hidden\"]') || $el.is('[disabled]')) {\n return true;\n }\n\n switch ($el[0].type) {\n case 'radio':\n validated = this.validateRadio($el.attr('name'));\n break;\n\n case 'checkbox':\n validated = this.validateCheckbox($el.attr('name'));\n clearRequire = true;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n validated = clearRequire;\n break;\n\n default:\n validated = this.validateText($el);\n }\n\n if (validator) {\n customValidator = this.matchValidation($el, validator, $el.attr('required'));\n }\n\n if ($el.attr('data-equalto')) {\n equalTo = this.options.validators.equalTo($el);\n }\n\n\n var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;\n var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';\n\n if (goodToGo) {\n // Re-validate inputs that depend on this one with equalto\n const dependentElements = this.$element.find(`[data-equalto=\"${$el.attr('id')}\"]`);\n if (dependentElements.length) {\n let _this = this;\n dependentElements.each(function() {\n if ($(this).val()) {\n _this.validateInput($(this));\n }\n });\n }\n }\n\n this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);\n\n /**\n * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`\n * Trigger includes the DOM element of the input.\n * @event Abide#valid\n * @event Abide#invalid\n */\n $el.trigger(message, [$el]);\n\n return goodToGo;\n }\n\n /**\n * Goes through a form and if there are any invalid inputs, it will display the form error element\n * @returns {Boolean} noError - true if no errors were detected...\n * @fires Abide#formvalid\n * @fires Abide#forminvalid\n */\n validateForm() {\n var acc = [];\n var _this = this;\n var checkboxGroupName;\n\n // Remember first form submission to prevent specific checkbox validation (more than one required) until form got initially submitted\n if (!this.initialized) {\n this.initialized = true;\n }\n\n // skip validation if disabled\n if (this._validationIsDisabled()) {\n this.formnovalidate = null;\n return true;\n }\n\n this.$inputs.each(function() {\n\n // Only use one checkbox per group since validateCheckbox() iterates over all associated checkboxes\n if ($(this)[0].type === 'checkbox') {\n if ($(this).attr('name') === checkboxGroupName) return true;\n checkboxGroupName = $(this).attr('name');\n }\n\n acc.push(_this.validateInput($(this)));\n });\n\n var noError = acc.indexOf(false) === -1;\n\n this.$element.find('[data-abide-error]').each((i, elem) => {\n const $elem = $(elem);\n // Ensure a11y attributes are set\n if (this.options.a11yAttributes) this.addGlobalErrorA11yAttributes($elem);\n // Show or hide the error\n $elem.css('display', (noError ? 'none' : 'block'));\n });\n\n /**\n * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.\n * Trigger includes the element of the form.\n * @event Abide#formvalid\n * @event Abide#forminvalid\n */\n this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);\n\n return noError;\n }\n\n /**\n * 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.\n * @param {Object} $el - jQuery object to validate, should be a text input HTML element\n * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns\n * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified\n */\n validateText($el, pattern) {\n // A pattern can be passed to this function, or it will be infered from the input's \"pattern\" attribute, or it's \"type\" attribute\n pattern = (pattern || $el.attr('data-pattern') || $el.attr('pattern') || $el.attr('type'));\n var inputText = $el.val();\n var valid = false;\n\n if (inputText.length) {\n // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp\n if (this.options.patterns.hasOwnProperty(pattern)) {\n valid = this.options.patterns[pattern].test(inputText);\n }\n // If the pattern name isn't also the type attribute of the field, then test it as a regexp\n else if (pattern !== $el.attr('type')) {\n valid = new RegExp(pattern).test(inputText);\n }\n else {\n valid = true;\n }\n }\n // An empty field is valid if it's not required\n else if (!$el.prop('required')) {\n valid = true;\n }\n\n return valid;\n }\n\n /**\n * 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.\n * @param {String} groupName - A string that specifies the name of a radio button group\n * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)\n */\n validateRadio(groupName) {\n // If at least one radio in the group has the `required` attribute, the group is considered required\n // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice\n var $group = this.$element.find(`:radio[name=\"${groupName}\"]`);\n var valid = false, required = false;\n\n // For the group to be required, at least one radio needs to be required\n $group.each((i, e) => {\n if ($(e).attr('required')) {\n required = true;\n }\n });\n if(!required) valid=true;\n\n if (!valid) {\n // For the group to be valid, at least one radio needs to be checked\n $group.each((i, e) => {\n if ($(e).prop('checked')) {\n valid = true;\n }\n });\n };\n\n return valid;\n }\n\n /**\n * Determines whether or a not a checkbox input is valid based on whether or not it is required and checked. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all checkboxes in its group.\n * @param {String} groupName - A string that specifies the name of a checkbox group\n * @returns {Boolean} Boolean value depends on whether or not at least one checkbox input has been checked (if it's required)\n */\n validateCheckbox(groupName) {\n // If at least one checkbox in the group has the `required` attribute, the group is considered required\n // Per W3C spec, all checkboxes in a group should have `required`, but we're being nice\n var $group = this.$element.find(`:checkbox[name=\"${groupName}\"]`);\n var valid = false, required = false, minRequired = 1, checked = 0;\n\n // For the group to be required, at least one checkbox needs to be required\n $group.each((i, e) => {\n if ($(e).attr('required')) {\n required = true;\n }\n });\n if(!required) valid=true;\n\n if (!valid) {\n // Count checked checkboxes within the group\n // Use data-min-required if available (default: 1)\n $group.each((i, e) => {\n if ($(e).prop('checked')) {\n checked++;\n }\n if (typeof $(e).attr('data-min-required') !== 'undefined') {\n minRequired = parseInt($(e).attr('data-min-required'));\n }\n });\n\n // For the group to be valid, the minRequired amount of checkboxes have to be checked\n if (checked >= minRequired) {\n valid = true;\n }\n };\n\n // Skip validation if more than 1 checkbox have to be checked AND if the form hasn't got submitted yet (otherwise it will already show an error during the first fill in)\n if (this.initialized !== true && minRequired > 1) {\n return true;\n }\n\n // Refresh error class for all input\n $group.each((i, e) => {\n if (!valid) {\n this.addErrorClasses($(e));\n } else {\n this.removeErrorClasses($(e));\n }\n });\n\n return valid;\n }\n\n /**\n * 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.\n * @param {Object} $el - jQuery input element.\n * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.\n * @param {Boolean} required - self explanatory?\n * @returns {Boolean} - true if validations passed.\n */\n matchValidation($el, validators, required) {\n required = required ? true : false;\n\n var clear = validators.split(' ').map((v) => {\n return this.options.validators[v]($el, required, $el.parent());\n });\n return clear.indexOf(false) === -1;\n }\n\n /**\n * Resets form inputs and styles\n * @fires Abide#formreset\n */\n resetForm() {\n var $form = this.$element,\n opts = this.options;\n\n $(`.${opts.labelErrorClass}`, $form).not('small').removeClass(opts.labelErrorClass);\n $(`.${opts.inputErrorClass}`, $form).not('small').removeClass(opts.inputErrorClass);\n $(`${opts.formErrorSelector}.${opts.formErrorClass}`).removeClass(opts.formErrorClass);\n $form.find('[data-abide-error]').css('display', 'none');\n $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n $(':input:radio', $form).not('[data-abide-ignore]').prop('checked',false).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked',false).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n /**\n * Fires when the form has been reset.\n * @event Abide#formreset\n */\n $form.trigger('formreset.zf.abide', [$form]);\n }\n\n /**\n * Destroys an instance of Abide.\n * Removes error styles and classes from elements, without resetting their values.\n */\n _destroy() {\n var _this = this;\n this.$element\n .off('.abide')\n .find('[data-abide-error]')\n .css('display', 'none');\n\n this.$inputs\n .off('.abide')\n .each(function() {\n _this.removeErrorClasses($(this));\n });\n\n this.$submits\n .off('.abide');\n }\n}\n\n/**\n * Default settings for plugin\n */\nAbide.defaults = {\n /**\n * The default event to validate inputs. Checkboxes and radios validate immediately.\n * Remove or change this value for manual validation.\n * @option\n * @type {?string}\n * @default 'fieldChange'\n */\n validateOn: 'fieldChange',\n\n /**\n * Class to be applied to input labels on failed validation.\n * @option\n * @type {string}\n * @default 'is-invalid-label'\n */\n labelErrorClass: 'is-invalid-label',\n\n /**\n * Class to be applied to inputs on failed validation.\n * @option\n * @type {string}\n * @default 'is-invalid-input'\n */\n inputErrorClass: 'is-invalid-input',\n\n /**\n * Class selector to use to target Form Errors for show/hide.\n * @option\n * @type {string}\n * @default '.form-error'\n */\n formErrorSelector: '.form-error',\n\n /**\n * Class added to Form Errors on failed validation.\n * @option\n * @type {string}\n * @default 'is-visible'\n */\n formErrorClass: 'is-visible',\n\n /**\n * If true, automatically insert when possible:\n * - `[aria-describedby]` on fields\n * - `[role=alert]` on form errors and `[for]` on form error labels\n * - `[aria-live]` on global errors `[data-abide-error]` (see option `a11yErrorLevel`).\n * @option\n * @type {boolean}\n * @default true\n */\n a11yAttributes: true,\n\n /**\n * [aria-live] attribute value to be applied on global errors `[data-abide-error]`.\n * Options are: 'assertive', 'polite' and 'off'/null\n * @option\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions\n * @type {string}\n * @default 'assertive'\n */\n a11yErrorLevel: 'assertive',\n\n /**\n * Set to true to validate text inputs on any value change.\n * @option\n * @type {boolean}\n * @default false\n */\n liveValidate: false,\n\n /**\n * Set to true to validate inputs on blur.\n * @option\n * @type {boolean}\n * @default false\n */\n validateOnBlur: false,\n\n patterns: {\n alpha : /^[a-zA-Z]+$/,\n alpha_numeric : /^[a-zA-Z0-9]+$/,\n integer : /^[-+]?\\d+$/,\n number : /^[-+]?\\d*(?:[\\.\\,]\\d+)?$/,\n\n // amex, visa, diners\n card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|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})$/,\n cvv : /^([0-9]){3,4}$/,\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address\n 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])?)+$/,\n\n // From CommonRegexJS (@talyssonoc)\n // https://github.com/talyssonoc/CommonRegexJS/blob/e2901b9f57222bc14069dc8f0598d5f412555411/lib/commonregex.js#L76\n // For more restrictive URL Regexs, see https://mathiasbynens.be/demo/url-regex.\n url: /^((?:(https?|ftps?|file|ssh|sftp):\\/\\/|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]+|\\((?:[^\\s()<>]+|(?:\\([^\\s()<>]+\\)))*\\))+(?:\\((?:[^\\s()<>]+|(?:\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\\'\".,<>?\\xab\\xbb\\u201c\\u201d\\u2018\\u2019]))$/,\n\n // abc.de\n domain : /^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,8}$/,\n\n 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))$/,\n // YYYY-MM-DD\n 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))$/,\n // HH:MM:SS\n time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,\n dateISO : /^\\d{4}[\\/\\-]\\d{1,2}[\\/\\-]\\d{1,2}$/,\n // MM/DD/YYYY\n month_day_year : /^(0[1-9]|1[012])[- \\/.](0[1-9]|[12][0-9]|3[01])[- \\/.]\\d{4}$/,\n // DD/MM/YYYY\n day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \\/.](0[1-9]|1[012])[- \\/.]\\d{4}$/,\n\n // #FFF or #FFFFFF\n color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,\n\n // Domain || URL\n website: {\n test: (text) => {\n return Abide.defaults.patterns['domain'].test(text) || Abide.defaults.patterns['url'].test(text);\n }\n }\n },\n\n /**\n * Optional validation functions to be used. `equalTo` being the only default included function.\n * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:\n * el : The jQuery element to validate.\n * required : Boolean value of the required attribute be present or not.\n * parent : The direct parent of the input.\n * @option\n */\n validators: {\n equalTo: function (el, required, parent) {\n return $(`#${el.attr('data-equalto')}`).val() === el.val();\n }\n }\n}\n\nexport {Abide};\n"]}
1
+ {"version":3,"file":"foundation.abide.min.js","sources":["foundation.abide.min.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"__FOUNDATION_EXTERNAL__\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.abide\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./js/foundation.abide.js\":\n/*!********************************!*\\\n !*** ./js/foundation.abide.js ***!\n \\********************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Abide: function() { return /* binding */ Abide; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\n\n\n\n\n/**\n * Abide module.\n * @module foundation.abide\n */\nvar Abide = /*#__PURE__*/function (_Plugin) {\n function Abide() {\n _classCallCheck(this, Abide);\n return _callSuper(this, Abide, arguments);\n }\n _inherits(Abide, _Plugin);\n return _createClass(Abide, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of Abide.\n * @class\n * @name Abide\n * @fires Abide#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(true, {}, Abide.defaults, this.$element.data(), options);\n this.isEnabled = true;\n this.formnovalidate = null;\n this.className = 'Abide'; // ie9 back compat\n this._init();\n }\n\n /**\n * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n * @private\n */\n }, {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n this.$inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default().merge(\n // Consider as input to validate:\n this.$element.find('input').not('[type=\"submit\"]'),\n // * all input fields expect submit\n this.$element.find('textarea, select') // * all textareas and select fields\n );\n this.$submits = this.$element.find('[type=\"submit\"]');\n var $globalErrors = this.$element.find('[data-abide-error]');\n\n // Add a11y attributes to all fields\n if (this.options.a11yAttributes) {\n this.$inputs.each(function (i, input) {\n return _this2.addA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(input));\n });\n $globalErrors.each(function (i, error) {\n return _this2.addGlobalErrorA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(error));\n });\n }\n this._events();\n }\n\n /**\n * Initializes events for Abide.\n * @private\n */\n }, {\n key: \"_events\",\n value: function _events() {\n var _this3 = this;\n this.$element.off('.abide').on('reset.zf.abide', function () {\n _this3.resetForm();\n }).on('submit.zf.abide', function () {\n return _this3.validateForm();\n });\n this.$submits.off('click.zf.abide keydown.zf.abide').on('click.zf.abide keydown.zf.abide', function (e) {\n if (!e.key || e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n _this3.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n _this3.$element.submit();\n }\n });\n if (this.options.validateOn === 'fieldChange') {\n this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {\n _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));\n });\n }\n if (this.options.liveValidate) {\n this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {\n _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));\n });\n }\n if (this.options.validateOnBlur) {\n this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) {\n _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));\n });\n }\n }\n\n /**\n * Calls necessary functions to update Abide upon DOM change\n * @private\n */\n }, {\n key: \"_reflow\",\n value: function _reflow() {\n this._init();\n }\n\n /**\n * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n * @returns {Boolean}\n * @private\n */\n }, {\n key: \"_validationIsDisabled\",\n value: function _validationIsDisabled() {\n if (this.isEnabled === false) {\n // whole validation disabled\n return true;\n } else if (typeof this.formnovalidate === 'boolean') {\n // triggered by $submit\n return this.formnovalidate;\n }\n // triggered by Enter in non-submit input\n return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n }\n\n /**\n * Enables the whole validation\n */\n }, {\n key: \"enableValidation\",\n value: function enableValidation() {\n this.isEnabled = true;\n }\n\n /**\n * Disables the whole validation\n */\n }, {\n key: \"disableValidation\",\n value: function disableValidation() {\n this.isEnabled = false;\n }\n\n /**\n * Checks whether or not a form element has the required attribute and if it's checked or not\n * @param {Object} element - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n }, {\n key: \"requiredCheck\",\n value: function requiredCheck($el) {\n if (!$el.attr('required')) return true;\n var isGood = true;\n switch ($el[0].type) {\n case 'checkbox':\n isGood = $el[0].checked;\n break;\n case 'select':\n case 'select-one':\n case 'select-multiple':\n var opt = $el.find('option:selected');\n if (!opt.length || !opt.val()) isGood = false;\n break;\n default:\n if (!$el.val() || !$el.val().length) isGood = false;\n }\n return isGood;\n }\n\n /**\n * Get:\n * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n * 1. The element's direct sibling('s).\n * 2. The element's parent's children.\n * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n *\n * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n *\n * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n }, {\n key: \"findFormError\",\n value: function findFormError($el, failedValidators) {\n var _this4 = this;\n var id = $el.length ? $el[0].id : '';\n var $error = $el.siblings(this.options.formErrorSelector);\n if (!$error.length) {\n $error = $el.parent().find(this.options.formErrorSelector);\n }\n if (id) {\n $error = $error.add(this.$element.find(\"[data-form-error-for=\\\"\".concat(id, \"\\\"]\")));\n }\n if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]');\n failedValidators.forEach(function (v) {\n $error = $error.add($el.siblings(\"[data-form-error-on=\\\"\".concat(v, \"\\\"]\")));\n $error = $error.add(_this4.$element.find(\"[data-form-error-for=\\\"\".concat(id, \"\\\"][data-form-error-on=\\\"\").concat(v, \"\\\"]\")));\n });\n }\n return $error;\n }\n\n /**\n * Get the first element in this order:\n * 2. The <label> with the attribute `[for=\"someInputId\"]`\n * 3. The `.closest()` <label>\n *\n * @param {Object} $el - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n }, {\n key: \"findLabel\",\n value: function findLabel($el) {\n var id = $el[0].id;\n var $label = this.$element.find(\"label[for=\\\"\".concat(id, \"\\\"]\"));\n if (!$label.length) {\n return $el.closest('label');\n }\n return $label;\n }\n\n /**\n * Get the set of labels associated with a set of radio els in this order\n * 2. The <label> with the attribute `[for=\"someInputId\"]`\n * 3. The `.closest()` <label>\n *\n * @param {Object} $el - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n }, {\n key: \"findRadioLabels\",\n value: function findRadioLabels($els) {\n var _this5 = this;\n var labels = $els.map(function (i, el) {\n var id = el.id;\n var $label = _this5.$element.find(\"label[for=\\\"\".concat(id, \"\\\"]\"));\n if (!$label.length) {\n $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).closest('label');\n }\n return $label[0];\n });\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(labels);\n }\n\n /**\n * Get the set of labels associated with a set of checkbox els in this order\n * 2. The <label> with the attribute `[for=\"someInputId\"]`\n * 3. The `.closest()` <label>\n *\n * @param {Object} $el - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n }, {\n key: \"findCheckboxLabels\",\n value: function findCheckboxLabels($els) {\n var _this6 = this;\n var labels = $els.map(function (i, el) {\n var id = el.id;\n var $label = _this6.$element.find(\"label[for=\\\"\".concat(id, \"\\\"]\"));\n if (!$label.length) {\n $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).closest('label');\n }\n return $label[0];\n });\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(labels);\n }\n\n /**\n * Adds the CSS error class as specified by the Abide settings to the label, input, and the form\n * @param {Object} $el - jQuery object to add the class to\n * @param {String[]} [failedValidators] - List of failed validators.\n */\n }, {\n key: \"addErrorClasses\",\n value: function addErrorClasses($el, failedValidators) {\n var $label = this.findLabel($el);\n var $formError = this.findFormError($el, failedValidators);\n if ($label.length) {\n $label.addClass(this.options.labelErrorClass);\n }\n if ($formError.length) {\n $formError.addClass(this.options.formErrorClass);\n }\n $el.addClass(this.options.inputErrorClass).attr({\n 'data-invalid': '',\n 'aria-invalid': true\n });\n if ($formError.filter(':visible').length) {\n this.addA11yErrorDescribe($el, $formError);\n }\n }\n\n /**\n * Adds [for] and [role=alert] attributes to all form error targetting $el,\n * and [aria-describedby] attribute to $el toward the first form error.\n * @param {Object} $el - jQuery object\n */\n }, {\n key: \"addA11yAttributes\",\n value: function addA11yAttributes($el) {\n var $errors = this.findFormError($el);\n var $labels = $errors.filter('label');\n if (!$errors.length) return;\n var $error = $errors.filter(':visible').first();\n if ($error.length) {\n this.addA11yErrorDescribe($el, $error);\n }\n if ($labels.filter('[for]').length < $labels.length) {\n // Get the input ID or create one\n var elemId = $el.attr('id');\n if (typeof elemId === 'undefined') {\n elemId = (0,_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, 'abide-input');\n $el.attr('id', elemId);\n }\n\n // For each label targeting $el, set [for] if it is not set.\n $labels.each(function (i, label) {\n var $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);\n if (typeof $label.attr('for') === 'undefined') $label.attr('for', elemId);\n });\n }\n\n // For each error targeting $el, set [role=alert] if it is not set.\n $errors.each(function (i, label) {\n var $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);\n if (typeof $label.attr('role') === 'undefined') $label.attr('role', 'alert');\n }).end();\n }\n }, {\n key: \"addA11yErrorDescribe\",\n value: function addA11yErrorDescribe($el, $error) {\n if ($el.attr('type') === 'hidden') return;\n if (typeof $el.attr('aria-describedby') !== 'undefined') return;\n\n // Set [aria-describedby] on the input toward the first form error if it is not set\n // Get the first error ID or create one\n var errorId = $error.attr('id');\n if (typeof errorId === 'undefined') {\n errorId = (0,_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, 'abide-error');\n $error.attr('id', errorId);\n }\n $el.attr('aria-describedby', errorId).data('abide-describedby', true);\n }\n\n /**\n * Adds [aria-live] attribute to the given global form error $el.\n * @param {Object} $el - jQuery object to add the attribute to\n */\n }, {\n key: \"addGlobalErrorA11yAttributes\",\n value: function addGlobalErrorA11yAttributes($el) {\n if (typeof $el.attr('aria-live') === 'undefined') $el.attr('aria-live', this.options.a11yErrorLevel);\n }\n\n /**\n * Remove CSS error classes etc from an entire radio button group\n * @param {String} groupName - A string that specifies the name of a radio button group\n *\n */\n }, {\n key: \"removeRadioErrorClasses\",\n value: function removeRadioErrorClasses(groupName) {\n var $els = this.$element.find(\":radio[name=\\\"\".concat(groupName, \"\\\"]\"));\n var $labels = this.findRadioLabels($els);\n var $formErrors = this.findFormError($els);\n if ($labels.length) {\n $labels.removeClass(this.options.labelErrorClass);\n }\n if ($formErrors.length) {\n $formErrors.removeClass(this.options.formErrorClass);\n }\n $els.removeClass(this.options.inputErrorClass).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n }\n\n /**\n * Remove CSS error classes etc from an entire checkbox group\n * @param {String} groupName - A string that specifies the name of a checkbox group\n *\n */\n }, {\n key: \"removeCheckboxErrorClasses\",\n value: function removeCheckboxErrorClasses(groupName) {\n var $els = this.$element.find(\":checkbox[name=\\\"\".concat(groupName, \"\\\"]\"));\n var $labels = this.findCheckboxLabels($els);\n var $formErrors = this.findFormError($els);\n if ($labels.length) {\n $labels.removeClass(this.options.labelErrorClass);\n }\n if ($formErrors.length) {\n $formErrors.removeClass(this.options.formErrorClass);\n }\n $els.removeClass(this.options.inputErrorClass).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n }\n\n /**\n * Removes CSS error class as specified by the Abide settings from the label, input, and the form\n * @param {Object} $el - jQuery object to remove the class from\n */\n }, {\n key: \"removeErrorClasses\",\n value: function removeErrorClasses($el) {\n // radios need to clear all of the els\n if ($el[0].type === 'radio') {\n return this.removeRadioErrorClasses($el.attr('name'));\n }\n // checkboxes need to clear all of the els\n else if ($el[0].type === 'checkbox') {\n return this.removeCheckboxErrorClasses($el.attr('name'));\n }\n var $label = this.findLabel($el);\n var $formError = this.findFormError($el);\n if ($label.length) {\n $label.removeClass(this.options.labelErrorClass);\n }\n if ($formError.length) {\n $formError.removeClass(this.options.formErrorClass);\n }\n $el.removeClass(this.options.inputErrorClass).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n if ($el.data('abide-describedby')) {\n $el.removeAttr('aria-describedby').removeData('abide-describedby');\n }\n }\n\n /**\n * Goes through a form to find inputs and proceeds to validate them in ways specific to their type.\n * Ignores inputs with data-abide-ignore, type=\"hidden\" or disabled attributes set\n * @fires Abide#invalid\n * @fires Abide#valid\n * @param {Object} element - jQuery object to validate, should be an HTML input\n * @returns {Boolean} goodToGo - If the input is valid or not.\n */\n }, {\n key: \"validateInput\",\n value: function validateInput($el) {\n var _this7 = this;\n var clearRequire = this.requiredCheck($el),\n validator = $el.attr('data-validator'),\n failedValidators = [],\n manageErrorClasses = true;\n\n // skip validation if disabled\n if (this._validationIsDisabled()) {\n return true;\n }\n\n // don't validate ignored inputs or hidden inputs or disabled inputs\n if ($el.is('[data-abide-ignore]') || $el.is('[type=\"hidden\"]') || $el.is('[disabled]')) {\n return true;\n }\n switch ($el[0].type) {\n case 'radio':\n this.validateRadio($el.attr('name')) || failedValidators.push('required');\n break;\n case 'checkbox':\n this.validateCheckbox($el.attr('name')) || failedValidators.push('required');\n // validateCheckbox() adds/removes error classes\n manageErrorClasses = false;\n break;\n case 'select':\n case 'select-one':\n case 'select-multiple':\n clearRequire || failedValidators.push('required');\n break;\n default:\n clearRequire || failedValidators.push('required');\n this.validateText($el) || failedValidators.push('pattern');\n }\n if (validator) {\n var required = $el.attr('required') ? true : false;\n validator.split(' ').forEach(function (v) {\n _this7.options.validators[v]($el, required, $el.parent()) || failedValidators.push(v);\n });\n }\n if ($el.attr('data-equalto')) {\n this.options.validators.equalTo($el) || failedValidators.push('equalTo');\n }\n var goodToGo = failedValidators.length === 0;\n var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';\n if (goodToGo) {\n // Re-validate inputs that depend on this one with equalto\n var dependentElements = this.$element.find(\"[data-equalto=\\\"\".concat($el.attr('id'), \"\\\"]\"));\n if (dependentElements.length) {\n var _this = this;\n dependentElements.each(function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).val()) {\n _this.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n }\n });\n }\n }\n if (manageErrorClasses) {\n this.removeErrorClasses($el);\n if (!goodToGo) {\n this.addErrorClasses($el, failedValidators);\n }\n }\n\n /**\n * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`\n * Trigger includes the DOM element of the input.\n * @event Abide#valid\n * @event Abide#invalid\n */\n $el.trigger(message, [$el]);\n return goodToGo;\n }\n\n /**\n * Goes through a form and if there are any invalid inputs, it will display the form error element\n * @returns {Boolean} noError - true if no errors were detected...\n * @fires Abide#formvalid\n * @fires Abide#forminvalid\n */\n }, {\n key: \"validateForm\",\n value: function validateForm() {\n var _this8 = this;\n var acc = [];\n var _this = this;\n var checkboxGroupName;\n\n // Remember first form submission to prevent specific checkbox validation (more than one required) until form got initially submitted\n if (!this.initialized) {\n this.initialized = true;\n }\n\n // skip validation if disabled\n if (this._validationIsDisabled()) {\n this.formnovalidate = null;\n return true;\n }\n this.$inputs.each(function () {\n // Only use one checkbox per group since validateCheckbox() iterates over all associated checkboxes\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].type === 'checkbox') {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('name') === checkboxGroupName) return true;\n checkboxGroupName = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('name');\n }\n acc.push(_this.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)));\n });\n var noError = acc.indexOf(false) === -1;\n this.$element.find('[data-abide-error]').each(function (i, elem) {\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem);\n // Ensure a11y attributes are set\n if (_this8.options.a11yAttributes) _this8.addGlobalErrorA11yAttributes($elem);\n // Show or hide the error\n $elem.css('display', noError ? 'none' : 'block');\n });\n\n /**\n * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.\n * Trigger includes the element of the form.\n * @event Abide#formvalid\n * @event Abide#forminvalid\n */\n this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);\n return noError;\n }\n\n /**\n * 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.\n * @param {Object} $el - jQuery object to validate, should be a text input HTML element\n * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns\n * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified\n */\n }, {\n key: \"validateText\",\n value: function validateText($el, pattern) {\n // A pattern can be passed to this function, or it will be infered from the input's \"pattern\" attribute, or it's \"type\" attribute\n pattern = pattern || $el.attr('data-pattern') || $el.attr('pattern') || $el.attr('type');\n var inputText = $el.val();\n var valid = true;\n if (inputText.length) {\n // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp\n if (this.options.patterns.hasOwnProperty(pattern)) {\n valid = this.options.patterns[pattern].test(inputText);\n }\n // If the pattern name isn't also the type attribute of the field, then test it as a regexp\n else if (pattern !== $el.attr('type')) {\n valid = new RegExp(pattern).test(inputText);\n }\n }\n return valid;\n }\n\n /**\n * 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.\n * @param {String} groupName - A string that specifies the name of a radio button group\n * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)\n */\n }, {\n key: \"validateRadio\",\n value: function validateRadio(groupName) {\n // If at least one radio in the group has the `required` attribute, the group is considered required\n // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice\n var $group = this.$element.find(\":radio[name=\\\"\".concat(groupName, \"\\\"]\"));\n var valid = false,\n required = false;\n\n // For the group to be required, at least one radio needs to be required\n $group.each(function (i, e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('required')) {\n required = true;\n }\n });\n if (!required) valid = true;\n if (!valid) {\n // For the group to be valid, at least one radio needs to be checked\n $group.each(function (i, e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).prop('checked')) {\n valid = true;\n }\n });\n }\n return valid;\n }\n\n /**\n * Determines whether or a not a checkbox input is valid based on whether or not it is required and checked. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all checkboxes in its group.\n * @param {String} groupName - A string that specifies the name of a checkbox group\n * @returns {Boolean} Boolean value depends on whether or not at least one checkbox input has been checked (if it's required)\n */\n }, {\n key: \"validateCheckbox\",\n value: function validateCheckbox(groupName) {\n var _this9 = this;\n // If at least one checkbox in the group has the `required` attribute, the group is considered required\n // Per W3C spec, all checkboxes in a group should have `required`, but we're being nice\n var $group = this.$element.find(\":checkbox[name=\\\"\".concat(groupName, \"\\\"]\"));\n var valid = false,\n required = false,\n minRequired = 1,\n checked = 0;\n\n // For the group to be required, at least one checkbox needs to be required\n $group.each(function (i, e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('required')) {\n required = true;\n }\n });\n if (!required) valid = true;\n if (!valid) {\n // Count checked checkboxes within the group\n // Use data-min-required if available (default: 1)\n $group.each(function (i, e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).prop('checked')) {\n checked++;\n }\n if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required') !== 'undefined') {\n minRequired = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required'), 10);\n }\n });\n\n // For the group to be valid, the minRequired amount of checkboxes have to be checked\n if (checked >= minRequired) {\n valid = true;\n }\n }\n\n // Skip validation if more than 1 checkbox have to be checked AND if the form hasn't got submitted yet (otherwise it will already show an error during the first fill in)\n if (this.initialized !== true && minRequired > 1) {\n return true;\n }\n\n // Refresh error class for all input\n $group.each(function (i, e) {\n if (!valid) {\n _this9.addErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e), ['required']);\n } else {\n _this9.removeErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e));\n }\n });\n return valid;\n }\n\n /**\n * 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.\n * @param {Object} $el - jQuery input element.\n * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.\n * @param {Boolean} required - self explanatory?\n * @returns {Boolean} - true if validations passed.\n */\n }, {\n key: \"matchValidation\",\n value: function matchValidation($el, validators, required) {\n var _this10 = this;\n required = required ? true : false;\n var clear = validators.split(' ').map(function (v) {\n return _this10.options.validators[v]($el, required, $el.parent());\n });\n return clear.indexOf(false) === -1;\n }\n\n /**\n * Resets form inputs and styles\n * @fires Abide#formreset\n */\n }, {\n key: \"resetForm\",\n value: function resetForm() {\n var $form = this.$element,\n opts = this.options;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\".\".concat(opts.labelErrorClass), $form).not('small').removeClass(opts.labelErrorClass);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\".\".concat(opts.inputErrorClass), $form).not('small').removeClass(opts.inputErrorClass);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\".concat(opts.formErrorSelector, \".\").concat(opts.formErrorClass)).removeClass(opts.formErrorClass);\n $form.find('[data-abide-error]').css('display', 'none');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).attr({\n 'data-invalid': null,\n 'aria-invalid': null\n });\n /**\n * Fires when the form has been reset.\n * @event Abide#formreset\n */\n $form.trigger('formreset.zf.abide', [$form]);\n }\n\n /**\n * Destroys an instance of Abide.\n * Removes error styles and classes from elements, without resetting their values.\n */\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n var _this = this;\n this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');\n this.$inputs.off('.abide').each(function () {\n _this.removeErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n });\n this.$submits.off('.abide');\n }\n }]);\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\n/**\n * Default settings for plugin\n */\nAbide.defaults = {\n /**\n * The default event to validate inputs. Checkboxes and radios validate immediately.\n * Remove or change this value for manual validation.\n * @option\n * @type {?string}\n * @default 'fieldChange'\n */\n validateOn: 'fieldChange',\n /**\n * Class to be applied to input labels on failed validation.\n * @option\n * @type {string}\n * @default 'is-invalid-label'\n */\n labelErrorClass: 'is-invalid-label',\n /**\n * Class to be applied to inputs on failed validation.\n * @option\n * @type {string}\n * @default 'is-invalid-input'\n */\n inputErrorClass: 'is-invalid-input',\n /**\n * Class selector to use to target Form Errors for show/hide.\n * @option\n * @type {string}\n * @default '.form-error'\n */\n formErrorSelector: '.form-error',\n /**\n * Class added to Form Errors on failed validation.\n * @option\n * @type {string}\n * @default 'is-visible'\n */\n formErrorClass: 'is-visible',\n /**\n * If true, automatically insert when possible:\n * - `[aria-describedby]` on fields\n * - `[role=alert]` on form errors and `[for]` on form error labels\n * - `[aria-live]` on global errors `[data-abide-error]` (see option `a11yErrorLevel`).\n * @option\n * @type {boolean}\n * @default true\n */\n a11yAttributes: true,\n /**\n * [aria-live] attribute value to be applied on global errors `[data-abide-error]`.\n * Options are: 'assertive', 'polite' and 'off'/null\n * @option\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions\n * @type {string}\n * @default 'assertive'\n */\n a11yErrorLevel: 'assertive',\n /**\n * Set to true to validate text inputs on any value change.\n * @option\n * @type {boolean}\n * @default false\n */\n liveValidate: false,\n /**\n * Set to true to validate inputs on blur.\n * @option\n * @type {boolean}\n * @default false\n */\n validateOnBlur: false,\n patterns: {\n alpha: /^[a-zA-Z]+$/,\n // eslint-disable-next-line camelcase\n alpha_numeric: /^[a-zA-Z0-9]+$/,\n integer: /^[-+]?\\d+$/,\n number: /^[-+]?\\d*(?:[\\.\\,]\\d+)?$/,\n // amex, visa, diners\n card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|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})$/,\n cvv: /^([0-9]){3,4}$/,\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address\n 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])?)+$/,\n // From CommonRegexJS (@talyssonoc)\n // https://github.com/talyssonoc/CommonRegexJS/blob/e2901b9f57222bc14069dc8f0598d5f412555411/lib/commonregex.js#L76\n // For more restrictive URL Regexs, see https://mathiasbynens.be/demo/url-regex.\n url: /^((?:(https?|ftps?|file|ssh|sftp):\\/\\/|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]+|\\((?:[^\\s()<>]+|(?:\\([^\\s()<>]+\\)))*\\))+(?:\\((?:[^\\s()<>]+|(?:\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\\'\".,<>?\\xab\\xbb\\u201c\\u201d\\u2018\\u2019]))$/,\n // abc.de\n domain: /^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,8}$/,\n 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))$/,\n // YYYY-MM-DD\n 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))$/,\n // HH:MM:SS\n time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,\n dateISO: /^\\d{4}[\\/\\-]\\d{1,2}[\\/\\-]\\d{1,2}$/,\n // MM/DD/YYYY\n // eslint-disable-next-line camelcase\n month_day_year: /^(0[1-9]|1[012])[- \\/.](0[1-9]|[12][0-9]|3[01])[- \\/.]\\d{4}$/,\n // DD/MM/YYYY\n // eslint-disable-next-line camelcase\n day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \\/.](0[1-9]|1[012])[- \\/.]\\d{4}$/,\n // #FFF or #FFFFFF\n color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,\n // Domain || URL\n website: {\n test: function test(text) {\n return Abide.defaults.patterns.domain.test(text) || Abide.defaults.patterns.url.test(text);\n }\n }\n },\n /**\n * Optional validation functions to be used. `equalTo` being the only default included function.\n * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:\n * el : The jQuery element to validate.\n * @option\n */\n validators: {\n equalTo: function equalTo(el) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(el.attr('data-equalto'))).val() === el.val();\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\n/*!************************************************!*\\\n !*** ./js/entries/plugins/foundation.abide.js ***!\n \\************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Abide: function() { return /* reexport safe */ _foundation_abide__WEBPACK_IMPORTED_MODULE_1__.Abide; },\n/* harmony export */ Foundation: function() { return /* reexport safe */ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation; }\n/* harmony export */ });\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_abide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.abide */ \"./js/foundation.abide.js\");\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation.plugin(_foundation_abide__WEBPACK_IMPORTED_MODULE_1__.Abide, 'Abide');\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=foundation.abide.js.map"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_modules__","./js/foundation.abide.js","__unused_webpack_module","__webpack_exports__","__webpack_require__","r","d","Abide","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_typeof","o","Symbol","iterator","constructor","prototype","_defineProperties","e","t","length","enumerable","configurable","writable","Object","defineProperty","i","toPrimitive","String","Number","call","TypeError","key","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","_Plugin","_classCallCheck","a","this","arguments","_inherits","create","value","element","options","undefined","$element","extend","defaults","data","isEnabled","formnovalidate","className","_init","_this2","$globalErrors","$inputs","merge","find","not","$submits","a11yAttributes","each","input","addA11yAttributes","error","addGlobalErrorA11yAttributes","_events","_this3","off","on","resetForm","validateForm","preventDefault","target","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","$el","attr","isGood","type","checked","opt","val","failedValidators","_this4","id","$error","siblings","formErrorSelector","parent","add","concat","forEach","v","$label","closest","$els","_this5","labels","map","el","_this6","findLabel","$formError","findFormError","addClass","labelErrorClass","formErrorClass","inputErrorClass","data-invalid","aria-invalid","filter","addA11yErrorDescribe","elemId","$errors","$labels","first","GetYoDigits","label","end","errorId","a11yErrorLevel","groupName","findRadioLabels","$formErrors","removeClass","findCheckboxLabels","removeRadioErrorClasses","removeCheckboxErrorClasses","removeAttr","removeData","required","_this7","clearRequire","requiredCheck","validator","manageErrorClasses","_validationIsDisabled","is","validateRadio","push","validateCheckbox","validateText","split","validators","equalTo","dependentElements","_this","goodToGo","message","removeErrorClasses","addErrorClasses","trigger","checkboxGroupName","_this8","acc","initialized","noError","indexOf","elem","$elem","css","pattern","inputText","valid","patterns","hasOwnProperty","test","RegExp","$group","prop","_this9","minRequired","parseInt","_this10","$form","opts","Plugin","alpha","alpha_numeric","integer","number","card","cvv","email","url","domain","datetime","date","time","dateISO","month_day_year","day_month_year","color","website","text","./foundation.core","jquery","__webpack_module_cache__","getter","__esModule","definition","get","obj","toStringTag","_foundation_abide__WEBPACK_IMPORTED_MODULE_1__","Foundation","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","plugin","moduleId","cachedModule"],"mappings":"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"}