{"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 = '
',\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('