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,142 +4,24 @@
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.util.keyboard"] = 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.util.keyboard"] = 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 = 23);
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.util.keyboard.js":
111
- /*!********************************************************!*\
112
- !*** ./js/entries/plugins/foundation.util.keyboard.js ***!
113
- \********************************************************/
114
- /*! exports provided: Foundation, Keyboard */
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_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.keyboard */ "./js/foundation.util.keyboard.js");
124
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Keyboard", function() { return _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"]; });
125
-
126
-
127
-
128
- _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].Keyboard = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"];
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.util.keyboard.js":
134
16
  /*!****************************************!*\
135
17
  !*** ./js/foundation.util.keyboard.js ***!
136
18
  \****************************************/
137
- /*! exports provided: Keyboard */
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__, "Keyboard", function() { return Keyboard; });
22
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ Keyboard: function() { return /* binding */ Keyboard; }
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
27
  /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core");
@@ -154,7 +36,6 @@ __webpack_require__.r(__webpack_exports__);
154
36
 
155
37
 
156
38
 
157
-
158
39
  var keyCodes = {
159
40
  9: 'TAB',
160
41
  13: 'ENTER',
@@ -167,38 +48,60 @@ var keyCodes = {
167
48
  39: 'ARROW_RIGHT',
168
49
  40: 'ARROW_DOWN'
169
50
  };
170
- var commands = {}; // Functions pulled out to be referenceable from internals
51
+ var commands = {};
171
52
 
53
+ // Functions pulled out to be referenceable from internals
172
54
  function findFocusable($element) {
173
55
  if (!$element) {
174
56
  return false;
175
57
  }
176
-
177
58
  return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {
178
59
  if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':visible') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('tabindex') < 0) {
179
60
  return false;
180
61
  } //only have visible elements and those that have a tabindex greater or equal 0
181
-
182
-
183
62
  return true;
63
+ }).sort(function (a, b) {
64
+ if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') === jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex')) {
65
+ return 0;
66
+ }
67
+ var aTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex'), 10),
68
+ bTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex'), 10);
69
+ // Undefined is treated the same as 0
70
+ if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') === 'undefined' && bTabIndex > 0) {
71
+ return 1;
72
+ }
73
+ if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex') === 'undefined' && aTabIndex > 0) {
74
+ return -1;
75
+ }
76
+ if (aTabIndex === 0 && bTabIndex > 0) {
77
+ return 1;
78
+ }
79
+ if (bTabIndex === 0 && aTabIndex > 0) {
80
+ return -1;
81
+ }
82
+ if (aTabIndex < bTabIndex) {
83
+ return -1;
84
+ }
85
+ if (aTabIndex > bTabIndex) {
86
+ return 1;
87
+ }
184
88
  });
185
89
  }
186
-
187
90
  function parseKey(event) {
188
- var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events
91
+ var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
189
92
 
93
+ // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events
190
94
  key = key.replace(/\W+/, '');
191
95
  if (event.shiftKey) key = "SHIFT_".concat(key);
192
96
  if (event.ctrlKey) key = "CTRL_".concat(key);
193
- if (event.altKey) key = "ALT_".concat(key); // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)
97
+ if (event.altKey) key = "ALT_".concat(key);
194
98
 
99
+ // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)
195
100
  key = key.replace(/_$/, '');
196
101
  return key;
197
102
  }
198
-
199
103
  var Keyboard = {
200
104
  keys: getKeyCodes(keyCodes),
201
-
202
105
  /**
203
106
  * Parses the (keyboard) event and returns a String that represents its key
204
107
  * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
@@ -206,7 +109,6 @@ var Keyboard = {
206
109
  * @return String key - String that represents the key pressed
207
110
  */
208
111
  parseKey: parseKey,
209
-
210
112
  /**
211
113
  * Handles the given (keyboard) event
212
114
  * @param {Event} event - the event generated by the event handler
@@ -215,29 +117,32 @@ var Keyboard = {
215
117
  */
216
118
  handleKey: function handleKey(event, component, functions) {
217
119
  var commandList = commands[component],
218
- keyCode = this.parseKey(event),
219
- cmds,
220
- command,
221
- fn;
222
- if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled
120
+ keyCode = this.parseKey(event),
121
+ cmds,
122
+ command,
123
+ fn;
124
+ if (!commandList) return console.warn('Component not defined!');
223
125
 
224
- if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl
126
+ // Ignore the event if it was already handled
127
+ if (event.zfIsKeyHandled === true) return;
225
128
 
129
+ // This component does not differentiate between ltr and rtl
226
130
  if (typeof commandList.ltr === 'undefined') {
227
131
  cmds = commandList; // use plain list
228
132
  } else {
229
133
  // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
230
- if (Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["rtl"])()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.rtl, commandList.ltr);
134
+ if ((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.rtl)()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, commandList.rtl, commandList.ltr);
231
135
  }
232
-
233
136
  command = cmds[keyCode];
234
- fn = functions[command]; // Execute the handler if found
235
-
137
+ fn = functions[command];
138
+ // Execute the handler if found
236
139
  if (fn && typeof fn === 'function') {
237
- var returnValue = fn.apply(); // Mark the event as "handled" to prevent future handlings
140
+ var returnValue = fn.apply();
238
141
 
239
- event.zfIsKeyHandled = true; // Execute function when event was handled
142
+ // Mark the event as "handled" to prevent future handlings
143
+ event.zfIsKeyHandled = true;
240
144
 
145
+ // Execute function when event was handled
241
146
  if (functions.handled || typeof functions.handled === 'function') {
242
147
  functions.handled(returnValue);
243
148
  }
@@ -248,14 +153,13 @@ var Keyboard = {
248
153
  }
249
154
  }
250
155
  },
251
-
252
156
  /**
253
157
  * Finds all focusable elements within the given `$element`
254
158
  * @param {jQuery} $element - jQuery object to search within
255
159
  * @return {jQuery} $focusable - all focusable elements within `$element`
256
160
  */
257
- findFocusable: findFocusable,
258
161
 
162
+ findFocusable: findFocusable,
259
163
  /**
260
164
  * Returns the component name name
261
165
  * @param {Object} component - Foundation component, e.g. Slider or Reveal
@@ -266,15 +170,14 @@ var Keyboard = {
266
170
  },
267
171
  // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?
268
172
  //
269
-
270
173
  /**
271
174
  * Traps the focus in the given element.
272
175
  * @param {jQuery} $element jQuery object to trap the foucs into.
273
176
  */
274
177
  trapFocus: function trapFocus($element) {
275
178
  var $focusable = findFocusable($element),
276
- $firstFocusable = $focusable.eq(0),
277
- $lastFocusable = $focusable.eq(-1);
179
+ $firstFocusable = $focusable.eq(0),
180
+ $lastFocusable = $focusable.eq(-1);
278
181
  $element.on('keydown.zf.trapfocus', function (event) {
279
182
  if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {
280
183
  event.preventDefault();
@@ -285,7 +188,6 @@ var Keyboard = {
285
188
  }
286
189
  });
287
190
  },
288
-
289
191
  /**
290
192
  * Releases the trapped focus from the given element.
291
193
  * @param {jQuery} $element jQuery object to release the focus for.
@@ -294,34 +196,29 @@ var Keyboard = {
294
196
  $element.off('keydown.zf.trapfocus');
295
197
  }
296
198
  };
199
+
297
200
  /*
298
201
  * Constants for easier comparing.
299
202
  * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
300
203
  */
301
-
302
204
  function getKeyCodes(kcs) {
303
205
  var k = {};
304
-
305
206
  for (var kc in kcs) {
306
- k[kcs[kc]] = kcs[kc];
207
+ if (kcs.hasOwnProperty(kc)) k[kcs[kc]] = kcs[kc];
307
208
  }
308
-
309
209
  return k;
310
210
  }
311
211
 
312
212
 
313
-
314
213
  /***/ }),
315
214
 
316
- /***/ 23:
317
- /*!**************************************************************!*\
318
- !*** multi ./js/entries/plugins/foundation.util.keyboard.js ***!
319
- \**************************************************************/
320
- /*! no static exports found */
321
- /***/ (function(module, exports, __webpack_require__) {
322
-
323
- module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.keyboard.js */"./js/entries/plugins/foundation.util.keyboard.js");
215
+ /***/ "./foundation.core":
216
+ /*!****************************************************************************************************************************************************************!*\
217
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core","commonjs":"./foundation.core","commonjs2":"./foundation.core"} ***!
218
+ \****************************************************************************************************************************************************************/
219
+ /***/ (function(module) {
324
220
 
221
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;
325
222
 
326
223
  /***/ }),
327
224
 
@@ -329,13 +226,101 @@ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundatio
329
226
  /*!********************************************************************************************!*\
330
227
  !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
331
228
  \********************************************************************************************/
332
- /*! no static exports found */
333
- /***/ (function(module, exports) {
229
+ /***/ (function(module) {
334
230
 
335
231
  module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;
336
232
 
337
233
  /***/ })
338
234
 
339
- /******/ });
235
+ /******/ });
236
+ /************************************************************************/
237
+ /******/ // The module cache
238
+ /******/ var __webpack_module_cache__ = {};
239
+ /******/
240
+ /******/ // The require function
241
+ /******/ function __webpack_require__(moduleId) {
242
+ /******/ // Check if module is in cache
243
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
244
+ /******/ if (cachedModule !== undefined) {
245
+ /******/ return cachedModule.exports;
246
+ /******/ }
247
+ /******/ // Create a new module (and put it into the cache)
248
+ /******/ var module = __webpack_module_cache__[moduleId] = {
249
+ /******/ // no module.id needed
250
+ /******/ // no module.loaded needed
251
+ /******/ exports: {}
252
+ /******/ };
253
+ /******/
254
+ /******/ // Execute the module function
255
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
256
+ /******/
257
+ /******/ // Return the exports of the module
258
+ /******/ return module.exports;
259
+ /******/ }
260
+ /******/
261
+ /************************************************************************/
262
+ /******/ /* webpack/runtime/compat get default export */
263
+ /******/ !function() {
264
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
265
+ /******/ __webpack_require__.n = function(module) {
266
+ /******/ var getter = module && module.__esModule ?
267
+ /******/ function() { return module['default']; } :
268
+ /******/ function() { return module; };
269
+ /******/ __webpack_require__.d(getter, { a: getter });
270
+ /******/ return getter;
271
+ /******/ };
272
+ /******/ }();
273
+ /******/
274
+ /******/ /* webpack/runtime/define property getters */
275
+ /******/ !function() {
276
+ /******/ // define getter functions for harmony exports
277
+ /******/ __webpack_require__.d = function(exports, definition) {
278
+ /******/ for(var key in definition) {
279
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
280
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
281
+ /******/ }
282
+ /******/ }
283
+ /******/ };
284
+ /******/ }();
285
+ /******/
286
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
287
+ /******/ !function() {
288
+ /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
289
+ /******/ }();
290
+ /******/
291
+ /******/ /* webpack/runtime/make namespace object */
292
+ /******/ !function() {
293
+ /******/ // define __esModule on exports
294
+ /******/ __webpack_require__.r = function(exports) {
295
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
296
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
297
+ /******/ }
298
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
299
+ /******/ };
300
+ /******/ }();
301
+ /******/
302
+ /************************************************************************/
303
+ var __webpack_exports__ = {};
304
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
305
+ !function() {
306
+ /*!********************************************************!*\
307
+ !*** ./js/entries/plugins/foundation.util.keyboard.js ***!
308
+ \********************************************************/
309
+ __webpack_require__.r(__webpack_exports__);
310
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
311
+ /* harmony export */ Foundation: function() { return /* reexport safe */ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation; },
312
+ /* harmony export */ Keyboard: function() { return /* reexport safe */ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard; }
313
+ /* harmony export */ });
314
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
315
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
316
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.keyboard */ "./js/foundation.util.keyboard.js");
317
+
318
+
319
+ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation.Keyboard = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard;
320
+
321
+ }();
322
+ /******/ return __webpack_exports__;
323
+ /******/ })()
324
+ ;
340
325
  });
341
326
  //# sourceMappingURL=foundation.util.keyboard.js.map
@@ -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.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Keyboard","keyCodes","commands","findFocusable","$element","find","filter","$","is","attr","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","ctrlKey","altKey","keys","getKeyCodes","handleKey","component","functions","commandList","cmds","command","fn","console","warn","zfIsKeyHandled","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","kcs","k","kc"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEAA,2DAAU,CAACC,QAAX,GAAsBA,kEAAtB;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;AAQa;;AAEb;AACA;AAEA,IAAMC,QAAQ,GAAG;AACf,KAAG,KADY;AAEf,MAAI,OAFW;AAGf,MAAI,QAHW;AAIf,MAAI,OAJW;AAKf,MAAI,KALW;AAMf,MAAI,MANW;AAOf,MAAI,YAPW;AAQf,MAAI,UARW;AASf,MAAI,aATW;AAUf,MAAI;AAVW,CAAjB;AAaA,IAAIC,QAAQ,GAAG,EAAf,C,CAEA;;AACA,SAASC,aAAT,CAAuBC,QAAvB,EAAiC;AAC/B,MAAG,CAACA,QAAJ,EAAc;AAAC,WAAO,KAAP;AAAe;;AAC9B,SAAOA,QAAQ,CAACC,IAAT,CAAc,8KAAd,EAA8LC,MAA9L,CAAqM,YAAW;AACrN,QAAI,CAACC,6CAAC,CAAC,IAAD,CAAD,CAAQC,EAAR,CAAW,UAAX,CAAD,IAA2BD,6CAAC,CAAC,IAAD,CAAD,CAAQE,IAAR,CAAa,UAAb,IAA2B,CAA1D,EAA6D;AAAE,aAAO,KAAP;AAAe,KADuI,CACtI;;;AAC/E,WAAO,IAAP;AACD,GAHM,CAAP;AAID;;AAED,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AACvB,MAAIC,GAAG,GAAGX,QAAQ,CAACU,KAAK,CAACE,KAAN,IAAeF,KAAK,CAACG,OAAtB,CAAR,IAA0CC,MAAM,CAACC,YAAP,CAAoBL,KAAK,CAACE,KAA1B,EAAiCI,WAAjC,EAApD,CADuB,CAGvB;;AACAL,KAAG,GAAGA,GAAG,CAACM,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAN;AAEA,MAAIP,KAAK,CAACQ,QAAV,EAAoBP,GAAG,mBAAYA,GAAZ,CAAH;AACpB,MAAID,KAAK,CAACS,OAAV,EAAmBR,GAAG,kBAAWA,GAAX,CAAH;AACnB,MAAID,KAAK,CAACU,MAAV,EAAkBT,GAAG,iBAAUA,GAAV,CAAH,CARK,CAUvB;;AACAA,KAAG,GAAGA,GAAG,CAACM,OAAJ,CAAY,IAAZ,EAAkB,EAAlB,CAAN;AAEA,SAAON,GAAP;AACD;;AAED,IAAIZ,QAAQ,GAAG;AACbsB,MAAI,EAAEC,WAAW,CAACtB,QAAD,CADJ;;AAGb;;;;;;AAMAS,UAAQ,EAAEA,QATG;;AAWb;;;;;;AAMAc,WAjBa,qBAiBHb,KAjBG,EAiBIc,SAjBJ,EAiBeC,SAjBf,EAiB0B;AACrC,QAAIC,WAAW,GAAGzB,QAAQ,CAACuB,SAAD,CAA1B;AAAA,QACEX,OAAO,GAAG,KAAKJ,QAAL,CAAcC,KAAd,CADZ;AAAA,QAEEiB,IAFF;AAAA,QAGEC,OAHF;AAAA,QAIEC,EAJF;AAMA,QAAI,CAACH,WAAL,EAAkB,OAAOI,OAAO,CAACC,IAAR,CAAa,wBAAb,CAAP,CAPmB,CASrC;;AACA,QAAIrB,KAAK,CAACsB,cAAN,KAAyB,IAA7B,EAAmC,OAVE,CAYrC;;AACA,QAAI,OAAON,WAAW,CAACO,GAAnB,KAA2B,WAA/B,EAA4C;AACxCN,UAAI,GAAGD,WAAP,CADwC,CACpB;AACvB,KAFD,MAEO;AAAE;AACL,UAAIQ,kEAAG,EAAP,EAAWP,IAAI,GAAGrB,6CAAC,CAAC6B,MAAF,CAAS,EAAT,EAAaT,WAAW,CAACO,GAAzB,EAA8BP,WAAW,CAACU,GAA1C,CAAP,CAAX,KAEKT,IAAI,GAAGrB,6CAAC,CAAC6B,MAAF,CAAS,EAAT,EAAaT,WAAW,CAACU,GAAzB,EAA8BV,WAAW,CAACO,GAA1C,CAAP;AACR;;AACDL,WAAO,GAAGD,IAAI,CAACd,OAAD,CAAd;AAEAgB,MAAE,GAAGJ,SAAS,CAACG,OAAD,CAAd,CAtBqC,CAuBpC;;AACD,QAAIC,EAAE,IAAI,OAAOA,EAAP,KAAc,UAAxB,EAAoC;AAClC,UAAIQ,WAAW,GAAGR,EAAE,CAACS,KAAH,EAAlB,CADkC,CAGlC;;AACA5B,WAAK,CAACsB,cAAN,GAAuB,IAAvB,CAJkC,CAMlC;;AACA,UAAIP,SAAS,CAACc,OAAV,IAAqB,OAAOd,SAAS,CAACc,OAAjB,KAA6B,UAAtD,EAAkE;AAC9Dd,iBAAS,CAACc,OAAV,CAAkBF,WAAlB;AACH;AACF,KAVD,MAUO;AACJ;AACD,UAAIZ,SAAS,CAACe,SAAV,IAAuB,OAAOf,SAAS,CAACe,SAAjB,KAA+B,UAA1D,EAAsE;AAClEf,iBAAS,CAACe,SAAV;AACH;AACF;AACF,GAzDY;;AA2Db;;;;;AAMAtC,eAAa,EAAEA,aAjEF;;AAmEb;;;;;AAMAuC,UAzEa,oBAyEJC,aAzEI,EAyEWf,IAzEX,EAyEiB;AAC5B1B,YAAQ,CAACyC,aAAD,CAAR,GAA0Bf,IAA1B;AACD,GA3EY;AA8Eb;AACA;;AACA;;;;AAIAgB,WApFa,qBAoFHxC,QApFG,EAoFO;AAClB,QAAIyC,UAAU,GAAG1C,aAAa,CAACC,QAAD,CAA9B;AAAA,QACI0C,eAAe,GAAGD,UAAU,CAACE,EAAX,CAAc,CAAd,CADtB;AAAA,QAEIC,cAAc,GAAGH,UAAU,CAACE,EAAX,CAAc,CAAC,CAAf,CAFrB;AAIA3C,YAAQ,CAAC6C,EAAT,CAAY,sBAAZ,EAAoC,UAAStC,KAAT,EAAgB;AAClD,UAAIA,KAAK,CAACuC,MAAN,KAAiBF,cAAc,CAAC,CAAD,CAA/B,IAAsCtC,QAAQ,CAACC,KAAD,CAAR,KAAoB,KAA9D,EAAqE;AACnEA,aAAK,CAACwC,cAAN;AACAL,uBAAe,CAACM,KAAhB;AACD,OAHD,MAIK,IAAIzC,KAAK,CAACuC,MAAN,KAAiBJ,eAAe,CAAC,CAAD,CAAhC,IAAuCpC,QAAQ,CAACC,KAAD,CAAR,KAAoB,WAA/D,EAA4E;AAC/EA,aAAK,CAACwC,cAAN;AACAH,sBAAc,CAACI,KAAf;AACD;AACF,KATD;AAUD,GAnGY;;AAoGb;;;;AAIAC,cAxGa,wBAwGAjD,QAxGA,EAwGU;AACrBA,YAAQ,CAACkD,GAAT,CAAa,sBAAb;AACD;AA1GY,CAAf;AA6GA;;;;;AAIA,SAAS/B,WAAT,CAAqBgC,GAArB,EAA0B;AACxB,MAAIC,CAAC,GAAG,EAAR;;AACA,OAAK,IAAIC,EAAT,IAAeF,GAAf;AAAoBC,KAAC,CAACD,GAAG,CAACE,EAAD,CAAJ,CAAD,GAAaF,GAAG,CAACE,EAAD,CAAhB;AAApB;;AACA,SAAOD,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;AC1KD,oD","file":"foundation.util.keyboard.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.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = 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 = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
1
+ {"version":3,"file":"foundation.util.keyboard.js","mappings":"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","sources":["webpack://__FOUNDATION_EXTERNAL__/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__/./js/foundation.util.keyboard.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.util.keyboard.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.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n })\n .sort( function( a, b ) {\n if ($(a).attr('tabindex') === $(b).attr('tabindex')) {\n return 0;\n }\n let aTabIndex = parseInt($(a).attr('tabindex'), 10),\n bTabIndex = parseInt($(b).attr('tabindex'), 10);\n // Undefined is treated the same as 0\n if (typeof $(a).attr('tabindex') === 'undefined' && bTabIndex > 0) {\n return 1;\n }\n if (typeof $(b).attr('tabindex') === 'undefined' && aTabIndex > 0) {\n return -1;\n }\n if (aTabIndex === 0 && bTabIndex > 0) {\n return 1;\n }\n if (bTabIndex === 0 && aTabIndex > 0) {\n return -1;\n }\n if (aTabIndex < bTabIndex) {\n return -1;\n }\n if (aTabIndex > bTabIndex) {\n return 1;\n }\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) {\n if (kcs.hasOwnProperty(kc)) k[kcs[kc]] = kcs[kc];\n }\n return k;\n}\n\nexport {Keyboard};\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';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n"],"names":["$","rtl","Rtl","keyCodes","commands","findFocusable","$element","find","filter","is","attr","sort","a","b","aTabIndex","parseInt","bTabIndex","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","concat","ctrlKey","altKey","Keyboard","keys","getKeyCodes","handleKey","component","functions","commandList","cmds","command","fn","console","warn","zfIsKeyHandled","ltr","extend","returnValue","apply","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","kcs","k","kc","hasOwnProperty","Foundation"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.keyboard"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(t,o){return i={},r.m=u={"./foundation.core":function(e,n){e.exports=t},"./js/entries/plugins/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n);var o=t("./foundation.core");t.d(n,"Foundation",function(){return o.Foundation});var r=t("./js/foundation.util.keyboard.js");t.d(n,"Keyboard",function(){return r.Keyboard}),o.Foundation.Keyboard=r.Keyboard},"./js/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n),t.d(n,"Keyboard",function(){return c});var o=t("jquery"),a=t.n(o),f=t("./foundation.core"),r={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},d={};function u(e){return!!e&&e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!a()(this).is(":visible")||a()(this).attr("tabindex")<0)})}function i(e){var n=r[e.which||e.keyCode]||String.fromCharCode(e.which).toUpperCase();return n=n.replace(/\W+/,""),e.shiftKey&&(n="SHIFT_".concat(n)),e.ctrlKey&&(n="CTRL_".concat(n)),e.altKey&&(n="ALT_".concat(n)),n=n.replace(/_$/,"")}var c={keys:function(e){var n={};for(var t in e)n[e[t]]=e[t];return n}(r),parseKey:i,handleKey:function(e,n,t){var o,r=d[n],u=this.parseKey(e);if(!r)return console.warn("Component not defined!");if(!0!==e.zfIsKeyHandled)if((o=t[(void 0===r.ltr?r:Object(f.rtl)()?a.a.extend({},r.ltr,r.rtl):a.a.extend({},r.rtl,r.ltr))[u]])&&"function"==typeof o){var i=o.apply();e.zfIsKeyHandled=!0,!t.handled&&"function"!=typeof t.handled||t.handled(i)}else!t.unhandled&&"function"!=typeof t.unhandled||t.unhandled()},findFocusable:u,register:function(e,n){d[e]=n},trapFocus:function(e){var n=u(e),t=n.eq(0),o=n.eq(-1);e.on("keydown.zf.trapfocus",function(e){e.target===o[0]&&"TAB"===i(e)?(e.preventDefault(),t.focus()):e.target===t[0]&&"SHIFT_TAB"===i(e)&&(e.preventDefault(),o.focus())})},releaseFocus:function(e){e.off("keydown.zf.trapfocus")}}},23:function(e,n,t){e.exports=t("./js/entries/plugins/foundation.util.keyboard.js")},jquery:function(e,n){e.exports=o}},r.c=i,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)r.d(t,o,function(e){return n[e]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=23);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i});
1
+ ((e,t)=>{"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports.__FOUNDATION_EXTERNAL__=t(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))})(self,function(t,n){return r={"./js/foundation.util.keyboard.js":function(e,t,n){n.r(t),n.d(t,{Keyboard:function(){return f}});var t=n("jquery"),r=n.n(t),a=n("./foundation.core"),o={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},i={};function u(e){return!!e&&e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!r()(this).is(":visible")||r()(this).attr("tabindex")<0)}).sort(function(e,t){var n,o;return r()(e).attr("tabindex")===r()(t).attr("tabindex")?0:(n=parseInt(r()(e).attr("tabindex"),10),o=parseInt(r()(t).attr("tabindex"),10),void 0===r()(e).attr("tabindex")&&0<o?1:void 0===r()(t).attr("tabindex")&&0<n?-1:0===n&&0<o?1:0===o&&0<n||n<o?-1:o<n?1:void 0)})}function d(e){var t=(t=o[e.which||e.keyCode]||String.fromCharCode(e.which).toUpperCase()).replace(/\W+/,"");return e.shiftKey&&(t="SHIFT_".concat(t)),e.ctrlKey&&(t="CTRL_".concat(t)),t=(t=e.altKey?"ALT_".concat(t):t).replace(/_$/,"")}var f={keys:(e=>{var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[e[t]]=e[t]);return n})(o),parseKey:d,handleKey:function(e,t,n){var t=i[t],o=this.parseKey(e);if(!t)return console.warn("Component not defined!");!0!==e.zfIsKeyHandled&&((t=n[(void 0===t.ltr?t:(0,a.rtl)()?r().extend({},t.ltr,t.rtl):r().extend({},t.rtl,t.ltr))[o]])&&"function"==typeof t?(o=t.apply(),e.zfIsKeyHandled=!0,!n.handled&&"function"!=typeof n.handled||n.handled(o)):!n.unhandled&&"function"!=typeof n.unhandled||n.unhandled())},findFocusable:u,register:function(e,t){i[e]=t},trapFocus:function(e){var t=u(e),n=t.eq(0),o=t.eq(-1);e.on("keydown.zf.trapfocus",function(e){e.target===o[0]&&"TAB"===d(e)?(e.preventDefault(),n.focus()):e.target===n[0]&&"SHIFT_TAB"===d(e)&&(e.preventDefault(),o.focus())})},releaseFocus:function(e){e.off("keydown.zf.trapfocus")}}},"./foundation.core":function(e){e.exports=t},jquery:function(e){e.exports=n}},a={},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u={},(o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(u),o.d(u,{Foundation:function(){return e.Foundation},Keyboard:function(){return i.Keyboard}}),e=o("./foundation.core"),i=o("./js/foundation.util.keyboard.js"),e.Foundation.Keyboard=i.Keyboard,u;function o(e){var t=a[e];return void 0!==t||(t=a[e]={exports:{}},r[e](t,t.exports,o)),t.exports}var r,a,e,i,u});
2
2
  //# sourceMappingURL=foundation.util.keyboard.min.js.map