{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src-code/style.scss","webpack:///./src-code/custom.scss","webpack:///./src-code/@kilopix/core.module.js","webpack:///./src-code/@kilopix/methods.module.js","webpack:///./src-code/@kilopix/utils.module.js","webpack:///./src-code/app/app.interface.js","webpack:///./src-code/app/article/article.component.js","webpack:///./src-code/app/footer/footer.component.js","webpack:///./src-code/app/burger-button/burger-button.component.js","webpack:///./src-code/app/cookie-banner/cookie-banner.component.js","webpack:///./src-code/app/dev-grid/dev-grid.component.js","webpack:///./src-code/app/app.module.js","webpack:///./src-code/app/slider/slider.component.js","webpack:///./src-code/main.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","lastScrollPosition","mediaQueries","getDocumentSize","document","documentElement","getBoundingClientRect","getWindowSize","width","window","innerWidth","height","innerHeight","getMediaQuery","mediaQuery","matchMedia","matches","parseInt","getScrollTop","node","top","scrollTop","pageYOffset","addClass","className","length","Array","forEach","self","_addClass","removeClass","classes","array","split","classList","remove","el","replace","RegExp","join","hasClass","contains","test","toggleClass","toggle","existingIndex","indexOf","splice","push","trigger","eventName","data","event","CustomEvent","cancelable","detail","createEvent","initCustomEvent","dispatchEvent","values","add","prefix","isMobile","navigator","userAgent","AppInterface","appMediaQuery","appSize","appOrientation","scrollBottom","scrollPerc","scrollDirection","activeImageDisplacement","images","parentNode","addEventListener","e","x","offsetX","offsetLeft","offsetWidth","y","offsetY","offsetTop","offsetHeight","style","webkitTransformOrigin","transformOrigin","setImageDisplacement","header","getElementById","article","querySelector","triggerStart","perc","perc1","appBody","languages","this","toggleButton","CookieBanner","console","log","form","createElement","body","appendChild","action","location","method","input","submit","cookieBanner","toString","grid","id","innerHTML","preventDefault","slider","root","image","thumbnailsWrap","thumbnailsScroll","thumbnails","querySelectorAll","thumbnailsScrollTimeout","isChanging","direction","index","initThumbnails","itemWidth","Math","round","removeAttribute","thumbSrc","target","getElementsByTagName","src","bb_image","bigSrc","moreInfo","dataset","moreinfo","loadNewImage","url","getAttribute","title","textContent","text","label","Image","onload","drawNewImage","changeImages","href","animations","undefined","removeChild","burgerButton","clientX","html","resizeTimeout","mobileClass","load","scroll","resize","run","hostname","render","masterCookieConsentSet","consentSet","delay","orientation","clearTimeout","setTimeout","resizeSpacer","content","bottom"],"mappings":"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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","module.exports = __webpack_public_path__ + \"css/style.css\";","module.exports = __webpack_public_path__ + \"css/custom.css\";","\"use strict\";\n\n\n/**\n *\tVars\n */\n\n\tlet lastScrollPosition,\n\t\tmediaQueries = {\n\t\t\t\"30em\": \"s\",\n\t\t\t\"48em\": \"m\",\n\t\t\t\"64em\": \"l\",\n\t\t\t\"80em\": \"xl\",\n\t\t\t\"90em\": \"xxl\",\n\t\t\t\"120em\": \"xxxl\"\n\t\t};\n\n\n/**\n *\tGet document size\n */\n\n\texport function getDocumentSize() {\n\t\treturn document.documentElement.getBoundingClientRect();\n\t}\n\n\n/**\n *\tGet window size\n */\n\n\texport function getWindowSize() {\n\t\treturn {\n\t\t\twidth: window.innerWidth,\n\t\t\theight: window.innerHeight\n\t\t}\n\t}\n\n\n/**\n *\tGet media query\n */\n\n\texport function getMediaQuery() {\n\t\tlet mediaQuery;\n\t\t\n\t\tfor ( let i in mediaQueries ) {\n\t\t\tif ( window.matchMedia && window.matchMedia(\"screen and (min-width: \" + i + \")\").matches ) {\n\t\t\t\tmediaQuery = parseInt( i );\n\t\t\t}\n\t\t}\n\n\t\tif ( mediaQuery == null ) {\n\t\t\tmediaQuery = 0;\n\t\t}\n\n\t\treturn mediaQuery;\n\t}\n\n\n/**\n *\tGet orientation\n */\n\n\texport function getOrientation() {\n\t\tlet orientation = \"portrait\";\n\n\t\tif ( window.matchMedia(\"(orientation: landscape)\").matches ) {\n\t\t\torientation = \"landscape\";\n\t\t}\n\n\t\treturn orientation;\n\t}\n\n\n/**\n *\tGet size\n */\n\n\texport function getSize() {\n\t\tlet mediaQuery = `${getMediaQuery()}em`;\n\n\t\treturn ( parseInt(mediaQuery) === 0 ) ? \"xs\" : mediaQueries[mediaQuery];\n\t}\n\n\n/**\n *\tGet scroll top\n */\n\n\texport function getScrollTop( node ) {\n\t\tlet top = ( !node ) ? window.pageYOffset : node.scrollTop;\n\n\t\treturn ( top < 0 ) ? 0 : top;\n\t}\n\n\n/**\n *\tGet scroll bottom\n */\n\n\texport function getScrollBottom( node, content ) {\n\t\tlet height = ( !content ) ? getDocumentSize().height : content.offsetHeight,\n\t\t\tbottom = ( height - getWindowSize().height ) - getScrollTop( node );\n\n\t\treturn ( bottom < 0 ) ? 0 : bottom;\n\t}\n\n\n/**\n *\tGet scroll perc\n */\n\n\texport function getScrollPerc( node, content ) {\n\t\tlet height = ( !content ) ? getDocumentSize().height : content.offsetHeight;\n\n\t\treturn getScrollTop( node ) / ( height - getWindowSize().height );\n\t}\n\n\n/**\n *\tGet scroll direction\n */\n\n\texport function getScrollDirection( node ) {\n\t\tlet direction = ( getScrollTop( node ) > lastScrollPosition ) ? \"down\" : \"up\";\n\n\t\tlastScrollPosition = getScrollTop( node );\n\n\t\treturn direction;\n\t}\n\n\n/**\n *\tLog\n */\n\n\texport function log( log ) {\n\t\tconsole.log( log );\n\t}","\"use strict\";\n\n/**\n *\tVars\n */\n\n\tlet smoothScroll = null;\n\n\n/**\n *\tAdd class\n */\n\n\texport function addClass( node, className ) {\n\t\tif ( node.length ) {\n\t\t\tArray.prototype.forEach.call( node, function( self ) {\n\t\t\t\t_addClass( self, className );\n\t\t\t});\n\t\t} else {\n\t\t\t_addClass( node, className );\n\t\t}\n\t}\n\n\n/**\n *\tRemove class\n */\n\n\texport function removeClass( node, classes ) {\n\t\tvar array = classes.split( \" \" );\n\n\t\tif ( node.classList ) {\n\t\t\tfor ( var i = 0; i < array.length; i++ ) {\n\t\t\t\tnode.classList.remove( array[i] );\n\t\t\t}\n\t\t} else {\n\t\t\tnode.className = el.className.replace( new RegExp('(^|\\\\b)' + array.join('|') + '(\\\\b|$)', 'gi'), ' ' );\n\t\t}\n\t}\n\n\n/**\n *\tHas class\n */\n\n\texport function hasClass( node, className ) {\n\t\tif ( node.classList ) {\n\t\t\treturn node.classList.contains( className );\n\t\t} else {\n\t\t\treturn new RegExp('(^| )' + className + '( |$)', 'gi').test( node.className );\n\t\t}\n\t}\n\n\n/**\n *\tToggle class\n */\n\n\texport function toggleClass( node, className ) {\n\t\tif ( node.classList ) {\n\t\t\tnode.classList.toggle( className );\n\t\t} else {\n\t\t\tvar classes = node.className.split( ' ' ),\n\t\t\t\texistingIndex = classes.indexOf( className );\n\n\t\t\tif ( existingIndex >= 0 ) {\n\t\t\t\tclasses.splice( existingIndex, 1 );\n\t\t\t} else {\n\t\t\t\tclasses.push( className );\n\t\t\t\tnode.className = classes.join( ' ' );\n\t\t\t}\n\t\t}\n\t}\n\n\n/**\n *\tOn\n *\n *\tMouse wheel listener:\n *\thttps: //stackoverflow.com/questions/14926366/mousewheel-event-in-modern-browsers\n */\n\n\texport function on( node, event, listener, data ) {\n\t\tnode.addEventListener( event, listener );\n\n\t\tif ( event === \"mousewheel\" ) {\n\t\t\tnode.addEventListener( \"DOMMouseScroll\", listener );\n\t\t}\n\t}\n\n\n/**\n *\tOff\n */\n\n\texport function off( node, event, listener ) {\n\t\tnode.removeEventListener( event, listener );\n\n\t\tif ( event === \"mousewheel\" ) {\n\t\t\tnode.removeEventListener( \"DOMMouseScroll\", listener );\n\t\t}\n\t}\n\n\n/**\n *\tTrigger\n */\n\n\texport function trigger( node, eventName, data ) {\n\t\tvar event;\n\n\t\tif ( window.CustomEvent ) {\n\t\t\tevent = new CustomEvent( eventName, {\n\t\t\t\tcancelable: true,\n\t\t\t\tdetail: data\n\t\t\t});\n\t\t} else {\n\t\t\tevent = document.createEvent( \"CustomEvent\" );\n\t\t\tevent.initCustomEvent( eventName, true, true, data );\n\t\t}\n\n\t\tnode.dispatchEvent( event );\n\t}\n\n\n/**\n *\tSize\n */\n\n\texport function size( node ) {\n\t\treturn document.querySelector( node ).getBoundingClientRect();\n\t}\n\n\n/**\n *\tTo\n */\n\n\texport function to( wrap, node, duration, callBack ) {\n\t\tvar startPosition = ( wrap != \"\" ) ? wrap.scrollTop : window.pageYOffset,\n\t\t\tendPosition = ( node === \"top\" ) ? ( window.pageYOffset * -1 ) : ( (typeof node != \"number\") ? size(node).top : node ),\n\t\t\tstartTime = null,\n\t\t\tanimation = null;\n\n\t\tfunction animate( currentTime ) {\n\t\t\tif ( startTime === null ) {\n\t\t\t\tstartTime = currentTime;\n\t\t\t}\n\n\t\t\tvar timeElapsed = currentTime - startTime,\n\t\t\t\trun = ease( timeElapsed, startPosition, endPosition, duration ); //noEase( timeElapsed, startPosition, endPosition, duration ); \n\n\t\t\tif ( wrap != \"\" ) {\n\t\t\t\twrap.scrollTo( 0, run );\n\t\t\t} else {\n\t\t\t\twindow.scrollTo( 0, run );\n\t\t\t}\n\t\t\t\n\n\t\t\tif ( timeElapsed < duration ) {\n\t\t\t\tsmoothScroll = requestAnimationFrame( animate );\n\t\t\t} else {\n\t\t\t\tsmoothScroll = null;\n\t\t\t\t\n\t\t\t\t//console.log( \"The end\" );\n\n\t\t\t\tif ( typeof callBack === \"function\" ) {\n\t\t\t\t\tcallBack();\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tfunction noEase (t, b, c, d) {\n\t\t\treturn c * t / d + b;\n\t\t}\n\n\t\tfunction ease( t, b, c, d ) {\n\t\t\tt /= d / 2;\n\t\t\tif ( t < 1 ) return c / 2 * t * t * t + b;\n\t\t\tt -= 2;\n\t\t\treturn c / 2 * ( t * t * t + 2 ) + b;\n\t\t};\n\n\t\tsmoothScroll = requestAnimationFrame( animate );\n\t}\n\n\n/**\n *\tStop smooth scroll\n *\n *\tDiscussion:\n *\thttps: //stackoverflow.com/questions/10735922/how-to-stop-a-requestanimationframe-recursion-loop\n */\n\n\texport function stopSmoothScroll() {\n\t\tcancelAnimationFrame( smoothScroll );\n\t\tsmoothScroll = null;\n\t}\n\n\n/**\n *\t_ Add class\n */\n\n\tfunction _addClass( node, className ) {\n\t\tvar values = className.split( \" \" );\n\n\t\tif ( node.classList ) {\n\t\t\tfor ( var i = 0; i < values.length; i++ ) {\n\t\t\t\tnode.classList.add( values[i] );\n\t\t\t}\n\t\t} else {\n\t\t\tvar prefix = ( node.className == \"\" ) ? \"\" : \" \";\n\n\t\t\tnode.className += prefix + className;\n\t\t}\n\t}","\"use strict\";\n\n\n/**\n *\tUtils\n */\n\n\n/**\n *\tArray random value\n *\n *\t@params {Array} array\n *\t@params {Boolean} exclude\n *\t@params {Number} value\n */\n\n\texport function arrayRandomValue( array, exclude, value ) {\n\t\tif ( !exclude ) {\n\t\t\treturn array[ Math.floor( Math.random() * array.length ) ];\n\t\t}\n\t\n\t\tarray = u.grep( array, function( element ) {\n\t\t\treturn element !== value;\n\t\t});\n\t\n\t\treturn array[ Math.floor( Math.random() * array.length ) ];\n\t}\n\n\n/**\n *\tRandom between\n *\n *\t@params {Number} min\n *\t@params {Number} max\n *\t@params {Number} decimals\n */\n\n\texport function randomBetween( min, max, decimals ) {\n\t\tvar value = Math.random() * ( max - min ) + min;\n\t\treturn value.toFixed( decimals );\n\t}\n\n\n/**\n *\tIn array\n *\n *\t@params {Mixed} value\n *\t@params {Array} array\n */\n\n\texport function inArray( value, array ) {\n\t\treturn ( array.indexOf(value) != -1 ) ? true : false;\n\t}\n\n\n/**\n *\tGet closest number\n *\n *\t@params {Number} goal\n *\t@params {Array} array\n *\n *\tNOTA:\n *\t*****\n *\tLa soluzione adottata per trovare il numero più vicino alla dimensione del\n *\tcontenitore è un piccolo snippet trovato su stackoverflow che utilizza la\n *\tfunzione nativa per elaborare gli array: array.reduce\n *\n *\tLink soluzione:\n *\t***************\n *\thttps: //stackoverflow.com/questions/8584902/get-closest-number-out-of-array\n */\n\n\texport function getClosestNumber( goal, array ) {\n\t\tvar result = array.reduce(function( prev, curr ) {\n\t\t\treturn ( Math.abs(curr - goal) < Math.abs(prev - goal) ) ? curr : prev;\n\t\t});\n\n\t\treturn result;\n\t}\n\n\n/**\n *\tMerge objects\n *\n *\t@params {Object} to\n *\t@params {Object} from\n */\n\n\texport function mergeObjects( to, from ) {\n\t\tif ( typeof to === 'object' && typeof from === 'object' ) {\n\t\t\tfor ( var pro in from ) {\n\t\t\t\tif ( from.hasOwnProperty(pro) ) {\n\t\t\t\t\tto[pro] = from[pro];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow \"Merge function can apply only on object\";\n\t\t}\n\t}\n\n\t/*\n\t\tfunction merge(objectArray) {\n\t\t if (objectArray.length) {\n\t\t var b = \"\", i = -1;\n\t\t while (objectArray[++i]) {\n\t\t var str = JSON.stringify(objectArray[i]);\n\t\t b += str.slice(1, str.length - 1);\n\t\t if (objectArray[i + 1]) b += \",\";\n\t\t }\n\t\t return JSON.parse(\"{\" + b + \"}\");\n\t\t }\n\t\t return {};\n\t\t}\n\t*/\n\n\n/**\n *\tIs mobile\n */\n\n\texport function isMobile() {\n\t\tif ( /Mobi/i.test(navigator.userAgent) || /Android/i.test(navigator.userAgent) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\t\n\n/**\n *\tTransition end\n */\n\n\texport function transitionEnd() {\n\t var t,\n\t\t\tel = document.createElement( \"fakeelement\" ),\n\t\t\ttransitions = {\n\t\t \"transition\": \"transitionend\",\n\t\t \"OTransition\": \"oTransitionEnd\",\n\t\t \"MozTransition\": \"transitionend\",\n\t\t \"WebkitTransition\": \"webkitTransitionEnd\"\n\t\t };\n\t for ( t in transitions ) {\n\t if ( el.style[t] !== undefined ) {\n\t return transitions[t];\n\t }\n\t }\n\t}\n\t\n\n/**\n *\tAnimation end\n */\n\n\texport function animationEnd() {\n\t var t,\n\t\t\tel = document.createElement(\"fakeelement\"),\n\t\t\tanimations = {\n\t\t \"animation\":\"animationend\",\n\t\t \"OAnimation\":\"oAnimationEnd\",\n\t\t \"MozAnimation\":\"animationend\",\n\t\t \"WebkitAnimation\":\"webkitAnimationEnd\"\n\t\t };\n\t for (t in animations) {\n\t if (el.style[t] !== undefined) {\n\t return animations[t];\n\t }\n\t }\n\t}\n\n\n/**\n *\tFilled scroll gap\n */\n\n\texport function filledScrollGap( start, position, gap ) {\n\t\tvar currentGap = Math.abs( start - position );\n\t\t//console.log( currentGap );\n\t\treturn ( currentGap < gap ) ? false : true;\n\t}\n\n\n/**\n *\tGet computed styles support\n *\n *\tGithub:\n *\thttps: //gist.github.com/markhowellsmead/5f8360c99b22b86f1dc6eae164583014\n */\n\n\texport function getComputedStylesSupport() {\n\t\tif ( typeof window.getComputedStyle(document.body).mixBlendMode === \"undefined\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}","\"use strict\";\n\n//\tApp interface\n\nexport let AppInterface = {\n\tappMediaQuery: 0,\n\tappSize: \"xs\",\n\tappOrientation: \"portrait\",\n\n\tscrollTop: 0,\n\tscrollBottom: 0,\n\tscrollPerc: 0,\n\tscrollDirection: \"down\"\n}\n\n//\tActive image displacement\n\nexport function activeImageDisplacement( images ) {\n\tif ( images.length != 0 && images != null ) {\n\t\tsetImageDisplacement( (images.length) ? images : [images] );\n\t}\n}\n\n//\tSet image displacement\n\nfunction setImageDisplacement( images ) {\n\timages.forEach( function( self ) {\n\t\tself.parentNode.addEventListener( \"mousemove\", function( e ) {\n\t\t\tlet x = ( (e.offsetX - self.offsetLeft) / self.offsetWidth ) * 100,\n\t\t\t\ty = ( (e.offsetY - self.offsetTop) / self.offsetHeight ) * 100\n\n\t\t\tself.style.webkitTransformOrigin = `${x}% ${y}%`;\n\t\t\tself.style.transformOrigin = `${x}% ${y}%`;\n\t\t});\n\t});\n}\n\n//\tGet image mage displacement offset\n\n/*function getImageDisplacementOffset( e ) {\n\treturn {\n\t\t/x: ( (e.offsetX - (e.currentTarget.offsetLeft - 96)) / (e.currentTarget.offsetWidth + 96) ) * 100,\n\t\ty: ( (e.offsetY - (e.currentTarget.offsetTop - 96)) / (e.currentTarget.offsetHeight + 96) ) * 100\n\t}\n}*/","\"use strict\";\r\n\r\n//\tKilopix\r\n\r\nimport * as kpc from \"../../@kilopix/core.module\";\r\nimport * as kpm from \"../../@kilopix/methods.module\";\r\nimport * as kpu from \"../../@kilopix/utils.module\";\r\n\r\n//\tModules\r\n\r\nimport { AppInterface } from \"../app.interface\";\r\n\r\n//\tDom selectors\r\n\r\nconst header = document.getElementById( \"header\" );\r\nconst article = document.getElementById( \"article\" );\r\nconst image = document.querySelector( \"#article .figure\" );\r\nconst text = document.querySelector( \"#article .text\" );\r\n\r\n//\tArticle\r\n\r\nexport class Article {\r\n\tstatic scroll() {\r\n\t\tif ( !article ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet triggerStart = header.offsetHeight,\r\n\t\t\tperc = AppInterface.scrollTop / ( article.offsetTop - triggerStart ),\r\n\t\t\tperc1 = ( article.offsetTop + text.offsetHeight ) - AppInterface.scrollTop;\r\n\r\n\t\tif ( perc > 1 ) {\r\n\t\t\tkpm.addClass( image, \"sticky\" );\r\n\t\t} else {\r\n\t\t\tkpm.removeClass( image, \"sticky\" );\r\n\t\t}\r\n\t\t\r\n\t\tif ( perc1 < window.innerHeight ) {\r\n\t\t\tkpm.addClass( image, \"push-out\" );\r\n\t\t} else {\r\n\t\t\tkpm.removeClass( image, \"push-out\" );\r\n\t\t}\r\n\t}\r\n}","\"use strict\";\n\n//\tKilopix\n\nimport * as kpm from \"../../@kilopix/methods.module\";\nimport * as kpu from \"../../@kilopix/utils.module\";\n\n//\tModules\n\nimport { AppInterface } from \"../app.interface\";\n\n//\tDom selectors\n\nconst appBody = document.getElementById( \"body\" );\nconst languages = document.getElementById( \"languages\" );\n\n//\tFooter\n\nexport class Footer {\n\t//\tRun\n\n\tstatic run() {\n\t\tif ( languages ) {\n\t\t\tlanguages.addEventListener( \"click\", function() {\n\t\t\t\tif ( AppInterface.appMediaQuery < 48 ) {\n\t\t\t\t\tif ( !kpm.hasClass(appBody, \"show-languages\") ) {\n\t\t\t\t\t\tkpm.addClass( this.querySelector( \".label\" ), \"active\" );\n\t\t\t\t\t\tkpm.addClass( appBody, \"show-languages\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tkpm.removeClass( languages.querySelector( \".label\" ), \"active\" );\n\t\t\t\t\t\tkpm.removeClass( appBody, \"show-languages\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\t\n\t\t}\t\n\t}\n\t\n\t//\tResize\n\n\tstatic resize() {\n\t\tif ( languages ) {\n\t\t\tkpm.removeClass( languages.querySelector( \".label\" ), \"active\" );\n\t\t\tkpm.removeClass( appBody, \"show-languages\" );\n\t\t}\n\t}\n}","\"use strict\";\n\n//\tKilopix\n\nimport * as kpc from \"../../@kilopix/core.module\";\nimport * as kpm from \"../../@kilopix/methods.module\";\nimport * as kpu from \"../../@kilopix/utils.module\";\n\n//\tModules\n\nimport { AppInterface } from \"../app.interface\";\n\n//\tDom selectors\n\nconst toggleButton = document.getElementById( \"toggle-button\" );\n\n//\tBurgerButton\n\nexport class BurgerButton {\n\tconstructor() {\n\t\ttoggleButton.addEventListener( \"click\" , function( e ) {\n\t\t\tkpm.toggleClass( document.body, \"show-nav\" );\n\t\t\tkpm.toggleClass( this, \"active\" );\n\t\t\t\n\t\t\te.preventDefault();\n\t\t});\n\n\t\tdocument.addEventListener( \"click\" , function( e ) {\n\t\t\tif ( AppInterface.appMediaQuery < 48 && \n\t\t\t\t\te.clientX < (window.innerWidth - 280) &&\n\t\t\t\t\tkpm.hasClass(document.body, \"show-nav\") ) {\n\t\t\t\tkpm.trigger( toggleButton, \"click\" );\n\t\t\t}\n\t\t});\n\t}\n\n\t//\tResize\n\n\tresize() {\n\t\tkpm.removeClass( toggleButton, \"active\" );\n\t\tkpm.removeClass( document.body, \"show-nav\" );\n\t}\n}","\"use strict\";\r\n\r\n//\tCookie banner\r\n\r\nexport class CookieBanner {\r\n\t//\tContent set\r\n\r\n\tstatic consentSet() {\r\n\t\tconsole.log( \"I've got a cookie!\" );\r\n\r\n\t\t// EDIT ALE - START\r\n\t\tvar form = document.createElement( \"form\" );\r\n\t\tform.style = \"height:0;overflow:hidden;\";\r\n\t\tdocument.body.appendChild( form );\r\n\t\tform.action = document.location;\r\n\t\tform.method = \"POST\";\r\n\t\t\r\n\t\tvar input = document.createElement( \"input\" );\r\n\t\tform.appendChild( input );\r\n\t\tinput.name = \"cookiesConsent\";\r\n\t\tinput.value = \"y\";\r\n\t\tform.submit();\r\n\t\t// EDIT ALE - END\r\n\t}\r\n\t\r\n\t//\tResize spacer\r\n\r\n\tstatic resizeSpacer() {\r\n\t\tlet cookieBanner = document.getElementById( \"script-cookie-banner\" );\r\n\r\n\t\tif ( cookieBanner ) {\r\n\t\t\tlet cookieBannerSpacer = document.getElementById( \"script-cookie-banner-spacer\" );\r\n\t\t\tcookieBannerSpacer.style.height = cookieBanner.getBoundingClientRect().height.toString() + \"px\";\r\n\t\t}\r\n\t}\r\n}","\"use strict\";\n\n\n/**\n *\tImports\n */\n\nimport { toggleClass } from \"../../@kilopix/methods.module\";\n\n\n/**\n *\tDev grid\n */\n\nexport class DevGrid {\n\tstatic render() {\n\t\tlet grid = document.createElement( \"div\" ),\n\t\t\ttoggle = document.createElement( \"button\" );\n\n\t\tgrid.id = \"dev-grid\";\n\t\tgrid.classList = \"hide\";\n\t\tgrid.innerHTML = `\n\t\t\t01\n\t\t\t02\n\t\t\t03\n\t\t\t04\n\t\t\t05\n\t\t\t06\n\t\t\t07\n\t\t\t08\n\t\t\t09\n\t\t\t10\n\t\t\t11\n\t\t\t12\n\t\t\t13\n\t\t\t14\n\t\t\t15\n\t\t\t16\n\t\t`;\n\n\t\ttoggle.id = \"dev-grid-toggle\";\n\t\ttoggle.innerHTML = \"Toggle Grid\";\n\n\t\tdocument.body.appendChild( grid );\n\t\tdocument.body.appendChild( toggle );\n\t\tdocument.getElementById( \"dev-grid-toggle\" ).addEventListener( \"click\", function( e ) {\n\t\t\ttoggleClass( document.getElementById(\"dev-grid\"), \"hide\" );\n\t\t\te.preventDefault();\n\t\t});\n\t}\n}","\"use strict\";\n\n//\tKilopix\n\nimport * as kpc from \"../@kilopix/core.module\";\nimport * as kpm from \"../@kilopix/methods.module\";\nimport * as kpu from \"../@kilopix/utils.module\";\n\n//\tModules\n\nimport { AppInterface, activeImageDisplacement } from \"./app.interface\";\nimport { Slider } from \"./slider/slider.component\";\nimport { Article } from \"./article/article.component\";\nimport { Footer } from \"./footer/footer.component\";\nimport { BurgerButton } from \"./burger-button/burger-button.component\";\nimport { CookieBanner } from \"./cookie-banner/cookie-banner.component\";\nimport { DevGrid } from \"./dev-grid/dev-grid.component\";\n\n//\tComponent instances\n\nconst slider = new Slider();\nconst burgerButton = new BurgerButton();\n\n//\tDom selectors\n\nconst html = document.querySelector( \"html\" );\nconst appBody = document.getElementById( \"body\" );\n\n//\tApp\n\nexport class App {\n\tconstructor() {\n\t\tthis.resizeTimeout = null;\n\t\tthis.mobileClass = ( kpu.isMobile() ) ? \"mobile\" : \"no-mobile\";\n\t}\n\n//\tRun\n\n\trun() {\n\t\tkpm.removeClass( html, \"no-js\" );\n\t\tkpm.addClass( html, `js ${this.mobileClass}` );\n\n\t\twindow.addEventListener( \"load\", () => { this.load(); } );\n\t\twindow.addEventListener( \"scroll\", () => { this.scroll(); } );\n\t\twindow.addEventListener( \"resize\", () => { this.resize(500); } );\n\n\t\tif ( kpm.hasClass(document.body, \"homepage\") ) {\n\t\t\tslider.run();\n\t\t}\n\n\t\tif ( !kpu.isMobile() ) {\n\t\t\tactiveImageDisplacement( document.querySelectorAll(\".has-displacement\") );\n\t\t}\n\n\t\tFooter.run();\n\n\t\tif ( document.location.hostname === \"localhost\" ) {\n\t\t\tDevGrid.render();\n\t\t}\n\n\t\tthis.resize( 0 );\n\n\t\t/**\n\t\t *\tRendo globale la funzione che gestisce le operazioni di accettazione\n\t\t *\tdei cookies. Passaggio obbligato visto che la chiamata alla funzione\n\t\t *\tavviene inline, nel tag html\n\t\t */\n\n\t\twindow.masterCookieConsentSet = CookieBanner.consentSet;\n\t}\n\n//\tLoad\n\n\tload() {\n\t}\n\n//\tResize\n\n\tresize( delay ) {\n\t\tAppInterface.appMediaQuery = kpc.getMediaQuery();\n\t\tAppInterface.appSize = kpc.getSize();\n\t\tAppInterface.appOrientation = kpc.getOrientation();\n\t\t\n\t\tkpm.addClass( html, \"no-transition\" );\n\n\t\tclearTimeout( this.resizeTimeout );\n\t\tthis.resizeTimeout = setTimeout( () => {\n\t\t\tkpm.removeClass( html, \"no-transition\" );\n\t\t\tCookieBanner.resizeSpacer();\n\t\t}, delay );\n\n\t\tif ( kpm.hasClass(document.body, \"homepage\") ) {\n\t\t\tslider.resize();\n\t\t}\n\n\t\tFooter.resize();\n\t\tburgerButton.resize();\n\n\t\tthis.scroll();\n\t}\n\n//\tScroll\n\n\tscroll() {\n\t\tAppInterface.scrollTop = kpc.getScrollTop();\n\t\tAppInterface.scrollBottom = kpc.getScrollBottom();\n\t\tAppInterface.scrollPerc = kpc.getScrollPerc();\n\t\tAppInterface.scrollDirection = kpc.getScrollDirection();\n\n\t\tif ( document.getElementById(\"article\") ) {\n\t\t\tArticle.scroll();\n\t\t}\n\t}\n}","\"use strict\";\n\n//\tKilopix\n\nimport * as kpc from \"../../@kilopix/core.module\";\nimport * as kpm from \"../../@kilopix/methods.module\";\nimport * as kpu from \"../../@kilopix/utils.module\";\n\n//\tModules\n\nimport { AppInterface, activeImageDisplacement } from \"../app.interface\";\n\n//\tSlider\n\nexport class Slider {\n\tconstructor() {\n\t\tif ( kpm.hasClass(document.body, \"homepage\") ) {\n\t\t\tthis.root = document.getElementById( \"slider\" );\n\t\t\tthis.image = document.getElementById( \"slider-image\" );\n\t\t\tthis.thumbnailsWrap = document.getElementById( \"slider-thumbnails\" );\n\t\t\tthis.thumbnailsScroll = this.thumbnailsWrap.querySelector( \".scroll\" );\n\t\t\tthis.thumbnails = this.thumbnailsWrap.querySelectorAll( \"li\" );\n\t\t\tthis.thumbnailsScrollTimeout = null;\n\t\t\tthis.isChanging = false;\n\t\t\tthis.direction = \"up\";\n\t\t\tthis.index = -1;\n\t\t}\n\t}\n\n\t//\tRun\n\t\n\trun() {\n\t\tthis.initThumbnails();\n\t\tkpm.trigger( this.thumbnails[0].querySelector(\"a\"), \"click\" );\n\t}\n\n\t//\tResize\n\n\tresize() {\n\t\tif ( AppInterface.appMediaQuery < 48 ) {\n\t\t\t//\tResize thumbnails\n\n\t\t\tlet itemWidth = Math.round( window.innerWidth / 2 );\n\n\t\t\t//this.thumbnailsWrap.style.height = `${itemWidth * (((100 / 4) * 3) / 100)}px`;\n\t\t\tthis.thumbnailsWrap.querySelector( \"ul\" ).style.width = `${itemWidth * this.thumbnails.length}px`;\n\t\t\tthis.thumbnails.forEach( self => {\n\t\t\t\tself.style.width = `${itemWidth}px`;\n\t\t\t});\n\n\t\t\t//console.log( this.thumbnails[0].offsetHeight )\n\t\t\tthis.thumbnailsWrap.style.height = `${this.thumbnails[0].offsetHeight}px`;\n\t\t} else {\n\t\t\t//\tReset thumbnails\n\t\t\t\n\t\t\tthis.thumbnailsWrap.removeAttribute( \"style\" );\n\t\t\tthis.thumbnailsWrap.querySelectorAll( \"*\" ).forEach( self => {\n\t\t\t\tself.removeAttribute( \"style\" );\n\t\t\t});\n\t\t}\n\t}\n\n\t//\tInit thumbnails\n\n\tinitThumbnails() {\n\t\tthis.thumbnailsWrap.querySelectorAll( \"a\" ).forEach(( self, index ) => {\n\t\t\tself.addEventListener( \"click\", ( e ) => {\n\t\t\t\tif ( !this.isChanging && this.index != index ) {\n\t\t\t\t\tthis.isChanging = true;\n\t\t\t\t\tthis.direction = ( index < this.index ) ? \"down\" : \"up\";\n\t\t\t\t\tthis.index = index;\n\n\t\t\t\t\t// EDIT ALE - START\n\t\t\t\t\t// prendo l'URL dell'immagine piccola\n\t\t\t\t\tlet thumbImg = e.target.getElementsByTagName( \"img\" )[0];\n\t\t\t\t\tlet thumbSrc = thumbImg.src;\n\t\t\t\t\t// calcolo le dimensioni che deve avere l'immagine grande, aggiungendo un 10% per i margini esterni, arrotondandoli all'unit�\n\t\t\t\t\tlet bb_image = this.image.getBoundingClientRect();\n\t\t\t\t\tlet bigSrc = thumbSrc.replace(/\\/(\\d+)x(\\d+)\\//, \"/\" + Math.round(bb_image.width * 1.1).toString() + \"x\" + Math.round(bb_image.height * 1.1).toString() + \"/\");\n\t\t\t\t\t// prima e dopo\n\t\t\t\t\tconsole.log(\"piccola: \" + thumbSrc);\n\t\t\t\t\tconsole.log(\"grande: \" + bigSrc);\n\n\t\t\t\t\t// MORE INFO centralizzato nel tag #slider\n\t\t\t\t\tlet moreInfo = this.root.dataset.moreinfo;\n\t\t\t\t\t//console.log(moreInfo);\n\n\t\t\t\t\t// EDIT ALE - END\n\n\t\t\t\t\tthis.loadNewImage({\n\t\t\t\t\t\tsrc: bigSrc,\n\t\t\t\t\t\turl: self.getAttribute( \"href\" ),\n\t\t\t\t\t\ttitle: self.querySelector( \"h2\" ).textContent,\n\t\t\t\t\t\ttext: self.querySelector(\"p\").textContent,\n\t\t\t\t\t\tlabel: moreInfo\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.thumbnails.forEach( function( self ) {\n\t\t\t\t\t\tkpm.removeClass( self, \"current\" );\n\t\t\t\t\t});\n\n\t\t\t\t\tkpm.addClass( self.parentNode, \"current\" );\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\t\t\t});\n\t\t});\n\n\t\t//\tScroll effect\n\n\t\t/*\n\t\t\tthis.thumbnailsScroll.addEventListener( \"scroll\", () => {\n\t\t\t\tlet scrollTop = kpc.getScrollTop( this.thumbnailsScroll ),\n\t\t\t\t\tid = 0;\n\t\n\t\t\t\tthis.thumbnails.forEach(( self, index ) => {\n\t\t\t\t\tif ( scrollTop > self.offsetTop ) {\n\t\t\t\t\t\tid = index;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\tclearTimeout( this.thumbnailsScrollTimeout );\n\t\t\t\tthis.thumbnailsScrollTimeout = setTimeout( () => {\n\t\t\t\t\tlet positionTop = Math.abs( this.thumbnails[id].offsetTop - scrollTop ),\n\t\t\t\t\t\tto = ( positionTop < (this.thumbnails[id].offsetHeight / 2) ) ? id : id + 1;\n\t\n\t\t\t\t\tif ( (id + 2) > (this.thumbnails.length - 1) ) {\n\t\t\t\t\t\tto = this.thumbnails.length - 1;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tkpm.to( this.thumbnailsScroll, this.thumbnails[to].offsetTop - scrollTop, 600 );\n\t\t\t\t}, 1000 );\n\t\t\t});\n\t\t*/\n\t}\n\n\t//\tLoad new image\n\t\n\tloadNewImage( data ) {\n\t\tlet image = new Image();\n\n\t\timage.onload = ( e ) => {\n\t\t\tthis.drawNewImage( data );\n\t\t\tthis.changeImages();\n\t\t}\n\n\t\timage.src = data.src;\n\t}\n\n\t//\tDraw new image\n\t\n\tdrawNewImage( data ) {\n\t\tlet image = document.createElement( \"a\" );\n\n\t\timage.href = data.url;\n\t\timage.innerHTML = `\n\t\t\t\n\t\t\t
\n\t\t\t\t

${data.title}

\n\t\t\t\t${data.text}\n\t\t\t\t
\n\t\t\t\t\t${data.label}\n\t\t\t\t
\n\t\t\t
\n\t\t`;\n\n\t\tthis.image.appendChild( image );\n\n\t\tif ( !kpu.isMobile() ) {\n\t\t\tactiveImageDisplacement( image.querySelector(\".has-displacement\") );\n\t\t}\n\t}\n\n\t//\tChange images\n\t\n\tchangeImages() {\n\t\tlet images = this.image.querySelectorAll( \"a\" );\n\n\t\tif ( images.length > 1 ) {\n\t\t\timages[0].removeAttribute( \"class\" );\n\t\t\timages[1].removeAttribute( \"class\" );\n\n\t\t\tkpm.addClass( images[0], `push-out-${this.direction}` );\n\t\t\tkpm.addClass( images[1], `push-in-${this.direction}` );\n\n\t\t\timages[0].addEventListener( kpu.animationEnd(), () => {\n\t\t\t\tthis.image.removeChild( images[0] );\n\t\t\t\tthis.isChanging = false;\n\t\t\t});\n\t\t} else {\n\t\t\tthis.isChanging = false;\n\t\t\tkpm.addClass( images, \"fade-in\" );\n\t\t}\n\t}\n}","\"use strict\";\n\nimport { App } from \"./app/app.module\";\n\nconst app = new App();\n\napp.run();"],"sourceRoot":""}