“use strict”;!function(e){function n(e){var n={};for(var t in e)n[e]=e;return n}var t={9:“TAB”,13:“ENTER”,27:“ESCAPE”,32:“SPACE”,37:“ARROW_LEFT”,38:“ARROW_UP”,39:“ARROW_RIGHT”,40:“ARROW_DOWN”},o={},r={keys:n(t),parseKey:function(e){var n=t||String.fromCharCode(e.which).toUpperCase();return n=n.replace(/W+/,“”),e.shiftKey&&(n=“SHIFT_”+n),e.ctrlKey&&(n=“CTRL_”+n),e.altKey&&(n=“ALT_”+n),n=n.replace(/_$/,“”)},handleKey:function(n,t,r){var a,i,d,f=o,u=this.parseKey(n);if(!f)return console.warn(“Component not defined!”);if(a=“undefined”==typeof f.ltr?f:Foundation.rtl()?e.extend({},f.ltr,f.rtl):e.extend({},f.rtl,f.ltr),i=a,d=r,d&&“function”==typeof d){var l=d.apply();(r.handled||“function”==typeof r.handled)&&r.handled(l)}else(r.unhandled||“function”==typeof r.unhandled)&&r.unhandled()},findFocusable:function(n){return!!n&&n.find(“a, area, input:not(), select:not(), textarea:not(), button:not(), iframe, object, embed, *[tabindex], *[contenteditable]”).filter(function(){return!(!e(this).is(“:visible”)||e(this).attr(“tabindex”)<0)})},register:function(e,n){o=n},trapFocus:function(e){var n=Foundation.Keyboard.findFocusable(e),t=n.eq(0),o=n.eq(-1);e.on(“keydown.zf.trapfocus”,function(e){e.target===o&&“TAB”===Foundation.Keyboard.parseKey(e)?(e.preventDefault(),t.focus()):e.target===t&&“SHIFT_TAB”===Foundation.Keyboard.parseKey(e)&&(e.preventDefault(),o.focus())})},releaseFocus:function(e){e.off(“keydown.zf.trapfocus”)}};Foundation.Keyboard=r}(jQuery);