{"version":3,"file":"view_layout.bundle.js","mappings":"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","sources":["webpack:///./Web.Base/Content/Source/Js/misc/basic-search.js","webpack:///./Web.Base/Content/Source/Js/misc/cookie.js","webpack:///./Web.Base/Content/Source/Js/misc/instant-search.js","webpack:///./Web.Base/Content/Source/Js/misc/navigation.js","webpack:///./Web.Base/Content/Source/Js/misc/session-timeout-notification.js","webpack:///./Web.Base/Content/Source/Js/views/_layout.js","webpack:///./Web.Base/Content/Source/Js/misc/toast.js","webpack:///./Web.Base/Content/Source/Js/misc/popover.js"],"sourcesContent":["require('underscore');\r\n\r\nexport default class BasicSearch {\r\n constructor(searchUrl, query, isByEan) {\r\n if (typeof searchUrl === 'undefined' ||\r\n typeof query === 'undefined' ||\r\n typeof isByEan === 'undefined') {\r\n console.warn('WARNING! Parameters missing - Could not initialize BasicSearch.'); // eslint-disable-line no-console\r\n return;\r\n }\r\n\r\n this.query = query || '';\r\n this.instantSearch = false;\r\n this.searchUrl = searchUrl;\r\n this.searchParams = {\r\n templateName: '',\r\n amount: 30,\r\n page: 1,\r\n isByEan,\r\n };\r\n }\r\n\r\n // Get data from searchUrl to return\r\n getResults(doneCallback, failCallback) {\r\n const model = $.extend({ query: this.query, includestockinfo: !this.instantSearch }, this.searchParams);\r\n\r\n $.post(this.searchUrl, model, () => { })\r\n .done((result) => {\r\n if (_.isFunction(doneCallback)) {\r\n doneCallback(result);\r\n } else {\r\n throw 'doneCallback is not a function'; // eslint-disable-line\r\n }\r\n })\r\n .fail(() => {\r\n if (_.isFunction(failCallback)) {\r\n failCallback();\r\n }\r\n });\r\n }\r\n\r\n // Get html to load into container from searchUrl\r\n loadResults($container, loadCallback) {\r\n const model = $.extend({ query: this.query, includestockinfo: !this.instantSearch }, this.searchParams);\r\n $container.load(this.searchUrl, model, loadCallback); // post data\r\n }\r\n}\r\n","$(() => {\r\n const blueconicConsentLocalStorage = JSON.parse(localStorage.getItem('bcConsentOptions'));\r\n\r\n const subscribeToBcEvents = () => {\r\n if (reset) {\r\n resetConsent();\r\n }\r\n\r\n window.blueConicClient.event.subscribe(\"bc_consent_saved\", {}, function (event, context) {\r\n /* \r\n The context parameter contains the consent data, e.g.:\r\n {\r\n consented: [\"a_gebruikservaring\", \"b_marketing_cookies\", \"c_advertising\"],\r\n refused: []\r\n }\r\n */\r\n\r\n postCookieConsent(context)\r\n });\r\n };\r\n\r\n window.addEventListener('CookiebotOnAccept', function (e) {\r\n postCookieConsent(null);\r\n }, false);\r\n\r\n var postCookieConsent = (context) => {\r\n $.post(`/CookieConsent/SetCookieConsent`, context).done(() => {\r\n localStorage.setItem('bcConsentOptions', JSON.stringify(context));\r\n sessionStorage.setItem('bcConsentSet', true);\r\n });\r\n\r\n }\r\n\r\n const resetConsent = () => {\r\n window.blueConicClient.profile.getProfile().setConsentedObjectives([]);\r\n window.blueConicClient.profile.getProfile().setRefusedObjectives([]);\r\n window.blueConicClient.profile.updateProfile();\r\n localStorage.removeItem('bcConsentOptions');\r\n sessionStorage.removeItem('bcConsentSet');\r\n }\r\n\r\n var reset = blueconicConsentLocalStorage === null || blueconicConsentLocalStorage.length === 0;\r\n\r\n // First check if Blueconic is Loaded, before attempting to subscribe:\r\n if (typeof window.blueConicClient != 'undefined' &&\r\n typeof window.blueConicClient.event != 'undefined' &&\r\n typeof window.blueConicClient.event.subscribe != \"undefined\") {\r\n // BlueConic is loaded, subscribe to its events\r\n subscribeToBcEvents();\r\n } else {\r\n // Wait for BlueConic to load\r\n window.addEventListener('onBlueConicLoaded', function () {\r\n // BlueConic is loaded, subscribe to its events\r\n subscribeToBcEvents();\r\n }, false);\r\n }\r\n\r\n if (!('bcConsentSet' in sessionStorage) && blueconicConsentLocalStorage != null) {\r\n postCookieConsent(blueconicConsentLocalStorage)\r\n }\r\n})","import BasicSearch from \"../misc/basic-search\";\r\n\r\nrequire(\"underscore\");\r\n\r\nexport default class InstantSearch extends BasicSearch {\r\n constructor(searchUrl) {\r\n super(searchUrl, \"\", false);\r\n\r\n // jQuery cached elements\r\n this.$results_wrapper = $(\"#instant-search-results\");\r\n this.$results_list = this.$results_wrapper.find(\"ul\");\r\n this.$search_input = $(\"#search\");\r\n this.$header_searchbar = $(\".header__search-bar\");\r\n this.$header_dropdown = $(\".header__dropdown\");\r\n\r\n this.$search_form = $(\"#search-form\");\r\n\r\n this.is_fetching = false;\r\n this.last_query = \"\";\r\n\r\n this.initialize();\r\n }\r\n\r\n initialize() {\r\n // Initialize search params\r\n this.searchParams.amount = 6;\r\n this.searchParams.templateName = \"suggestions\";\r\n this.instantSearch = true;\r\n\r\n // Do not search for results when on mobile\r\n if (window.innerWidth >= 576) {\r\n this.$search_input.bind(\"paste change keyup click\", () => {\r\n this.query = this.$search_input.val();\r\n setTimeout(() => {\r\n this.search(this.query);\r\n }, 200);\r\n });\r\n\r\n this.$search_input.on(\"focus\", () => {\r\n this.showResults();\r\n });\r\n } else {\r\n this.$results_wrapper.hide();\r\n if (this.$header_searchbar.length > 0) {\r\n this.$header_searchbar.removeClass('header__search-bar--results');\r\n this.$header_dropdown.addClass('header__dropdown--close');\r\n this.$header_dropdown.removeClass('header__dropdown--open');\r\n }\r\n }\r\n }\r\n\r\n showResults() {\r\n if (this.$results_list.html().replace(/\\s/g, \"\").length !== 0) {\r\n this.$results_wrapper.show();\r\n if (this.$header_searchbar.length > 0) {\r\n this.$header_searchbar.addClass('header__search-bar--results');\r\n this.$header_dropdown.removeClass('header__dropdown--close');\r\n this.$header_dropdown.addClass('header__dropdown--open');\r\n }\r\n }\r\n\r\n $(\".page-wrapper\").on(\"click\", () => {\r\n if ($(\"#search\").is(\":focus\") === false) {\r\n this.hideResults();\r\n }\r\n });\r\n }\r\n\r\n hideResults() {\r\n this.$results_wrapper.hide();\r\n if (this.$header_searchbar.length > 0) {\r\n this.$header_searchbar.removeClass('header__search-bar--results');\r\n this.$header_dropdown.addClass('header__dropdown--close');\r\n this.$header_dropdown.removeClass('header__dropdown--open');\r\n }\r\n $(\".page-wrapper\").off(\"click\");\r\n }\r\n\r\n refreshComplete(query) {\r\n this.showResults();\r\n this.is_fetching = false;\r\n this.last_query = query;\r\n }\r\n\r\n // search\r\n search(query) {\r\n if (query) {\r\n if (!this.is_fetching && query !== this.last_query) {\r\n this.$results_wrapper.hide();\r\n if (this.$header_searchbar.length > 0) {\r\n this.$header_searchbar.removeClass('header__search-bar--results');\r\n this.$header_dropdown.addClass('header__dropdown--close');\r\n this.$header_dropdown.removeClass('header__dropdown--open');\r\n }\r\n this.$results_list.html(\"\");\r\n this.is_fetching = true;\r\n this.loadResults(this.$results_list, _.bind(this.refreshComplete, this, query));\r\n }\r\n } else {\r\n this.hideResults();\r\n }\r\n }\r\n}\r\n","export default class Navigation {\r\n constructor() {\r\n this.$body = $('body');\r\n this.$pageContent = $('.page-content');\r\n\r\n this.menuBodyClass = 'm-menu-active';\r\n\r\n this.$mobileSearch = $('#m-search');\r\n }\r\n\r\n closeCartAndMenu() {\r\n this.$body.removeClass(this.menuBodyClass);\r\n this.$mobileSearch.hide();\r\n }\r\n\r\n setClickHandlers() {\r\n // Menu flyout\r\n $('#m-menu-toggle').on('click', (e) => {\r\n e.preventDefault();\r\n if (this.$body.hasClass(this.menuBodyClass)) {\r\n this.closeCartAndMenu();\r\n } else {\r\n this.$body.addClass(this.menuBodyClass);\r\n // close events\r\n this.$pageContent.on('click', (clickEvent) => {\r\n this.closeCartAndMenu();\r\n clickEvent.preventDefault();\r\n });\r\n this.$pageContent.on('swipe', (swipeEvent) => {\r\n this.closeCartAndMenu();\r\n swipeEvent.preventDefault();\r\n });\r\n $('#mobile-menu .flyout-close').on('click', (flyoutCloseEvent) => {\r\n this.closeCartAndMenu();\r\n flyoutCloseEvent.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n // Searchblock\r\n $('#m-search-toggle').on('click', (e) => {\r\n e.preventDefault();\r\n this.$mobileSearch.toggle();\r\n if (this.$mobileSearch.is(':visible')) {\r\n this.$pageContent.on('click', (clickEvent) => {\r\n this.$mobileSearch.hide();\r\n clickEvent.preventDefault();\r\n });\r\n this.$mobileSearch.on('click', '#search-close', (clickEvent) => {\r\n this.$mobileSearch.hide();\r\n clickEvent.preventDefault();\r\n });\r\n this.$mobileSearch.on('click', '.search-btn', () => {\r\n this.$mobileSearch.hide();\r\n });\r\n this.$pageContent.on('swipe', (swipeEvent) => {\r\n this.$mobileSearch.hide();\r\n swipeEvent.preventDefault();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","const showSessionTimeoutNotification = () => {\r\n $('#session-timeout-notification-modal').modal('show');\r\n}\r\n\r\nexport const registerSessionTimeoutNotification = () => {\r\n const timeoutDuration = $('#session-timeout-notification-modal').data('timeout-duration');\r\n if (timeoutDuration) {\r\n setTimeout(showSessionTimeoutNotification, parseInt(timeoutDuration));\r\n }\r\n}","/* eslint no-unused-vars: 0 */\r\nimport Promise from \"promise-polyfill\"; // needed for IE Postalcode check!\r\nimport InstantSearch from \"../misc/instant-search\";\r\nimport Navigation from \"../misc/navigation\";\r\nimport { showProfilePopover } from \"../misc/popover\";\r\nimport { registerSessionTimeoutNotification } from '../misc/session-timeout-notification';\r\nimport '../misc/cookie';\r\nimport '../misc/toast';\r\n\r\nif (!window.Promise) {\r\n window.Promise = Promise;\r\n}\r\n\r\nfunction getCookie(name) {\r\n const start = document.cookie.indexOf(`${name}=`);\r\n const len = start + name.length + 1;\r\n let end;\r\n if (!start && name !== document.cookie.substring(0, name.length)) {\r\n return null;\r\n }\r\n if (start === -1) return null;\r\n end = document.cookie.indexOf(\";\", len);\r\n if (end === -1) end = document.cookie.length;\r\n return unescape(document.cookie.substring(len, end));\r\n}\r\n\r\nif (getCookie(\"cb-enabled\") === \"enabled\") {\r\n $(\".hero\").addClass(\"activeCookie\");\r\n}\r\n\r\n$(\".cb-enable\").click(() => {\r\n $(\".hero\").removeClass(\"activeCookie\");\r\n});\r\n\r\n// InstantSearch\r\nwindow.instantSearch = new InstantSearch(window.InstantSearch_Url);\r\n\r\n/* eslint-disable */\r\nString.prototype.format =\r\n String.prototype.format ||\r\n function (...args) {\r\n let str = this.toString();\r\n if (args.length) {\r\n const t = typeof args[0];\r\n const functionArguments = t === \"string\" || t === \"number\" ? Array.prototype.slice.call(args) : args[0];\r\n\r\n for (const key in functionArguments) {\r\n str = str.replace(new RegExp(`\\\\{${key}\\\\}`, \"gi\"), functionArguments[key]);\r\n }\r\n }\r\n\r\n return str;\r\n };\r\n/* eslint-enable */\r\n\r\n// DOM ready\r\n$(() => {\r\n const $menu = $(\".sidebar-menu-to-dropdown\");\r\n const $dropdown = $menu.find(\".sidebar-menu-mobile select\");\r\n\r\n $dropdown.on(\"change\", event => {\r\n const url = event.target.value;\r\n window.location.href = url;\r\n });\r\n\r\n // SetClickHandlers\r\n const navigation = new Navigation();\r\n navigation.setClickHandlers();\r\n\r\n $.ajaxSetup({\r\n cache: false // Disable caching of AJAX responses\r\n });\r\n\r\n $(\"#language-toggle\").bind(\"change\", event => {\r\n window.location.replace($(\"#language-toggle option:selected\").data(\"link\"));\r\n event.preventDefault();\r\n });\r\n\r\n var accountPopover = document.getElementsByClassName(\"popover\");\r\n if (accountPopover.length > 0) {\r\n showProfilePopover();\r\n }\r\n\r\n registerSessionTimeoutNotification();\r\n});","import { v4 as uuid } from \"uuid\";\r\n\r\nconst createToasterSuccessHtml = (message = '') => {\r\n return `\r\n
\r\n
\r\n
${message}
\r\n
\r\n `;\r\n}\r\n\r\nconst createToasterEl = (message = '', type = 'primary') => {\r\n const id = uuid();\r\n const el = document.createElement('div');\r\n el.classList.add('toaster');\r\n el.style.opacity = 0;\r\n el.setAttribute('data-id', id);\r\n\r\n if (type === 'success') {\r\n el.innerHTML = createToasterSuccessHtml(message);\r\n } else {\r\n const textEl = document.createElement('span');\r\n textEl.classList.add('text-' + type);\r\n textEl.textContent = message;\r\n el.appendChild(textEl);\r\n }\r\n\r\n return el;\r\n}\r\n\r\nconst toasterEl = document.querySelector('.toaster__wrapper');\r\n\r\nconst toasts = [];\r\n\r\nconst addToast = (toast) => {\r\n toasts.push(toast);\r\n};\r\n\r\nconst removeToast = (id) => {\r\n const index = toasts.findIndex((t) => t.id === id);\r\n toasts.splice(index, 1);\r\n\r\n // Recalculate positions of other toasts\r\n toasts.forEach((toast, index) => {\r\n const offset = toasts.reduce((offset, toast, i) => {\r\n if (i >= index) return offset;\r\n return offset + toast.element.getBoundingClientRect().height;\r\n }, 0);\r\n toast.element.style.transform = \"translateY(\" + offset + \"px)\";\r\n });\r\n};\r\n\r\n\r\nconst toast = (message = \"\", type) => {\r\n const _type = type || toasterEl.dataset.success || 'primary';\r\n const el = createToasterEl(message, _type);\r\n const id = el.dataset.id;\r\n\r\n // calculate position\r\n const offset = toasts.reduce((offset, toast) => {\r\n return offset + toast.element.getBoundingClientRect().height;\r\n }, 0);\r\n\r\n el.style.transform = \"translateY(\" + offset + \"px)\";\r\n\r\n toasterEl.appendChild(el);\r\n\r\n // Clear CSS loop so the transition for opacity plays\r\n el.offsetWidth;\r\n\r\n el.style.opacity = 1;\r\n\r\n const destroy = () => {\r\n el.style.opacity = 0;\r\n removeToast(id);\r\n\r\n setTimeout(() => {\r\n el.remove();\r\n }, 200);\r\n };\r\n\r\n setTimeout(() => {\r\n destroy();\r\n }, 4000);\r\n\r\n const result = { element: el, id, destroy };\r\n addToast(result);\r\n return result;\r\n};\r\n\r\n// Make gobally available\r\nwindow.toast = toast;","import { createPopper } from '@popperjs/core';\r\n\r\nexport function showProfilePopover() {\r\n const pop = document.querySelector('[data-toggle=\"logged-in-popover\"]');\r\n const ref = document.querySelector('[data-popover-ref=\"login\"]');\r\n\r\n if (!pop || !ref) return;\r\n\r\n createPopper(ref, pop, {\r\n placement: 'bottom-start',\r\n strategy: 'fixed',\r\n modifiers: [\r\n {\r\n name: 'preventOverflow'\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [8, 16]\r\n },\r\n }\r\n ]\r\n });\r\n\r\n const popover = document.querySelector(\".popover\");\r\n setTimeout(function () {\r\n popover.classList.add(\"visible\");\r\n setTimeout(function () {\r\n popover.classList.remove(\"visible\");\r\n popover.style.visibility = \"hidden\";\r\n }, 3500);\r\n }, 2000);\r\n}\r\n"],"names":["require","BasicSearch","searchUrl","query","isByEan","_classCallCheck","this","instantSearch","searchParams","templateName","amount","page","console","warn","key","value","doneCallback","failCallback","model","$","extend","includestockinfo","post","done","result","_","isFunction","fail","$container","loadCallback","load","blueconicConsentLocalStorage","JSON","parse","localStorage","getItem","subscribeToBcEvents","reset","resetConsent","window","blueConicClient","event","subscribe","context","postCookieConsent","addEventListener","e","setItem","stringify","sessionStorage","profile","getProfile","setConsentedObjectives","setRefusedObjectives","updateProfile","removeItem","length","InstantSearch","_BasicSearch","_this","_callSuper","$results_wrapper","$results_list","find","$search_input","$header_searchbar","$header_dropdown","$search_form","is_fetching","last_query","initialize","_inherits","_this2","innerWidth","bind","val","setTimeout","search","on","showResults","hide","removeClass","addClass","_this3","html","replace","show","is","hideResults","off","loadResults","refreshComplete","Navigation","$body","$pageContent","menuBodyClass","$mobileSearch","preventDefault","hasClass","closeCartAndMenu","clickEvent","swipeEvent","flyoutCloseEvent","toggle","name","end","start","len","showSessionTimeoutNotification","modal","toasterEl","document","querySelector","toasts","toast","el","message","arguments","undefined","type","id","uuid","createElement","classList","add","style","opacity","setAttribute","innerHTML","concat","createToasterSuccessHtml","textEl","textContent","appendChild","createToasterEl","dataset","success","offset","reduce","element","getBoundingClientRect","height","transform","offsetWidth","destroy","index","findIndex","t","splice","forEach","i","removeToast","remove","push","addToast","Promise","cookie","indexOf","substring","unescape","click","InstantSearch_Url","String","prototype","format","str","toString","_len","args","Array","_key","_typeof","functionArguments","slice","call","RegExp","timeoutDuration","url","target","location","href","setClickHandlers","ajaxSetup","cache","data","getElementsByClassName","pop","ref","createPopper","placement","strategy","modifiers","options","popover","visibility","showProfilePopover","parseInt"],"sourceRoot":""}