"use strict";var ModalTabFocus=function(){function o(e){var t="Tab"===e.key||9===e.keyCode,n="Enter"===e.key||13===e.keyCode,i=" "===e.key||32===e.keyCode,o="Escape"===e.key||27===e.keyCode;if(o&&u)u.click();else if((n||i)&&u&&f&&0<f.filter(function(e){return $(":focus").hasClass(e)}).length&&u.click(),t){if(e.shiftKey)for(;--s<0&&(s=l.length-1),"none"===window.getComputedStyle(l[s]).display||"hidden"===window.getComputedStyle(l[s]).visibility;);else for(;++s>l.length-1&&(s=0),"none"===window.getComputedStyle(l[s]).display||"hidden"===window.getComputedStyle(l[s]).visibility;);l[s].focus(),e.preventDefault()}}var d,l,s,u,f;return{init:function(e,t,n,i){d=$(e),$(document).on("keydown",o),$(e+" "+t).focus(),u=n&&""!==n.trim()?$(n):void 0,f=i&&0<i.length?i:void 0},setFocusableElements:function(e){s=-1,l=d.find(e)},removeEventListeners:function(){$(document).off("keydown",o)}}}();