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","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Abide","element","options","$element","$","extend","defaults","data","isEnabled","formnovalidate","className","_init","$inputs","merge","find","not","$submits","$globalErrors","a11yAttributes","each","i","input","addA11yAttributes","error","addGlobalErrorA11yAttributes","_events","off","on","resetForm","validateForm","e","key","preventDefault","target","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","length","$el","attr","isGood","type","checked","opt","val","failedValidators","id","$error","siblings","formErrorSelector","parent","add","forEach","v","$label","closest","$els","labels","map","el","findLabel","$formError","findFormError","addClass","labelErrorClass","formErrorClass","inputErrorClass","$errors","$labels","filter","first","errorId","GetYoDigits","elemId","label","end","a11yErrorLevel","groupName","findRadioLabels","$formErrors","removeClass","findCheckboxLabels","removeRadioErrorClasses","removeCheckboxErrorClasses","clearRequire","requiredCheck","validator","manageErrorClasses","_validationIsDisabled","is","validateRadio","push","validateCheckbox","validateText","required","split","validators","equalTo","goodToGo","message","dependentElements","_this","removeErrorClasses","addErrorClasses","trigger","acc","checkboxGroupName","initialized","noError","indexOf","elem","$elem","css","pattern","inputText","valid","patterns","hasOwnProperty","test","RegExp","$group","prop","minRequired","parseInt","clear","$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"],"mappings":"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","file":"foundation.abide.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 }\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 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 * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n findFormError($el, failedValidators) {\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 if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]')\n\n failedValidators.forEach((v) => {\n $error = $error.add($el.siblings(`[data-form-error-on=\"${v}\"]`));\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"][data-form-error-on=\"${v}\"]`));\n });\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 * @param {String[]} [failedValidators] - List of failed validators.\n */\n addErrorClasses($el, failedValidators) {\n var $label = this.findLabel($el);\n var $formError = this.findFormError($el, failedValidators);\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 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\n switch ($el[0].type) {\n case 'radio':\n this.validateRadio($el.attr('name')) || failedValidators.push('required');\n break;\n\n case 'checkbox':\n this.validateCheckbox($el.attr('name')) || failedValidators.push('required');\n // validateCheckbox() adds/removes error classes\n manageErrorClasses = false;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n clearRequire || failedValidators.push('required');\n break;\n\n default:\n clearRequire || failedValidators.push('required');\n this.validateText($el) || failedValidators.push('pattern');\n }\n\n if (validator) {\n const required = $el.attr('required') ? true : false;\n\n validator.split(' ').forEach((v) => {\n this.options.validators[v]($el, required, $el.parent()) || failedValidators.push(v);\n });\n }\n\n if ($el.attr('data-equalto')) {\n this.options.validators.equalTo($el) || failedValidators.push('equalTo');\n }\n\n var goodToGo = failedValidators.length === 0;\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 if (manageErrorClasses) {\n this.removeErrorClasses($el);\n\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\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 = true;\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 }\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), ['required']);\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","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
1
+ {"version":3,"file":"foundation.abide.js","mappings":"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","sources":["webpack://__FOUNDATION_EXTERNAL__/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__/./js/foundation.abide.js","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}","webpack://__FOUNDATION_EXTERNAL__/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/compat get default export","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/define property getters","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/hasOwnProperty shorthand","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/make namespace object","webpack://__FOUNDATION_EXTERNAL__/./js/entries/plugins/foundation.abide.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 ","import $ 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 }\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 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 * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n findFormError($el, failedValidators) {\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 if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]')\n\n failedValidators.forEach((v) => {\n $error = $error.add($el.siblings(`[data-form-error-on=\"${v}\"]`));\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"][data-form-error-on=\"${v}\"]`));\n });\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 * @param {String[]} [failedValidators] - List of failed validators.\n */\n addErrorClasses($el, failedValidators) {\n var $label = this.findLabel($el);\n var $formError = this.findFormError($el, failedValidators);\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 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 addA11yAttributes($el) {\n let $errors = this.findFormError($el);\n let $labels = $errors.filter('label');\n if (!$errors.length) return;\n\n let $error = $errors.filter(':visible').first();\n if ($error.length) {\n this.addA11yErrorDescribe($el, $error);\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 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 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).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 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 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 validateInput($el) {\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\n switch ($el[0].type) {\n case 'radio':\n this.validateRadio($el.attr('name')) || failedValidators.push('required');\n break;\n\n case 'checkbox':\n this.validateCheckbox($el.attr('name')) || failedValidators.push('required');\n // validateCheckbox() adds/removes error classes\n manageErrorClasses = false;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n clearRequire || failedValidators.push('required');\n break;\n\n default:\n clearRequire || failedValidators.push('required');\n this.validateText($el) || failedValidators.push('pattern');\n }\n\n if (validator) {\n const required = $el.attr('required') ? true : false;\n\n validator.split(' ').forEach((v) => {\n this.options.validators[v]($el, required, $el.parent()) || failedValidators.push(v);\n });\n }\n\n if ($el.attr('data-equalto')) {\n this.options.validators.equalTo($el) || failedValidators.push('equalTo');\n }\n\n var goodToGo = failedValidators.length === 0;\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 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\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 = true;\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 }\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'), 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((i, e) => {\n if (!valid) {\n this.addErrorClasses($(e), ['required']);\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 // eslint-disable-next-line camelcase\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 // 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\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 * @option\n */\n validators: {\n equalTo: function (el) {\n return $(`#${el.attr('data-equalto')}`).val() === el.val();\n }\n }\n}\n\nexport { Abide };\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Foundation } from './foundation.core';\n\nimport { Abide } from '../../foundation.abide';\nFoundation.plugin(Abide, 'Abide');\n\nexport { Foundation, Abide };\n"],"names":["$","Plugin","GetYoDigits","Abide","_Plugin","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","_setup","element","options","length","undefined","$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","preventDefault","target","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","_reflow","_validationIsDisabled","enableValidation","disableValidation","requiredCheck","$el","attr","isGood","type","checked","opt","val","findFormError","failedValidators","_this4","id","$error","siblings","formErrorSelector","parent","add","concat","forEach","v","findLabel","$label","closest","findRadioLabels","$els","_this5","labels","map","el","findCheckboxLabels","_this6","addErrorClasses","$formError","addClass","labelErrorClass","formErrorClass","inputErrorClass","filter","addA11yErrorDescribe","$errors","$labels","first","elemId","label","end","errorId","a11yErrorLevel","removeRadioErrorClasses","groupName","$formErrors","removeClass","removeCheckboxErrorClasses","removeErrorClasses","removeAttr","removeData","_this7","clearRequire","validator","manageErrorClasses","is","validateRadio","push","validateCheckbox","validateText","required","split","validators","equalTo","goodToGo","message","dependentElements","_this","trigger","_this8","acc","checkboxGroupName","initialized","noError","indexOf","elem","$elem","css","pattern","inputText","valid","patterns","hasOwnProperty","test","RegExp","$group","prop","_this9","minRequired","parseInt","matchValidation","_this10","clear","$form","opts","_destroy","alpha","alpha_numeric","integer","number","card","cvv","email","url","domain","datetime","date","time","dateISO","month_day_year","day_month_year","color","website","text","Foundation","plugin"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.abide"]=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.abide"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))}(window,function(r,i){return o={},a.m=n={"./foundation.core":function(t,e){t.exports=r},"./js/entries/plugins/foundation.abide.js":function(t,e,r){"use strict";r.r(e);var i=r("./foundation.core");r.d(e,"Foundation",function(){return i.Foundation});var a=r("./js/foundation.abide.js");r.d(e,"Abide",function(){return a.Abide}),i.Foundation.plugin(a.Abide,"Abide")},"./js/foundation.abide.js":function(t,e,r){"use strict";r.r(e),r.d(e,"Abide",function(){return d});var i=r("jquery"),f=r.n(i),o=r("./foundation.core");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var d=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),s(this,l(i).apply(this,arguments))}return function(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}}),e&&u(t,e)}(i,o["Plugin"]),function(t,e,r){e&&n(t.prototype,e),r&&n(t,r)}(i,[{key:"_setup",value:function(t,e){var r=1<arguments.length&&void 0!==e?e:{};this.$element=t,this.options=f.a.extend(!0,{},i.defaults,this.$element.data(),r),this.isEnabled=!0,this.formnovalidate=null,this.className="Abide",this._init()}},{key:"_init",value:function(){var r=this;this.$inputs=f.a.merge(this.$element.find("input").not('[type="submit"]'),this.$element.find("textarea, select")),this.$submits=this.$element.find('[type="submit"]');var t=this.$element.find("[data-abide-error]");this.options.a11yAttributes&&(this.$inputs.each(function(t,e){return r.addA11yAttributes(f()(e))}),t.each(function(t,e){return r.addGlobalErrorA11yAttributes(f()(e))})),this._events()}},{key:"_events",value:function(){var e=this;this.$element.off(".abide").on("reset.zf.abide",function(){e.resetForm()}).on("submit.zf.abide",function(){return e.validateForm()}),this.$submits.off("click.zf.abide keydown.zf.abide").on("click.zf.abide keydown.zf.abide",function(t){t.key&&" "!==t.key&&"Enter"!==t.key||(t.preventDefault(),e.formnovalidate=null!==t.target.getAttribute("formnovalidate"),e.$element.submit())}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(t){e.validateInput(f()(t.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(t){e.validateInput(f()(t.target))}),this.options.validateOnBlur&&this.$inputs.off("blur.zf.abide").on("blur.zf.abide",function(t){e.validateInput(f()(t.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"_validationIsDisabled",value:function(){return!1===this.isEnabled||("boolean"==typeof this.formnovalidate?this.formnovalidate:!!this.$submits.length&&null!==this.$submits[0].getAttribute("formnovalidate"))}},{key:"enableValidation",value:function(){this.isEnabled=!0}},{key:"disableValidation",value:function(){this.isEnabled=!1}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var r=t.find("option:selected");r.length&&r.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(e,t){var r=this,i=e.length?e[0].id:"",a=e.siblings(this.options.formErrorSelector);return a.length||(a=e.parent().find(this.options.formErrorSelector)),i&&(a=a.add(this.$element.find('[data-form-error-for="'.concat(i,'"]')))),t&&(a=a.not("[data-form-error-on]"),t.forEach(function(t){a=(a=a.add(e.siblings('[data-form-error-on="'.concat(t,'"]')))).add(r.$element.find('[data-form-error-for="'.concat(i,'"][data-form-error-on="').concat(t,'"]')))})),a}},{key:"findLabel",value:function(t){var e=t[0].id,r=this.$element.find('label[for="'.concat(e,'"]'));return r.length?r:t.closest("label")}},{key:"findRadioLabels",value:function(t){var a=this,e=t.map(function(t,e){var r=e.id,i=a.$element.find('label[for="'.concat(r,'"]'));return i.length||(i=f()(e).closest("label")),i[0]});return f()(e)}},{key:"findCheckboxLabels",value:function(t){var a=this,e=t.map(function(t,e){var r=e.id,i=a.$element.find('label[for="'.concat(r,'"]'));return i.length||(i=f()(e).closest("label")),i[0]});return f()(e)}},{key:"addErrorClasses",value:function(t,e){var r=this.findLabel(t),i=this.findFormError(t,e);r.length&&r.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr({"data-invalid":"","aria-invalid":!0})}},{key:"addA11yAttributes",value:function(t){var e=this.findFormError(t),r=e.filter("label"),i=e.first();if(e.length){if(void 0===t.attr("aria-describedby")){var a=i.attr("id");void 0===a&&(a=Object(o.GetYoDigits)(6,"abide-error"),i.attr("id",a)),t.attr("aria-describedby",a)}if(r.filter("[for]").length<r.length){var n=t.attr("id");void 0===n&&(n=Object(o.GetYoDigits)(6,"abide-input"),t.attr("id",n)),r.each(function(t,e){var r=f()(e);void 0===r.attr("for")&&r.attr("for",n)})}e.each(function(t,e){var r=f()(e);void 0===r.attr("role")&&r.attr("role","alert")}).end()}}},{key:"addGlobalErrorA11yAttributes",value:function(t){void 0===t.attr("aria-live")&&t.attr("aria-live",this.options.a11yErrorLevel)}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'.concat(t,'"]')),r=this.findRadioLabels(e),i=this.findFormError(e);r.length&&r.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).attr({"data-invalid":null,"aria-invalid":null})}},{key:"removeCheckboxErrorClasses",value:function(t){var e=this.$element.find(':checkbox[name="'.concat(t,'"]')),r=this.findCheckboxLabels(e),i=this.findFormError(e);r.length&&r.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).attr({"data-invalid":null,"aria-invalid":null})}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));if("checkbox"==t[0].type)return this.removeCheckboxErrorClasses(t.attr("name"));var e=this.findLabel(t),r=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),r.length&&r.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).attr({"data-invalid":null,"aria-invalid":null})}},{key:"validateInput",value:function(e){var r=this,t=this.requiredCheck(e),i=e.attr("data-validator"),a=[],n=!0;if(this._validationIsDisabled())return!0;if(e.is("[data-abide-ignore]")||e.is('[type="hidden"]')||e.is("[disabled]"))return!0;switch(e[0].type){case"radio":this.validateRadio(e.attr("name"))||a.push("required");break;case"checkbox":this.validateCheckbox(e.attr("name"))||a.push("required"),n=!1;break;case"select":case"select-one":case"select-multiple":t||a.push("required");break;default:t||a.push("required"),this.validateText(e)||a.push("pattern")}if(i){var o=!!e.attr("required");i.split(" ").forEach(function(t){r.options.validators[t](e,o,e.parent())||a.push(t)})}e.attr("data-equalto")&&(this.options.validators.equalTo(e)||a.push("equalTo"));var s=0===a.length,l=(s?"valid":"invalid")+".zf.abide";if(s){var u=this.$element.find('[data-equalto="'.concat(e.attr("id"),'"]'));if(u.length){var d=this;u.each(function(){f()(this).val()&&d.validateInput(f()(this))})}}return n&&(this.removeErrorClasses(e),s||this.addErrorClasses(e,a)),e.trigger(l,[e]),s}},{key:"validateForm",value:function(){var t,i=this,e=[],r=this;if(this.initialized||(this.initialized=!0),this._validationIsDisabled())return!(this.formnovalidate=null);this.$inputs.each(function(){if("checkbox"===f()(this)[0].type){if(f()(this).attr("name")===t)return!0;t=f()(this).attr("name")}e.push(r.validateInput(f()(this)))});var a=-1===e.indexOf(!1);return this.$element.find("[data-abide-error]").each(function(t,e){var r=f()(e);i.options.a11yAttributes&&i.addGlobalErrorA11yAttributes(r),r.css("display",a?"none":"block")}),this.$element.trigger((a?"formvalid":"forminvalid")+".zf.abide",[this.$element]),a}},{key:"validateText",value:function(t,e){e=e||t.attr("data-pattern")||t.attr("pattern")||t.attr("type");var r=t.val(),i=!0;return r.length&&(this.options.patterns.hasOwnProperty(e)?i=this.options.patterns[e].test(r):e!==t.attr("type")&&(i=new RegExp(e).test(r))),i}},{key:"validateRadio",value:function(t){var e=this.$element.find(':radio[name="'.concat(t,'"]')),r=!1,i=!1;return e.each(function(t,e){f()(e).attr("required")&&(i=!0)}),i||(r=!0),r||e.each(function(t,e){f()(e).prop("checked")&&(r=!0)}),r}},{key:"validateCheckbox",value:function(t){var r=this,e=this.$element.find(':checkbox[name="'.concat(t,'"]')),i=!1,a=!1,n=1,o=0;return e.each(function(t,e){f()(e).attr("required")&&(a=!0)}),a||(i=!0),i||(e.each(function(t,e){f()(e).prop("checked")&&o++,void 0!==f()(e).attr("data-min-required")&&(n=parseInt(f()(e).attr("data-min-required")))}),n<=o&&(i=!0)),!0!==this.initialized&&1<n||(e.each(function(t,e){i?r.removeErrorClasses(f()(e)):r.addErrorClasses(f()(e),["required"])}),i)}},{key:"matchValidation",value:function(e,t,r){var i=this;return r=!!r,-1===t.split(" ").map(function(t){return i.options.validators[t](e,r,e.parent())}).indexOf(!1)}},{key:"resetForm",value:function(){var t=this.$element,e=this.options;f()(".".concat(e.labelErrorClass),t).not("small").removeClass(e.labelErrorClass),f()(".".concat(e.inputErrorClass),t).not("small").removeClass(e.inputErrorClass),f()("".concat(e.formErrorSelector,".").concat(e.formErrorClass)).removeClass(e.formErrorClass),t.find("[data-abide-error]").css("display","none"),f()(":input",t).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").attr({"data-invalid":null,"aria-invalid":null}),f()(":input:radio",t).not("[data-abide-ignore]").prop("checked",!1).attr({"data-invalid":null,"aria-invalid":null}),f()(":input:checkbox",t).not("[data-abide-ignore]").prop("checked",!1).attr({"data-invalid":null,"aria-invalid":null}),t.trigger("formreset.zf.abide",[t])}},{key:"_destroy",value:function(){var t=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){t.removeErrorClasses(f()(this))}),this.$submits.off(".abide")}}]),i}();d.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",a11yAttributes:!0,a11yErrorLevel:"assertive",liveValidate:!1,validateOnBlur:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,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})$/,cvv:/^([0-9]){3,4}$/,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])?)+$/,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]))$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,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))$/,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))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,website:{test:function(t){return d.defaults.patterns.domain.test(t)||d.defaults.patterns.url.test(t)}}},validators:{equalTo:function(t,e,r){return f()("#".concat(t.attr("data-equalto"))).val()===t.val()}}}},0:function(t,e,r){t.exports=r("./js/entries/plugins/foundation.abide.js")},jquery:function(t,e){t.exports=i}},a.c=o,a.d=function(t,e,r){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(r,i,function(t){return e[t]}.bind(null,i));return r},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=0);function a(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var n,o});
1
+ ((t,e)=>{"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports.__FOUNDATION_EXTERNAL__=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.abide"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))})(self,function(e,r){return a={"./js/foundation.abide.js":function(t,e,r){r.r(e),r.d(e,{Abide:function(){return i}});var e=r("jquery"),u=r.n(e),n=r("./foundation.core");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(t=>(t=((t,e)=>{if("object"!=a(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0===r)return("string"===e?String:Number)(t);if("object"!=a(r=r.call(t,e||"default")))return r;throw new TypeError("@@toPrimitive must return a primitive value.")})(t,"string"),"symbol"==a(t)?t:t+""))(i.key),i)}}function s(t,e,r){e=d(e);var i=t,e=l()?Reflect.construct(e,r||[],d(t).constructor):e.apply(t,r);if(!e||"object"!=a(e)&&"function"!=typeof e){if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");if(void 0===(e=i))throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function l(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(l=function(){return!!t})()}function d(t){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var i=(t=>{function r(){var t=this,e=r;if(t instanceof e)return s(this,r,arguments);throw new TypeError("Cannot call a class as a function")}var e,i=r;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");return i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),t&&c(i,t),i=r,(t=[{key:"_setup",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};this.$element=t,this.options=u().extend(!0,{},r.defaults,this.$element.data(),e),this.isEnabled=!0,this.formnovalidate=null,this.className="Abide",this._init()}},{key:"_init",value:function(){var r=this,t=(this.$inputs=u().merge(this.$element.find("input").not('[type="submit"]'),this.$element.find("textarea, select")),this.$submits=this.$element.find('[type="submit"]'),this.$element.find("[data-abide-error]"));this.options.a11yAttributes&&(this.$inputs.each(function(t,e){return r.addA11yAttributes(u()(e))}),t.each(function(t,e){return r.addGlobalErrorA11yAttributes(u()(e))})),this._events()}},{key:"_events",value:function(){var e=this;this.$element.off(".abide").on("reset.zf.abide",function(){e.resetForm()}).on("submit.zf.abide",function(){return e.validateForm()}),this.$submits.off("click.zf.abide keydown.zf.abide").on("click.zf.abide keydown.zf.abide",function(t){t.key&&" "!==t.key&&"Enter"!==t.key||(t.preventDefault(),e.formnovalidate=null!==t.target.getAttribute("formnovalidate"),e.$element.submit())}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(t){e.validateInput(u()(t.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(t){e.validateInput(u()(t.target))}),this.options.validateOnBlur&&this.$inputs.off("blur.zf.abide").on("blur.zf.abide",function(t){e.validateInput(u()(t.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"_validationIsDisabled",value:function(){return!1===this.isEnabled||("boolean"==typeof this.formnovalidate?this.formnovalidate:!!this.$submits.length&&null!==this.$submits[0].getAttribute("formnovalidate"))}},{key:"enableValidation",value:function(){this.isEnabled=!0}},{key:"disableValidation",value:function(){this.isEnabled=!1}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var r=t.find("option:selected");r.length&&r.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(e,t){var r=this,i=e.length?e[0].id:"",a=e.siblings(this.options.formErrorSelector);return a.length||(a=e.parent().find(this.options.formErrorSelector)),i&&(a=a.add(this.$element.find('[data-form-error-for="'.concat(i,'"]')))),t&&(a=a.not("[data-form-error-on]"),t.forEach(function(t){a=(a=a.add(e.siblings('[data-form-error-on="'.concat(t,'"]')))).add(r.$element.find('[data-form-error-for="'.concat(i,'"][data-form-error-on="').concat(t,'"]')))})),a}},{key:"findLabel",value:function(t){var e=t[0].id,e=this.$element.find('label[for="'.concat(e,'"]'));return e.length?e:t.closest("label")}},{key:"findRadioLabels",value:function(t){var i=this,t=t.map(function(t,e){var r=e.id,r=i.$element.find('label[for="'.concat(r,'"]'));return(r=r.length?r:u()(e).closest("label"))[0]});return u()(t)}},{key:"findCheckboxLabels",value:function(t){var i=this,t=t.map(function(t,e){var r=e.id,r=i.$element.find('label[for="'.concat(r,'"]'));return(r=r.length?r:u()(e).closest("label"))[0]});return u()(t)}},{key:"addErrorClasses",value:function(t,e){var r=this.findLabel(t),e=this.findFormError(t,e);r.length&&r.addClass(this.options.labelErrorClass),e.length&&e.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr({"data-invalid":"","aria-invalid":!0}),e.filter(":visible").length&&this.addA11yErrorDescribe(t,e)}},{key:"addA11yAttributes",value:function(t){var e,r,i=this.findFormError(t),a=i.filter("label");i.length&&((e=i.filter(":visible").first()).length&&this.addA11yErrorDescribe(t,e),a.filter("[for]").length<a.length&&(void 0===(r=t.attr("id"))&&(r=(0,n.GetYoDigits)(6,"abide-input"),t.attr("id",r)),a.each(function(t,e){e=u()(e);void 0===e.attr("for")&&e.attr("for",r)})),i.each(function(t,e){e=u()(e);void 0===e.attr("role")&&e.attr("role","alert")}).end())}},{key:"addA11yErrorDescribe",value:function(t,e){var r;"hidden"!==t.attr("type")&&void 0===t.attr("aria-describedby")&&(void 0===(r=e.attr("id"))&&(r=(0,n.GetYoDigits)(6,"abide-error"),e.attr("id",r)),t.attr("aria-describedby",r).data("abide-describedby",!0))}},{key:"addGlobalErrorA11yAttributes",value:function(t){void 0===t.attr("aria-live")&&t.attr("aria-live",this.options.a11yErrorLevel)}},{key:"removeRadioErrorClasses",value:function(t){var t=this.$element.find(':radio[name="'.concat(t,'"]')),e=this.findRadioLabels(t),r=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),r.length&&r.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).attr({"data-invalid":null,"aria-invalid":null})}},{key:"removeCheckboxErrorClasses",value:function(t){var t=this.$element.find(':checkbox[name="'.concat(t,'"]')),e=this.findCheckboxLabels(t),r=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),r.length&&r.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).attr({"data-invalid":null,"aria-invalid":null})}},{key:"removeErrorClasses",value:function(t){var e,r;return"radio"===t[0].type?this.removeRadioErrorClasses(t.attr("name")):"checkbox"===t[0].type?this.removeCheckboxErrorClasses(t.attr("name")):(e=this.findLabel(t),r=this.findFormError(t),e.length&&e.removeClass(this.options.labelErrorClass),r.length&&r.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).attr({"data-invalid":null,"aria-invalid":null}),void(t.data("abide-describedby")&&t.removeAttr("aria-describedby").removeData("abide-describedby")))}},{key:"validateInput",value:function(e){var r,i=this,t=this.requiredCheck(e),a=e.attr("data-validator"),n=[],o=!0;if(this._validationIsDisabled())return!0;if(e.is("[data-abide-ignore]")||e.is('[type="hidden"]')||e.is("[disabled]"))return!0;switch(e[0].type){case"radio":this.validateRadio(e.attr("name"))||n.push("required");break;case"checkbox":this.validateCheckbox(e.attr("name"))||n.push("required"),o=!1;break;case"select":case"select-one":case"select-multiple":t||n.push("required");break;default:t||n.push("required"),this.validateText(e)||n.push("pattern")}a&&(r=!!e.attr("required"),a.split(" ").forEach(function(t){i.options.validators[t](e,r,e.parent())||n.push(t)})),e.attr("data-equalto")&&!this.options.validators.equalTo(e)&&n.push("equalTo");var s,l,a=0===n.length,d=(a?"valid":"invalid")+".zf.abide";return a&&(s=this.$element.find('[data-equalto="'.concat(e.attr("id"),'"]'))).length&&(l=this,s.each(function(){u()(this).val()&&l.validateInput(u()(this))})),o&&(this.removeErrorClasses(e),a||this.addErrorClasses(e,n)),e.trigger(d,[e]),a}},{key:"validateForm",value:function(){var t,r=this,e=[],i=this;if(this.initialized||(this.initialized=!0),this._validationIsDisabled())return!(this.formnovalidate=null);this.$inputs.each(function(){if("checkbox"===u()(this)[0].type){if(u()(this).attr("name")===t)return!0;t=u()(this).attr("name")}e.push(i.validateInput(u()(this)))});var a=-1===e.indexOf(!1);return this.$element.find("[data-abide-error]").each(function(t,e){e=u()(e);r.options.a11yAttributes&&r.addGlobalErrorA11yAttributes(e),e.css("display",a?"none":"block")}),this.$element.trigger((a?"formvalid":"forminvalid")+".zf.abide",[this.$element]),a}},{key:"validateText",value:function(t,e){e=e||t.attr("data-pattern")||t.attr("pattern")||t.attr("type");var r=t.val(),i=!0;return r.length&&(this.options.patterns.hasOwnProperty(e)?i=this.options.patterns[e].test(r):e!==t.attr("type")&&(i=new RegExp(e).test(r))),i}},{key:"validateRadio",value:function(t){var t=this.$element.find(':radio[name="'.concat(t,'"]')),r=!1,i=!1;return t.each(function(t,e){u()(e).attr("required")&&(i=!0)}),(r=i?r:!0)||t.each(function(t,e){u()(e).prop("checked")&&(r=!0)}),r}},{key:"validateCheckbox",value:function(t){var r=this,t=this.$element.find(':checkbox[name="'.concat(t,'"]')),i=!1,a=!1,n=1,o=0;return t.each(function(t,e){u()(e).attr("required")&&(a=!0)}),(i=a?i:!0)||(t.each(function(t,e){u()(e).prop("checked")&&o++,void 0!==u()(e).attr("data-min-required")&&(n=parseInt(u()(e).attr("data-min-required"),10))}),n<=o&&(i=!0)),!0!==this.initialized&&1<n||(t.each(function(t,e){i?r.removeErrorClasses(u()(e)):r.addErrorClasses(u()(e),["required"])}),i)}},{key:"matchValidation",value:function(e,t,r){var i=this;return r=!!r,-1===t.split(" ").map(function(t){return i.options.validators[t](e,r,e.parent())}).indexOf(!1)}},{key:"resetForm",value:function(){var t=this.$element,e=this.options;u()(".".concat(e.labelErrorClass),t).not("small").removeClass(e.labelErrorClass),u()(".".concat(e.inputErrorClass),t).not("small").removeClass(e.inputErrorClass),u()("".concat(e.formErrorSelector,".").concat(e.formErrorClass)).removeClass(e.formErrorClass),t.find("[data-abide-error]").css("display","none"),u()(":input",t).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").attr({"data-invalid":null,"aria-invalid":null}),u()(":input:radio",t).not("[data-abide-ignore]").prop("checked",!1).attr({"data-invalid":null,"aria-invalid":null}),u()(":input:checkbox",t).not("[data-abide-ignore]").prop("checked",!1).attr({"data-invalid":null,"aria-invalid":null}),t.trigger("formreset.zf.abide",[t])}},{key:"_destroy",value:function(){var t=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){t.removeErrorClasses(u()(this))}),this.$submits.off(".abide")}}])&&o(i.prototype,t),e&&o(i,e),Object.defineProperty(i,"prototype",{writable:!1}),i})(n.Plugin);i.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",a11yAttributes:!0,a11yErrorLevel:"assertive",liveValidate:!1,validateOnBlur:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,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})$/,cvv:/^([0-9]){3,4}$/,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])?)+$/,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]))$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,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))$/,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))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,website:{test:function(t){return i.defaults.patterns.domain.test(t)||i.defaults.patterns.url.test(t)}}},validators:{equalTo:function(t){return u()("#".concat(t.attr("data-equalto"))).val()===t.val()}}}},"./foundation.core":function(t){t.exports=e},jquery:function(t){t.exports=r}},n={},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s={},(i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})})(s),i.d(s,{Abide:function(){return o.Abide},Foundation:function(){return t.Foundation}}),t=i("./foundation.core"),o=i("./js/foundation.abide.js"),t.Foundation.plugin(o.Abide,"Abide"),s;function i(t){var e=n[t];return void 0!==e||(e=n[t]={exports:{}},a[t](e,e.exports,i)),e.exports}var a,n,t,o,s});
2
2
  //# sourceMappingURL=foundation.abide.min.js.map