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

advanced-menus

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

advanced-menus - npm Package Compare versions

Comparing version 1.0.7 to 1.0.8

2

dist/menu.js

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

!function(e){function t(n){if(s[n])return s[n].exports;var i=s[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var s={};t.m=e,t.c=s,t.i=function(e){return e},t.d=function(e,s,n){t.o(e,s)||Object.defineProperty(e,s,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,s){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,s,n){return s&&e(t.prototype,s),n&&e(t,n),t}}(),u=function(){function e(t){n(this,e),this.config(t);var s=this.settings.selectors;if(this.menu=document.getElementById(s.menu_id),!this.menu)return void console.error("unable to find the menu with selector: "+s.menu_id);if(this.menuitems=this.menu.querySelectorAll(s.menuitem+" a"),this.submenus=this.menu.querySelectorAll(s.submenu),this.submenus.length)for(var i=0;i<this.submenus.length;i++)this.submenus[i].parentNode.classList.add("am-has-children");var o;if(this.settings.options.use_handles?(this.initHandles(),o=this.menu.querySelectorAll(s.menuitem+" .handle")):o=this.menu.querySelectorAll(s.menuitem+" a"),this.registerEventAll(o,"click",this.onMenuItemClick),this.submenus.length)for(var i=0;i<this.submenus.length;i++)this.initSubmenu(this.submenus[i]);this.toggleButtons=document.querySelectorAll(s.toggle_button),this.registerEventAll(this.toggleButtons,"click",this.toggle),this.openButtons=document.querySelectorAll(s.open_button),this.registerEventAll(this.openButtons,"click",this.open),this.closeButtons=document.querySelectorAll(s.close_button),this.registerEventAll(this.closeButtons,"click",this.close),document.addEventListener("touchstart",this.onTouchStart.bind(this),!1),document.addEventListener("touchmove",this.onTouchMove.bind(this),!1),this.settings.options.autoclose&&document.addEventListener("mousedown",this.documentClick.bind(this))}return o(e,[{key:"config",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.settings||{options:{disable_scroll:!1,autoclose:!0,use_handles:!0},events:{swipeLeft:function(){},swipeRight:function(){},swipeUp:function(){},swipeDown:function(){}},selectors:{menu_id:"main-menu",menuitem:"li",submenu:"li > ul",toggle_button:!1,open_button:!1,close_button:!1}};for(var s in t)if("object"==i(t[s])&&e[s])for(var n in t[s])void 0!==e[s][n]&&(t[s][n]=e[s][n]);return this.settings=t,console.log("Config::",this.settings),this}},{key:"onMenuItemClick",value:function(e){for(var t=e.target.parentNode.classList.contains("active"),s=e.target.parentNode.parentNode.querySelectorAll(".am-has-children"),n=0;n<s.length;n++)s[n].classList.remove("active");t||e.target.parentNode.classList.add("active");var i=e.target.parentNode.querySelector(this.settings.selectors.submenu);if(!i)return void this.close();e.preventDefault(),e.target.parentNode.removeAttribute("style"),this.toggleSubmenu(i)}},{key:"toggle",value:function(){if(this.menu.classList.toggle("active"),document.body.classList.toggle("am-menu-active"),document.body.classList.toggle("menu-"+this.settings.selectors.menu_id+"-active"),this.settings.options.disable_scroll&&document.body.classList.toggle("scroll-disabled"),!this.menu.classList.contains("active"))for(var e=0;e<this.submenus.length;e++)this.closeSubmenu(this.submenus[e])}},{key:"open",value:function(){this.menu.classList.add("active"),document.body.classList.add("am-menu-active"),document.body.classList.add("menu-"+this.settings.selectors.menu_id+"-active"),this.settings.options.disable_scroll&&document.body.classList.add("scroll-disabled")}},{key:"close",value:function(){for(var e=this.menu.querySelectorAll(".am-has-children"),t=0;t<e.length;t++)e[t].classList.remove("active");for(var t=0;t<this.submenus.length;t++)this.closeSubmenu(this.submenus[t]);this.menu.classList.contains("active")&&(this.menu.classList.remove("active"),document.body.classList.remove("am-menu-active"),document.body.classList.remove("menu-"+this.settings.selectors.menu_id+"-active"),this.settings.options.disable_scroll&&document.body.classList.remove("scroll-disabled"))}},{key:"toggleSubmenu",value:function(e){e.classList.contains("active")||this.can_open_multiple(this.closest(e,e.className)),e.classList.toggle("active")}},{key:"openSubmenu",value:function(e){this.can_open_multiple(),e.classList.add("active")}},{key:"closeSubmenu",value:function(e){e.classList.remove("active")}},{key:"onTouchStart",value:function(e){this.xDown=e.touches[0].clientX,this.yDown=e.touches[0].clientY}},{key:"onTouchMove",value:function(e){if(this.xDown&&this.yDown){var t=e.touches[0].clientX,s=e.touches[0].clientY,n=this.xDown-t,i=this.yDown-s;Math.abs(n)>Math.abs(i)?n>0?this.settings.events.swipeLeft():this.settings.events.swipeRight():i>0?this.settings.events.swipeUp():this.settings.events.swipeDown(),this.xDown=null,this.yDown=null}}},{key:"can_open_multiple",value:function(e){for(var t=0;t<this.submenus.length;t++)e!=this.submenus[t]&&this.closeSubmenu(this.submenus[t])}},{key:"initSubmenu",value:function(e){e.classList.add("active");for(var t=0;t<this.menuitems.length;t++){if(this.closest(this.menuitems[t],"sub-menu"))var s=this.menuitems[t].offsetHeight;s+=parseInt(window.getComputedStyle(this.menuitems[t]).getPropertyValue("margin-top")),s+=parseInt(window.getComputedStyle(this.menuitems[t]).getPropertyValue("margin-bottom")),this.menuitems[t].parentNode.style.maxHeight=s+"px"}e.classList.remove("active")}},{key:"closest",value:function(e,t){return!(!e.parentNode||!e.parentNode.className)&&(-1!=e.parentNode.className.indexOf(t)?e.parentNode:this.closest(e.parentNode,t))}},{key:"documentClick",value:function(e){for(var t=!0,s=0;s<e.path.length;s++)(e.path[s].id==this.settings.selectors.menu_id||e.path[s].classList&&e.path[s].classList.contains("menu-toggle-button"))&&(t=!1);t&&this.close()}},{key:"registerEventAll",value:function(e,t,s){if(e.length)for(var n=0;n<e.length;n++)e[n].addEventListener(t,s.bind(this))}},{key:"initHandles",value:function(){for(var e=this.menu.querySelectorAll(".am-has-children"),t=0;t<e.length;t++){var s=document.createElement("span");s.classList.add("handle"),e[t].insertBefore(s,e[t].children[1])}}}]),e}();t.default=u},function(e,t,s){"use strict";var n=s(0),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=i.default}]);
!function(e){function t(n){if(s[n])return s[n].exports;var i=s[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var s={};t.m=e,t.c=s,t.i=function(e){return e},t.d=function(e,s,n){t.o(e,s)||Object.defineProperty(e,s,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,s){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,s,n){return s&&e(t.prototype,s),n&&e(t,n),t}}(),u=function(){function e(t){n(this,e),this.config(t);var s=this.settings.selectors;if(this.menu=document.getElementById(s.menu_id),!this.menu)return void console.error("unable to find the menu with selector: "+s.menu_id);if(this.menuitems=this.menu.querySelectorAll(s.menuitem+" a"),this.submenus=this.menu.querySelectorAll(s.submenu),this.submenus.length)for(var i=0;i<this.submenus.length;i++)this.submenus[i].parentNode.classList.add("am-has-children");var o;if(this.settings.options.parent_clickable?(this.initHandles(),o=this.menu.querySelectorAll(s.menuitem+" .handle")):o=this.menu.querySelectorAll(s.menuitem+" a"),this.registerEventAll(o,"click",this.onMenuItemClick),this.submenus.length)for(var i=0;i<this.submenus.length;i++)this.initSubmenu(this.submenus[i]);this.toggleButtons=document.querySelectorAll(s.toggle_button),this.registerEventAll(this.toggleButtons,"click",this.toggle),this.openButtons=document.querySelectorAll(s.open_button),this.registerEventAll(this.openButtons,"click",this.open),this.closeButtons=document.querySelectorAll(s.close_button),this.registerEventAll(this.closeButtons,"click",this.close),document.addEventListener("touchstart",this.onTouchStart.bind(this),!1),document.addEventListener("touchmove",this.onTouchMove.bind(this),!1),this.settings.options.autoclose&&document.addEventListener("mousedown",this.documentClick.bind(this))}return o(e,[{key:"config",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.settings||{options:{disable_page_scroll:!1,autoclose:!0,parent_clickable:!1},events:{swipeLeft:function(){},swipeRight:function(){},swipeUp:function(){},swipeDown:function(){}},selectors:{menu_id:"main-menu",menuitem:"li",submenu:"li > ul",toggle_button:!1,open_button:!1,close_button:!1}};for(var s in t)if("object"==i(t[s])&&e[s])for(var n in t[s])void 0!==e[s][n]&&(t[s][n]=e[s][n]);return this.settings=t,this}},{key:"onMenuItemClick",value:function(e){for(var t=e.target.parentNode.classList.contains("active"),s=e.target.parentNode.parentNode.querySelectorAll(".am-has-children"),n=0;n<s.length;n++)s[n].classList.remove("active");t||e.target.parentNode.classList.add("active");var i=e.target.parentNode.querySelector(this.settings.selectors.submenu);if(!i)return void this.close();e.preventDefault(),e.target.parentNode.removeAttribute("style"),this.toggleSubmenu(i)}},{key:"toggle",value:function(){if(this.menu.classList.toggle("active"),document.body.classList.toggle("am-menu-active"),document.body.classList.toggle("menu-"+this.settings.selectors.menu_id+"-active"),this.settings.options.disable_page_scroll&&document.body.classList.toggle("scroll-disabled"),!this.menu.classList.contains("active"))for(var e=0;e<this.submenus.length;e++)this.closeSubmenu(this.submenus[e])}},{key:"open",value:function(){this.menu.classList.add("active"),document.body.classList.add("am-menu-active"),document.body.classList.add("menu-"+this.settings.selectors.menu_id+"-active"),this.settings.options.disable_page_scroll&&document.body.classList.add("scroll-disabled")}},{key:"close",value:function(){for(var e=this.menu.querySelectorAll(".am-has-children"),t=0;t<e.length;t++)e[t].classList.remove("active");for(var t=0;t<this.submenus.length;t++)this.closeSubmenu(this.submenus[t]);this.menu.classList.contains("active")&&(this.menu.classList.remove("active"),document.body.classList.remove("am-menu-active"),document.body.classList.remove("menu-"+this.settings.selectors.menu_id+"-active"),this.settings.options.disable_page_scroll&&document.body.classList.remove("scroll-disabled"))}},{key:"toggleSubmenu",value:function(e){e.classList.contains("active")||this.can_open_multiple(this.closest(e,e.className)),e.classList.toggle("active")}},{key:"openSubmenu",value:function(e){this.can_open_multiple(),e.classList.add("active")}},{key:"closeSubmenu",value:function(e){e.classList.remove("active")}},{key:"onTouchStart",value:function(e){this.xDown=e.touches[0].clientX,this.yDown=e.touches[0].clientY}},{key:"onTouchMove",value:function(e){if(this.xDown&&this.yDown){var t=e.touches[0].clientX,s=e.touches[0].clientY,n=this.xDown-t,i=this.yDown-s;Math.abs(n)>Math.abs(i)?n>0?this.settings.events.swipeLeft(this,e):this.settings.events.swipeRight(this,e):i>0?this.settings.events.swipeUp(this,e):this.settings.events.swipeDown(this,e),this.xDown=null,this.yDown=null}}},{key:"can_open_multiple",value:function(e){for(var t=0;t<this.submenus.length;t++)e!=this.submenus[t]&&this.closeSubmenu(this.submenus[t])}},{key:"initSubmenu",value:function(e){e.classList.add("active");for(var t=0;t<this.menuitems.length;t++){if(this.closest(this.menuitems[t],"sub-menu"))var s=this.menuitems[t].offsetHeight;s+=parseInt(window.getComputedStyle(this.menuitems[t]).getPropertyValue("margin-top")),s+=parseInt(window.getComputedStyle(this.menuitems[t]).getPropertyValue("margin-bottom")),this.menuitems[t].parentNode.style.maxHeight=s+"px"}e.classList.remove("active")}},{key:"closest",value:function(e,t){return!(!e.parentNode||!e.parentNode.className)&&(-1!=e.parentNode.className.indexOf(t)?e.parentNode:this.closest(e.parentNode,t))}},{key:"documentClick",value:function(e){for(var t=!0,s=0;s<e.path.length;s++)(e.path[s].id==this.settings.selectors.menu_id||e.path[s].classList&&e.path[s].classList.contains("menu-toggle-button"))&&(t=!1);t&&this.close()}},{key:"registerEventAll",value:function(e,t,s){if(e.length)for(var n=0;n<e.length;n++)e[n].addEventListener(t,s.bind(this))}},{key:"initHandles",value:function(){for(var e=this.menu.querySelectorAll(".am-has-children"),t=0;t<e.length;t++){var s=document.createElement("span");s.classList.add("handle"),e[t].insertBefore(s,e[t].children[1])}}}]),e}();t.default=u},function(e,t,s){"use strict";var n=s(0);e.exports=n.default}]);

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

import Menu from "./module/Menu.js";
module.exports = Menu;
var Menu = require("./module/menu")
module.exports = Menu.default;

@@ -24,3 +24,3 @@ export default class Menu {

var handles;
if(this.settings.options.use_handles){
if(this.settings.options.parent_clickable){
this.initHandles();

@@ -63,5 +63,5 @@ handles = this.menu.querySelectorAll(selectors.menuitem + ' .handle');

options:{
disable_scroll: false,
disable_page_scroll: false,
autoclose: true,
use_handles: true,
parent_clickable: false,
},

@@ -94,3 +94,2 @@ events: {

this.settings = defaultConfig;
console.log("Config::", this.settings);
return this;

@@ -122,3 +121,3 @@ }

if(this.settings.options.disable_scroll)
if(this.settings.options.disable_page_scroll)
document.body.classList.toggle('scroll-disabled');

@@ -138,3 +137,3 @@

if(this.settings.options.disable_scroll)
if(this.settings.options.disable_page_scroll)
document.body.classList.add('scroll-disabled');

@@ -158,3 +157,3 @@ }

if(this.settings.options.disable_scroll)
if(this.settings.options.disable_page_scroll)
document.body.classList.remove('scroll-disabled');

@@ -197,11 +196,11 @@ }

if ( xDiff > 0 ) {
this.settings.events.swipeLeft();
this.settings.events.swipeLeft(this, evt);
} else {
this.settings.events.swipeRight();
this.settings.events.swipeRight(this, evt);
}
} else {
if ( yDiff > 0 ) {
this.settings.events.swipeUp();
this.settings.events.swipeUp(this, evt);
} else {
this.settings.events.swipeDown();
this.settings.events.swipeDown(this, evt);
}

@@ -208,0 +207,0 @@ }

{
"name": "advanced-menus",
"version": "1.0.7",
"version": "1.0.8",
"description": "Easy to use and configurable HTML5 Menus",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -47,5 +47,5 @@ # Menu Package for Webpack.

options:{
disable_scroll: false,
disable_page_scroll: false,
autoclose: true,
use_handles: true,
parent_clickable: true
},

@@ -70,25 +70,25 @@ events: {

const Menu = require('advanced-menus');
const Menu = require('advanced-menus');
//menu config;
var config = {
selectors:{
toggle_button: ".menu-toggle-button",
},
options:{
disable_scroll: true,
use_handles:true,
},
events:{
swipeLeft: function(){
menu.close();
},
swipeRight: function(){
menu.open();
}
}
//menu config;
var config = {
selectors:{
toggle_button: ".menu-toggle-button",
},
options:{
disable_scroll: true,
parent_clickable:true,
},
events:{
swipeLeft: function(menu, e){
menu.close();
},
swipeRight: function(menu, e){
menu.open();
}
}
}
//config not required
var mainmenu = new Menu(config);
//config not required
var mainmenu = new Menu(config);

@@ -102,7 +102,7 @@ ```

/*
Available themes:
- aside-left
- aside-right
- plain-horizontal
- dropdown
Available themes:
- aside-left
- aside-right
- plain-horizontal
- dropdown
*/

@@ -114,2 +114,3 @@

themes:(
aside-left: (

@@ -120,2 +121,3 @@ min:0px,

),
aside-right: (

@@ -125,2 +127,3 @@ min:750px,

),
plain-horizontal: (min:1024px)

@@ -141,7 +144,8 @@ )

*/
// experimental
// menu-breakpoint :
// Use this mixin to add styles at the specified menu theme breakpoint
@include menu-breakpoint($menu, $theme){
//styles
//styles
}

@@ -154,9 +158,10 @@

*/
// experimental
// ./themes/_theme-name.scss
@include register_menu_theme($some-theme-name)
// your styles here.
// your styles here.
}
//probably needs some more work..
// experimental
//hides menu at certain resolution;

@@ -173,32 +178,32 @@ @include menu-autohide($theme-name){

<nav id="main-menu">
<ul class='menu'>
<li class="menu-item">
<a href="#item1">Item 1</a>
<ul class='sub-menu'>
<li class="menu-item"><a href="#item1">Item 1</a></li>
<li class="menu-item">
<a href="#item2">Item 2</a>
<ul class='sub-menu'>
<li class="menu-item"><a href="#item1">Item 1</a></li>
<li class="menu-item"><a href="#item2">Item 2</a></li>
<li class="menu-item"><a href="#item3">Item 3</a></li>
<li class="menu-item"><a href="#item4">Item 4</a></li>
<li class="menu-item"><a href="#item5">Item 5</a></li>
</ul>
</li>
<li class="menu-item"><a href="#item1">Item 3</a></li>
<li class="menu-item"><a href="#item2">Item 4</a></li>
<li class="menu-item"><a href="#item3">Item 5</a></li>
</ul>
</li>
<li class="menu-item">
<a href="#item2">Item 2</a>
<ul class='sub-menu'>
<li class="menu-item"><a href="#item1">Item 1</a></li>
<li class="menu-item"><a href="#item2">Item 2</a></li>
</ul>
</li>
<li class="menu-item"><a href="#item3">Item 3</a></li>
<li class="menu-item"><a href="#item4">Item 4</a></li>
</ul>
<ul class='menu'>
<li class="menu-item">
<a href="#item1">Item 1</a>
<ul class='sub-menu'>
<li class="menu-item"><a href="#item1">Item 1</a></li>
<li class="menu-item">
<a href="#item2">Item 2</a>
<ul class='sub-menu'>
<li class="menu-item"><a href="#item1">Item 1</a></li>
<li class="menu-item"><a href="#item2">Item 2</a></li>
<li class="menu-item"><a href="#item3">Item 3</a></li>
<li class="menu-item"><a href="#item4">Item 4</a></li>
<li class="menu-item"><a href="#item5">Item 5</a></li>
</ul>
</li>
<li class="menu-item"><a href="#item1">Item 3</a></li>
<li class="menu-item"><a href="#item2">Item 4</a></li>
<li class="menu-item"><a href="#item3">Item 5</a></li>
</ul>
</li>
<li class="menu-item">
<a href="#item2">Item 2</a>
<ul class='sub-menu'>
<li class="menu-item"><a href="#item1">Item 1</a></li>
<li class="menu-item"><a href="#item2">Item 2</a></li>
</ul>
</li>
<li class="menu-item"><a href="#item3">Item 3</a></li>
<li class="menu-item"><a href="#item4">Item 4</a></li>
</ul>
</nav>

@@ -205,0 +210,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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