New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

spon-draw

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spon-draw - npm Package Compare versions

Comparing version 0.0.6 to 0.1.0

2

dist/index.min.js

@@ -1,1 +0,1 @@

!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.sponDraw=n()}(this,function(){"use strict";var t=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])}return t};function n(t){if(Array.isArray(t)){for(var n=0,i=Array(t.length);n<t.length;n++)i[n]=t[n];return i}return Array.from(t)}var i=function(t,n,i){var e=!1;return new Promise(function(o){i&&i(),n.addEventListener(t,function i(o,s){if(s.stopPropagation(),n.removeEventListener(t,i),s.target===n&&!e)return e=!0,void o()}.bind(null,o),!1)})};return function e(){var o,s=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.defaults={openButton:"[data-menu-opener]",overlay:document.getElementById("site-menu"),contents:document.getElementById("menu-inner"),closeButton:"[data-menu-closer]",init:!1,buttonActiveClass:"is-active",overlayVisibleClass:"is-visible",overlayAnimationClass:"is-animating",transition:!0,animationType:"transition",name:"menu",before:null},this.FOCUSABLE_ELEMENTS=["a[href]","button:not([disabled]):not([aria-hidden]):not([data-menu-closer])"],this.isVisible=!1,this.isAnimating=!1,this.isInitialized=!1,this.setOptions=function(n){return s.options=t({},s.options,n),s},this._before=function(t){var n=s.options.before;return"function"==typeof n?new Promise(function(i){n(t,i)}):Promise.resolve()},this.addEvents=function(){var t=s.dom,n=t.openButton,i=t.closeButton,e=t.contents;return n.forEach(function(t){t.addEventListener("click",s.onClick),t.addEventListener("touchstart",s.onClick)}),i.forEach(function(t){t.addEventListener("click",s.onClick),t.addEventListener("touchstart",s.onClick)}),e&&(e.addEventListener("click",s.blockClicks),e.addEventListener("touchstart",s.blockClicks)),document.addEventListener("keydown",s.onKeyDown),s},this.removeEvents=function(){var t=s.dom,n=t.openButton,i=t.closeButton,e=t.contents;return n.forEach(function(t){t.removeEventListener("click",s.onClick),t.removeEventListener("touchstart",s.onClick)}),i.forEach(function(t){t.removeEventListener("click",s.onClick),t.removeEventListener("touchstart",s.onClick)}),e&&(e.removeEventListener("click",s.blockClicks),e.removeEventListener("touchstart",s.blockClicks)),s},this.onClick=function(t){t.preventDefault(),s.isAnimating||(s.isAnimating=!0,s.$focus=document.activeElement,s.isVisible||(s.initialFocus=t.target),s._before({event:t,state:s.isVisible,dom:s.dom}).then(function(){s.isVisible?s.close():s.open()}))},this.$focus=null,this.onKeyDown=function(t){var n=t.keyCode;s.isVisible&&27===n&&s.close(),!s.isVisible&&32===n&&document.activeElement.hasAttribute("data-menu-opener")&&(s.$focus=document.activeElement,s.open())},this.blockClicks=function(t){t.stopPropagation()},this.open=function(){var t=s.options,n=t.buttonActiveClass,e=t.overlayVisibleClass,o=t.overlayAnimationClass,a=t.transition,r=s.dom,c=r.overlay,l=r.openButton,u=r.contents.querySelectorAll(s.FOCUSABLE_ELEMENTS);return u.length&&u[0].focus(),s.emit("open",{dom:s.dom}),l.forEach(function(t){t.setAttribute("aria-expanded",!0),t.classList.add(n)}),c.classList.add(e),c.setAttribute("aria-hidden",!1),a?(c.classList.add(o),i(s.animationEndEvents,c).then(s.onTransitionEnd)):(s.isVisible=!0,s.isAnimating=!1),s},this.close=function(){var t=s.dom.overlay,n=s.options.transition;return s.emit("close",{dom:s.dom}),s.reset(),s.$focus&&s.$focus.focus(),n?i(s.animationEndEvents,t).then(s.onTransitionEnd):(s.isVisible=!1,s.isAnimating=!1),s},this.reset=function(){var t=s.options,n=t.buttonActiveClass,i=t.overlayAnimationClass,e=t.overlayVisibleClass,o=s.dom,a=o.overlay;o.openButton.forEach(function(t){t.setAttribute("aria-expanded",!1),t.classList.remove(n)}),a.classList.remove(i,e),a.setAttribute("aria-hidden",!0)},this.onTransitionEnd=function(){var t=s.dom.overlay,n=s.options.overlayAnimationClass;s.isVisible=!s.isVisible,s.isAnimating=!1;var i=s.isVisible?"after:open":"after:close";s.emit(i,{dom:s.dom,state:s.isVisible}),t.classList.remove(n)},this.destroy=function(){if(s.isInitialized)return s.isInitialized=!1,s.isVisible=!1,s.isAnimating=!1,s.reset(),s.removeEvents(),s},this.init=function(){if(!s.isInitialized){s.isInitialized=!0;var t=s.options,i=t.contents,e=t.overlay,o=t.openButton,a=t.closeButton,r=t.animationType,c=t.name;s.animationEndEvents=function(){var t="transition"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transition")?{OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",transition:"transitionend"}:{OAnimation:"oAnimationEnd",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",animation:"animationend"},n=document.createElement("fake");return Object.keys(t).reduce(function(i,e){return void 0!==n.style[e]?t[e]:i},"")}(r),s.dom={html:document.getElementsByTagName("html")[0],body:document.body,openButton:[].concat(n(document.querySelectorAll(o))),closeButton:[].concat(n(document.querySelectorAll(a))),overlay:e,contents:i};var l=s.dom.openButton[0].getAttribute("id"),u=e.getAttribute("id");return s.dom.openButton.forEach(function(t){t.setAttribute("aria-expanded",!1),t.setAttribute("aria-label",c),t.setAttribute("aria-controls",u)}),e.setAttribute("aria-hidden",!0),l?e.setAttribute("aria-labelledby",l):console.warn("sponDraw: menu button should have an id"),s.addEvents(),s}},this.options=t({},this.defaults,a),this.options.init&&this.init(),Object.assign(this,(o=o||Object.create(null),{on:function(t,n){(o[t]||(o[t]=[])).push(n)},off:function(t,n){o[t]&&o[t].splice(o[t].indexOf(n)>>>0,1)},emit:function(t,n){(o[t]||[]).slice().map(function(t){t(n)}),(o["*"]||[]).slice().map(function(i){i(t,n)})}}))}});
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.sponDraw=n()}(this,function(){"use strict";var t=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t};var n=function(t,n,e){var i=!1;return new Promise(function(o){e&&e(),n.addEventListener(t,function e(o,s){if(s.stopPropagation(),n.removeEventListener(t,e),s.target===n&&!i)return i=!0,void o()}.bind(null,o),!1)})};return function e(){var i,o=this,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.defaults={openButton:"[data-menu-opener]",overlay:document.getElementById("site-menu"),contents:document.getElementById("menu-inner"),closeButton:"[data-menu-closer]",init:!1,buttonActiveClass:"is-active",overlayVisibleClass:"is-visible",overlayAnimationClass:"is-animating",transition:!0,animationType:"transition",name:"menu",before:null},this.FOCUSABLE_ELEMENTS=["a[href]","button:not([disabled]):not([aria-hidden]):not([data-menu-closer])"],this.isVisible=!1,this.isAnimating=!1,this.isInitialized=!1,this.setOptions=function(n){return o.options=t({},o.options,n),o},this._before=function(t){var n=o.options.before;return"function"==typeof n?new Promise(function(e){n(t,e)}):Promise.resolve()},this.addEvents=function(){var t=o.dom,n=t.openButton,e=t.closeButton,i=t.contents;return n.addEventListener("click",o.onClick),n.addEventListener("touchstart",o.onClick),e&&e.forEach(function(t){t.addEventListener("click",o.onClick),t.addEventListener("touchstart",o.onClick)}),i&&(i.addEventListener("click",o.blockClicks),i.addEventListener("touchstart",o.blockClicks)),document.addEventListener("keydown",o.onKeyDown),o},this.removeEvents=function(){var t=o.dom,n=t.openButton,e=t.closeButton,i=t.contents;return n.removeEventListener("click",o.onClick),n.removeEventListener("touchstart",o.onClick),e&&e.forEach(function(t){t.removeEventListener("click",o.onClick),t.removeEventListener("touchstart",o.onClick)}),i&&(i.removeEventListener("click",o.blockClicks),i.removeEventListener("touchstart",o.blockClicks)),o},this.onClick=function(t){t.preventDefault(),o.isAnimating||(o.isAnimating=!0,o.$focus=document.activeElement,o.isVisible||(o.initialFocus=t.target),o._before({event:t,state:o.isVisible,dom:o.dom}).then(function(){o.isVisible?o.close():o.open()}))},this.$focus=null,this.onKeyDown=function(t){var n=t.keyCode;o.isVisible&&27===n&&o.close(),o.isVisible||32!==n||document.activeElement!==o.dom.openButton||(o.$focus=document.activeElement,o.open())},this.blockClicks=function(t){t.stopPropagation()},this.open=function(){var t=o.options,e=t.buttonActiveClass,i=t.overlayVisibleClass,s=t.overlayAnimationClass,a=t.transition,r=o.dom,c=r.overlay,l=r.openButton,u=r.contents.querySelectorAll(o.FOCUSABLE_ELEMENTS);return u.length&&u[0].focus(),o.emit("open",{dom:o.dom}),l.setAttribute("aria-expanded",!0),l.classList.add(e),c.classList.add(i),c.setAttribute("aria-hidden",!1),a?(c.classList.add(s),n(o.animationEndEvents,c).then(o.onTransitionEnd)):(o.isVisible=!0,o.isAnimating=!1),o},this.close=function(){var t=o.dom.overlay,e=o.options.transition;return o.emit("close",{dom:o.dom}),o.reset(),o.$focus&&o.$focus.focus(),e?n(o.animationEndEvents,t).then(o.onTransitionEnd):(o.isVisible=!1,o.isAnimating=!1),o},this.reset=function(){var t=o.options,n=t.buttonActiveClass,e=t.overlayAnimationClass,i=t.overlayVisibleClass,s=o.dom,a=s.overlay,r=s.openButton;r.setAttribute("aria-expanded",!1),r.classList.remove(n),a.classList.remove(e,i),a.setAttribute("aria-hidden",!0)},this.onTransitionEnd=function(){var t=o.dom.overlay,n=o.options.overlayAnimationClass;o.isVisible=!o.isVisible,o.isAnimating=!1;var e=o.isVisible?"after:open":"after:close";o.emit(e,{dom:o.dom,state:o.isVisible}),t.classList.remove(n)},this.destroy=function(){if(o.isInitialized)return o.isInitialized=!1,o.isVisible=!1,o.isAnimating=!1,o.reset(),o.removeEvents(),o},this.init=function(){if(!o.isInitialized){o.isInitialized=!0;var t=o.options,n=t.contents,e=t.overlay,i=t.openButton,s=t.closeButton,a=t.animationType,r=t.name;o.animationEndEvents=function(){var t="transition"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transition")?{OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",transition:"transitionend"}:{OAnimation:"oAnimationEnd",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",animation:"animationend"},n=document.createElement("fake");return Object.keys(t).reduce(function(e,i){return void 0!==n.style[i]?t[i]:e},"")}(a),o.dom={html:document.getElementsByTagName("html")[0],body:document.body,openButton:document.querySelector(i),closeButton:s&&[].concat(function(t){if(Array.isArray(t)){for(var n=0,e=Array(t.length);n<t.length;n++)e[n]=t[n];return e}return Array.from(t)}(document.querySelectorAll(s))),overlay:e,contents:n};var c=o.dom.openButton.getAttribute("id"),l=e.getAttribute("id");return o.dom.openButton.setAttribute("aria-expanded",!1),o.dom.openButton.setAttribute("aria-label",r),o.dom.openButton.setAttribute("aria-controls",l),e.setAttribute("aria-hidden",!0),c?e.setAttribute("aria-labelledby",c):console.warn("sponDraw: menu button should have an id for better accessibility"),o.addEvents(),o}},this.options=t({},this.defaults,s),this.options.init&&this.init(),Object.assign(this,(i=i||Object.create(null),{on:function(t,n){(i[t]||(i[t]=[])).push(n)},off:function(t,n){i[t]&&i[t].splice(i[t].indexOf(n)>>>0,1)},emit:function(t,n){(i[t]||[]).slice().map(function(t){t(n)}),(i["*"]||[]).slice().map(function(e){e(t,n)})}}))}});
{
"name": "spon-draw",
"version": "0.0.6",
"version": "0.1.0",
"main": "dist/index.min.js",

@@ -5,0 +5,0 @@ "devDependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc