{"version":3,"file":"/js/app.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./resources/js/app.js","webpack:///./resources/js/appointment.js","webpack:///./resources/js/back.js","webpack:///./resources/js/faders.js","webpack:///./resources/js/form-ajax-replace.js","webpack:///./resources/js/forms.js","webpack:///./resources/js/glide.js","webpack:///./resources/js/gsap-animations.js","webpack:///./resources/js/header.js","webpack:///./resources/js/menu.js","webpack:///./resources/js/projects.js","webpack:///./resources/js/sitenotice.js","webpack:///./resources/js/typewriter.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","require('./appointment');\nrequire('./back');\n// require('./bootstrap');\nrequire('./faders');\nrequire('./form-ajax-replace');\nrequire('./forms');\n// require('./gallery');\nrequire('./glide');\nrequire('./gsap-animations');\nrequire('./header');\nrequire('./menu');\nrequire('./projects');\nrequire('./sitenotice');\n// require('./sliders');\nrequire('./typewriter');\n\n","function initDateTimePicker(dateElem, timeSelect) {\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n\n let datesBlocked = [];\n if (dateElem.getAttribute('data-blocked')) {\n datesBlocked = JSON.parse(dateElem.getAttribute('data-blocked'));\n }\n const datepicker = new Datepicker(dateElem, {\n daysOfWeekDisabled: [0],\n format: 'dd-mm-yyyy',\n language: 'nl',\n locales: Datepicker.locales.nl,\n minDate: tomorrow,\n datesDisabled: datesBlocked\n });\n dateElem.addEventListener('changeDate', (e) => {\n updateTimeOptions(timeSelect, datepicker.getDate());\n });\n}\n\nfunction getAjaxHeaders(form) {\n return {\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-TOKEN': form.querySelector('input[name=\"_token\"]').getAttribute('value')\n };\n}\n\nfunction updateTimeOptions(timeSelect, selectedDate) {\n const action = timeSelect.getAttribute('data-slotsurl');\n\n if (action) {\n const formData = new FormData();\n formData.append('date', selectedDate.toISOString());\n formData.append('time', timeSelect.value);\n\n fetch(action, {\n headers: getAjaxHeaders(document.querySelector('form.appointmentform')),\n method: 'post',\n body: formData\n }).then(function (response) {\n return response.text();\n }).then(function (html) {\n timeSelect.innerHTML = html;\n }).catch(function (error) {\n console.error(error);\n });\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n document.querySelectorAll('.appointmentform').forEach((footerAppointment) => {\n const dateElem = footerAppointment.querySelector('input[name=\"date\"]');\n const timeSelect = footerAppointment.querySelector('select[name=\"time\"]');\n if (dateElem, timeSelect) {\n initDateTimePicker(dateElem, timeSelect);\n }\n });\n});\n\n","document.addEventListener(\"DOMContentLoaded\", () => {\n if (document.referrer.length > 0 && document.referrer !== window.location.href) {\n document.querySelectorAll('.back.back--referer[hidden]').forEach((backHidden) => {\n backHidden.href = document.referrer;\n backHidden.removeAttribute('hidden');\n });\n }\n});\n","function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n\n return (\n rect.top >= 0 &&\n (\n rect.top <= (window.innerHeight || document.documentElement.clientHeight) ||\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n )\n );\n}\n\nfunction elementsVisibility(classname) {\n let elements = document.querySelectorAll(`.${classname}-in:not(.${classname}-in-active)`);\n\n elements.forEach((el) => {\n if (isElementInViewport(el)) {\n el.classList.add(`${classname}-in-active`);\n }\n });\n}\n\nfunction onVisibilityChange() {\n elementsVisibility('fade');\n elementsVisibility('scale');\n elementsVisibility('slide');\n}\n\ndocument.addEventListener('DOMContentLoaded', onVisibilityChange, false);\ndocument.addEventListener('load', onVisibilityChange, false);\ndocument.addEventListener('scroll', onVisibilityChange, false);\ndocument.addEventListener('resize', onVisibilityChange, false);\n\n","function attachAjaxReplace(form) {\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n const formData = new FormData(form);\n\n fetch(form.action, {\n method: 'post',\n body: formData\n }).then(function (response) {\n return response.json();\n }).then(function (json) {\n if (json.success) {\n form.querySelectorAll('ul.form').forEach((ulForm) => {\n ulForm.setAttribute('hidden', 'hidden');\n });\n form.querySelector('.form-content').setAttribute('hidden','hidden');\n form.querySelector('.form-thankyou').removeAttribute('hidden');\n window.location.href += '#result=thankyou';\n window.scrollTo({ top: form.parentElement.getBoundingClientRect().top + window.pageYOffset - 150, behavior: \"smooth\"});\n\n if (json.thankyou !== undefined) {\n const thankyouContent = document.getElementById('form-ajax-replace__thankyou-'+json.thankyou);\n if (thankyouContent) {\n thankyouContent.removeAttribute('hidden');\n }\n }\n }\n }).catch(function (error) {\n console.error(error);\n });\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const forms = document.querySelectorAll(\"form.form-ajax-replace\");\n forms.forEach(attachAjaxReplace);\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n document.querySelectorAll('form').forEach(form => {\n form.addEventListener('submit', () => {\n form.querySelectorAll('button[type=submit]').forEach(btn => {\n btn.disabled = true;\n btn.setAttribute('disabled', 'disabled');\n });\n });\n\n if (form.classList.contains('appointmentform')) {\n let storeFields = document.getElementById('fields-store');\n\n if (storeFields) {\n form.querySelectorAll('input[name=\"location\"]').forEach(locationOption => {\n locationOption.addEventListener('change', () => {\n if (document.querySelector('input[name=\"location\"]:checked').value == 'showroom') {\n storeFields.removeAttribute('hidden');\n storeFields.querySelectorAll('input, select').forEach(hiddenInput => {\n hiddenInput.setAttribute('required', 'required');\n });\n }\n else {\n storeFields.setAttribute('hidden', 'hidden');\n storeFields.querySelectorAll('input, select').forEach(hiddenInput => {\n hiddenInput.removeAttribute('required');\n });\n }\n });\n });\n }\n }\n });\n});\n","function initGlide(selectorGlide, selectorThumbs = false, autoplay = false, animationDuration = 500, gap = 0) {\n document.querySelectorAll(selectorGlide).forEach((slider) => {\n let options = {\n animationDuration: animationDuration,\n autoplay: autoplay,\n gap: gap,\n type: autoplay ? 'carousel' : 'slider',\n bound: true\n };\n\n const glider = new Glide(slider, options);\n glider.mount();\n\n if (selectorThumbs) {\n const thumbs = slider.querySelectorAll(selectorThumbs + ' [data-glide-dir]');\n\n thumbs.forEach(thumb => {\n thumb.addEventListener('click', () => {\n glider.go(thumb.getAttribute('data-glide-dir'));\n })\n })\n }\n });\n\n loadLazyImages(selectorGlide);\n}\n\nfunction initAllGlides() {\n console.log('initAllGlides');\n initGlide('.content-slideshow__slideshow .glide', false, false, 750, 0);\n}\n\nfunction loadLazyImages(selector) {\n document.querySelectorAll(selector + ' img[loading=\"lazy\"]').forEach((img) => {\n img.removeAttribute('loading');\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", initAllGlides);\ndocument.addEventListener(\"resize\", initAllGlides);\n","function staggeredReveal() {\n //Staggered Reveal\n ScrollTrigger.batch(\".staggered-reveal\", {\n interval: 0.1, // time window (in seconds) for batching to occur. The first callback that occurs (of its type) will start the timer, and when it elapses, any other similar callbacks for other targets will be batched into an array and fed to the callback. Default is 0.1\n batchMax: 20, // maximum batch size (targets)\n onEnter: batch => gsap.to(batch, {autoAlpha: 1, stagger: 0.15, overwrite: true}),\n // onLeave: batch => gsap.set(batch, {autoAlpha: 0, overwrite: true}),\n // onEnterBack: batch => gsap.to(batch, {autoAlpha: 1, stagger: 0.15, overwrite: true}),\n // onLeaveBack: batch => gsap.set(batch, {autoAlpha: 0, overwrite: true})\n // you can also define things like start, end, etc.\n });\n}\n\nfunction initGSAP() {\n staggeredReveal();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", initGSAP, false);\ndocument.addEventListener('resize', initGSAP, false);\n","function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n\n return (\n (rect.top >= 0 && rect.top <= (window.innerHeight || document.documentElement.clientHeight)) //top in viewport\n || (rect.bottom >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) // bottom in viewport\n || (rect.top < 0 && rect.bottom > (window.innerHeight || document.documentElement.clientHeight)) //top above, bottom below viewport\n );\n}\n\nfunction checkHeroVisible(hero, header) {\n if (isElementInViewport(hero)) {\n header.classList.remove('header--fixed');\n }\n else {\n header.classList.add('header--fixed');\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const hero = document.querySelector('.hero');\n const header = document.querySelector('header');\n\n if (hero && header) {\n checkHeroVisible(hero, header);\n document.addEventListener('scroll', () => {\n checkHeroVisible(hero, header);\n }, false);\n document.addEventListener('resize', () => {\n checkHeroVisible(hero, header);\n }, false);\n }\n}, false);\n\n\n","function handleMenus() {\n const menuToggle = document.getElementById('menu-open');\n\n if (menuToggle) {\n menuToggle.addEventListener('change', () => {\n const htmlElement = document.querySelector('html');\n\n if (htmlElement) {\n if (menuToggle.checked) {\n htmlElement.classList.add('menu-open');\n }\n else {\n htmlElement.classList.remove('menu-open');\n }\n }\n });\n }\n}\n\nfunction handleSubmenus() {\n const submenuContainers = document.querySelectorAll('nav .menu-item-has-children');\n\n submenuContainers.forEach((submenuContainer) => {\n const submenuToggle = submenuContainer.querySelector('input[type=\"checkbox\"]');\n\n if (submenuToggle) {\n submenuToggle.addEventListener('change', () => {\n if (submenuToggle.checked) {\n submenuContainer.classList.add('submenu-open');\n }\n else {\n submenuContainer.classList.remove('submenu-open');\n }\n });\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n handleMenus();\n handleSubmenus();\n});","function handleMoreProjects(projectsElem, moreProjectsButton) {\n let shown = 0;\n\n projectsElem.querySelectorAll('.projects__grid__project[hidden]').forEach((hiddenProject) => {\n shown++;\n if (shown <= 4) {\n hiddenProject.removeAttribute('hidden');\n }\n });\n\n if (projectsElem.querySelectorAll('.projects__grid__project[hidden]').length === 0) {\n moreProjectsButton.setAttribute('hidden', 'hidden');\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n document.querySelectorAll('.projects').forEach((projectsElem) => {\n let moreProjectsButton = projectsElem.querySelector('.more-projects');\n\n if (moreProjectsButton) {\n moreProjectsButton.addEventListener('click', (e) => {\n e.preventDefault();\n handleMoreProjects(projectsElem, moreProjectsButton);\n });\n }\n });\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n document.querySelectorAll('.sitenotice').forEach((switchedElem) => {\n switchedElem.classList.add('sitenotice--visible');\n let button = switchedElem.querySelector('.sitenotice__close');\n\n if (button) {\n button.addEventListener('click', (e) => {\n e.preventDefault();\n switchedElem.classList.remove('sitenotice--visible');\n });\n }\n setTimeout(() => { switchedElem.classList.remove('sitenotice--visible'); }, 15000);\n });\n});\n","function heroProductsTypeNextProduct(heroProducts) {\n const listItems = heroProducts.querySelectorAll('li');\n let active = false;\n\n for (let index = 0; index { heroProductsTypeNextProduct(heroProducts); }, 5000);\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const heroProducts = document.getElementById('hero-products');\n\n if (heroProducts) {\n heroProductsTypeNextProduct(heroProducts);\n }\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t847: 0,\n\t866: 0,\n\t252: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [866,252], () => (__webpack_require__(988)))\n__webpack_require__.O(undefined, [866,252], () => (__webpack_require__(481)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [866,252], () => (__webpack_require__(314)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","require","initDateTimePicker","dateElem","timeSelect","tomorrow","Date","setDate","getDate","datesBlocked","getAttribute","JSON","parse","datepicker","Datepicker","daysOfWeekDisabled","format","language","locales","nl","minDate","datesDisabled","addEventListener","e","selectedDate","action","formData","FormData","append","toISOString","value","fetch","headers","getAjaxHeaders","document","querySelector","method","body","then","response","text","html","innerHTML","error","console","updateTimeOptions","form","querySelectorAll","forEach","footerAppointment","referrer","length","window","location","href","backHidden","removeAttribute","elementsVisibility","classname","concat","el","rect","getBoundingClientRect","top","innerHeight","documentElement","clientHeight","bottom","isElementInViewport","classList","add","onVisibilityChange","attachAjaxReplace","preventDefault","json","success","ulForm","setAttribute","scrollTo","parentElement","pageYOffset","behavior","undefined","thankyou","thankyouContent","getElementById","btn","disabled","contains","storeFields","locationOption","hiddenInput","initGlide","selectorGlide","selector","selectorThumbs","arguments","autoplay","animationDuration","gap","slider","glider","Glide","type","bound","mount","thumb","go","img","initAllGlides","log","initGSAP","ScrollTrigger","batch","interval","batchMax","onEnter","gsap","to","autoAlpha","stagger","overwrite","checkHeroVisible","hero","header","remove","menuToggle","htmlElement","checked","submenuContainer","submenuToggle","projectsElem","moreProjectsButton","shown","hiddenProject","handleMoreProjects","switchedElem","button","setTimeout","heroProductsTypeNextProduct","heroProducts","listItems","active","index","innerText","Typewriter","start","typeString","title","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","o","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal","self","bind","push","__webpack_exports__"],"sourceRoot":""}