{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src-code/app.js","webpack:///./src-code/app/app.module.ts","webpack:///./src-code/app/attachments/attachments.module.ts","webpack:///./src-code/app/common/Fetcher.ts","webpack:///./src-code/app/common/grid.module.ts","webpack:///./src-code/app/common/hero.module.ts","webpack:///./src-code/app/cookie-banner/cookie-banner.module.ts","webpack:///./src-code/app/galleries/galleries.module.ts","webpack:///./src-code/app/header/header.module.ts","webpack:///./src-code/app/hero-contacts/hero-contacts.module.ts","webpack:///./src-code/app/hero-content/hero-content.module.ts","webpack:///./src-code/app/hero-slideshow/hero-slideshow.module.ts","webpack:///./src-code/kilopix/core.module.ts","webpack:///./src-code/kilopix/dev.module.ts","webpack:///./src-code/kilopix/methods.module.ts","webpack:///./src-code/kilopix/scrollTo.module.ts","webpack:///./src-code/kilopix/utils.module.ts","webpack:///./src-code/lib/timeout.js"],"names":[],"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","\"use strict\";\r\n\r\nimport { App } from \"./app/app.module\";\r\n\r\nApp.run();","\"use strict\";\r\n\r\n// Imports\r\nimport { Core } from \"../kilopix/core.module\";\r\nimport { Utils } from \"../kilopix/utils.module\";\r\nimport { ScrollTo } from \"../kilopix/scrollTo.module\";\r\nimport { Dev } from \"../kilopix/dev.module\";\r\nimport { CookieBanner } from \"./cookie-banner/cookie-banner.module\";\r\nimport { Header } from \"./header/header.module\";\r\nimport { HeroSlideshow } from \"./hero-slideshow/hero-slideshow.module\";\r\nimport { HeroContent } from \"./hero-content/hero-content.module\";\r\nimport { HeroContacts } from \"./hero-contacts/hero-contacts.module\";\r\nimport { Galleries } from \"./galleries/galleries.module\";\r\nimport { Attachments } from \"./attachments/attachments.module\";\r\nimport { Grid } from \"./common/grid.module\";\r\n\r\n// Declares\r\ndeclare const window: any;\r\n\r\n// App registry\r\nexport let AppRegistry = {\r\n\tmediaQuery: 0,\r\n\tsize: \"xs\",\r\n\torientation: \"portrait\",\r\n\tscrollTop: 0,\r\n\tscrollBottom: 0,\r\n\tscrollPerc: 0,\r\n\tscrollDirection: \"down\",\r\n\tisMobile: Utils.isMobile(),\r\n\tgalleries: {}\r\n};\r\n\r\n// Enums\r\nexport enum Directions {\r\n\tLeft = \"LEFT\",\r\n\tRight = \"RIGHT\"\r\n}\r\n\r\n// App Module (Singleton pattern)\r\nclass AppModule {\r\n\tprivate static instance: AppModule;\r\n\r\n\tprivate resizeTimeout: any;\r\n\tprivate header: Header;\r\n\tprivate heroSlideshow: HeroSlideshow;\r\n\tprivate heroContent: HeroContent;\r\n\tprivate heroContacts: HeroContacts;\r\n\tprivate galleries: Galleries;\r\n\tprivate attachments: Attachments;\r\n\tprivate html: HTMLElement;\r\n\r\n\t// Constructor\r\n private constructor() { }\r\n\r\n\t// Get instance\r\n\tstatic getInstance(): AppModule {\r\n\t\tif ( !AppModule.instance ) {\r\n\t\t\tconst galleries: HTMLElement = document.querySelector(\"script#galleries\");\r\n\r\n\t\t\tAppModule.instance = new AppModule();\r\n\t\t\tAppModule.instance.html = document.getElementsByTagName(\"html\")[0];\r\n\t\t\tAppRegistry.galleries = (galleries) ? JSON.parse(galleries.innerHTML) : {};\r\n\r\n\t\t\tDev.toggleLayoutGird();\r\n\t\t}\r\n\t\r\n\t\treturn AppModule.instance;\r\n\t}\r\n\r\n\t// Run\r\n\tpublic run(): void {\r\n\t\tthis.header = new Header();\r\n\t\tthis.heroSlideshow = new HeroSlideshow( \".hero-slideshow\" );\r\n\t\tthis.heroContent = new HeroContent( \".hero-content .slides-wrap\" );\r\n\t\tthis.heroContacts = new HeroContacts();\r\n\t\tthis.galleries = new Galleries();\r\n\t\tthis.attachments = new Attachments();\r\n\r\n\t\tif ( document.querySelector(\"[class*='grid-']\") ) {\r\n\t\t\tdocument.querySelectorAll(\"[class*='grid-']\").forEach( element => {\r\n\t\t\t\tlet item: HTMLElement = element;\r\n\r\n\t\t\t\tif ( !item.classList.contains(\"grid-details\") ) {\r\n\t\t\t\t\tlet grid: Grid = new Grid( item );\r\n\t\t\t\t} \r\n\t\t\t});\r\n\t\t} \r\n\r\n\t\tthis.html.classList.replace( \"no-js\", \"js\" );\r\n\t\tthis.html.classList.add( AppRegistry.isMobile ? \"mobile\" : \"no-mobile\" );\r\n\r\n\t\twindow.addEventListener( \"scroll\", () => { this.scroll(); } );\r\n\t\twindow.addEventListener( \"resize\", () => { this.resize(500); } );\r\n\r\n\t\tthis.resize();\r\n\t\tthis.listeners();\r\n\t\t\r\n\t\t/**\r\n\t\t *\tRendo globale la funzione che gestisce le operazioni di accettazione\r\n\t\t *\tdei cookies. Passaggio obbligato visto che la chiamata alla funzione\r\n\t\t *\tavviene inline, nel tag html\r\n\t\t */\r\n\r\n\t\twindow.masterCookieConsentSet = CookieBanner.consentSet;\r\n\t}\r\n\t\r\n\t// Resize\r\n\tprivate resize( delay: number = 0 ): void {\r\n\t\tAppRegistry.mediaQuery = Core.getMediaQuery();\r\n\t\tAppRegistry.size = Core.getSize();\r\n\t\tAppRegistry.orientation = Core.getOrientation();\r\n\r\n\t\tAppModule.instance.html.classList.add(\"no-transition\");\r\n\t\t\r\n\t\tclearTimeout( AppModule.instance.resizeTimeout );\r\n\t\tAppModule.instance.resizeTimeout = setTimeout( () => {\r\n\t\t\tCookieBanner.resizeSpacer();\r\n\t\t\tAppModule.instance.html.classList.remove(\"no-transition\");\r\n\t\t}, delay );\r\n\r\n\t\tthis.header.resize();\r\n\t\tthis.scroll();\r\n\t}\r\n\r\n\t// Scroll\r\n\tprivate scroll(): void {\r\n\t\tAppRegistry.scrollTop = Core.getScrollTop();\r\n\t\tAppRegistry.scrollBottom = Core.getScrollBottom();\r\n\t\tAppRegistry.scrollPerc = Core.getScrollPerc();\r\n\t\tAppRegistry.scrollDirection = Core.getScrollDirection();\r\n\r\n\t\tthis.header.scroll();\r\n\t\tthis.heroSlideshow.scroll();\r\n\t}\r\n\r\n\t// Listeners\r\n\tprivate listeners(): void {\r\n\t\tconst skipButton: HTMLElement = document.getElementById( \"skip-button\" );\r\n\t\tconst topButton: HTMLElement = document.getElementById( \"top-button\" );\r\n\r\n\t\tif ( skipButton ) {\r\n\t\t\tskipButton.addEventListener( \"click\", ( e ) => {\r\n\t\t\t\tScrollTo( \"#content\", 600, \"easeOutQuad\" );\r\n\t\t\t\te.preventDefault();\r\n\t\t\t})\r\n\t\t}\r\n\t\t\r\n\t\tif ( topButton ) {\r\n\t\t\ttopButton.addEventListener( \"click\", ( e ) => {\r\n\t\t\t\tScrollTo( 0, 1200, \"easeOutQuad\" );\r\n\t\t\t\te.preventDefault();\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport const App = AppModule.getInstance();","\"use strict\";\r\n\r\n// Imports\r\nimport { AppRegistry } from \"../app.module\";\r\n\r\n\r\n// Attachments\r\nexport class Attachments {\r\n\tprivate nodes: any = {};\r\n\r\n\t//\tConstructor\r\n\tconstructor() {\r\n\t\tthis.nodes.root = document.querySelector(\".attachments\");\r\n\r\n\t\tif (this.nodes.root && AppRegistry.isMobile) this.run();\r\n\t}\r\n\r\n\t// Run\r\n\tprivate run(): void {\r\n\t\tthis.nodes.button = this.nodes.root.getElementsByTagName(\"button\")[0];\r\n\t\tthis.listeners();\r\n\t}\r\n\r\n\t// Listeners\r\n\tlisteners(): void {\r\n\t\tthis.nodes.button.addEventListener(\"click\", () => {\r\n\t\t\tconsole.log(\"Show attachments list\");\r\n\t\t});\r\n\t}\r\n}","export class Fetcher {\r\n\t//\r\n\tpublic xhr: XMLHttpRequest;\r\n\tpublic formData: FormData = new FormData();\r\n\tprivate _onProgress: Function;\r\n\r\n\t//\r\n\tconstructor(url: string, public onSuccess?: Function, public onError?: Function) {\r\n\t\t//\r\n\t\tthis.xhr = new XMLHttpRequest();\r\n\t\tthis.xhr.onreadystatechange = (e:Event) => {\r\n\t\t\tif (this.xhr.readyState == XMLHttpRequest.DONE) {\r\n\t\t\t\tif (this.xhr.status == 200 && this.xhr.responseText != \"undefined\") {\r\n\t\t\t\t\t// SUCCESS\r\n\t\t\t\t\tif (this.onSuccess !== undefined)\r\n\t\t\t\t\t\tthis.onSuccess(JSON.parse(this.xhr.responseText));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t// ERROR\r\n\t\t\t\t\tif (this.onError !== undefined) {\r\n\t\t\t\t\t\tlet jsonValue: any = undefined;\r\n\t\t\t\t\t\tlet message: string = undefined;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tjsonValue = JSON.parse(this.xhr.responseText);\r\n\t\t\t\t\t\t\tmessage = jsonValue.message;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch(e) {}\r\n\t\t\t\t\t\tthis.onError(this.xhr.status, jsonValue, message);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\tthis.xhr.upload.addEventListener(\"progress\", (e) => {\r\n\t\t\tlet percentage: number = Math.ceil((e.loaded * 100) / e.total);\r\n\t\t\tif (this._onProgress !== undefined) this._onProgress(percentage, e);\r\n\t\t});\r\n\r\n\t\t//\r\n\t\tthis.xhr.open(\"POST\", url, true);\r\n\t}\r\n\r\n\tpublic abort(): Fetcher {\r\n\t\tthis.xhr.abort();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic onProgress(onProgress: Function): Fetcher {\r\n\t\tthis._onProgress = onProgress;\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic append(key: string, value: FormDataEntryValue): Fetcher {\r\n\t\tif (key === undefined || value === undefined) return this;\r\n\t\t//\r\n\t\tthis.formData.append(key, value);\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic delete(key: string): Fetcher {\r\n\t\tthis.formData.delete(key);\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic get(key: string): FormDataEntryValue {\r\n\t\treturn this.formData.get(key);\r\n\t}\r\n\r\n\tpublic getAll(key: string): FormDataEntryValue[] {\r\n\t\treturn this.formData.getAll(key);\r\n\t}\r\n\r\n\tpublic has(key: string): boolean {\r\n\t\treturn this.formData.has(key);\r\n\t}\r\n\r\n\tpublic send(): Fetcher {\r\n\t\tif (this.formData === undefined) this.xhr.send();\r\n\t\telse this.xhr.send(this.formData);\r\n\t\treturn this;\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Grid\r\nexport class Grid {\r\n\tprivate root: HTMLElement;\r\n\r\n\t//\tConstructor\r\n\tconstructor( root: HTMLElement ) {\r\n\t\tthis.root = root;\r\n\t\tthis.listeners();\r\n\t}\r\n\r\n\t// Listeners\r\n\tlisteners(): void {\r\n\t\tthis.root\r\n\t\t\t.querySelectorAll( \"li\" )\r\n\t\t\t.forEach( element => {\r\n\t\t\t\tlet readMore: HTMLElement = ( element ).querySelector( \"[class*='read-more']\" );\r\n\r\n\t\t\t\tif ( readMore ) {\r\n\t\t\t\t\tlet href: string = readMore.getAttribute( \"href\" );\r\n\t\t\t\t\tlet media: HTMLElement = ( element ).querySelector( \".media\" );\r\n\r\n\t\t\t\t\tmedia.classList.add( \"cursor-pointer\" );\r\n\t\t\t\t\tmedia.addEventListener( \"click\", () => {\r\n\t\t\t\t\t\twindow.location.href = href;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { Core } from \"../../kilopix/core.module\";\r\nimport { Directions } from \"../app.module\";\r\n\r\n// Header\r\nexport abstract class Hero {\r\n\tprotected nodes: object = {};\r\n\tprotected srcSet: Array = [];\r\n\tprotected direction: string = Directions.Right;\r\n\tprotected isLoading: boolean;\r\n\tprotected index: number = -1;\r\n\r\n\t//\tConstructor\r\n\tconstructor( root: string ) {\r\n\t\tthis.nodes[\"root\"] = document.querySelector( root );\r\n\t}\r\n\r\n\t// Init\r\n\tprotected init(): boolean {\r\n\t\tlet images: NodeList | [] = ( this.nodes[\"root\"] ) ? this.nodes[\"root\"].querySelectorAll( \"img\" ) : [];\r\n\r\n\t\tif ( images.length ) {\r\n\t\t\tthis.nodes[\"figures\"] = this.nodes[\"root\"].querySelectorAll( \"figure\" );\r\n\r\n\t\t\tif ( images.length === 1 ) {\r\n\t\t\t\t//this.srcSet.push( this.nodes[\"root\"].querySelector(\"img\").getAttribute(\"src\") );\r\n\t\t\t\t//this.loadImage();\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t} else {\r\n\t\t\t\timages.forEach( element => {\r\n\t\t\t\t\tthis.srcSet.push( (element).getAttribute(\"src\") );\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.nodes[\"figures\"].forEach( (element, index) => {\r\n\t\t\t\t\tlet figure = element;\r\n\r\n\t\t\t\t\tfigure.classList.add( (index === 0) ? \"no-time-animation\" : \"out\" );\r\n\t\t\t\t\tfigure.addEventListener( Core.getAnimationEnd(), (e) => {\r\n\t\t\t\t\t\tif ( e[\"animationName\"] === \"fade-in\" || e[\"animationName\"].includes(\"slide-in-\") ) {\r\n\t\t\t\t\t\t\tthis.isLoading = false;\r\n\t\t\t\t\t\t\tthis.resetOlder();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.loadImage();\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t// Load image\r\n\tprotected loadImage(): void {\r\n\t\tlet image: HTMLImageElement = new Image();\r\n\r\n\t\tthis.isLoading = true;\r\n\r\n\t\tif ( this.index < 0 ) {\r\n\t\t\tthis.index = 0;\r\n\t\t}\r\n\r\n\t\timage.onload = () => {\r\n\t\t\tthis.onLoadedImage();\r\n\t\t}\r\n\r\n\t\timage.src = this.getImageSrc();\r\n\t}\r\n\r\n\t// On loaded image\r\n\tprotected onLoadedImage(): void {}\r\n\r\n\t// Draw nav\r\n\tprotected drawNav(): void {\r\n\t\tconst nav: HTMLDivElement = document.createElement( \"div\" );\r\n\r\n\t\tnav.classList.add( \"slides-nav\" );\r\n\t\tnav.innerHTML = `\r\n\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t\t\r\n\t\tthis.nodes[\"buttonPrev\"] = nav.querySelector( \".button-prev\" );\r\n\t\tthis.nodes[\"buttonNext\"] = nav.querySelector( \".button-next\" );\r\n\r\n\t\tthis.nodes[\"root\"].appendChild(nav);\r\n\t}\r\n\r\n\t// Keyboard listeners\r\n\tprotected keyboardListeners(): void {\r\n\t\tdocument.addEventListener(\"keydown\", (e) => {\r\n\t\t\tif ( e.keyCode === 39 ) {\r\n\t\t\t\tthis.nodes[\"buttonNext\"].click();\r\n\t\t\t} else if ( e.keyCode === 37 ) {\r\n\t\t\t\tthis.nodes[\"buttonPrev\"].click();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// Set nodes\r\n\tprotected setNodes(): void {\r\n\t\tthis.nodes[\"oldFigure\"] = this.nodes[\"root\"].querySelector( \".current\" );\r\n\t\tthis.nodes[\"oldImage\"] = this.nodes[\"root\"].querySelector( \".current img\" );\r\n\t\tthis.nodes[\"currentFigure\"] = this.nodes[\"figures\"][this.index];\r\n\t\tthis.nodes[\"currentImage\"] = this.nodes[\"currentFigure\"].querySelector( \"img\" );\r\n\t}\r\n\r\n\t// Reset older\r\n\tprivate resetOlder(): void {\r\n\t\tthis.nodes[\"figures\"].forEach( (element, index) => {\r\n\t\t\tlet figure: HTMLElement = element;\r\n\t\t\tlet image: HTMLImageElement = figure.querySelector( \"img\" );\r\n\r\n\t\t\tif ( index != this.index ) {\r\n\t\t\t\tfigure.removeAttribute( \"class\" );\r\n\t\t\t\tfigure.classList.add( \"out\" );\r\n\r\n\t\t\t\timage.removeAttribute( \"class\" );\r\n\t\t\t\timage.removeAttribute( \"style\" );\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// Get image src\r\n\tprivate getImageSrc(): string {\r\n\t\tlet src: string = this.srcSet[this.index];\r\n\t\tlet wrapRect: ClientRect = this.nodes[\"root\"].getBoundingClientRect();\r\n\t\tlet width: string = Math.round(wrapRect.width * 1.1).toString();\r\n\t\tlet height: string = Math.round(wrapRect.height * 1.1).toString();\r\n\r\n\t\treturn src.replace(/\\/(\\d+)x(\\d+)\\//, `/${width}x${height}/`);\r\n\t}\r\n}","\"use strict\";\r\n\r\n//\tCookie banner\r\n\r\nexport class CookieBanner {\r\n\r\n\t//\tContent set\r\n\r\n\tstatic consentSet(): void {\r\n\t\tconst form = document.createElement( \"form\" );\r\n\t\tconst input = document.createElement( \"input\" );\r\n\r\n\t\tform.style.height = \"0\"\r\n\t\tform.style.overflow = \"hidden\";\r\n\t\tform.action = document.location.href;\r\n\t\tform.method = \"post\";\r\n\r\n\t\tinput.name = \"cookiesConsent\";\r\n\t\tinput.value = \"y\";\r\n\r\n\t\tdocument.body.appendChild( form );\r\n\r\n\t\tform.appendChild( input );\r\n\t\tform.submit();\r\n\t\t\r\n\t\t//console.log( \"I've got a cookie!\" );\r\n\t}\r\n\t\r\n\t//\tResize spacer\r\n\r\n\tstatic resizeSpacer(): void {\r\n\t\tconst cookieBanner: HTMLElement = document.getElementById( \"script-cookie-banner\" );\r\n\r\n\t\tif ( cookieBanner ) {\r\n\t\t\tconst cookieBannerSpacer: HTMLElement = 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\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { AppRegistry } from \"../app.module\";\r\n\r\n// Header\r\nexport class Galleries {\r\n\tprivate nodes: any = {};\r\n\r\n\t//\tConstructor\r\n\tconstructor() {\r\n\t\tthis.nodes.root = document.querySelector(\".galleries\");\r\n\r\n\t\tif (this.nodes.root) this.run();\r\n\t}\r\n\r\n\t// Run\r\n\tprivate run(): void {\r\n\t\tthis.listeners();\r\n\t}\r\n\r\n\t// Listeners\r\n\tlisteners(): void {\r\n\t\tconsole.log(\"Galleries Listeners\")\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { AppRegistry } from \"../app.module\";\r\n\r\n// Header\r\nexport class Header {\r\n\tprivate header: HTMLElement;\r\n\tprivate buttonMenu: HTMLElement;\r\n\tprivate hero: HTMLElement;\r\n\r\n\t//\tConstructor\r\n\tconstructor() {\r\n\t\tthis.header = document.getElementById(\"header\");\r\n\t\tthis.buttonMenu = document.querySelector(\"#button-menu a\");\r\n\t\tthis.hero = document.getElementById(\"hero\");\r\n\r\n\t\tthis.listeners();\r\n\t}\r\n\r\n\t// Resize\r\n\tresize(): void {\r\n\t\tthis.header.classList.remove(\"open\");\r\n\t}\r\n\r\n\t// Scroll\r\n\tscroll(): void {\r\n\t\t//let triggerPoint: number = ( this.hero && AppRegistry.mediaQuery >= 48 ) ? (this.hero.offsetHeight - (128 * 3)) / 2 : 64;\r\n\t\tlet triggerPoint: number = ( window.innerHeight <= 447 ) ? 64 : 128;\r\n\r\n\t\tif ( AppRegistry.scrollTop >= triggerPoint ) {\r\n\t\t\tthis.header.classList.add(\"over\");\r\n\t\t} else {\r\n\t\t\tthis.header.classList.remove(\"over\");\r\n\t\t}\r\n\t}\r\n\r\n\t// Listeners\r\n\tlisteners(): void {\r\n\t\tthis.buttonMenu.addEventListener(\"click\", (e) => {\r\n\t\t\tthis.header.classList.toggle(\"open\")\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { Core } from \"../../kilopix/core.module\";\r\nimport { Fetcher } from \"../common/Fetcher\";\r\n\r\n// HeroContacts\r\nexport class HeroContacts {\r\n\tprivate env: JSON;\r\n\tprivate nodes: object = {};\r\n\tprivate hasErrors: boolean = false;\r\n\tprivate isLoading: boolean = false;\r\n\tprivate alertTimeout: any = null;\r\n\r\n\t//\tConstructor\r\n\tconstructor() {\r\n\t\tthis.nodes[\"root\"] = document.querySelector(\".hero-contacts\");\r\n\r\n\t\tif (this.nodes[\"root\"]) this.run();\r\n\t}\r\n\r\n\t// Run\r\n\tprivate run(): void {\r\n\t\tlet envNode: HTMLElement = document.getElementById(\"env\");\r\n\r\n\t\tif (envNode) {\r\n\t\t\tthis.env = JSON.parse(envNode.innerHTML);\r\n\t\t}\r\n\r\n\t\tthis.nodes[\"form\"] = this.nodes[\"root\"].querySelector(\"form\");\r\n\t\tthis.nodes[\"fields\"] = this.nodes[\"form\"].querySelectorAll(\"[name]\");\r\n\t\tthis.nodes[\"submit\"] = this.nodes[\"form\"].querySelector(\"button\");\r\n\r\n\t\tthis.listeners();\r\n\t}\r\n\r\n\t// Form\r\n\tprivate listeners(): void {\r\n\t\tthis.nodes[\"submit\"].addEventListener(\"click\", (e) => {\r\n\t\t\tif (!this.isLoading && !this.hasErrors) {\r\n\t\t\t\t//\r\n\t\t\t\tlet url: string = `${this.env[\"applicationPath\"]}/services.aspx?cont=contact-form&type=JSON&language=${this.env[\"language\"]}`;\r\n\t\t\t\tif (this.env[\"isPreview\"]) url += \"&preview=true\";\r\n\t\t\t\t//\r\n\t\t\t\tthis.isLoading = true;\r\n\t\t\t\te.currentTarget.classList.add(\"loading\");\r\n\t\t\t\t//\r\n\t\t\t\tlet fetcher: Fetcher = new Fetcher(url,\r\n\t\t\t\t\t(data) => {\r\n\t\t\t\t\t\t//\r\n\t\t\t\t\t\tthis.hideFormOnSuccess(data.message);\r\n\t\t\t\t\t\t//\r\n\t\t\t\t\t\tthis.nodes[\"submit\"].classList.remove(\"loading\");\r\n\t\t\t\t\t\tthis.isLoading = false;\r\n\t\t\t\t\t}, (status, jsonValue, message) => {\r\n\t\t\t\t\t\t//\r\n\t\t\t\t\t\tif (status === 400) this.renderFormErrors(jsonValue.errors);\r\n\t\t\t\t\t\telse this.renderAlert(message);\r\n\t\t\t\t\t\t//\r\n\t\t\t\t\t\tthis.nodes[\"submit\"].classList.remove(\"loading\");\r\n\t\t\t\t\t\tthis.isLoading = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tfetcher.formData = this.serialize();\r\n\t\t\t\tfetcher.send();\r\n\t\t\t}\r\n\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\r\n\t\tthis.nodes[\"fields\"].forEach(element => {\r\n\t\t\tlet eventType: string = (element.type != \"checkbox\") ? \"keydown\" : \"change\";\r\n\r\n\t\t\tif (element.type != \"button\") {\r\n\t\t\t\telement.addEventListener(eventType, () => {\r\n\t\t\t\t\tthis.removeFieldErrors(element.parentNode);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// Serialize\r\n\tprivate serialize(): FormData {\r\n\t\t//\r\n\t\tlet formData: FormData = new FormData();\r\n\t\t//\t\t\r\n\t\tlet i: number = 0;\r\n\t\tfor (; i < this.nodes[\"fields\"].length; i++) {\r\n\t\t\tlet field = this.nodes[\"fields\"][i];\r\n\r\n\t\t\tif (field.type === \"checkbox\" || field.type === \"radio\") {\r\n\t\t\t\tformData.append(field.name, (field.checked == false) ? null : field.value);\r\n\t\t\t} else {\r\n\t\t\t\tformData.append(field.name, field.value);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn formData;\r\n\t}\r\n\r\n\t//\tRender form errors\r\n\tprivate renderFormErrors(errors: object): void {\r\n\t\tthis.hasErrors = true;\r\n\r\n\t\tthis.nodes[\"fields\"].forEach(element => {\r\n\t\t\tlet name: string = element.name;\r\n\r\n\t\t\tif (errors.hasOwnProperty(name)) {\r\n\t\t\t\tlet parent: HTMLElement = element.parentNode;\r\n\t\t\t\tlet errorsList: HTMLDivElement = document.createElement(\"div\");\r\n\r\n\t\t\t\tparent.classList.add(\"has-errors\");\r\n\t\t\t\tparent.appendChild(errorsList);\r\n\r\n\t\t\t\terrorsList.classList.add(\"errors\");\r\n\t\t\t\terrorsList.innerHTML = this.getErrorsList(errors[name]);\r\n\t\t\t\terrorsList.style.height = `${errorsList.querySelector(\"ul\").offsetHeight}px`;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// Render alert\r\n\tprivate renderAlert(message: string): void {\r\n\t\tthis.removeAlert();\r\n\r\n\t\tlet alert: HTMLDivElement = document.createElement(\"div\");\r\n\r\n\t\tdocument.body.appendChild(alert);\r\n\r\n\t\talert.id = \"alert\";\r\n\t\talert.classList.add(\"show-alert\");\r\n\t\talert.innerHTML = message;\r\n\r\n\t\tthis.alertTimeout = setTimeout(() => {\r\n\t\t\talert.classList.replace(\"show-alert\", \"fade-out-full\");\r\n\t\t\talert.addEventListener(Core.getAnimationEnd(), (e) => {\r\n\t\t\t\tif (e[\"animationName\"] === \"fade-out-full\") {\r\n\t\t\t\t\tthis.removeAlert();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}, 7000);\r\n\t}\r\n\r\n\t//\tRemove field errors\r\n\tprivate removeFieldErrors(fieldParent: HTMLElement): void {\r\n\t\tif (fieldParent.classList.contains(\"has-errors\")) {\r\n\t\t\tlet errors: HTMLElement = fieldParent.querySelector(\".errors\");\r\n\r\n\t\t\terrors.style.height = \"0px\";\r\n\t\t\terrors.addEventListener(Core.getTransitionEnd(), () => {\r\n\t\t\t\tfieldParent.removeChild(errors);\r\n\t\t\t\tfieldParent.classList.remove(\"has-errors\");\r\n\r\n\t\t\t\tif (!document.querySelectorAll(\".errors\").length) {\r\n\t\t\t\t\tthis.hasErrors = false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t// Hide form on success\r\n\tprivate hideFormOnSuccess(message: string): void {\r\n\t\tlet success: HTMLDivElement = document.createElement(\"div\");\r\n\r\n\t\tthis.nodes[\"form\"].appendChild(success);\r\n\r\n\t\tsuccess.classList.add(\"success\", \"fade-in\");\r\n\t\tsuccess.innerHTML = `

${message}

`;\r\n\t\tsuccess.addEventListener(Core.getAnimationEnd(), () => {\r\n\t\t\tthis.nodes[\"fields\"].forEach(element => {\r\n\t\t\t\tlet type: string = element.type;\r\n\r\n\t\t\t\tif (type != \"hidden\" && type != \"checkbox\") {\r\n\t\t\t\t\telement.value = \"\";\r\n\t\t\t\t} else if (type === \"checkbox\") {\r\n\t\t\t\t\telement.checked = false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t// Remove alert\r\n\tprivate removeAlert(): void {\r\n\t\tlet alert = document.getElementById(\"alert\");\r\n\r\n\t\tclearTimeout(this.alertTimeout);\r\n\r\n\t\tif (alert) document.body.removeChild(alert);\r\n\t}\r\n\r\n\t// Get errors list\r\n\tprivate getErrorsList(data: Array): string {\r\n\t\tlet errors: string = `
    `;\r\n\t\tlet i: number = 0;\r\n\r\n\t\tfor (; i < data.length; i++) {\r\n\t\t\terrors += `
  • ${data[i]}
  • `;\r\n\t\t}\r\n\r\n\t\terrors += `
`;\r\n\r\n\t\treturn errors;\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { Directions } from \"../app.module\";\r\nimport { Hero } from \"../common/hero.module\";\r\n\r\n// Header\r\nexport class HeroContent extends Hero {\r\n\t//\tConstructor\r\n\tconstructor( root: string ) {\r\n\t\tsuper( root );\r\n\r\n\t\tif ( this.init() ) this.run();\r\n\t}\r\n\r\n\t// Run\r\n\tprivate run(): void {\r\n\t\tthis.drawNav();\r\n\t\tthis.listeners();\r\n\t\tthis.keyboardListeners();\r\n\t}\r\n\r\n\t// Listeners\r\n\tprivate listeners(): void {\r\n\t\tthis.nodes[\"buttonPrev\"].addEventListener(\"click\", ( e ) => {\r\n\t\t\tif ( !this.isLoading && (this.index - 1) >= 0 ) {\r\n\t\t\t\te.currentTarget.classList.add( \"loading\" );\r\n\r\n\t\t\t\tthis.direction = Directions.Left;\r\n\t\t\t\tthis.index--;\r\n\t\t\t\tthis.loadImage();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.nodes[\"buttonNext\"].addEventListener(\"click\", ( e ) => {\r\n\t\t\tif ( !this.isLoading && (this.index + 1) <= (this.srcSet.length - 1) ) {\r\n\t\t\t\te.currentTarget.classList.add( \"loading\" );\r\n\r\n\t\t\t\tthis.direction = Directions.Right;\r\n\t\t\t\tthis.index++;\r\n\t\t\t\tthis.loadImage();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// On loaded image\r\n\tprotected onLoadedImage(): void {\r\n\t\tif ( this.srcSet.length > 1 ) {\r\n\t\t\tthis.setNodes();\r\n\t\t\tthis.showNewImage();\r\n\t\t\tthis.updateNav();\r\n\t\t\t\r\n\t\t\tthis.nodes[\"buttonPrev\"].classList.remove( \"loading\" );\r\n\t\t\tthis.nodes[\"buttonNext\"].classList.remove( \"loading\" );\r\n\t\t}\r\n\t}\r\n\r\n\t// Show new image\r\n\tprivate showNewImage(): void {\r\n\t\tif ( this.nodes[\"oldFigure\"] ) {\r\n\t\t\tthis.nodes[\"oldFigure\"].classList.remove( \"current\", \"no-time-animation\" );\r\n\t\t\tthis.nodes[\"oldFigure\"].classList.add( \"fade-out\" );\r\n\t\t}\r\n\r\n\t\tthis.nodes[\"currentFigure\"].classList.remove( \"out\" );\r\n\t\tthis.nodes[\"currentFigure\"].classList.add( `slide-in-${this.direction.toLowerCase()}`, \"current\" );\r\n\t}\r\n\r\n\t// Set index\r\n\tprivate updateNav(): void {\r\n\t\tif ( this.index === 0 ) {\r\n\t\t\tthis.nodes[\"buttonPrev\"].classList.add(\"off\");\r\n\t\t\tthis.nodes[\"buttonNext\"].classList.remove(\"off\");\r\n\t\t} else if ( this.index === this.srcSet.length - 1 ) {\r\n\t\t\tthis.nodes[\"buttonPrev\"].classList.remove(\"off\");\r\n\t\t\tthis.nodes[\"buttonNext\"].classList.add(\"off\");\r\n\t\t} else {\r\n\t\t\tthis.nodes[\"buttonPrev\"].classList.remove(\"off\");\r\n\t\t\tthis.nodes[\"buttonNext\"].classList.remove(\"off\");\r\n\t\t}\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { AppRegistry, Directions } from \"../app.module\";\r\nimport { Hero } from \"../common/hero.module\";\r\nimport timeout from \"../../lib/timeout\";\r\n\r\n// Header\r\nexport class HeroSlideshow extends Hero {\r\n\tprivate hasInteraction: boolean = false;\r\n\tprivate isStopped: boolean = false;\r\n\tprivate timer: object;\r\n\r\n\t//\tConstructor\r\n\tconstructor( root: string ) {\r\n\t\tsuper( root );\r\n\r\n\t\tif ( this.init() ) this.run();\r\n\t}\r\n\r\n\t// Scroll\r\n\tscroll(): void {\r\n\t\tif ( !this.nodes[\"root\"] || this.srcSet.length <= 1 ) return;\r\n\r\n\t\tlet y: number = this.nodes[\"root\"].getBoundingClientRect()[\"height\"] - AppRegistry.scrollTop;\r\n\t\tlet triggerPoint: number = ( AppRegistry.mediaQuery < 48 ) ? 64 : 72;\r\n\r\n\t\tif ( y <= triggerPoint ) {\r\n\t\t\tif ( !this.isStopped ) {\r\n\t\t\t\tthis.isStopped = true;\r\n\t\t\t\t\r\n\t\t\t\tif ( this.nodes[\"currentImage\"] ) this.nodes[\"currentImage\"].classList.add( \"pause\" );\r\n\r\n\t\t\t\tif ( timeout.exists(this.timer) ) {\r\n\t\t\t\t\ttimeout.pause( this.timer );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif ( this.isStopped ) {\r\n\t\t\t\tthis.isStopped = false;\r\n\t\t\t\t\r\n\t\t\t\tif ( this.nodes[\"currentImage\"] ) this.nodes[\"currentImage\"].classList.remove( \"pause\" );\r\n\r\n\t\t\t\tif ( timeout.exists(this.timer) ) {\r\n\t\t\t\t\ttimeout.resume( this.timer );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.startTimer();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Run\r\n\tprivate run(): void {\r\n\t\tif ( this.nodes[\"root\"].classList.contains(\"interactive\") ) {\r\n\t\t\tthis.hasInteraction = true;\r\n\r\n\t\t\tthis.drawNav();\r\n\t\t\tthis.listeners();\r\n\t\t\tthis.keyboardListeners();\r\n\t\t}\r\n\t}\r\n\r\n\t// Listeners\r\n\tprivate listeners(): void {\r\n\t\tthis.nodes[\"buttonPrev\"].addEventListener(\"click\", ( e ) => {\r\n\t\t\tif ( !this.isLoading && !this.isStopped ) {\r\n\t\t\t\te.currentTarget.classList.add( \"loading\" );\r\n\r\n\t\t\t\tthis.direction = Directions.Left;\r\n\t\t\t\tthis.setIndex();\r\n\t\t\t\tthis.loadImage();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.nodes[\"buttonNext\"].addEventListener(\"click\", ( e ) => {\r\n\t\t\tif ( !this.isLoading && !this.isStopped ) {\r\n\t\t\t\te.currentTarget.classList.add( \"loading\" );\r\n\r\n\t\t\t\tthis.direction = Directions.Right;\r\n\t\t\t\tthis.setIndex();\r\n\t\t\t\tthis.loadImage();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// On loaded image\r\n\tprotected onLoadedImage(): void {\r\n\t\tif ( this.srcSet.length > 1 ) {\r\n\t\t\tthis.setNodes();\r\n\t\t\tthis.showNewImage();\r\n\t\t\t\r\n\t\t\tif ( this.hasInteraction ) {\r\n\t\t\t\tthis.nodes[\"buttonPrev\"].classList.remove( \"loading\" );\r\n\t\t\t\tthis.nodes[\"buttonNext\"].classList.remove( \"loading\" );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Show new image\r\n\tprivate showNewImage(): void {\r\n\t\tif ( this.hasInteraction ) {\r\n\t\t\tif ( this.nodes[\"oldFigure\"] ) this.nodes[\"oldFigure\"].classList.remove( \"current\" );\r\n\r\n\t\t\tthis.nodes[\"currentFigure\"].classList.remove( \"out\" );\r\n\t\t\tthis.nodes[\"currentFigure\"].classList.add( \"fade-in\", this.direction.toLowerCase(), \"current\" );\r\n\t\t\tthis.nodes[\"currentImage\"].classList.add( `sliding-${this.direction.toLowerCase()}` );\r\n\t\t} else {\r\n\t\t\tif ( this.nodes[\"oldFigure\"] ) {\r\n\t\t\t\tthis.nodes[\"oldFigure\"].classList.remove( \"current\" );\r\n\t\t\t\tthis.nodes[\"oldImage\"].classList.add( \"blur-out\" );\r\n\t\t\t}\r\n\r\n\t\t\tthis.nodes[\"currentFigure\"].classList.remove( \"out\" );\r\n\t\t\tthis.nodes[\"currentFigure\"].classList.add( \"fade-in\", \"current\" );\r\n\t\t\tthis.nodes[\"currentImage\"].classList.add( \"blur-in\" );\r\n\t\t}\r\n\r\n\t\tif ( !this.isStopped && this.srcSet.length > 1 ) {\r\n\t\t\tthis.startTimer();\r\n\t\t}\r\n\t}\r\n\r\n\t// Start timer\r\n\tprivate startTimer(): void {\r\n\t\ttimeout.set( this.timer, () => {\r\n\t\t\tthis.setIndex();\r\n\t\t\tthis.loadImage();\r\n\t\t}, (AppRegistry.orientation === \"landscape\") ? 7000 : 12000 );\r\n\t}\r\n\t\r\n\t// Set index\r\n\tprivate setIndex(): void {\r\n\t\tif ( this.direction === Directions.Left ) {\r\n\t\t\tthis.index = ( (this.index - 1) < 0 ) ? (this.srcSet.length - 1) : this.index - 1;\r\n\t\t} else {\r\n\t\t\tthis.index = ( (this.index + 1) > (this.srcSet.length - 1) ) ? 0 : this.index + 1;\r\n\t\t}\r\n\t}\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { Methods } from \"./methods.module\";\r\n\r\n// Core\r\nexport abstract class Core {\r\n\t\r\n\tprivate static lastScrollPosition: number;\r\n\tprivate static mediaQueries: object = {\r\n\t\t\"30em\": \"s\",\r\n\t\t\"48em\": \"m\",\r\n\t\t\"64em\": \"l\",\r\n\t\t\"80em\": \"xl\",\r\n\t\t\"90em\": \"xxl\",\r\n\t\t\"120em\": \"xxxl\"\r\n\t};\r\n\t\r\n\t// Get document size\r\n\tstatic getDocumentSize(): object {\r\n\t\treturn document.documentElement.getBoundingClientRect();\r\n\t}\r\n\r\n\t// Get window size\r\n\tstatic getWindowSize(): object {\r\n\t\treturn {\r\n\t\t\twidth: window.innerWidth,\r\n\t\t\theight: window.innerHeight\r\n\t\t}\r\n\t}\r\n\r\n\t// Get media query\r\n\tstatic getMediaQuery(): number {\r\n\t\tlet mediaQuery: number;\r\n\t\t\r\n\t\tfor ( let i in Core.mediaQueries ) {\r\n\t\t\tif ( window.matchMedia && window.matchMedia(\"screen and (min-width: \" + i + \")\").matches ) {\r\n\t\t\t\tmediaQuery = parseInt( i );\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tif ( mediaQuery == null ) {\r\n\t\t\tmediaQuery = 0;\r\n\t\t}\r\n\r\n\t\treturn mediaQuery;\r\n\t}\r\n\r\n\t// Get size\r\n\tstatic getSize(): string {\r\n\t\tconst mediaQuery: string = `${Core.getMediaQuery()}em`;\r\n\r\n\t\treturn ( parseInt(mediaQuery) === 0 ) ? \"xs\" : Core.mediaQueries[mediaQuery];\r\n\t}\r\n\t\r\n\t// Get orientation\r\n\tstatic getOrientation(): string {\r\n\t\tlet orientation: string = \"portrait\";\r\n\r\n\t\tif ( window.matchMedia(\"(orientation: landscape)\").matches ) {\r\n\t\t\torientation = \"landscape\";\r\n\t\t}\r\n\r\n\t\treturn orientation;\r\n\t}\r\n\r\n\t// Get scroll top\r\n\tstatic getScrollTop( element?: Element ): number {\r\n\t\tconst top = ( element != null ) ? element.scrollTop : window.pageYOffset;\r\n\r\n\t\treturn ( top < 0 ) ? 0 : top;\r\n\t}\r\n\r\n\t// Get scroll bottom\r\n\tstatic getScrollBottom( element?: Element, elementContent?: HTMLElement ): number {\r\n\t\tconst height: number = ( elementContent ) ? elementContent.offsetHeight : Core.getDocumentSize()[\"height\"];\r\n\t\tconst bottom: number = ( height - Core.getWindowSize()[\"height\"] ) - Core.getScrollTop( element );\r\n\r\n\t\treturn ( bottom < 0 ) ? 0 : bottom;\r\n\t}\r\n\r\n\t// Get scroll perc\r\n\tstatic getScrollPerc( element?: Element, elementContent?: HTMLElement ): number {\r\n\t\tconst height: number = ( !element ) ? Core.getDocumentSize()[\"height\"] : elementContent.offsetHeight;\r\n\r\n\t\treturn Core.getScrollTop( element ) / ( height - Core.getWindowSize()[\"height\"] );\r\n\t}\r\n\r\n\t// Get scroll direction\r\n\tstatic getScrollDirection( element?: Element ): string {\r\n\t\tconst direction: string = ( Core.getScrollTop( element ) > Core.lastScrollPosition ) ? \"down\" : \"up\";\r\n\r\n\t\tCore.lastScrollPosition = Core.getScrollTop( element );\r\n\r\n\t\treturn direction;\r\n\t}\r\n\r\n\t// Get transition end\r\n\tstatic getTransitionEnd(): string {\r\n\t\tconst el: HTMLElement = document.createElement( \"fakeelement\" );\r\n\t\tconst transitions: object = {\r\n\t\t \"transition\": \"transitionend\",\r\n\t\t \"OTransition\": \"oTransitionEnd\",\r\n\t\t\t\"MozTransition\": \"transitionend\",\r\n\t\t \"WebkitTransition\": \"webkitTransitionEnd\"\r\n\t\t};\r\n\r\n\t\tlet t: string = \"\";\r\n\r\n\t for ( t in transitions ) {\r\n\t if ( el.style[t] !== undefined ) {\r\n\t return transitions[t];\r\n\t }\r\n\t }\r\n\t}\r\n\r\n\t// Get animation end\r\n\tstatic getAnimationEnd(): string {\r\n\t const el: HTMLElement = document.createElement( \"fakeelement\" );\r\n\t\tconst animations: object = {\r\n\t\t \"animation\":\"animationend\",\r\n\t\t \"OAnimation\":\"oAnimationEnd\",\r\n\t\t \"MozAnimation\":\"animationend\",\r\n\t\t \"WebkitAnimation\":\"webkitAnimationEnd\"\r\n\t\t};\r\n\r\n\t\tlet t: string = \"\";\r\n\r\n\t for ( t in animations ) {\r\n\t if ( el.style[t] !== undefined ) {\r\n\t return animations[t];\r\n\t }\r\n\t }\r\n\t}\r\n\r\n}","\"use strict\";\r\n\r\n// Imports\r\nimport { Methods } from \"./methods.module\";\r\n\r\n// Dev\r\nexport class Dev {\r\n\r\n\t// Toggle layout grid\r\n\tstatic toggleLayoutGird() {\r\n\t\tconst grid: HTMLElement = document.createElement( \"div\" );\r\n\t\tconst toggle: HTMLElement = document.createElement( \"button\" );\r\n\r\n\t\tgrid.id = \"dev-grid\";\r\n\t\tgrid.classList.add( \"hide\" );\r\n\t\tgrid.innerHTML = `\r\n\t\t\t01\r\n\t\t\t02\r\n\t\t\t03\r\n\t\t\t04\r\n\t\t\t05\r\n\t\t\t06\r\n\t\t\t07\r\n\t\t\t08\r\n\t\t\t09\r\n\t\t\t10\r\n\t\t\t11\r\n\t\t\t12\r\n\t\t\t13\r\n\t\t\t14\r\n\t\t\t15\r\n\t\t\t16\r\n\t\t`;\r\n\r\n\t\ttoggle.id = \"dev-grid-toggle\";\r\n\t\ttoggle.innerHTML = \"Toggle Grid\";\r\n\r\n\t\tdocument.body.appendChild( grid );\r\n\t\tdocument.body.appendChild( toggle );\r\n\r\n\t\tdocument.getElementById( \"dev-grid-toggle\" ).addEventListener( \"click\", function( e ) {\r\n\t\t\tMethods.toggleClass( \"#dev-grid\", \"hide\" );\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t}\r\n\r\n}","\"use strict\";\r\n\r\n// Methods\r\nexport abstract class Methods {\r\n\r\n // Select\r\n static select( query: string ): Array {\r\n if ( typeof query === \"string\" ) {\r\n\r\n } else {\r\n \r\n }\r\n\r\n const lastElement: string = query.split( \" \" ).pop();\r\n\r\n let elements: Array | NodeList;\r\n\r\n if ( lastElement.charAt(0) === \"#\" ) {\r\n elements = [document.getElementById( lastElement.replace(\"#\", \"\") )];\r\n } else {\r\n if ( lastElement.match(/[:][^:not]/g) ) {\r\n elements = [document.querySelector( query )];\r\n } else {\r\n elements = document.querySelectorAll( query );\r\n }\r\n }\r\n\r\n return Object.keys( elements ).map( i => elements[i] ).filter( i => i == null ? false : true );\r\n }\r\n\r\n // Add class\r\n static addClass( query: string, className: string ): void {\r\n const selection: Array = Methods.select( query );\r\n\r\n if ( !selection.length ) return;\r\n\r\n selection.forEach( (element: Element) => {\r\n const classString: string = ( element.classList ) ? className : element.className;\r\n\r\n if ( element.classList ) {\r\n const classes: Array = classString.split( \" \" );\r\n for ( let i: number = 0; i < classes.length; i++ ) {\r\n element.classList.add( classes[i] );\r\n }\r\n } else {\r\n element.className += `${(classString == \"\") ? \"\" : \" \"}${className}`;\r\n }\r\n });\r\n }\r\n\r\n // Remove class\r\n static removeClass( query: string, className: string ): void {\r\n const selection: Array = Methods.select( query );\r\n\r\n if ( !selection.length ) return;\r\n\r\n const classes: Array = className.split( \" \" );\r\n\r\n selection.forEach( (element: Element) => {\r\n if ( element.classList ) {\r\n for ( let i: number = 0; i < classes.length; i++ ) {\r\n element.classList.remove( classes[i] );\r\n }\r\n } else {\r\n element.className = element.className.replace( new RegExp(`(^|\\\\b)${classes.join('|')}(\\\\b|$)`, \"gi\"), \" \" ).trim();\r\n }\r\n });\r\n }\r\n\r\n // Toggle class\r\n static toggleClass( query: string, className: string, force?: boolean ): void {\r\n const selection: Array = Methods.select( query );\r\n\r\n if ( !selection.length ) return;\r\n\r\n const classes: Array = className.split( \" \" );\r\n\r\n selection.forEach( (element: Element) => {\r\n const classString: string = element.className;\r\n\r\n if ( element.classList ) {\r\n classes.forEach( (cl: string) => {\r\n element.classList.toggle( cl, (force != null) ? force : undefined );\r\n });\r\n } else {\r\n classes.forEach( (cl: string) => {\r\n if ( classString.indexOf(cl) < 0 ) {\r\n element.className += `${(classString == \"\") ? \"\" : \" \"}${cl}`;\r\n } else {\r\n element.className = element.className.replace( cl, \" \" ).trim();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // Replace class\r\n static replaceClass( query: string, oldClassName: string, newClassName: string ): void {\r\n const selection: Array = Methods.select( query );\r\n\r\n if ( !selection.length ) return;\r\n\r\n const oldClasses: Array = oldClassName.split( \" \" );\r\n const newClasses: Array = newClassName.split( \" \" );\r\n\r\n selection.forEach( (element: Element) => {\r\n if ( element.classList ) {\r\n oldClasses.forEach( (oldClass: string, index: number) => {\r\n element.classList.replace( oldClass, newClasses[index] );\r\n });\r\n } else {\r\n oldClasses.forEach( (oldClass: string, index: number) => {\r\n element.className = element.className.replace( `${oldClass}`, `${newClasses[index]}` ).trim();\r\n });\r\n }\r\n });\r\n }\r\n\r\n // Has class\r\n static hasClass( query: string, className: string ): boolean {\r\n const element: Element = Methods.select( query )[0];\r\n\r\n if ( element == null ) return false;\r\n\r\n if ( element.classList ) {\r\n return element.classList.contains( className );\r\n\t\t} else {\r\n return new RegExp( `(^| )${className}( |$)`, \"gi\").test( element.className );\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // Css (WIP)\r\n static css( query: string, style: object ): void {\r\n\r\n }\r\n \r\n}","\"use strict\";\r\n\r\n// Scroll to\r\nexport function ScrollTo( destination: string | number, duration: number, easing: string, callback?: Function ) {\r\n\tconst easings = {\r\n\t\tlinear(t) {\r\n\t\t\treturn t;\r\n\t \t},\r\n\t \teaseInQuad(t) {\r\n\t\t\treturn t * t;\r\n\t \t},\r\n\t \teaseOutQuad(t) {\r\n\t\t\treturn t * (2 - t);\r\n\t \t},\r\n\t \teaseInOutQuad(t) {\r\n\t\t\treturn t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\r\n\t \t},\r\n\t \teaseInCubic(t) {\r\n\t\t\treturn t * t * t;\r\n\t \t},\r\n\t \teaseOutCubic(t) {\r\n\t\t\treturn (--t) * t * t + 1;\r\n\t \t},\r\n\t \teaseInOutCubic(t) {\r\n\t\t\treturn t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\r\n\t \t},\r\n\t \teaseInQuart(t) {\r\n\t\t\treturn t * t * t * t;\r\n\t \t},\r\n\t \teaseOutQuart(t) {\r\n\t\t\treturn 1 - (--t) * t * t * t;\r\n\t \t},\r\n\t \teaseInOutQuart(t) {\r\n\t\t\treturn t < 0.5 ? 8 * t * t * t * t : 1 - 8 * (--t) * t * t * t;\r\n\t \t},\r\n\t \teaseInQuint(t) {\r\n\t\t\treturn t * t * t * t * t;\r\n\t \t},\r\n\t \teaseOutQuint(t) {\r\n\t\t\treturn 1 + (--t) * t * t * t * t;\r\n\t \t},\r\n\t \teaseInOutQuint(t) {\r\n\t\t\treturn t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * (--t) * t * t * t * t;\r\n\t \t}\r\n\t};\r\n \r\n\tconst start: number = window.pageYOffset;\r\n\tconst startTime: number = \"now\" in window.performance ? performance.now() : new Date().getTime();\r\n \r\n\tconst documentHeight: number = Math.max( document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight );\r\n\tconst windowHeight: number = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName( \"body\" )[0].clientHeight;\r\n\tconst destinationOffset: number = typeof destination === \"number\" ? destination : document.querySelector( destination ).getBoundingClientRect().top;\r\n\tconst destinationOffsetToScroll: number = Math.round( documentHeight - destinationOffset < windowHeight ? documentHeight - windowHeight : destinationOffset );\r\n \r\n\tif ( \"requestAnimationFrame\" in window === false ) {\r\n\t\twindow.scroll( 0, destinationOffsetToScroll );\r\n\r\n\t\tif ( callback ) {\r\n\t\t\tcallback();\r\n\t\t}\r\n\t\t \r\n\t \treturn;\r\n\t}\r\n \r\n\tfunction scroll() {\r\n\t\tconst now: number = \"now\" in window.performance ? performance.now() : new Date().getTime();\r\n\t \tconst time: number = Math.min(1, ((now - startTime) / duration));\r\n\t \tconst timeFunction: number = easings[easing](time);\r\n\t \r\n\t\twindow.scroll( 0, Math.ceil((timeFunction * (destinationOffsetToScroll - start)) + start) );\r\n \r\n\t \tif ( window.pageYOffset === destinationOffsetToScroll ) {\r\n\t\t\tif (callback) {\r\n\t\t \t\tcallback();\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn;\r\n\t \t}\r\n \r\n\t\trequestAnimationFrame( scroll );\r\n\t}\r\n\r\n\tscroll();\r\n}","\"use strict\";\r\n\r\n// Utils\r\nexport abstract class Utils {\r\n\r\n // Is mobile\r\n static isMobile(): boolean {\r\n\t\tif ( /Mobi/i.test(navigator.userAgent) || /Android/i.test(navigator.userAgent) ) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n}","const Timeout = (() => {\r\n const keyId = {}\r\n const originalMs = {}\r\n const metadata = {}\r\n\r\n const clear = (key, erase = true) => {\r\n clearTimeout(keyId[key])\r\n delete keyId[key]\r\n\r\n if (erase) {\r\n delete metadata[key]\r\n delete originalMs[key]\r\n }\r\n }\r\n\r\n // set(key, func, ms = 0, [param1, param2, ...]) -- user-defined key\r\n // set(func, ms = 0, [param1, param2, ...]) -- func used as key\r\n //\r\n // returns a function allowing you to test if it has executed\r\n const set = (...args) => {\r\n let key, func, ms, params\r\n\r\n if (args.length === 0) {\r\n throw Error('Timeout.set() requires at least one argument')\r\n }\r\n\r\n if (typeof args[0] === 'function') {\r\n [func, ms, ...params] = args\r\n key = func.toString()\r\n } else {\r\n [key, func, ms, ...params] = args\r\n }\r\n\r\n if (!func) {\r\n throw Error('Timeout.set() requires a function parameter')\r\n }\r\n\r\n clear(key)\r\n\r\n const invoke = () => (metadata[key] = false, func(...params))\r\n\r\n keyId[key] = setTimeout(invoke, ms || 0)\r\n originalMs[key] = originalMs[key] || ms\r\n\r\n metadata[key] = {\r\n func,\r\n key,\r\n ms,\r\n params,\r\n paused: false,\r\n startTime: new Date().getTime(),\r\n timeSpentWaiting: 0,\r\n }\r\n\r\n return () => executed(key)\r\n }\r\n\r\n // timeout has been created\r\n const exists = key => key in keyId || metadata[key] !== undefined\r\n\r\n // test if a timeout has run\r\n const executed = key => metadata[key] === false\r\n\r\n // timeout does exist, but has not yet run\r\n const pending = key => exists(key) && !executed(key)\r\n\r\n // timeout does exist, but will not execute because it is paused\r\n const paused = key => exists(key) && metadata[key].paused\r\n\r\n // pause our execution countdown until we're ready for it to resume\r\n const pause = key => {\r\n if (!metadata[key] || paused(key)) return false\r\n\r\n clear(key, false)\r\n\r\n metadata[key].paused = true\r\n metadata[key].timeSpentWaiting = new Date().getTime() - metadata[key].startTime\r\n\r\n return metadata[key].timeSpentWaiting\r\n }\r\n\r\n const resume = key => {\r\n if (!metadata[key]) return false\r\n\r\n const { func, ms, params, paused, timeSpentWaiting } = metadata[key]\r\n\r\n if (!paused) return false\r\n\r\n const remainingTime = ms - timeSpentWaiting\r\n return set(key, func, remainingTime, ...params)\r\n }\r\n\r\n const remaining = key => {\r\n if (!metadata[key]) return 0\r\n\r\n const { ms, startTime, timeSpentWaiting } = metadata[key]\r\n\r\n return paused(key)\r\n ? ms - timeSpentWaiting\r\n : Math.max(0, startTime + ms - new Date().getTime())\r\n }\r\n\r\n const restart = key => {\r\n if (!metadata[key]) return false\r\n\r\n const { func, params, paused } = metadata[key]\r\n\r\n clear(key, false)\r\n\r\n if (paused) {\r\n metadata[key].paused = false\r\n }\r\n\r\n return set(key, func, originalMs[key], ...params)\r\n }\r\n\r\n return {\r\n clear,\r\n executed,\r\n exists,\r\n pause,\r\n paused,\r\n pending,\r\n remaining,\r\n restart,\r\n resume,\r\n set,\r\n }\r\n})()\r\n\r\nexport default Timeout\r\n"],"sourceRoot":""}