{"version":3,"file":"jquery.slimmenu.min.js","sources":["jquery.slimmenu.js"],"sourcesContent":["/**\r\n * jquery.slimmenu.js\r\n * http://adnantopal.github.io/slimmenu/\r\n * Author: @adnantopal\r\n * Copyright 2013-2015, Adnan Topal (adnan.co)\r\n * Licensed under the MIT license.\r\n */\r\n (function ($, window, document, undefined) {\r\n \"use strict\";\r\n\r\n var pluginName = 'slimmenu',\r\n oldWindowWidth = 0,\r\n defaults = {\r\n resizeWidth: '992',\r\n initiallyVisible: false,\r\n collapserTitle: 'Main Menu',\r\n animSpeed: 'medium',\r\n easingEffect: null,\r\n indentChildren: false,\r\n childrenIndenter: '  ',\r\n expandIcon: '',\r\n collapseIcon: ''\r\n };\r\n\r\n function Plugin(element, options) {\r\n this.element = element;\r\n this.$elem = $(this.element);\r\n this.options = $.extend(defaults, options);\r\n this.init();\r\n }\r\n\r\n Plugin.prototype = {\r\n\r\n init: function () {\r\n var $window = $(window),\r\n options = this.options,\r\n $menu = this.$elem,\r\n $menuIcon = '',\r\n $menuExpandedIcon = '',\r\n $collapser = '
' + options.collapserTitle + '
' + $menuIcon + '
',\r\n $menuCollapser;\r\n\r\n $menu.before($collapser);\r\n $menuCollapser = $menu.prev('.menu-collapser');\r\n\r\n $menu.on('click', '.sub-toggle', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n \r\n var $parentLi = $(this).closest('li');\r\n var $expanded = $parentLi.parent().find('.expanded').closest('li');\r\n \r\n if ($(this).hasClass('expanded')) {\r\n $parentLi.find('>ul').slideUp(options.animSpeed, options.easingEffect);\r\n $(this).removeClass('expanded');\r\n } else {\r\n $expanded.find('>ul').slideUp(options.animSpeed, options.easingEffect);\r\n $expanded.find('.sub-toggle').removeClass('expanded');\r\n $(this).addClass('expanded');\r\n $parentLi.find('>ul').slideDown(options.animSpeed, options.easingEffect);\r\n }\r\n });\r\n\r\n $menuCollapser.on('click', '.collapse-button', function (e) {\r\n e.preventDefault();\r\n $menu.slideToggle(options.animSpeed, options.easingEffect);\r\n if ($('.collapse-button').hasClass('expanded')) {\r\n $('.collapse-button').removeClass('expanded').html($menuIcon);\r\n } else {\r\n $('.collapse-button').addClass('expanded').html($menuExpandedIcon);\r\n }\r\n });\r\n\r\n this.resizeMenu();\r\n $window.on('resize', this.resizeMenu.bind(this));\r\n $window.trigger('resize');\r\n },\r\n\r\n resizeMenu: function () {\r\n var self = this,\r\n $window = $(window),\r\n $inner = $window.innerWidth(),\r\n windowWidth = $window.width(),\r\n $options = this.options,\r\n $menu = $(this.element),\r\n $menuCollapser = $('body').find('.menu-collapser');\r\n\r\n if ($inner !== undefined) {\r\n if ($inner > windowWidth) {\r\n windowWidth = $inner;\r\n }\r\n }\r\n\r\n if (windowWidth != oldWindowWidth) {\r\n oldWindowWidth = windowWidth;\r\n\r\n $menu.find(\"li\").each(function () {\r\n if($(this).has(\"ul\").length) {\r\n if($(this).addClass(\"has-submenu\").has(\".sub-toggle\").length) {\r\n $(this).children(\".sub-toggle\").html($options.expandIcon);\r\n } else {\r\n $(this).addClass(\"has-submenu\").append('
' + $options.expandIcon + \"
\");\r\n }\r\n }\r\n $(this).children(\"ul\").hide().end().find(\".sub-toggle\").removeClass(\"expanded\").html($options.expandIcon);\r\n });\r\n\r\n if ($options.resizeWidth >= windowWidth) {\r\n if ($options.indentChildren) {\r\n $menu.find('ul').each(function () {\r\n var $depth = $(this).parents('ul').length;\r\n if (!$(this).children('li').children('a').has('i').length) {\r\n $(this).children('li').children('a').prepend(self.indent($depth, $options));\r\n }\r\n });\r\n }\r\n\r\n $menu.addClass('collapsed').find('li').has('ul').off('mouseenter mouseleave');\r\n $menu.find('.has-submenu').off('mouseenter mouseleave');\r\n $menuCollapser.show();\r\n\r\n if (!$options.initiallyVisible) {\r\n $menu.hide();\r\n }\r\n } else {\r\n $menu.find('li').has('ul')\r\n .on('mouseenter', function () {\r\n $(this).find('a').addClass('open');\r\n $(this).find('>ul').stop().slideDown(0, null);\r\n })\r\n .on('mouseleave', function () {\r\n $(this).find('a').removeClass('open');\r\n $(this).find('>ul').stop().slideUp(0, null);\r\n });\r\n\r\n $menu.find('li > a > i').remove();\r\n $menu.removeClass('collapsed').show();\r\n $menuCollapser.hide();\r\n }\r\n }\r\n },\r\n\r\n indent: function (num, options) {\r\n var i = 0,\r\n $indent = '';\r\n for (; i < num; i++) {\r\n $indent += options.childrenIndenter;\r\n }\r\n return '' + $indent + ' ';\r\n }\r\n };\r\n\r\n $.fn[pluginName] = function (options) {\r\n return this.each(function () {\r\n if (!$.data(this, 'plugin_' + pluginName)) {\r\n $.data(this, 'plugin_' + pluginName,\r\n new Plugin(this, options));\r\n }\r\n });\r\n };\r\n\r\n}(jQuery, window, document));"],"names":["$","window","pluginName","oldWindowWidth","defaults","resizeWidth","initiallyVisible","collapserTitle","animSpeed","easingEffect","indentChildren","childrenIndenter","expandIcon","collapseIcon","Plugin","element","options","this","$elem","extend","init","prototype","$menuCollapser","$window","$menu","$menuIcon","$collapser","before","prev","on","e","preventDefault","stopPropagation","$parentLi","closest","$expanded","parent","find","hasClass","slideUp","removeClass","addClass","slideDown","slideToggle","html","resizeMenu","bind","trigger","self","$inner","innerWidth","windowWidth","width","$options","each","has","length","children","append","hide","end","$depth","parents","prepend","indent","off","show","stop","remove","num","i","$indent","fn","data","jQuery","document"],"mappings":"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"}