-
Notifications
You must be signed in to change notification settings - Fork 3
/
polyfills.min.js
1 lines (1 loc) · 3.39 KB
/
polyfills.min.js
1
this.Element&&Element.prototype.attachEvent&&!Element.prototype.addEventListener&&function(){function t(t,e){Window.prototype[t]=HTMLDocument.prototype[t]=Element.prototype[t]=e}function e(){e.interval&&document.body&&(e.interval=clearInterval(e.interval),document.dispatchEvent(new CustomEvent("DOMContentLoaded")))}t("addEventListener",function(t,e){var n=this,i=n.addEventListener.listeners=n.addEventListener.listeners||{},o=i[t]=i[t]||[];o.length||n.attachEvent("on"+t,o.event=function(t){var e=n.document&&n.document.documentElement||n.documentElement||{scrollLeft:0,scrollTop:0};t.currentTarget=n,t.pageX=t.clientX+e.scrollLeft,t.pageY=t.clientY+e.scrollTop,t.preventDefault=function(){t.returnValue=!1},t.relatedTarget=t.fromElement||null,t.stopImmediatePropagation=function(){c=!1,t.cancelBubble=!0},t.stopPropagation=function(){t.cancelBubble=!0},t.target=t.srcElement||n,t.timeStamp=+new Date;for(var i,r=0,a=[].concat(o),c=!0;c&&(i=a[r]);++r)for(var s,l=0;s=o[l];++l)if(s==i){s.call(n,t);break}}),o.push(e)}),t("removeEventListener",function(t,e){for(var n,i=this,o=i.addEventListener.listeners=i.addEventListener.listeners||{},r=o[t]=o[t]||[],a=r.length-1;n=r[a];--a)if(n==e){r.splice(a,1);break}!r.length&&r.event&&i.detachEvent("on"+t,r.event)}),t("dispatchEvent",function(t){var e=this,n=t.type,i=e.addEventListener.listeners=e.addEventListener.listeners||{},o=i[n]=i[n]||[];try{return e.fireEvent("on"+n,t)}catch(r){return void(o.event&&o.event(t))}}),Object.defineProperty(Window.prototype,"CustomEvent",{get:function(){var t=this;return function(e,n){var i,o=t.document.createEventObject();o.type=e;for(i in n)"cancelable"==i?o.returnValue=!n.cancelable:"bubbles"==i?o.cancelBubble=!n.bubbles:"detail"==i&&(o.detail=n.detail);return o}}}),e.interval=setInterval(e,1),window.addEventListener("load",e)}(),!this.CustomEvent&&function(){window.CustomEvent=function(t,e){var n;e=e||{bubbles:!1,cancelable:!1,detail:void 0};try{n=document.createEvent("CustomEvent"),n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail)}catch(i){n=document.createEvent("Event"),n.initEvent(t,e.bubbles,e.cancelable),n.detail=e.detail}return n}}(),function(){function t(t){this.el=t;for(var e=t.className.replace(/^\s+|\s+$/g,"").split(/\s+/),n=0;n<e.length;n++)i.call(this,e[n])}function e(t,e,n){Object.defineProperty?Object.defineProperty(t,e,{get:n}):t.__defineGetter__(e,n)}if(!("undefined"==typeof window.Element||"classList"in document.documentElement)){var n=Array.prototype,i=n.push,o=n.splice,r=n.join;t.prototype={add:function(t){this.contains(t)||(i.call(this,t),this.el.className=this.toString())},contains:function(t){return-1!=this.el.className.indexOf(t)},item:function(t){return this[t]||null},remove:function(t){if(this.contains(t)){for(var e=0;e<this.length&&this[e]!=t;e++);o.call(this,e,1),this.el.className=this.toString()}},toString:function(){return r.call(this," ")},toggle:function(t){return this.contains(t)?this.remove(t):this.add(t),this.contains(t)}},window.DOMTokenList=t,e(Element.prototype,"classList",function(){return new t(this)})}}(),function(){"use strict";function t(t){var e=document.createEvent("Event");e.initEvent("focus"===t.type?"focusin":"focusout",!0,!1),n=!0,t.target.dispatchEvent(e)}function e(t){n||t.stopPropagation(),n=!1}var n=!1;document.addEventListener&&(document.addEventListener("focus",t,!0),document.addEventListener("blur",t,!0),document.addEventListener("focusin",e,!0),document.addEventListener("focusout",e,!0))}();