{"version":3,"sources":["../node_modules/svgxuse/svgxuse.js","../node_modules/fitvids/fitvids.js","../assets/scripts/components/navigation.js","../assets/scripts/main.js"],"names":["window","addEventListener","checkUseElems","tid","cache","Object","create","debouncedCheck","clearTimeout","setTimeout","unobserveChanges","observeChanges","observer","MutationObserver","observe","document","documentElement","childList","subtree","attributes","disconnect","removeEventListener","ignore","createRequest","url","getOrigin","loc","a","undefined","protocol","createElement","href","replace","host","Request","origin","origin2","XMLHttpRequest","location","withCredentials","XDomainRequest","xlinkNS","observeIfDone","inProgressCount","attrUpdateFunc","spec","base","useEl","setAttributeNS","hash","hasAttribute","setAttribute","onErrorTimeout","xhr","onerror","ontimeout","bcr","i","isHidden","uses","getElementsByTagName","length","getBoundingClientRect","getAttribute","getAttributeNS","split","left","right","top","bottom","width","height","onload","svg","body","x","innerHTML","responseText","style","position","overflow","insertBefore","firstChild","open","send","abort","winLoad","readyState","f","exports","module","define","amd","g","global","self","this","fitvids","e","t","n","r","s","o","u","require","Error","code","l","call","1","queryAll","el","selector","Array","prototype","slice","querySelectorAll","wrap","test","parentNode","className","widthAttr","parseInt","heightAttr","isNaN","clientWidth","clientHeight","aspect","removeAttribute","wrapper","paddingTop","appendChild","toSelector","input","isArray","join","styles","div","css","childNodes","isObject","toString","selectors","opts","containers","getElementById","head","customSelector","players","videoSelector","forEach","container","$","fn","lippukuntateema_navigation","options","is_desktop_menu","screen_w","desktop_min_width","hover_timer","defaults","menu_toggle","settings","extend","$menu","$menu_toggle","find","on","not","parents","removeClass","first","addClass","$el","click","toggleClass","stopPropagation","parent","hasClass","attr","focus","touchStartFn","maybeCloseMenuFn","$parent_links","is","target","has","$current_list_item","preventDefault","each","link","jQuery","ready"],"mappings":"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","file":"main.js","sourcesContent":["/*!\n * @copyright Copyright (c) 2017 IcoMoon.io\n * @license Licensed under MIT license\n * See https://github.com/Keyamoon/svgxuse\n * @version 1.2.6\n */\n/*jslint browser: true */\n/*global XDomainRequest, MutationObserver, window */\n(function () {\n \"use strict\";\n if (typeof window !== \"undefined\" && window.addEventListener) {\n var cache = Object.create(null); // holds xhr objects to prevent multiple requests\n var checkUseElems;\n var tid; // timeout id\n var debouncedCheck = function () {\n clearTimeout(tid);\n tid = setTimeout(checkUseElems, 100);\n };\n var unobserveChanges = function () {\n return;\n };\n var observeChanges = function () {\n var observer;\n window.addEventListener(\"resize\", debouncedCheck, false);\n window.addEventListener(\"orientationchange\", debouncedCheck, false);\n if (window.MutationObserver) {\n observer = new MutationObserver(debouncedCheck);\n observer.observe(document.documentElement, {\n childList: true,\n subtree: true,\n attributes: true\n });\n unobserveChanges = function () {\n try {\n observer.disconnect();\n window.removeEventListener(\"resize\", debouncedCheck, false);\n window.removeEventListener(\"orientationchange\", debouncedCheck, false);\n } catch (ignore) {}\n };\n } else {\n document.documentElement.addEventListener(\"DOMSubtreeModified\", debouncedCheck, false);\n unobserveChanges = function () {\n document.documentElement.removeEventListener(\"DOMSubtreeModified\", debouncedCheck, false);\n window.removeEventListener(\"resize\", debouncedCheck, false);\n window.removeEventListener(\"orientationchange\", debouncedCheck, false);\n };\n }\n };\n var createRequest = function (url) {\n // In IE 9, cross origin requests can only be sent using XDomainRequest.\n // XDomainRequest would fail if CORS headers are not set.\n // Therefore, XDomainRequest should only be used with cross origin requests.\n function getOrigin(loc) {\n var a;\n if (loc.protocol !== undefined) {\n a = loc;\n } else {\n a = document.createElement(\"a\");\n a.href = loc;\n }\n return a.protocol.replace(/:/g, \"\") + a.host;\n }\n var Request;\n var origin;\n var origin2;\n if (window.XMLHttpRequest) {\n Request = new XMLHttpRequest();\n origin = getOrigin(location);\n origin2 = getOrigin(url);\n if (Request.withCredentials === undefined && origin2 !== \"\" && origin2 !== origin) {\n Request = XDomainRequest || undefined;\n } else {\n Request = XMLHttpRequest;\n }\n }\n return Request;\n };\n var xlinkNS = \"http://www.w3.org/1999/xlink\";\n checkUseElems = function () {\n var base;\n var bcr;\n var fallback = \"\"; // optional fallback URL in case no base path to SVG file was given and no symbol definition was found.\n var hash;\n var href;\n var i;\n var inProgressCount = 0;\n var isHidden;\n var Request;\n var url;\n var uses;\n var xhr;\n function observeIfDone() {\n // If done with making changes, start watching for chagnes in DOM again\n inProgressCount -= 1;\n if (inProgressCount === 0) { // if all xhrs were resolved\n unobserveChanges(); // make sure to remove old handlers\n observeChanges(); // watch for changes to DOM\n }\n }\n function attrUpdateFunc(spec) {\n return function () {\n if (cache[spec.base] !== true) {\n spec.useEl.setAttributeNS(xlinkNS, \"xlink:href\", \"#\" + spec.hash);\n if (spec.useEl.hasAttribute(\"href\")) {\n spec.useEl.setAttribute(\"href\", \"#\" + spec.hash);\n }\n }\n };\n }\n function onloadFunc(xhr) {\n return function () {\n var body = document.body;\n var x = document.createElement(\"x\");\n var svg;\n xhr.onload = null;\n x.innerHTML = xhr.responseText;\n svg = x.getElementsByTagName(\"svg\")[0];\n if (svg) {\n svg.setAttribute(\"aria-hidden\", \"true\");\n svg.style.position = \"absolute\";\n svg.style.width = 0;\n svg.style.height = 0;\n svg.style.overflow = \"hidden\";\n body.insertBefore(svg, body.firstChild);\n }\n observeIfDone();\n };\n }\n function onErrorTimeout(xhr) {\n return function () {\n xhr.onerror = null;\n xhr.ontimeout = null;\n observeIfDone();\n };\n }\n unobserveChanges(); // stop watching for changes to DOM\n // find all use elements\n uses = document.getElementsByTagName(\"use\");\n for (i = 0; i < uses.length; i += 1) {\n try {\n bcr = uses[i].getBoundingClientRect();\n } catch (ignore) {\n // failed to get bounding rectangle of the use element\n bcr = false;\n }\n href = uses[i].getAttribute(\"href\")\n || uses[i].getAttributeNS(xlinkNS, \"href\")\n || uses[i].getAttribute(\"xlink:href\");\n if (href && href.split) {\n url = href.split(\"#\");\n } else {\n url = [\"\", \"\"];\n }\n base = url[0];\n hash = url[1];\n isHidden = bcr && bcr.left === 0 && bcr.right === 0 && bcr.top === 0 && bcr.bottom === 0;\n if (bcr && bcr.width === 0 && bcr.height === 0 && !isHidden) {\n // the use element is empty\n // if there is a reference to an external SVG, try to fetch it\n // use the optional fallback URL if there is no reference to an external SVG\n if (fallback && !base.length && hash && !document.getElementById(hash)) {\n base = fallback;\n }\n if (uses[i].hasAttribute(\"href\")) {\n uses[i].setAttributeNS(xlinkNS, \"xlink:href\", href);\n }\n if (base.length) {\n // schedule updating xlink:href\n xhr = cache[base];\n if (xhr !== true) {\n // true signifies that prepending the SVG was not required\n setTimeout(attrUpdateFunc({\n useEl: uses[i],\n base: base,\n hash: hash\n }), 0);\n }\n if (xhr === undefined) {\n Request = createRequest(base);\n if (Request !== undefined) {\n xhr = new Request();\n cache[base] = xhr;\n xhr.onload = onloadFunc(xhr);\n xhr.onerror = onErrorTimeout(xhr);\n xhr.ontimeout = onErrorTimeout(xhr);\n xhr.open(\"GET\", base);\n xhr.send();\n inProgressCount += 1;\n }\n }\n }\n } else {\n if (!isHidden) {\n if (cache[base] === undefined) {\n // remember this URL if the use element was not empty and no request was sent\n cache[base] = true;\n } else if (cache[base].onload) {\n // if it turns out that prepending the SVG is not necessary,\n // abort the in-progress xhr.\n cache[base].abort();\n delete cache[base].onload;\n cache[base] = true;\n }\n } else if (base.length && cache[base]) {\n setTimeout(attrUpdateFunc({\n useEl: uses[i],\n base: base,\n hash: hash\n }), 0);\n }\n }\n }\n uses = \"\";\n inProgressCount += 1;\n observeIfDone();\n };\n var winLoad;\n winLoad = function () {\n window.removeEventListener(\"load\", winLoad, false); // to prevent memory leaks\n tid = setTimeout(checkUseElems, 0);\n };\n if (document.readyState !== \"complete\") {\n // The load event fires when all resources have finished loading, which allows detecting whether SVG use elements are empty.\n window.addEventListener(\"load\", winLoad, false);\n } else {\n // No need to add a listener if the document is already loaded, initialize immediately.\n winLoad();\n }\n }\n}());\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.fitvids = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;ox

'\n\treturn div.childNodes[1]\n}\n\nfunction isObject (input) {\n\treturn Object.prototype.toString.call(input) === '[object Object]'\n}\n\n},{}]},{},[1])(1)\n});","(function($) {\n\n $.fn.lippukuntateema_navigation = function( options ) {\n\n // Default settings\n var defaults = {\n desktop_min_width: 979,\n menu_toggle: \"#menu-toggle\",\n };\n\n var settings = $.extend( {}, defaults, options ),\n $menu = $(this),\n desktop_min_width = settings.desktop_min_width, // match this to $menu-visible SASS variable\n $menu_toggle = $(settings.menu_toggle), // hamburger icon\n screen_w,\n hover_timer,\n focus_timer;\n\n /* Get menu type\n ----------------------------------------------- */\n\n function is_desktop_menu() {\n screen_w = $(window).width();\n if(screen_w < desktop_min_width) {\n return false;\n }\n return true;\n }\n\n /* Hover timer: only for desktop menus\n ----------------------------------------------- */\n\n $menu.find('.menu-item-has-children').on('mouseover', function() {\n if(is_desktop_menu()) {\n\n // clear timer\n clearTimeout(hover_timer);\n\n // make sure hover_timer did it's thing even if it didn't have time to fire\n // -> close all .sub-menus that don't belong to this DOM tree\n $menu.find('.sub-menu').not($(this).find('.sub-menu'), $(this).parents('.sub-menu')).removeClass('open');\n\n // open child sub-menu\n $(this).find('.sub-menu').first().addClass('open');\n\n }\n }).on('mouseleave', function() {\n\n // create timeout that let's the cursor get outside of menu for a moment\n if(is_desktop_menu()) {\n var $el = $(this);\n hover_timer = setTimeout( function() {\n $el.parents('.sub-menu').removeClass('open');\n $el.find('.sub-menu').removeClass('open');\n }, 550 );\n }\n\n });\n\n /* Open sub-menu with click to
  • \n ----------------------------------------------- */\n\n $menu.find('.menu-item-has-children').click(function (e) {\n\n // toggle .open class to child .sub-menu\n $(this).find('.sub-menu').first().toggleClass('open');\n\n // toggle .active class to this
  • \n if(!is_desktop_menu()) {\n $(this).toggleClass('active');\n }\n\n // don't trigger parent(s)\n e.stopPropagation();\n\n });\n\n /* Keyboard (tab)\n ----------------------------------------------- */\n\n $menu.on('focus', '.menu-item-has-children a', function(e) {\n\n // open sub-menu below\n $(this).parent('li').find('.sub-menu').first().addClass( 'open' );\n\n // open all sub-menus above\n $(this).parents('.sub-menu').addClass( 'open' );\n\n }).on('blur', '.menu-item-has-children a', function(e) {\n\n // close sub-menu below\n $(this).parent('li').find('.sub-menu').first().removeClass('open');\n\n // close all sub-menus above\n $(this).parents('.sub-menu').removeClass('open');\n\n });\n\n /* Toggle menu (hamburger)\n ----------------------------------------------- */\n\n $menu_toggle.click(function() {\n if($menu_toggle.hasClass('active')) {\n\n // remove .active class from hamburger icon\n $menu_toggle.removeClass('active').attr('aria-expanded', 'false');\n\n // remove .active class to menu container\n $menu.removeClass('active');\n\n // focus out of the menu\n $menu_toggle.focus();\n\n } else {\n\n // .active class to hamburger icon\n $menu_toggle.addClass('active').attr('aria-expanded', 'true');\n\n // .active class to menu container\n $menu.addClass('active');\n }\n });\n\n /* Empty links \"#\": open sub-menu\n ----------------------------------------------- */\n\n // $menu.find('a[href=\"#\"]').click(function(e) {\n //\n // // don't go to \"#\"\n // e.preventDefault();\n //\n // // do the same stuff as clicking to .menu-item-has-children\n // $(this).parent('.menu-item-has-children').trigger('click');\n //\n // });\n\n\n /* Touch + desktop menu: doubletap\n ----------------------------------------------- */\n\n var touchStartFn;\n var maybeCloseMenuFn;\n var $parent_links = $menu.find('.menu-item-has-children > a');\n\n if ('ontouchstart' in window) {\n\n\n // maybe close menu after it has been opened by tap\n maybeCloseMenuFn = function(e) {\n\n // if the target of the tap isn't menu nor a descendant of menu\n if (!$menu.is(e.target) && $menu.has(e.target).length === 0 && is_desktop_menu()) {\n\n // reset menu state to default\n $menu.find('.open').removeClass('open');\n $menu.find('.tapped').removeClass('tapped');\n $menu.find('.active').removeClass('active');\n\n }\n\n // remove this event listener\n if(typeof removeEventListener === 'function') {\n document.removeEventListener(\"ontouchstart\", maybeCloseMenuFn, false);\n }\n\n };\n\n touchStartFn = function(e) {\n\n // only fire on desktop menu\n if(!is_desktop_menu()) {\n return false;\n }\n\n var $current_list_item = $(this).parent('li');\n\n if ( !$current_list_item.hasClass('tapped') ) {\n\n // first tap: don't go to yet\n e.preventDefault();\n\n // remove .tapped class to
  • that don't belong to this DOM tree\n $menu.find('.tapped').not($(this).parents('li')).removeClass('tapped');\n\n // add .tapped class to
  • element\n $current_list_item.addClass('tapped');\n\n // close all .sub-menus that don't belong to this DOM tree\n $menu.find('.sub-menu').not($(this).parents('.sub-menu')).removeClass('open');\n\n // open .sub-menu below\n $current_list_item.find('.sub-menu').first().addClass('open');\n\n // open all .sub-menus above\n $(this).parents('.sub-menu').addClass('open');\n\n // add EventListener to second click\n if(typeof addEventListener === 'function') {\n document.addEventListener('touchstart', maybeCloseMenuFn, false);\n }\n\n } else {\n\n // second tap: go to \n\n // remove .tapped from current
  • \n $current_list_item.removeClass('tapped');\n\n // close .sub-menus\n $menu.find('.sub-menu').removeClass('open');\n\n }\n\n };\n\n // add eventlisteners for each with a sub-menu\n $.each($parent_links, function(i, link) {\n if(typeof addEventListener === 'function') {\n link.addEventListener('touchstart', touchStartFn, false);\n }\n });\n\n }\n\n // make the call chainable\n return this;\n };\n\n})(jQuery);\n","/* ==========================================================================\n Main.js\n========================================================================== */\n\n(function($) {\n\n $(document).ready(function(){\n $('#site-navigation').lippukuntateema_navigation({\n desktop_min_width: 979, // min width in pixels\n menu_toggle: \"#menu-toggle\" // selector for toggle\n });\n });\n\n // $(document).ready(function(){\n // $('body').fitVids();\n // });\n\n $(document).ready(function(){\n\n });\n\n})(jQuery);\n"],"sourceRoot":"assets/scripts/"}