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
@@ -4,165 +4,41 @@
4
4
  else if(typeof define === 'function' && define.amd)
5
5
  define(["./foundation.core", "jquery"], factory);
6
6
  else if(typeof exports === 'object')
7
- exports["foundation.abide"] = factory(require("./foundation.core"), require("jquery"));
7
+ exports["__FOUNDATION_EXTERNAL__"] = factory(require("./foundation.core"), require("jquery"));
8
8
  else
9
9
  root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.abide"] = factory(root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["jQuery"]);
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {
11
- return /******/ (function(modules) { // webpackBootstrap
12
- /******/ // The module cache
13
- /******/ var installedModules = {};
14
- /******/
15
- /******/ // The require function
16
- /******/ function __webpack_require__(moduleId) {
17
- /******/
18
- /******/ // Check if module is in cache
19
- /******/ if(installedModules[moduleId]) {
20
- /******/ return installedModules[moduleId].exports;
21
- /******/ }
22
- /******/ // Create a new module (and put it into the cache)
23
- /******/ var module = installedModules[moduleId] = {
24
- /******/ i: moduleId,
25
- /******/ l: false,
26
- /******/ exports: {}
27
- /******/ };
28
- /******/
29
- /******/ // Execute the module function
30
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
- /******/
32
- /******/ // Flag the module as loaded
33
- /******/ module.l = true;
34
- /******/
35
- /******/ // Return the exports of the module
36
- /******/ return module.exports;
37
- /******/ }
38
- /******/
39
- /******/
40
- /******/ // expose the modules object (__webpack_modules__)
41
- /******/ __webpack_require__.m = modules;
42
- /******/
43
- /******/ // expose the module cache
44
- /******/ __webpack_require__.c = installedModules;
45
- /******/
46
- /******/ // define getter function for harmony exports
47
- /******/ __webpack_require__.d = function(exports, name, getter) {
48
- /******/ if(!__webpack_require__.o(exports, name)) {
49
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
50
- /******/ }
51
- /******/ };
52
- /******/
53
- /******/ // define __esModule on exports
54
- /******/ __webpack_require__.r = function(exports) {
55
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
56
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57
- /******/ }
58
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
59
- /******/ };
60
- /******/
61
- /******/ // create a fake namespace object
62
- /******/ // mode & 1: value is a module id, require it
63
- /******/ // mode & 2: merge all properties of value into the ns
64
- /******/ // mode & 4: return value when already ns object
65
- /******/ // mode & 8|1: behave like require
66
- /******/ __webpack_require__.t = function(value, mode) {
67
- /******/ if(mode & 1) value = __webpack_require__(value);
68
- /******/ if(mode & 8) return value;
69
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
70
- /******/ var ns = Object.create(null);
71
- /******/ __webpack_require__.r(ns);
72
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
73
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
74
- /******/ return ns;
75
- /******/ };
76
- /******/
77
- /******/ // getDefaultExport function for compatibility with non-harmony modules
78
- /******/ __webpack_require__.n = function(module) {
79
- /******/ var getter = module && module.__esModule ?
80
- /******/ function getDefault() { return module['default']; } :
81
- /******/ function getModuleExports() { return module; };
82
- /******/ __webpack_require__.d(getter, 'a', getter);
83
- /******/ return getter;
84
- /******/ };
85
- /******/
86
- /******/ // Object.prototype.hasOwnProperty.call
87
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
88
- /******/
89
- /******/ // __webpack_public_path__
90
- /******/ __webpack_require__.p = "";
91
- /******/
92
- /******/
93
- /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = 0);
95
- /******/ })
96
- /************************************************************************/
97
- /******/ ({
98
-
99
- /***/ "./foundation.core":
100
- /*!****************************************************************************************************************************************************************!*\
101
- !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core","commonjs":"./foundation.core","commonjs2":"./foundation.core"} ***!
102
- \****************************************************************************************************************************************************************/
103
- /*! no static exports found */
104
- /***/ (function(module, exports) {
105
-
106
- module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;
107
-
108
- /***/ }),
109
-
110
- /***/ "./js/entries/plugins/foundation.abide.js":
111
- /*!************************************************!*\
112
- !*** ./js/entries/plugins/foundation.abide.js ***!
113
- \************************************************/
114
- /*! exports provided: Foundation, Abide */
115
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
116
-
117
- "use strict";
118
- __webpack_require__.r(__webpack_exports__);
119
- /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
120
- /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
121
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"]; });
122
-
123
- /* harmony import */ var _foundation_abide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.abide */ "./js/foundation.abide.js");
124
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Abide", function() { return _foundation_abide__WEBPACK_IMPORTED_MODULE_1__["Abide"]; });
125
-
126
-
127
-
128
- _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].plugin(_foundation_abide__WEBPACK_IMPORTED_MODULE_1__["Abide"], 'Abide');
129
-
130
-
131
- /***/ }),
10
+ })(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {
11
+ return /******/ (function() { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
132
14
 
133
15
  /***/ "./js/foundation.abide.js":
134
16
  /*!********************************!*\
135
17
  !*** ./js/foundation.abide.js ***!
136
18
  \********************************/
137
- /*! exports provided: Abide */
138
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
19
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
139
20
 
140
- "use strict";
141
21
  __webpack_require__.r(__webpack_exports__);
142
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Abide", function() { return Abide; });
22
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ Abide: function() { return /* binding */ Abide; }
24
+ /* harmony export */ });
143
25
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
144
26
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
145
- /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core");
27
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core");
146
28
  /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);
147
-
148
-
149
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
150
-
151
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
152
-
153
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
154
-
155
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
156
-
157
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
158
-
159
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
160
-
161
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
162
-
163
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
164
-
165
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
29
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
30
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
31
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
32
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
33
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
34
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
35
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
36
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
37
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
38
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
39
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
40
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
41
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
166
42
 
167
43
 
168
44
 
@@ -171,21 +47,15 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
171
47
  * Abide module.
172
48
  * @module foundation.abide
173
49
  */
174
-
175
- var Abide =
176
- /*#__PURE__*/
177
- function (_Plugin) {
178
- _inherits(Abide, _Plugin);
179
-
50
+ var Abide = /*#__PURE__*/function (_Plugin) {
180
51
  function Abide() {
181
52
  _classCallCheck(this, Abide);
182
-
183
- return _possibleConstructorReturn(this, _getPrototypeOf(Abide).apply(this, arguments));
53
+ return _callSuper(this, Abide, arguments);
184
54
  }
185
-
186
- _createClass(Abide, [{
55
+ _inherits(Abide, _Plugin);
56
+ return _createClass(Abide, [{
187
57
  key: "_setup",
188
-
58
+ value:
189
59
  /**
190
60
  * Creates a new instance of Abide.
191
61
  * @class
@@ -194,33 +64,34 @@ function (_Plugin) {
194
64
  * @param {Object} element - jQuery object to add the trigger to.
195
65
  * @param {Object} options - Overrides to the default plugin settings.
196
66
  */
197
- value: function _setup(element) {
67
+ function _setup(element) {
198
68
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
199
69
  this.$element = element;
200
- this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(true, {}, Abide.defaults, this.$element.data(), options);
70
+ this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(true, {}, Abide.defaults, this.$element.data(), options);
201
71
  this.isEnabled = true;
202
72
  this.formnovalidate = null;
203
73
  this.className = 'Abide'; // ie9 back compat
204
-
205
74
  this._init();
206
75
  }
76
+
207
77
  /**
208
78
  * Initializes the Abide plugin and calls functions to get Abide functioning on load.
209
79
  * @private
210
80
  */
211
-
212
81
  }, {
213
82
  key: "_init",
214
83
  value: function _init() {
215
84
  var _this2 = this;
216
-
217
- this.$inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.merge( // Consider as input to validate:
218
- this.$element.find('input').not('[type="submit"]'), // * all input fields expect submit
85
+ this.$inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default().merge(
86
+ // Consider as input to validate:
87
+ this.$element.find('input').not('[type="submit"]'),
88
+ // * all input fields expect submit
219
89
  this.$element.find('textarea, select') // * all textareas and select fields
220
90
  );
221
91
  this.$submits = this.$element.find('[type="submit"]');
222
- var $globalErrors = this.$element.find('[data-abide-error]'); // Add a11y attributes to all fields
92
+ var $globalErrors = this.$element.find('[data-abide-error]');
223
93
 
94
+ // Add a11y attributes to all fields
224
95
  if (this.options.a11yAttributes) {
225
96
  this.$inputs.each(function (i, input) {
226
97
  return _this2.addA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(input));
@@ -229,19 +100,17 @@ function (_Plugin) {
229
100
  return _this2.addGlobalErrorA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(error));
230
101
  });
231
102
  }
232
-
233
103
  this._events();
234
104
  }
105
+
235
106
  /**
236
107
  * Initializes events for Abide.
237
108
  * @private
238
109
  */
239
-
240
110
  }, {
241
111
  key: "_events",
242
112
  value: function _events() {
243
113
  var _this3 = this;
244
-
245
114
  this.$element.off('.abide').on('reset.zf.abide', function () {
246
115
  _this3.resetForm();
247
116
  }).on('submit.zf.abide', function () {
@@ -251,45 +120,41 @@ function (_Plugin) {
251
120
  if (!e.key || e.key === ' ' || e.key === 'Enter') {
252
121
  e.preventDefault();
253
122
  _this3.formnovalidate = e.target.getAttribute('formnovalidate') !== null;
254
-
255
123
  _this3.$element.submit();
256
124
  }
257
125
  });
258
-
259
126
  if (this.options.validateOn === 'fieldChange') {
260
127
  this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {
261
128
  _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));
262
129
  });
263
130
  }
264
-
265
131
  if (this.options.liveValidate) {
266
132
  this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {
267
133
  _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));
268
134
  });
269
135
  }
270
-
271
136
  if (this.options.validateOnBlur) {
272
137
  this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) {
273
138
  _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));
274
139
  });
275
140
  }
276
141
  }
142
+
277
143
  /**
278
144
  * Calls necessary functions to update Abide upon DOM change
279
145
  * @private
280
146
  */
281
-
282
147
  }, {
283
148
  key: "_reflow",
284
149
  value: function _reflow() {
285
150
  this._init();
286
151
  }
152
+
287
153
  /**
288
154
  * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled
289
155
  * @returns {Boolean}
290
156
  * @private
291
157
  */
292
-
293
158
  }, {
294
159
  key: "_validationIsDisabled",
295
160
  value: function _validationIsDisabled() {
@@ -299,59 +164,55 @@ function (_Plugin) {
299
164
  } else if (typeof this.formnovalidate === 'boolean') {
300
165
  // triggered by $submit
301
166
  return this.formnovalidate;
302
- } // triggered by Enter in non-submit input
303
-
304
-
167
+ }
168
+ // triggered by Enter in non-submit input
305
169
  return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;
306
170
  }
171
+
307
172
  /**
308
173
  * Enables the whole validation
309
174
  */
310
-
311
175
  }, {
312
176
  key: "enableValidation",
313
177
  value: function enableValidation() {
314
178
  this.isEnabled = true;
315
179
  }
180
+
316
181
  /**
317
182
  * Disables the whole validation
318
183
  */
319
-
320
184
  }, {
321
185
  key: "disableValidation",
322
186
  value: function disableValidation() {
323
187
  this.isEnabled = false;
324
188
  }
189
+
325
190
  /**
326
191
  * Checks whether or not a form element has the required attribute and if it's checked or not
327
192
  * @param {Object} element - jQuery object to check for required attribute
328
193
  * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
329
194
  */
330
-
331
195
  }, {
332
196
  key: "requiredCheck",
333
197
  value: function requiredCheck($el) {
334
198
  if (!$el.attr('required')) return true;
335
199
  var isGood = true;
336
-
337
200
  switch ($el[0].type) {
338
201
  case 'checkbox':
339
202
  isGood = $el[0].checked;
340
203
  break;
341
-
342
204
  case 'select':
343
205
  case 'select-one':
344
206
  case 'select-multiple':
345
207
  var opt = $el.find('option:selected');
346
208
  if (!opt.length || !opt.val()) isGood = false;
347
209
  break;
348
-
349
210
  default:
350
211
  if (!$el.val() || !$el.val().length) isGood = false;
351
212
  }
352
-
353
213
  return isGood;
354
214
  }
215
+
355
216
  /**
356
217
  * Get:
357
218
  * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:
@@ -365,23 +226,18 @@ function (_Plugin) {
365
226
  * @param {String[]} [failedValidators] - List of failed validators.
366
227
  * @returns {Object} jQuery object with the selector.
367
228
  */
368
-
369
229
  }, {
370
230
  key: "findFormError",
371
231
  value: function findFormError($el, failedValidators) {
372
232
  var _this4 = this;
373
-
374
233
  var id = $el.length ? $el[0].id : '';
375
234
  var $error = $el.siblings(this.options.formErrorSelector);
376
-
377
235
  if (!$error.length) {
378
236
  $error = $el.parent().find(this.options.formErrorSelector);
379
237
  }
380
-
381
238
  if (id) {
382
239
  $error = $error.add(this.$element.find("[data-form-error-for=\"".concat(id, "\"]")));
383
240
  }
384
-
385
241
  if (!!failedValidators) {
386
242
  $error = $error.not('[data-form-error-on]');
387
243
  failedValidators.forEach(function (v) {
@@ -389,9 +245,9 @@ function (_Plugin) {
389
245
  $error = $error.add(_this4.$element.find("[data-form-error-for=\"".concat(id, "\"][data-form-error-on=\"").concat(v, "\"]")));
390
246
  });
391
247
  }
392
-
393
248
  return $error;
394
249
  }
250
+
395
251
  /**
396
252
  * Get the first element in this order:
397
253
  * 2. The <label> with the attribute `[for="someInputId"]`
@@ -400,19 +256,17 @@ function (_Plugin) {
400
256
  * @param {Object} $el - jQuery object to check for required attribute
401
257
  * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
402
258
  */
403
-
404
259
  }, {
405
260
  key: "findLabel",
406
261
  value: function findLabel($el) {
407
262
  var id = $el[0].id;
408
263
  var $label = this.$element.find("label[for=\"".concat(id, "\"]"));
409
-
410
264
  if (!$label.length) {
411
265
  return $el.closest('label');
412
266
  }
413
-
414
267
  return $label;
415
268
  }
269
+
416
270
  /**
417
271
  * Get the set of labels associated with a set of radio els in this order
418
272
  * 2. The <label> with the attribute `[for="someInputId"]`
@@ -421,25 +275,21 @@ function (_Plugin) {
421
275
  * @param {Object} $el - jQuery object to check for required attribute
422
276
  * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
423
277
  */
424
-
425
278
  }, {
426
279
  key: "findRadioLabels",
427
280
  value: function findRadioLabels($els) {
428
281
  var _this5 = this;
429
-
430
282
  var labels = $els.map(function (i, el) {
431
283
  var id = el.id;
432
-
433
284
  var $label = _this5.$element.find("label[for=\"".concat(id, "\"]"));
434
-
435
285
  if (!$label.length) {
436
286
  $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).closest('label');
437
287
  }
438
-
439
288
  return $label[0];
440
289
  });
441
290
  return jquery__WEBPACK_IMPORTED_MODULE_0___default()(labels);
442
291
  }
292
+
443
293
  /**
444
294
  * Get the set of labels associated with a set of checkbox els in this order
445
295
  * 2. The <label> with the attribute `[for="someInputId"]`
@@ -448,192 +298,186 @@ function (_Plugin) {
448
298
  * @param {Object} $el - jQuery object to check for required attribute
449
299
  * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
450
300
  */
451
-
452
301
  }, {
453
302
  key: "findCheckboxLabels",
454
303
  value: function findCheckboxLabels($els) {
455
304
  var _this6 = this;
456
-
457
305
  var labels = $els.map(function (i, el) {
458
306
  var id = el.id;
459
-
460
307
  var $label = _this6.$element.find("label[for=\"".concat(id, "\"]"));
461
-
462
308
  if (!$label.length) {
463
309
  $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).closest('label');
464
310
  }
465
-
466
311
  return $label[0];
467
312
  });
468
313
  return jquery__WEBPACK_IMPORTED_MODULE_0___default()(labels);
469
314
  }
315
+
470
316
  /**
471
317
  * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
472
318
  * @param {Object} $el - jQuery object to add the class to
473
319
  * @param {String[]} [failedValidators] - List of failed validators.
474
320
  */
475
-
476
321
  }, {
477
322
  key: "addErrorClasses",
478
323
  value: function addErrorClasses($el, failedValidators) {
479
324
  var $label = this.findLabel($el);
480
325
  var $formError = this.findFormError($el, failedValidators);
481
-
482
326
  if ($label.length) {
483
327
  $label.addClass(this.options.labelErrorClass);
484
328
  }
485
-
486
329
  if ($formError.length) {
487
330
  $formError.addClass(this.options.formErrorClass);
488
331
  }
489
-
490
332
  $el.addClass(this.options.inputErrorClass).attr({
491
333
  'data-invalid': '',
492
334
  'aria-invalid': true
493
335
  });
336
+ if ($formError.filter(':visible').length) {
337
+ this.addA11yErrorDescribe($el, $formError);
338
+ }
494
339
  }
340
+
495
341
  /**
496
342
  * Adds [for] and [role=alert] attributes to all form error targetting $el,
497
343
  * and [aria-describedby] attribute to $el toward the first form error.
498
344
  * @param {Object} $el - jQuery object
499
345
  */
500
-
501
346
  }, {
502
347
  key: "addA11yAttributes",
503
348
  value: function addA11yAttributes($el) {
504
349
  var $errors = this.findFormError($el);
505
350
  var $labels = $errors.filter('label');
506
- var $error = $errors.first();
507
- if (!$errors.length) return; // Set [aria-describedby] on the input toward the first form error if it is not set
508
-
509
- if (typeof $el.attr('aria-describedby') === 'undefined') {
510
- // Get the first error ID or create one
511
- var errorId = $error.attr('id');
512
-
513
- if (typeof errorId === 'undefined') {
514
- errorId = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["GetYoDigits"])(6, 'abide-error');
515
- $error.attr('id', errorId);
516
- }
517
-
518
- $el.attr('aria-describedby', errorId);
351
+ if (!$errors.length) return;
352
+ var $error = $errors.filter(':visible').first();
353
+ if ($error.length) {
354
+ this.addA11yErrorDescribe($el, $error);
519
355
  }
520
-
521
356
  if ($labels.filter('[for]').length < $labels.length) {
522
357
  // Get the input ID or create one
523
358
  var elemId = $el.attr('id');
524
-
525
359
  if (typeof elemId === 'undefined') {
526
- elemId = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["GetYoDigits"])(6, 'abide-input');
360
+ elemId = (0,_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, 'abide-input');
527
361
  $el.attr('id', elemId);
528
- } // For each label targeting $el, set [for] if it is not set.
529
-
362
+ }
530
363
 
364
+ // For each label targeting $el, set [for] if it is not set.
531
365
  $labels.each(function (i, label) {
532
366
  var $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);
533
367
  if (typeof $label.attr('for') === 'undefined') $label.attr('for', elemId);
534
368
  });
535
- } // For each error targeting $el, set [role=alert] if it is not set.
536
-
369
+ }
537
370
 
371
+ // For each error targeting $el, set [role=alert] if it is not set.
538
372
  $errors.each(function (i, label) {
539
373
  var $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);
540
374
  if (typeof $label.attr('role') === 'undefined') $label.attr('role', 'alert');
541
375
  }).end();
542
376
  }
377
+ }, {
378
+ key: "addA11yErrorDescribe",
379
+ value: function addA11yErrorDescribe($el, $error) {
380
+ if ($el.attr('type') === 'hidden') return;
381
+ if (typeof $el.attr('aria-describedby') !== 'undefined') return;
382
+
383
+ // Set [aria-describedby] on the input toward the first form error if it is not set
384
+ // Get the first error ID or create one
385
+ var errorId = $error.attr('id');
386
+ if (typeof errorId === 'undefined') {
387
+ errorId = (0,_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, 'abide-error');
388
+ $error.attr('id', errorId);
389
+ }
390
+ $el.attr('aria-describedby', errorId).data('abide-describedby', true);
391
+ }
392
+
543
393
  /**
544
394
  * Adds [aria-live] attribute to the given global form error $el.
545
395
  * @param {Object} $el - jQuery object to add the attribute to
546
396
  */
547
-
548
397
  }, {
549
398
  key: "addGlobalErrorA11yAttributes",
550
399
  value: function addGlobalErrorA11yAttributes($el) {
551
400
  if (typeof $el.attr('aria-live') === 'undefined') $el.attr('aria-live', this.options.a11yErrorLevel);
552
401
  }
402
+
553
403
  /**
554
404
  * Remove CSS error classes etc from an entire radio button group
555
405
  * @param {String} groupName - A string that specifies the name of a radio button group
556
406
  *
557
407
  */
558
-
559
408
  }, {
560
409
  key: "removeRadioErrorClasses",
561
410
  value: function removeRadioErrorClasses(groupName) {
562
411
  var $els = this.$element.find(":radio[name=\"".concat(groupName, "\"]"));
563
412
  var $labels = this.findRadioLabels($els);
564
413
  var $formErrors = this.findFormError($els);
565
-
566
414
  if ($labels.length) {
567
415
  $labels.removeClass(this.options.labelErrorClass);
568
416
  }
569
-
570
417
  if ($formErrors.length) {
571
418
  $formErrors.removeClass(this.options.formErrorClass);
572
419
  }
573
-
574
420
  $els.removeClass(this.options.inputErrorClass).attr({
575
421
  'data-invalid': null,
576
422
  'aria-invalid': null
577
423
  });
578
424
  }
425
+
579
426
  /**
580
427
  * Remove CSS error classes etc from an entire checkbox group
581
428
  * @param {String} groupName - A string that specifies the name of a checkbox group
582
429
  *
583
430
  */
584
-
585
431
  }, {
586
432
  key: "removeCheckboxErrorClasses",
587
433
  value: function removeCheckboxErrorClasses(groupName) {
588
434
  var $els = this.$element.find(":checkbox[name=\"".concat(groupName, "\"]"));
589
435
  var $labels = this.findCheckboxLabels($els);
590
436
  var $formErrors = this.findFormError($els);
591
-
592
437
  if ($labels.length) {
593
438
  $labels.removeClass(this.options.labelErrorClass);
594
439
  }
595
-
596
440
  if ($formErrors.length) {
597
441
  $formErrors.removeClass(this.options.formErrorClass);
598
442
  }
599
-
600
443
  $els.removeClass(this.options.inputErrorClass).attr({
601
444
  'data-invalid': null,
602
445
  'aria-invalid': null
603
446
  });
604
447
  }
448
+
605
449
  /**
606
450
  * Removes CSS error class as specified by the Abide settings from the label, input, and the form
607
451
  * @param {Object} $el - jQuery object to remove the class from
608
452
  */
609
-
610
453
  }, {
611
454
  key: "removeErrorClasses",
612
455
  value: function removeErrorClasses($el) {
613
456
  // radios need to clear all of the els
614
- if ($el[0].type == 'radio') {
457
+ if ($el[0].type === 'radio') {
615
458
  return this.removeRadioErrorClasses($el.attr('name'));
616
- } // checkboxes need to clear all of the els
617
- else if ($el[0].type == 'checkbox') {
618
- return this.removeCheckboxErrorClasses($el.attr('name'));
619
- }
620
-
459
+ }
460
+ // checkboxes need to clear all of the els
461
+ else if ($el[0].type === 'checkbox') {
462
+ return this.removeCheckboxErrorClasses($el.attr('name'));
463
+ }
621
464
  var $label = this.findLabel($el);
622
465
  var $formError = this.findFormError($el);
623
-
624
466
  if ($label.length) {
625
467
  $label.removeClass(this.options.labelErrorClass);
626
468
  }
627
-
628
469
  if ($formError.length) {
629
470
  $formError.removeClass(this.options.formErrorClass);
630
471
  }
631
-
632
472
  $el.removeClass(this.options.inputErrorClass).attr({
633
473
  'data-invalid': null,
634
474
  'aria-invalid': null
635
475
  });
476
+ if ($el.data('abide-describedby')) {
477
+ $el.removeAttr('aria-describedby').removeData('abide-describedby');
478
+ }
636
479
  }
480
+
637
481
  /**
638
482
  * Goes through a form to find inputs and proceeds to validate them in ways specific to their type.
639
483
  * Ignores inputs with data-abide-ignore, type="hidden" or disabled attributes set
@@ -642,69 +486,58 @@ function (_Plugin) {
642
486
  * @param {Object} element - jQuery object to validate, should be an HTML input
643
487
  * @returns {Boolean} goodToGo - If the input is valid or not.
644
488
  */
645
-
646
489
  }, {
647
490
  key: "validateInput",
648
491
  value: function validateInput($el) {
649
492
  var _this7 = this;
650
-
651
493
  var clearRequire = this.requiredCheck($el),
652
- validator = $el.attr('data-validator'),
653
- failedValidators = [],
654
- manageErrorClasses = true; // skip validation if disabled
494
+ validator = $el.attr('data-validator'),
495
+ failedValidators = [],
496
+ manageErrorClasses = true;
655
497
 
498
+ // skip validation if disabled
656
499
  if (this._validationIsDisabled()) {
657
500
  return true;
658
- } // don't validate ignored inputs or hidden inputs or disabled inputs
659
-
501
+ }
660
502
 
503
+ // don't validate ignored inputs or hidden inputs or disabled inputs
661
504
  if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]') || $el.is('[disabled]')) {
662
505
  return true;
663
506
  }
664
-
665
507
  switch ($el[0].type) {
666
508
  case 'radio':
667
509
  this.validateRadio($el.attr('name')) || failedValidators.push('required');
668
510
  break;
669
-
670
511
  case 'checkbox':
671
- this.validateCheckbox($el.attr('name')) || failedValidators.push('required'); // validateCheckbox() adds/removes error classes
672
-
512
+ this.validateCheckbox($el.attr('name')) || failedValidators.push('required');
513
+ // validateCheckbox() adds/removes error classes
673
514
  manageErrorClasses = false;
674
515
  break;
675
-
676
516
  case 'select':
677
517
  case 'select-one':
678
518
  case 'select-multiple':
679
519
  clearRequire || failedValidators.push('required');
680
520
  break;
681
-
682
521
  default:
683
522
  clearRequire || failedValidators.push('required');
684
523
  this.validateText($el) || failedValidators.push('pattern');
685
524
  }
686
-
687
525
  if (validator) {
688
526
  var required = $el.attr('required') ? true : false;
689
527
  validator.split(' ').forEach(function (v) {
690
528
  _this7.options.validators[v]($el, required, $el.parent()) || failedValidators.push(v);
691
529
  });
692
530
  }
693
-
694
531
  if ($el.attr('data-equalto')) {
695
532
  this.options.validators.equalTo($el) || failedValidators.push('equalTo');
696
533
  }
697
-
698
534
  var goodToGo = failedValidators.length === 0;
699
535
  var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
700
-
701
536
  if (goodToGo) {
702
537
  // Re-validate inputs that depend on this one with equalto
703
538
  var dependentElements = this.$element.find("[data-equalto=\"".concat($el.attr('id'), "\"]"));
704
-
705
539
  if (dependentElements.length) {
706
540
  var _this = this;
707
-
708
541
  dependentElements.each(function () {
709
542
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).val()) {
710
543
  _this.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));
@@ -712,87 +545,80 @@ function (_Plugin) {
712
545
  });
713
546
  }
714
547
  }
715
-
716
548
  if (manageErrorClasses) {
717
549
  this.removeErrorClasses($el);
718
-
719
550
  if (!goodToGo) {
720
551
  this.addErrorClasses($el, failedValidators);
721
552
  }
722
553
  }
554
+
723
555
  /**
724
556
  * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
725
557
  * Trigger includes the DOM element of the input.
726
558
  * @event Abide#valid
727
559
  * @event Abide#invalid
728
560
  */
729
-
730
-
731
561
  $el.trigger(message, [$el]);
732
562
  return goodToGo;
733
563
  }
564
+
734
565
  /**
735
566
  * Goes through a form and if there are any invalid inputs, it will display the form error element
736
567
  * @returns {Boolean} noError - true if no errors were detected...
737
568
  * @fires Abide#formvalid
738
569
  * @fires Abide#forminvalid
739
570
  */
740
-
741
571
  }, {
742
572
  key: "validateForm",
743
573
  value: function validateForm() {
744
574
  var _this8 = this;
745
-
746
575
  var acc = [];
747
-
748
576
  var _this = this;
577
+ var checkboxGroupName;
749
578
 
750
- var checkboxGroupName; // Remember first form submission to prevent specific checkbox validation (more than one required) until form got initially submitted
751
-
579
+ // Remember first form submission to prevent specific checkbox validation (more than one required) until form got initially submitted
752
580
  if (!this.initialized) {
753
581
  this.initialized = true;
754
- } // skip validation if disabled
755
-
582
+ }
756
583
 
584
+ // skip validation if disabled
757
585
  if (this._validationIsDisabled()) {
758
586
  this.formnovalidate = null;
759
587
  return true;
760
588
  }
761
-
762
589
  this.$inputs.each(function () {
763
590
  // Only use one checkbox per group since validateCheckbox() iterates over all associated checkboxes
764
591
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].type === 'checkbox') {
765
592
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('name') === checkboxGroupName) return true;
766
593
  checkboxGroupName = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('name');
767
594
  }
768
-
769
595
  acc.push(_this.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)));
770
596
  });
771
597
  var noError = acc.indexOf(false) === -1;
772
598
  this.$element.find('[data-abide-error]').each(function (i, elem) {
773
- var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem); // Ensure a11y attributes are set
774
-
775
- if (_this8.options.a11yAttributes) _this8.addGlobalErrorA11yAttributes($elem); // Show or hide the error
776
-
599
+ var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem);
600
+ // Ensure a11y attributes are set
601
+ if (_this8.options.a11yAttributes) _this8.addGlobalErrorA11yAttributes($elem);
602
+ // Show or hide the error
777
603
  $elem.css('display', noError ? 'none' : 'block');
778
604
  });
605
+
779
606
  /**
780
607
  * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
781
608
  * Trigger includes the element of the form.
782
609
  * @event Abide#formvalid
783
610
  * @event Abide#forminvalid
784
611
  */
785
-
786
612
  this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
787
613
  return noError;
788
614
  }
615
+
789
616
  /**
790
617
  * 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.
791
618
  * @param {Object} $el - jQuery object to validate, should be a text input HTML element
792
619
  * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
793
620
  * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
794
621
  */
795
-
796
622
  }, {
797
623
  key: "validateText",
798
624
  value: function validateText($el, pattern) {
@@ -800,25 +626,24 @@ function (_Plugin) {
800
626
  pattern = pattern || $el.attr('data-pattern') || $el.attr('pattern') || $el.attr('type');
801
627
  var inputText = $el.val();
802
628
  var valid = true;
803
-
804
629
  if (inputText.length) {
805
630
  // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
806
631
  if (this.options.patterns.hasOwnProperty(pattern)) {
807
632
  valid = this.options.patterns[pattern].test(inputText);
808
- } // If the pattern name isn't also the type attribute of the field, then test it as a regexp
633
+ }
634
+ // If the pattern name isn't also the type attribute of the field, then test it as a regexp
809
635
  else if (pattern !== $el.attr('type')) {
810
- valid = new RegExp(pattern).test(inputText);
811
- }
636
+ valid = new RegExp(pattern).test(inputText);
637
+ }
812
638
  }
813
-
814
639
  return valid;
815
640
  }
641
+
816
642
  /**
817
643
  * 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.
818
644
  * @param {String} groupName - A string that specifies the name of a radio button group
819
645
  * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
820
646
  */
821
-
822
647
  }, {
823
648
  key: "validateRadio",
824
649
  value: function validateRadio(groupName) {
@@ -826,15 +651,15 @@ function (_Plugin) {
826
651
  // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
827
652
  var $group = this.$element.find(":radio[name=\"".concat(groupName, "\"]"));
828
653
  var valid = false,
829
- required = false; // For the group to be required, at least one radio needs to be required
654
+ required = false;
830
655
 
656
+ // For the group to be required, at least one radio needs to be required
831
657
  $group.each(function (i, e) {
832
658
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('required')) {
833
659
  required = true;
834
660
  }
835
661
  });
836
662
  if (!required) valid = true;
837
-
838
663
  if (!valid) {
839
664
  // For the group to be valid, at least one radio needs to be checked
840
665
  $group.each(function (i, e) {
@@ -843,35 +668,33 @@ function (_Plugin) {
843
668
  }
844
669
  });
845
670
  }
846
-
847
671
  return valid;
848
672
  }
673
+
849
674
  /**
850
675
  * 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.
851
676
  * @param {String} groupName - A string that specifies the name of a checkbox group
852
677
  * @returns {Boolean} Boolean value depends on whether or not at least one checkbox input has been checked (if it's required)
853
678
  */
854
-
855
679
  }, {
856
680
  key: "validateCheckbox",
857
681
  value: function validateCheckbox(groupName) {
858
682
  var _this9 = this;
859
-
860
683
  // If at least one checkbox in the group has the `required` attribute, the group is considered required
861
684
  // Per W3C spec, all checkboxes in a group should have `required`, but we're being nice
862
685
  var $group = this.$element.find(":checkbox[name=\"".concat(groupName, "\"]"));
863
686
  var valid = false,
864
- required = false,
865
- minRequired = 1,
866
- checked = 0; // For the group to be required, at least one checkbox needs to be required
687
+ required = false,
688
+ minRequired = 1,
689
+ checked = 0;
867
690
 
691
+ // For the group to be required, at least one checkbox needs to be required
868
692
  $group.each(function (i, e) {
869
693
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('required')) {
870
694
  required = true;
871
695
  }
872
696
  });
873
697
  if (!required) valid = true;
874
-
875
698
  if (!valid) {
876
699
  // Count checked checkboxes within the group
877
700
  // Use data-min-required if available (default: 1)
@@ -879,23 +702,23 @@ function (_Plugin) {
879
702
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).prop('checked')) {
880
703
  checked++;
881
704
  }
882
-
883
705
  if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required') !== 'undefined') {
884
- minRequired = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required'));
706
+ minRequired = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required'), 10);
885
707
  }
886
- }); // For the group to be valid, the minRequired amount of checkboxes have to be checked
708
+ });
887
709
 
710
+ // For the group to be valid, the minRequired amount of checkboxes have to be checked
888
711
  if (checked >= minRequired) {
889
712
  valid = true;
890
713
  }
891
- } // 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)
892
-
714
+ }
893
715
 
716
+ // 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)
894
717
  if (this.initialized !== true && minRequired > 1) {
895
718
  return true;
896
- } // Refresh error class for all input
897
-
719
+ }
898
720
 
721
+ // Refresh error class for all input
899
722
  $group.each(function (i, e) {
900
723
  if (!valid) {
901
724
  _this9.addErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e), ['required']);
@@ -905,6 +728,7 @@ function (_Plugin) {
905
728
  });
906
729
  return valid;
907
730
  }
731
+
908
732
  /**
909
733
  * 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.
910
734
  * @param {Object} $el - jQuery input element.
@@ -912,28 +736,26 @@ function (_Plugin) {
912
736
  * @param {Boolean} required - self explanatory?
913
737
  * @returns {Boolean} - true if validations passed.
914
738
  */
915
-
916
739
  }, {
917
740
  key: "matchValidation",
918
741
  value: function matchValidation($el, validators, required) {
919
742
  var _this10 = this;
920
-
921
743
  required = required ? true : false;
922
744
  var clear = validators.split(' ').map(function (v) {
923
745
  return _this10.options.validators[v]($el, required, $el.parent());
924
746
  });
925
747
  return clear.indexOf(false) === -1;
926
748
  }
749
+
927
750
  /**
928
751
  * Resets form inputs and styles
929
752
  * @fires Abide#formreset
930
753
  */
931
-
932
754
  }, {
933
755
  key: "resetForm",
934
756
  value: function resetForm() {
935
757
  var $form = this.$element,
936
- opts = this.options;
758
+ opts = this.options;
937
759
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(".".concat(opts.labelErrorClass), $form).not('small').removeClass(opts.labelErrorClass);
938
760
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(".".concat(opts.inputErrorClass), $form).not('small').removeClass(opts.inputErrorClass);
939
761
  jquery__WEBPACK_IMPORTED_MODULE_0___default()("".concat(opts.formErrorSelector, ".").concat(opts.formErrorClass)).removeClass(opts.formErrorClass);
@@ -954,19 +776,17 @@ function (_Plugin) {
954
776
  * Fires when the form has been reset.
955
777
  * @event Abide#formreset
956
778
  */
957
-
958
779
  $form.trigger('formreset.zf.abide', [$form]);
959
780
  }
781
+
960
782
  /**
961
783
  * Destroys an instance of Abide.
962
784
  * Removes error styles and classes from elements, without resetting their values.
963
785
  */
964
-
965
786
  }, {
966
787
  key: "_destroy",
967
788
  value: function _destroy() {
968
789
  var _this = this;
969
-
970
790
  this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');
971
791
  this.$inputs.off('.abide').each(function () {
972
792
  _this.removeErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));
@@ -974,14 +794,10 @@ function (_Plugin) {
974
794
  this.$submits.off('.abide');
975
795
  }
976
796
  }]);
977
-
978
- return Abide;
979
- }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
797
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);
980
798
  /**
981
799
  * Default settings for plugin
982
800
  */
983
-
984
-
985
801
  Abide.defaults = {
986
802
  /**
987
803
  * The default event to validate inputs. Checkboxes and radios validate immediately.
@@ -991,7 +807,6 @@ Abide.defaults = {
991
807
  * @default 'fieldChange'
992
808
  */
993
809
  validateOn: 'fieldChange',
994
-
995
810
  /**
996
811
  * Class to be applied to input labels on failed validation.
997
812
  * @option
@@ -999,7 +814,6 @@ Abide.defaults = {
999
814
  * @default 'is-invalid-label'
1000
815
  */
1001
816
  labelErrorClass: 'is-invalid-label',
1002
-
1003
817
  /**
1004
818
  * Class to be applied to inputs on failed validation.
1005
819
  * @option
@@ -1007,7 +821,6 @@ Abide.defaults = {
1007
821
  * @default 'is-invalid-input'
1008
822
  */
1009
823
  inputErrorClass: 'is-invalid-input',
1010
-
1011
824
  /**
1012
825
  * Class selector to use to target Form Errors for show/hide.
1013
826
  * @option
@@ -1015,7 +828,6 @@ Abide.defaults = {
1015
828
  * @default '.form-error'
1016
829
  */
1017
830
  formErrorSelector: '.form-error',
1018
-
1019
831
  /**
1020
832
  * Class added to Form Errors on failed validation.
1021
833
  * @option
@@ -1023,7 +835,6 @@ Abide.defaults = {
1023
835
  * @default 'is-visible'
1024
836
  */
1025
837
  formErrorClass: 'is-visible',
1026
-
1027
838
  /**
1028
839
  * If true, automatically insert when possible:
1029
840
  * - `[aria-describedby]` on fields
@@ -1034,7 +845,6 @@ Abide.defaults = {
1034
845
  * @default true
1035
846
  */
1036
847
  a11yAttributes: true,
1037
-
1038
848
  /**
1039
849
  * [aria-live] attribute value to be applied on global errors `[data-abide-error]`.
1040
850
  * Options are: 'assertive', 'polite' and 'off'/null
@@ -1044,7 +854,6 @@ Abide.defaults = {
1044
854
  * @default 'assertive'
1045
855
  */
1046
856
  a11yErrorLevel: 'assertive',
1047
-
1048
857
  /**
1049
858
  * Set to true to validate text inputs on any value change.
1050
859
  * @option
@@ -1052,7 +861,6 @@ Abide.defaults = {
1052
861
  * @default false
1053
862
  */
1054
863
  liveValidate: false,
1055
-
1056
864
  /**
1057
865
  * Set to true to validate inputs on blur.
1058
866
  * @option
@@ -1062,6 +870,7 @@ Abide.defaults = {
1062
870
  validateOnBlur: false,
1063
871
  patterns: {
1064
872
  alpha: /^[a-zA-Z]+$/,
873
+ // eslint-disable-next-line camelcase
1065
874
  alpha_numeric: /^[a-zA-Z0-9]+$/,
1066
875
  integer: /^[-+]?\d+$/,
1067
876
  number: /^[-+]?\d*(?:[\.\,]\d+)?$/,
@@ -1083,29 +892,28 @@ Abide.defaults = {
1083
892
  time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
1084
893
  dateISO: /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
1085
894
  // MM/DD/YYYY
895
+ // eslint-disable-next-line camelcase
1086
896
  month_day_year: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
1087
897
  // DD/MM/YYYY
898
+ // eslint-disable-next-line camelcase
1088
899
  day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
1089
900
  // #FFF or #FFFFFF
1090
901
  color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,
1091
902
  // Domain || URL
1092
903
  website: {
1093
904
  test: function test(text) {
1094
- return Abide.defaults.patterns['domain'].test(text) || Abide.defaults.patterns['url'].test(text);
905
+ return Abide.defaults.patterns.domain.test(text) || Abide.defaults.patterns.url.test(text);
1095
906
  }
1096
907
  }
1097
908
  },
1098
-
1099
909
  /**
1100
910
  * Optional validation functions to be used. `equalTo` being the only default included function.
1101
911
  * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
1102
912
  * el : The jQuery element to validate.
1103
- * required : Boolean value of the required attribute be present or not.
1104
- * parent : The direct parent of the input.
1105
913
  * @option
1106
914
  */
1107
915
  validators: {
1108
- equalTo: function equalTo(el, required, parent) {
916
+ equalTo: function equalTo(el) {
1109
917
  return jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(el.attr('data-equalto'))).val() === el.val();
1110
918
  }
1111
919
  }
@@ -1114,15 +922,13 @@ Abide.defaults = {
1114
922
 
1115
923
  /***/ }),
1116
924
 
1117
- /***/ 0:
1118
- /*!******************************************************!*\
1119
- !*** multi ./js/entries/plugins/foundation.abide.js ***!
1120
- \******************************************************/
1121
- /*! no static exports found */
1122
- /***/ (function(module, exports, __webpack_require__) {
1123
-
1124
- module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.abide.js */"./js/entries/plugins/foundation.abide.js");
925
+ /***/ "./foundation.core":
926
+ /*!****************************************************************************************************************************************************************!*\
927
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core","commonjs":"./foundation.core","commonjs2":"./foundation.core"} ***!
928
+ \****************************************************************************************************************************************************************/
929
+ /***/ (function(module) {
1125
930
 
931
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;
1126
932
 
1127
933
  /***/ }),
1128
934
 
@@ -1130,13 +936,101 @@ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundatio
1130
936
  /*!********************************************************************************************!*\
1131
937
  !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
1132
938
  \********************************************************************************************/
1133
- /*! no static exports found */
1134
- /***/ (function(module, exports) {
939
+ /***/ (function(module) {
1135
940
 
1136
941
  module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;
1137
942
 
1138
943
  /***/ })
1139
944
 
1140
- /******/ });
945
+ /******/ });
946
+ /************************************************************************/
947
+ /******/ // The module cache
948
+ /******/ var __webpack_module_cache__ = {};
949
+ /******/
950
+ /******/ // The require function
951
+ /******/ function __webpack_require__(moduleId) {
952
+ /******/ // Check if module is in cache
953
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
954
+ /******/ if (cachedModule !== undefined) {
955
+ /******/ return cachedModule.exports;
956
+ /******/ }
957
+ /******/ // Create a new module (and put it into the cache)
958
+ /******/ var module = __webpack_module_cache__[moduleId] = {
959
+ /******/ // no module.id needed
960
+ /******/ // no module.loaded needed
961
+ /******/ exports: {}
962
+ /******/ };
963
+ /******/
964
+ /******/ // Execute the module function
965
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
966
+ /******/
967
+ /******/ // Return the exports of the module
968
+ /******/ return module.exports;
969
+ /******/ }
970
+ /******/
971
+ /************************************************************************/
972
+ /******/ /* webpack/runtime/compat get default export */
973
+ /******/ !function() {
974
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
975
+ /******/ __webpack_require__.n = function(module) {
976
+ /******/ var getter = module && module.__esModule ?
977
+ /******/ function() { return module['default']; } :
978
+ /******/ function() { return module; };
979
+ /******/ __webpack_require__.d(getter, { a: getter });
980
+ /******/ return getter;
981
+ /******/ };
982
+ /******/ }();
983
+ /******/
984
+ /******/ /* webpack/runtime/define property getters */
985
+ /******/ !function() {
986
+ /******/ // define getter functions for harmony exports
987
+ /******/ __webpack_require__.d = function(exports, definition) {
988
+ /******/ for(var key in definition) {
989
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
990
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
991
+ /******/ }
992
+ /******/ }
993
+ /******/ };
994
+ /******/ }();
995
+ /******/
996
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
997
+ /******/ !function() {
998
+ /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
999
+ /******/ }();
1000
+ /******/
1001
+ /******/ /* webpack/runtime/make namespace object */
1002
+ /******/ !function() {
1003
+ /******/ // define __esModule on exports
1004
+ /******/ __webpack_require__.r = function(exports) {
1005
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
1006
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1007
+ /******/ }
1008
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
1009
+ /******/ };
1010
+ /******/ }();
1011
+ /******/
1012
+ /************************************************************************/
1013
+ var __webpack_exports__ = {};
1014
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
1015
+ !function() {
1016
+ /*!************************************************!*\
1017
+ !*** ./js/entries/plugins/foundation.abide.js ***!
1018
+ \************************************************/
1019
+ __webpack_require__.r(__webpack_exports__);
1020
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1021
+ /* harmony export */ Abide: function() { return /* reexport safe */ _foundation_abide__WEBPACK_IMPORTED_MODULE_1__.Abide; },
1022
+ /* harmony export */ Foundation: function() { return /* reexport safe */ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation; }
1023
+ /* harmony export */ });
1024
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
1025
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
1026
+ /* harmony import */ var _foundation_abide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.abide */ "./js/foundation.abide.js");
1027
+
1028
+
1029
+ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation.plugin(_foundation_abide__WEBPACK_IMPORTED_MODULE_1__.Abide, 'Abide');
1030
+
1031
+ }();
1032
+ /******/ return __webpack_exports__;
1033
+ /******/ })()
1034
+ ;
1141
1035
  });
1142
1036
  //# sourceMappingURL=foundation.abide.js.map