{"version":3,"file":"js/app.eb673959.js","mappings":"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","sources":["webpack://bfr-site/./assets/app/js/redirect-popin.ts","webpack://bfr-site/./assets/app/utils/ready.ts","webpack://bfr-site/./assets/app/js/imageSlider.ts","webpack://bfr-site/./assets/app/js/slider.ts","webpack://bfr-site/./assets/app/js/choice.ts","webpack://bfr-site/./assets/app/js/scroller.ts","webpack://bfr-site/./assets/app/js/form-label.ts","webpack://bfr-site/./assets/app/js/form-validation.ts","webpack://bfr-site/./assets/app/js/imageLightbox.ts","webpack://bfr-site/./assets/app/components/organisms/HomeSlider.vue","webpack://bfr-site/./assets/app/components/organisms/HomeSlider.vue?db74","webpack://bfr-site/./assets/app/components/organisms/HomeSlider.vue?101e","webpack://bfr-site/./assets/app/components/organisms/HomeSlider.vue?8070","webpack://bfr-site/./assets/app/js/homeSlider.ts","webpack://bfr-site/./assets/app/js/object-fit.ts","webpack://bfr-site/./assets/app/js/clampify.ts","webpack://bfr-site/./assets/app/js/accordion.ts","webpack://bfr-site/./assets/app/js/productFilter.ts","webpack://bfr-site/./assets/app/js/header-search.ts","webpack://bfr-site/./assets/app/js/market-lines.ts","webpack://bfr-site/./assets/app/js/alert.ts","webpack://bfr-site/./assets/app/js/filepond.ts","webpack://bfr-site/./assets/app/js/map.style.ts","webpack://bfr-site/./assets/app/js/map.ts","webpack://bfr-site/./assets/app/js/popover.ts","webpack://bfr-site/./assets/app/main.ts","webpack://bfr-site/./assets/app/pristine.ts","webpack://bfr-site/./assets/app/js/cookie.js","webpack://bfr-site/webpack/bootstrap","webpack://bfr-site/webpack/runtime/chunk loaded","webpack://bfr-site/webpack/runtime/compat get default export","webpack://bfr-site/webpack/runtime/define property getters","webpack://bfr-site/webpack/runtime/global","webpack://bfr-site/webpack/runtime/hasOwnProperty shorthand","webpack://bfr-site/webpack/runtime/node module decorator","webpack://bfr-site/webpack/runtime/publicPath","webpack://bfr-site/webpack/runtime/jsonp chunk loading","webpack://bfr-site/webpack/startup"],"sourcesContent":["const redirectPopin = (locale: string) => {\n return {\n show: false,\n language: navigator.language,\n onDeclineRedirection() {\n this.show = false\n sessionStorage.setItem('declinedRedirection', 'true')\n },\n init(): boolean | void {\n const declinedRedirection = sessionStorage.getItem(\"declinedRedirection\")\n if (!declinedRedirection) {\n if (['fr-CA', 'en-US'].some((l) => l === navigator.language && locale !== l.replace('-', '_') )) {\n this.show = true\n }\n }\n }\n }\n}\n\n(window as any).redirectPopin = redirectPopin\n","class Ready {\n private listeners: any[] = [];\n private observer: any = null;\n // constructor() {}\n\n public watch(selector: string | Document, callback: any) {\n if (!this.observer) {\n this.observer = new MutationObserver(this.checkMutations.bind(this));\n this.observer.observe(document, {\n childList: true,\n subtree: true,\n });\n }\n if (\n selector === document &&\n /complete|loaded|interactive/.test(document.readyState)\n ) {\n callback.call(document, document);\n return () => {};\n }\n const listener = { selector, callback };\n this.listeners.push(listener);\n if (typeof selector === 'string') {\n // Array.from(document.querySelectorAll(selector)).forEach((el: any) => callback.call(el, el));\n }\n return () => this.removeListener(listener);\n }\n\n private checkMutations(mutations: any) {\n this.listeners.forEach(\n ({ selector, callback }: { selector: string; callback: any }) => {\n const elements = document.querySelectorAll(selector);\n [].forEach.call(elements, (element: any) => {\n if (!element.$ready) {\n element.$ready = true;\n callback.call(element, element);\n }\n });\n },\n );\n }\n\n private removeListener(listener: any) {\n let i = this.listeners.length;\n while (i--) {\n if (listener === this.listeners[i]) {\n this.listeners.splice(i, 1);\n }\n }\n if (!this.listeners.length && this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n}\nconst instance = new Ready();\nexport default instance;\n","// @ts-ignore\nimport Ready from '@/utils/ready';\nimport {find} from 'lodash';\nconst selector = '[data-ref=\"imageSlider\"]';\n\nclass imageSlider {\n private el: HTMLElement;\n private id: string|undefined;\n private bulletsEl: any[] = [];\n private slidesEl: any[] = [];\n private currentSlide: number = 1;\n private slideInterval: number = 3000;\n private interval: any = null;\n constructor(el: any) {\n this.el = el;\n this.id = this.el.dataset['refId'];\n this.slidesEl = Array.from(this.el.querySelectorAll(`[data-ref=\"imageSliderSlide\"][data-ref-id=\"${this.id}\"]`));\n this.bulletsEl = Array.from(this.el.querySelectorAll(`[data-ref=\"imageSliderBullet\"][data-ref-id=\"${this.id}\"]`));\n this.initialize();\n }\n\n private initialize() {\n this.setCurrentSlide(this.currentSlide);\n this.addEventListeners();\n this.setSlideInterval();\n }\n\n private setSlideInterval() {\n this.interval = setInterval(() => {\n const nextSlide = this.currentSlide + 1 > this.slidesEl.length ? 1 : this.currentSlide + 1;\n this.setCurrentSlide(nextSlide);\n }, this.slideInterval);\n }\n\n private clearSlideInterval() {\n if (this.interval) {\n clearInterval(this.interval);\n this.setSlideInterval();\n }\n }\n\n private addEventListeners() {\n this.bulletsEl.forEach((bulletEl: HTMLElement) => {\n bulletEl.addEventListener('click', this.onBulletClick.bind(this));\n });\n }\n\n private onBulletClick(e: any) {\n const el = e.target;\n this.setCurrentSlide(Number(el.dataset['bulletId']));\n }\n \n private setCurrentSlide(slideNb: number) {\n this.currentSlide = slideNb;\n this.slidesEl.forEach((slideEl: HTMLElement) => {\n const bullet = find(this.bulletsEl, (bulletEl) => bulletEl.dataset['bulletId'] === slideEl.dataset['slideId']);\n if (Number(slideEl.dataset['slideId']) === slideNb) {\n bullet.classList.add('imageSlider_bullet--active');\n return slideEl.style.display = 'block';\n }\n bullet.classList.remove('imageSlider_bullet--active');\n return slideEl.style.display = 'none';\n });\n this.clearSlideInterval();\n }\n}\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n return new imageSlider(element);\n });\n})();\n","// @ts-ignore\nimport Swiper from 'swiper/bundle';\n// import Ready from '@/utils/ready';\n// @ts-ignore\nimport Ready from \"@/utils/ready\";\n// import 'swiper/css';\n\nconst selector = '[data-ref=\"slider\"]';\n\nReady.watch(selector, (element: HTMLElement) => {\n const option = element.dataset.option ? JSON.parse((element.dataset.option as any)) : {};\n const buttonNext: any = element.querySelector(`[data-ref=\"slider-button-next\"]`);\n const buttonPrev: any = element.querySelector(`[data-ref=\"slider-button-prev\"]`);\n return new Swiper(element, {\n navigation: buttonNext && buttonPrev ? {\n nextEl: `[data-ref=\"slider-button-next\"][data-id=\"${ buttonNext.dataset.id }\"]`,\n prevEl: `[data-ref=\"slider-button-prev\"][data-id=\"${ buttonPrev.dataset.id }\"]`,\n }\n : false,\n scrollbar: {\n el: '.swiper-scrollbar',\n },\n threshold: 10,\n pagination: {\n el: '.swiper-pagination',\n clickable: true,\n },\n ...option,\n });\n});\n","import Ready from \"@/utils/ready\";\n// @ts-ignore\nimport Choices from \"choices.js\";\n\nconst selector = \"[data-ref='select']\";\n\n(() => {\n Ready.watch(selector, (element: any) => {\n let options = {};\n if (element.dataset.options) {\n options = JSON.parse(element.dataset.options);\n }\n\n new Choices(element, {\n searchEnabled: false,\n itemSelectText: \"\",\n ...options,\n });\n });\n})();\n\n","export default class Scroller {\n el: any;\n offset: number = 80;\n isIE11: any;\n\n constructor(element: HTMLElement, offset: number) {\n this.el = element;\n this.offset = offset;\n this.isIE11 = !!(window as any).MSInputMethodContext && !!(document as any).documentMode;\n }\n\n public scrollTo() {\n const y = (this.el.getBoundingClientRect().top + document.documentElement.scrollTop) - this.offset;\n if (this.isIE11) {\n window.scrollTo(0, y);\n } else {\n window.scrollTo({\n top: y,\n behavior: 'smooth',\n });\n }\n }\n}\n\n(window as any).Scroller = Scroller;\n","class FormLabel {\n private el: any;\n private hasValue: boolean;\n\n constructor(element: HTMLElement) {\n this.el = element;\n this.hasValue = false;\n this.addEvents();\n }\n\n private addEvents() {\n const formGroup = this.el.closest('.form-group');\n this.el.addEventListener('focus', (e: any) => {\n formGroup.classList.add('selected');\n });\n this.el.addEventListener('blur', (e: any) => {\n formGroup.classList.remove('selected');\n });\n }\n}\n\nexport default FormLabel;\n","import Ready from '@/utils/ready';\nimport Scroller from '@/js/scroller';\nimport FormLabel from \"@/js/form-label\";\nconst selector = '[data-ref=\"form\"]';\n\nclass FormValidator {\n el: any = null;\n inputs: any = [];\n errorDivName: string = 'form-error';\n\n constructor(el: any) {\n this.el = el;\n this.el.setAttribute('novalidate', '');\n this.findInput();\n this.watchInput();\n this.watchSubmit();\n }\n\n private findInput() {\n [].forEach.call(this.el.querySelectorAll('input'), (input: any) => {\n this.inputs = [...this.inputs, input];\n });\n [].forEach.call(this.el.querySelectorAll('select'), (select: any) => {\n this.inputs = [...this.inputs, select.closest('.choices')];\n });\n [].forEach.call(this.el.querySelectorAll('textarea'), (textarea: any) => {\n this.inputs = [...this.inputs, textarea];\n });\n }\n\n private watchInput() {\n [].forEach.call(this.inputs, (input: any) => {\n if (input.classList.contains('choices')) {\n input.querySelector('[data-ref=\"select\"]').addEventListener('change', () => {\n this.initError(input);\n });\n } else {\n input.addEventListener('input', () => {\n this.initError(input);\n });\n }\n new FormLabel(input);\n });\n }\n\n private initError(input: any) {\n const parentHasError = input.parentNode.querySelector(`.${this.errorDivName}`) || input.parentNode.querySelector('.list--error');\n if (parentHasError) {\n input.classList.remove('input--error');\n parentHasError.remove();\n }\n if (input.classList.contains('choices')) {\n const inputSelect = input.querySelector('[data-ref=\"select\"]');\n if (!inputSelect.validity.valid) {\n input.classList.add('input--error');\n this.createError(input);\n }\n } else if (!input.validity.valid) {\n input.classList.add('input--error');\n this.createError(input);\n }\n }\n\n private createError(input: any) {\n const error = document.createElement('div');\n error.innerHTML = input.classList.contains('choices') ? input.querySelector('[data-ref=\"select\"]').validationMessage : input.validationMessage;\n error.classList.add(this.errorDivName);\n input.parentNode.append(error);\n }\n\n private watchSubmit() {\n this.el.addEventListener('submit', (e: any) => {\n [].forEach.call(this.inputs, (input: any) => {\n if (input.classList.contains('choices')) {\n const inputSelect = input.querySelector('[data-ref=\"select\"]');\n if (!inputSelect.validity.valid) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n this.initError(input);\n new Scroller(this.el.querySelector('.input--error'), 200).scrollTo();\n }\n } else {\n if (!input.validity.valid) {\n this.initError(input);\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n new Scroller(this.el.querySelector('.input--error'), 200).scrollTo();\n }\n }\n });\n });\n }\n}\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n new FormValidator(element);\n });\n})();\n","import Ready from '@/utils/ready';\n\nconst selector = '[data-ref=\"imageLightbox\"]';\n\nclass ImageLightbox {\n public el: HTMLElement;\n public id: any;\n public images: any;\n // public lightboxBlock: any;\n public lightboxEl: any;\n public lightboxBackground: any;\n public lightboxClose: any;\n public lightboxSlidesContainer: any;\n public lightboxSlides: any;\n public lightboxSlideIndex: number;\n public lightboxSlidePrev: any;\n public lightboxSlideNext: any;\n public lightboxCaption: any;\n // public lightboxThumbnailsContainer: any;\n // public lightboxThumbnails: any;\n // public backgroundedImages: any;\n\n constructor(element: HTMLElement) {\n this.el = element;\n this.id = element.dataset.lightboxId;\n this.images = document.querySelectorAll(`[data-lightbox-image-id=\"${this.id}\"]`);\n // this.lightboxBlock = this.el.querySelector(`[data-ref=\"imageLightboxBlock\"][data-lightbox-id=\"${this.id}\"]`);\n this.lightboxEl = this.el.querySelector(`[data-ref=\"imageLightboxWrapper\"][data-lightbox-id=\"${this.id}\"]`);\n this.lightboxBackground = this.lightboxEl.querySelector('.imageLightbox__background');\n this.lightboxClose = this.lightboxEl.querySelector('.imageLightbox__close');\n this.lightboxSlidesContainer = this.lightboxEl.querySelector('.imageLightbox__slides');\n this.lightboxSlideIndex = 1;\n this.lightboxSlidePrev = this.lightboxEl.querySelector('.imageLightbox__slides__prev');\n this.lightboxSlideNext = this.lightboxEl.querySelector('.imageLightbox__slides__next');\n this.lightboxCaption = this.lightboxEl.querySelector('#imageLightbox__caption');\n // this.lightboxThumbnailsContainer = this.lightboxEl.querySelector('.imageLightbox__thumbnails');\n // this.images = this.lightboxBlock.querySelectorAll('img');\n // this.backgroundedImages = this.lightboxBlock.querySelectorAll('[data-lightbox=\"bgImageGallery\"]');\n if (this.images.length > 0) {\n this.initElements();\n this.lightboxSlides = this.lightboxEl.querySelectorAll('.imageLightbox__slides__slide');\n // this.lightboxThumbnails = this.lightboxEl.querySelectorAll('.imageLightbox__thumbnails__thumbnail');\n this.initSlide();\n this.addEventListeners();\n }\n }\n\n private initElements() {\n // this.createElements(this.lightboxSlidesContainer, this.images, 'imageLightbox__slides__slide', 'imageLightbox__slides__slide__image');\n // this.createElements(this.lightboxThumbnailsContainer, this.images, 'col imageLightbox__thumbnails__thumbnail');\n // ([this.backgroundedImages, this.images] as any).forEach((items: any) => {\n // items.forEach((item: any) => {\n // if (item.style.backgroundImage) {\n // this.createElement(item.style.backgroundImage.slice(5, -2));\n // } else {\n // this.createElement(item.src);\n // }\n // });\n // });\n\n const images = Array.from(this.images);\n images.forEach((imageEl: any) => this.createElement(imageEl.dataset.lightboxImage));\n if (images.length <= 1) {\n this.lightboxSlidePrev.style.display = 'none';\n this.lightboxSlideNext.style.display = 'none';\n }\n }\n\n // private createElements(container: any, images: any, imgContainerClass: string, imgClass: string = '') {\n // [].forEach.call(images, (image: any) => {\n // const imgContainer = document.createElement('div');\n // imgContainer.className = imgContainerClass;\n // const img = `<img data-object-fit data-ref=\"objectFit\" class=\"${imgClass}\" src=\"${image.src}\" alt=\"${image.alt}\">`;\n // imgContainer.innerHTML = img;\n // container.appendChild(imgContainer);\n // });\n // }\n\n private createElement(image: string) {\n const imgContainer = document.createElement('div');\n imgContainer.className = 'imageLightbox__slides__slide';\n const img = `<img data-object-fit=\"contain\" data-ref=\"objectFit\" class=\"imageLightbox__slides__slide__image\" src=\"${image}\">`;\n imgContainer.innerHTML = img;\n this.lightboxSlidesContainer.appendChild(imgContainer);\n }\n\n private initSlide() {\n this.lightboxSlides[this.lightboxSlideIndex - 1].style.display = 'block';\n }\n\n private addEventListeners() {\n // [].forEach.call(this.images, (image: any, index: any) => {\n // image.addEventListener('click', (e: any) => {\n // this.openLightbox();\n // this.currentSlide(index + 1);\n // });\n // });\n // let array: any = [];\n // ([this.backgroundedImages, this.images] as any).forEach((items: any) => {\n // items.forEach((item: any) => {\n // array = [...array, item];\n // });\n // });\n Array.from(document.querySelectorAll(`[data-lightbox-image-id=\"${this.id}\"]`)).forEach((item: any, index: number) => {\n item.addEventListener('click', (e: any) => {\n this.openLightbox();\n this.currentSlide(index + 1);\n });\n });\n this.lightboxClose.addEventListener('click', (e: any) => {\n this.closeLightbox();\n });\n this.lightboxSlidePrev.addEventListener('click', (e: any) => {\n this.switchSlide(-1);\n });\n this.lightboxSlideNext.addEventListener('click', (e: any) => {\n this.switchSlide(1);\n });\n this.lightboxEl.addEventListener('click', (e: any) => {\n if (e.target === this.lightboxBackground) {\n this.closeLightbox();\n }\n });\n // [].forEach.call(this.lightboxThumbnails, (thumbnail: any, index: any) => {\n // thumbnail.addEventListener('click', (e: any) => {\n // this.currentSlide(index + 1);\n // });\n // });\n }\n\n private openLightbox() {\n this.lightboxEl.style.display = 'flex';\n }\n\n private closeLightbox() {\n this.lightboxEl.style.display = 'none';\n }\n\n // Next/previous controls\n private switchSlide(n: any) {\n this.showSlides(this.lightboxSlideIndex += n);\n }\n\n // Thumbnail image controls\n private currentSlide(n: any) {\n this.showSlides(this.lightboxSlideIndex = n);\n }\n\n private showSlides(n: any) {\n let i: any;\n if (n > this.lightboxSlides.length) {\n this.lightboxSlideIndex = 1;\n } else if (n < 1) {\n this.lightboxSlideIndex = this.lightboxSlides.length;\n }\n for (i = 0; i < this.lightboxSlides.length; i++) {\n this.lightboxSlides[i].style.display = 'none';\n }\n // for (i = 0; i < this.lightboxThumbnails.length; i++) {\n // this.lightboxThumbnails[i].className = this.lightboxThumbnails[i].className.replace('imageLightbox__thumbnails__thumbnail--active', '');\n // }\n this.lightboxSlides[this.lightboxSlideIndex - 1].style.display = 'block';\n // this.lightboxThumbnails[this.lightboxSlideIndex - 1].className += ' imageLightbox__thumbnails__thumbnail--active';\n // this.lightboxCaption.innerHTML = this.lightboxSlides[this.lightboxSlideIndex - 1].querySelector('img').alt;\n }\n}\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n new ImageLightbox(element);\n });\n})();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"homeSlider\"},[_vm._m(0),_c('div',{staticClass:\"homeSlider__content\"},[(_vm.currentSlide)?_c('div',{staticClass:\"homeSlider_slideWrapper\"},[(_vm.currentSlide.fileType === 'image')?_c('div',{staticClass:\"homeSlider__content__background\",style:(`background-image: url(${_vm.currentSlide.video})`)}):_c('div',{staticClass:\"homeSlider__content__background\"},[_c('video',{staticClass:\"h-full w-full object-cover\",attrs:{\"autoplay\":\"\",\"muted\":\"\",\"loop\":\"\",\"src\":_vm.currentSlide.video},domProps:{\"muted\":true}})]),_c('div',{staticClass:\"homeSlider__content__heading\"},[_c('h1',{staticClass:\"heading heading--bgWhite\"},[_vm._v(_vm._s(_vm.currentSlide.title))])]),_c('div',{staticClass:\"homeSlider__content__blocs\"},[_c('div',{staticClass:\"homeSlider__content__blocs__category\"},[_c('span',{staticClass:\"homeSlider__content__blocs__category__borderTop\",style:(`background-color: ${_vm.currentSlide.color}`)}),_c('div',{staticClass:\"ckeditor\",domProps:{\"innerHTML\":_vm._s(_vm.currentSlide.text1)}}),_c('span',{staticClass:\"homeSlider__content__blocs__category__borderBottom\",style:(`background-color: ${_vm.currentSlide.color}`)})]),_c('div',{staticClass:\"homeSlider__content__blocs__knowMore\"},[_c('div',{staticClass:\"ckeditor\",domProps:{\"innerHTML\":_vm._s(_vm.currentSlide.text2)}}),_c('div',{staticClass:\"homeSlider_bullets__default\"},_vm._l((_vm.slides),function(slide,index){return _c('span',{key:index,staticClass:\"homeSlider_bullet\",class:{ 'homeSlider_bullet--active': index === _vm.currentSlideNumber },on:{\"click\":function($event){return _vm.setCurrentSlideNumber(index)}}})}),0)])])]):_vm._e(),_c('div',{staticClass:\"homeSlider_bullets\"},_vm._l((_vm.slides),function(slide,index){return _c('span',{key:index,staticClass:\"homeSlider_bullet\",class:{ 'homeSlider_bullet--active': index === _vm.currentSlideNumber },on:{\"click\":function($event){return _vm.setCurrentSlideNumber(index)}}})}),0)])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"homeSlider__social\"},[_c('a',{staticClass:\"link link--initial\",attrs:{\"href\":\"https://www.linkedin.com/company/bfr-systems/about/\",\"target\":\"_blank\"}},[_c('span',{staticClass:\"hidden\"},[_vm._v(\"BFR LinkedIn\")]),_c('i',{staticClass:\"icon ion-logo-linkedin\"})]),_c('a',{staticClass:\"link link--initial\",attrs:{\"href\":\"https://www.youtube.com/channel/UC8XIC855mmhIYGNt8zAor7Q\",\"target\":\"_blank\"}},[_c('span',{staticClass:\"hidden\"},[_vm._v(\"BFR YouTube\")]),_c('i',{staticClass:\"icon ion-logo-youtube\"})]),_c('a',{staticClass:\"link--initial\",attrs:{\"href\":\"https://twitter.com/SystemsBfr\",\"target\":\"_blank\"}},[_c('span',{staticClass:\"hidden\"},[_vm._v(\"BFR Twitter\")]),_c('i',{staticClass:\"icon ion-logo-twitter\"})])])\n}]\n\nexport { render, staticRenderFns }","\n import {Component, Prop, Vue} from 'vue-property-decorator';\n @Component\n export default class HomeSlider extends Vue {\n @Prop({default: []}) private jsonSlides: any;\n private slides: any = [];\n private currentSlideNumber: number = 0;\n private slideIntervalTime: number = 7500;\n private slideInterval: any = null;\n private setCurrentSlideNumber(slideNb: number) {\n this.currentSlideNumber = slideNb;\n clearInterval(this.slideInterval);\n this.setInterval();\n }\n\n mounted() {\n this.slides = JSON.parse(this.jsonSlides);\n console.log(this.slides);\n this.setInterval();\n }\n\n private setInterval() {\n this.slideInterval = setInterval(this.nextSlide, this.slideIntervalTime);\n }\n\n private nextSlide() {\n if (this.slides) {\n if (this.currentSlideNumber + 1 > this.slides.length - 1) {\n this.currentSlideNumber = 0;\n } else {\n this.currentSlideNumber += 1;\n }\n }\n }\n\n private get currentSlide() {\n if (this.slides && this.slides.length > 0) {\n return this.slides[this.currentSlideNumber];\n }\n return null;\n }\n }\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomeSlider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomeSlider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeSlider.vue?vue&type=template&id=af10bbfa&scoped=true&\"\nimport script from \"./HomeSlider.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeSlider.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./HomeSlider.vue?vue&type=style&index=0&id=af10bbfa&prod&lang=scss&scoped=true&\"\nimport style1 from \"./HomeSlider.vue?vue&type=style&index=1&id=af10bbfa&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"af10bbfa\",\n null\n \n)\n\nexport default component.exports","import HomeSlider from \"@/components/organisms/HomeSlider.vue\";\nimport Ready from '@/utils/ready';\nimport Vue from 'vue';\nimport axios from \"axios\";\n\n(() => {\n Ready.watch('[data-ref=\"homeSlider\"]', (element: HTMLElement) => {\n axios.get((element as any).dataset.apiPath)\n .then((res) => {\n if (res.data.length > 0) {\n new Vue({\n components: {\n HomeSlider,\n },\n template: `<HomeSlider jsonSlides='${JSON.stringify(res.data)}' />`,\n }).$mount(element);\n }\n })\n .catch((err) => {throw new Error(err)});\n });\n})();\n","import Ready from '@/utils/ready';\nimport 'objectFitPolyfill/dist/objectFitPolyfill.min.js';\n\nconst selector = '[data-ref=\"objectFit\"]';\n\nconst init = (el: any = null) => {\n (window as any).objectFitPolyfill(el);\n};\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n if (element && !(element as any).parentNode.classList.contains('object-fit-polyfill')) {\n init(element);\n }\n });\n})();\n\nexport default init;\n","import 'clampify';\nimport Ready from '@/utils/ready';\n\nconst selector = '[data-ref=\"clampify\"]';\ndeclare const $clampify: any;\n\nconst init = (el: any = null) => {\n const lines = el.dataset.lines || 3;\n ($clampify as any)(el, {\n maxLines: lines,\n endsWith: '...',\n autoUpdate: true,\n });\n};\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n init(element);\n });\n})();\n","import Ready from \"@/utils/ready\";\nimport uuid from \"uuid\";\nconst selector = '[data-ref=\"accordion\"]';\n\nclass Accordion {\n public el: HTMLElement;\n private id: any;\n constructor(element: HTMLElement) {\n this.el = element;\n this.id = element.dataset.id;\n this.init();\n }\n private init() {\n const head = this.el.querySelector(`[data-ref=\"accordionHead\"][data-id=\"${this.id}\"]`);\n if (head) {\n (head as any).addEventListener('click', (e: any) => {\n this.el.classList.toggle('accordion--open');\n });\n }\n }\n}\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n new Accordion(element);\n });\n})();\n","import Ready from \"@/utils/ready\";\nimport axios from 'axios';\n\nconst selector = '[data-ref=\"itemsFilters\"]';\n\nclass ProductFilter {\n private el: HTMLElement;\n private url: any = '';\n private query: any = {\n market: '',\n productCategory: '',\n product: '',\n technologyCategory: '',\n technology: '',\n };\n private container: any = null;\n private inputs: any;\n private inputsChecked: any;\n private type: any;\n\n constructor(element: HTMLElement) {\n this.el = element;\n this.url = this.el.dataset.url;\n this.container = document.querySelector('[data-ref=\"filterSection_filters\"]');\n this.inputs = Array.from(this.container.querySelectorAll('input[type=\"radio\"]'));\n this.inputsChecked = Array.from(this.container.querySelectorAll('input[type=\"radio\"]:checked'));\n this.type = (window as any).marketFilterType;\n this.resetQuery();\n this.init();\n }\n\n private init() {\n this.assignQuery();\n this.container.addEventListener('click', (e: any) => {\n if (this.inputs.includes(e.target)) {\n this.checkInputs(e.target);\n this.selectInputs();\n this.assignQuery();\n }\n });\n }\n\n private checkInputs(currentInput: any) {\n const {lvl, sector} = currentInput.dataset;\n if (currentInput.dataset.selected && currentInput.dataset.selected === 'true') {\n this.removeSelectedElement(currentInput);\n }\n this.inputs.filter((input: any) => input !== currentInput).forEach((input: any) => {\n if (input.dataset.lvl === lvl && input.dataset.sector === sector) {\n this.removeSelectedElement(input);\n }\n });\n this.inputsChecked = Array.from(this.container.querySelectorAll('input[type=\"radio\"]:checked'));\n }\n\n private removeSelectedElement(input: any) {\n const closest = input.closest('[data-ref=\"filter_item\"]');\n closest.classList.remove('selected');\n input.dataset.selected = false;\n closest.querySelectorAll('input[type=\"radio\"]:checked').forEach((childInput: any) => {\n childInput.closest('[data-ref=\"filter_item\"]').classList.remove('selected');\n childInput.checked = false;\n childInput.dataset.selected = false;\n });\n }\n\n private selectInputs() {\n this.inputs.forEach((input: any) => {\n const parent = input.closest('[data-ref=\"filter_item\"]');\n if (input.checked) {\n parent.classList.add('selected');\n input.dataset.selected = true;\n }\n });\n }\n\n private assignQuery() {\n this.resetQuery();\n this.inputsChecked.forEach((input: any) => {\n if (input.name === 'product') {\n this.query.product = input.dataset.slug;\n } else if (input.name === 'productCategory') {\n this.query.productCategory = input.dataset.slug;\n } else if (input.name === 'solutionCategory') {\n this.query.technologyCategory = input.dataset.slug;\n } else if (input.name === 'solution') {\n this.query.technology = input.dataset.slug;\n } else if (input.name === 'market') {\n this.query.market = input.dataset.slug;\n }\n });\n this.sendRequest();\n }\n\n private resetQuery() {\n const queries = Object.keys(this.query);\n queries.forEach((key: any) => {\n this.query[key] = '';\n });\n this.query.market = this.el.dataset.market;\n this.query.technologyCategory = this.el.dataset.solutionCategory;\n this.query.productCategory = this.el.dataset.productCategory;\n }\n\n private sendRequest() {\n const {market, productCategory, product, technologyCategory, technology} = this.query;\n axios.post(`${this.url}?market=${market}&productCategory=${productCategory}&product=${product}&solutionCategory=${technologyCategory}&solutionGroup=${technology}&type=${this.type}`)\n .then((res) => {\n const target = document.querySelector('[data-ref=\"filtersResult\"]');\n const resultNumber = document.querySelector('[data-ref=\"filterSection_resultNumber\"]');\n const resultNumberWord = document.querySelector('[data-ref=\"filterSection_resultNumber_word\"]');\n (target as any).innerHTML = res.data.content;\n (resultNumber as any).innerHTML = res.data.resultLenght;\n (resultNumberWord as any).innerHTML = res.data.resultLenght <= 1 ? JSON.parse((resultNumberWord as any).dataset.key).result : JSON.parse((resultNumberWord as any).dataset.key).results;\n });\n }\n}\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n new ProductFilter(element);\n });\n})();\n\n\n\n\n","import Ready from '@/utils/ready'\nimport axios from 'axios'\nimport { debounce } from 'lodash'\n\nconst selector = '[data-ref=\"headerSearch\"]';\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n const toggler: any = element.querySelector('[data-ref=\"headerSearchToggler\"]')\n const closer: any = element.querySelector('[data-ref=\"headerSearchCloser\"]')\n const input: any = element.querySelector('[data-ref=\"headerSearchInput\"]')\n const panelTarget: any = element.querySelector('[data-search-panel-target]')\n const api: string = input.dataset.api || ''\n const cancelToken = axios.CancelToken\n let source: any = cancelToken.source()\n let requestPending: any = false\n const mobileBreakpoint = 1200\n\n toggler.addEventListener('click', () => {\n const isMobile: boolean = window.innerWidth < mobileBreakpoint\n if (!isMobile) {\n input.classList.add('open')\n closer.classList.add('visible')\n input.focus()\n }\n })\n\n closer.addEventListener('click', () => {\n changeValue('')\n const isMobile: boolean = window.innerWidth < mobileBreakpoint\n if (!isMobile) {\n input.classList.remove('open')\n closer.classList.remove('visible')\n }\n })\n\n document.addEventListener('click', (e: any) => {\n const isMobile: boolean = window.innerWidth < mobileBreakpoint\n if (!isMobile) {\n if (!e.target.closest(selector)) {\n input.classList.remove('open')\n closer.classList.remove('visible')\n changeValue('')\n }\n }\n })\n\n const search = () => {\n if (input.value) {\n if (requestPending) {\n source.cancel()\n source = cancelToken.source()\n }\n requestPending = true\n axios.get(api, {\n cancelToken: source.token,\n params: {\n research: input.value,\n },\n }).then((res: any) => {\n panelTarget.innerHTML = res.data\n watchSuggestion()\n }).finally(() => {\n requestPending = false\n })\n } else {\n panelTarget.innerHTML = ''\n }\n }\n\n input.addEventListener('input', debounce(search, 300))\n\n window.addEventListener('keydown', (e: any) => {\n if (e.key === 'Escape' && input === document.activeElement) {\n // onFocusOut();\n changeValue('')\n }\n })\n\n const watchSuggestion = () => {\n const panel: any = element.querySelector('[data-ref=\"headerSearchPanel\"]')\n\n Array.from(panel.querySelectorAll('[data-suggestion]')).forEach((suggestion: any) => {\n suggestion.addEventListener('click', fillInputWithEventValue)\n })\n }\n\n const fillInputWithEventValue = (e: any) => {\n const value = e.target.dataset.value\n\n if (value !== input.value) {\n changeValue(value)\n }\n }\n\n const changeValue = (value: string) => {\n const event = new Event('input')\n input.value = value\n input.dispatchEvent(event)\n }\n })\n})()\n\n","import Ready from \"@/utils/ready\";\n\nconst selector = '[data-ref=\"marketLineButton\"]';\n\nclass MarketLines {\n private el: HTMLElement;\n private id: string | undefined;\n private line: HTMLElement | null;\n\n constructor(element: HTMLElement) {\n this.el = element;\n this.id = this.el.dataset.id;\n this.line = document.querySelector(`[data-ref=\"marketLine\"][data-id=\"${this.id}\"]`);\n if (this.line) {\n this.init();\n }\n }\n\n private init() {\n this.el.addEventListener('click', (e: any) => {\n this.removeActive(() => {\n this.el.classList.add('active');\n (this.line as any).classList.add('active');\n });\n });\n }\n\n private removeActive(callback: any) {\n const elements = [selector, '[data-ref=\"marketLine\"]'];\n elements.forEach((element: any) => {\n const items = document.querySelectorAll(element);\n items.forEach((item: any) => {\n item.classList.remove('active');\n });\n });\n callback();\n }\n}\n\n(() => {\n Ready.watch(selector, (element: any) => {\n new MarketLines(element);\n });\n})();\n","import Ready from \"@/utils/ready\";\n\nconst selector = '[data-ref=\"alert\"]';\n\nclass Alert {\n el: any;\n id: any;\n closeButton: any;\n constructor(element: any) {\n this.el = element;\n this.id = this.el.dataset.id;\n this.closeButton = this.el.querySelector(`[data-ref=\"alertCloseButton\"][data-id=\"${this.id}\"]`);\n this.addEventListener();\n }\n\n private addEventListener() {\n this.closeButton.addEventListener('click', () => {\n this.el.remove();\n });\n }\n}\n\n(() => {\n Ready.watch(selector, (element: HTMLElement) => {\n new Alert(element);\n });\n})();\n","// @ts-ignore\nimport Ready from \"@/utils/ready\";\n// @ts-ignore\nimport * as FilePond from 'filepond';\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\nimport FilePondPluginFileValidateType from 'filepond-plugin-file-validate-type';\n\nconst selector = 'input[type=\"file\"][data-ref=\"filepond\"]';\n\nReady.watch(selector, (element: HTMLInputElement) => {\n FilePond.registerPlugin(FilePondPluginImagePreview);\n FilePond.registerPlugin(FilePondPluginFileValidateType);\n\n const options = JSON.parse(element.getAttribute('data-test') || '{}');\n const text = (window as any).getFileUploadTrans();\n\n const pond = FilePond.create(element, {\n ...options,\n acceptedFileTypes: ['image/png', 'image/png', 'image/jpeg', 'image/jpg', 'video/mp4'],\n storeAsFile: true,\n labelIdle: `<div class=\"flex lg:flex-row flex-col gap-4 items-center justify-center\">\n <span class=\"block text-secondary text-xs trailing-sm\">${ text ? text : '-' }</span>\n <svg width=\"38\" height=\"39\" viewBox=\"0 0 38 39\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.33325 18.8827V31.8456C2.33325 32.9916 2.7885 34.0907 3.59884 34.901C4.40918 35.7113 5.50824 36.1666 6.65423 36.1666H31.3472C32.4932 36.1666 33.5922 35.7113 34.4026 34.901C35.2129 34.0907 35.6682 32.9916 35.6682 31.8456V18.8827M19.4629 2.83325V28.7592M19.4629 28.7592L11.9011 21.1974M19.4629 28.7592L27.0246 21.1974\" stroke=\"#332E72\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>`,\n });\n\n (element as any)._APP_POND = pond;\n});\n","const defaultStyle = [\n { \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#212121\" } ] },\n { \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#e0f7ff\" } ] },\n { \"elementType\": \"labels\", \"stylers\": [ { \"visibility\": \"off\" } ] },\n { \"elementType\": \"labels.icon\", \"stylers\": [ { \"visibility\": \"off\" } ] },\n { \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#757575\" } ] },\n { \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"color\": \"#212121\" } ] },\n { \"featureType\": \"administrative\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#757575\" } ] },\n { \"featureType\": \"administrative.country\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#9e9e9e\" } ] },\n { \"featureType\": \"administrative.land_parcel\", \"stylers\": [ { \"visibility\": \"off\" } ] },\n { \"featureType\": \"administrative.locality\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#bdbdbd\" } ] },\n { \"featureType\": \"administrative.neighborhood\", \"stylers\": [ { \"visibility\": \"off\" } ] },\n { \"featureType\": \"administrative.province\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#65acbd\" } ] },\n { \"featureType\": \"administrative.province\", \"elementType\": \"geometry.stroke\", \"stylers\": [{ \"color\": \"#65acbd\" }, { \"weight\": 1.5 }]},\n { \"featureType\": \"poi\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#757575\" } ] },\n { \"featureType\": \"poi.park\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#181818\" } ] },\n { \"featureType\": \"poi.park\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#616161\" } ] },\n { \"featureType\": \"poi.park\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"color\": \"#1b1b1b\" } ] },\n { \"featureType\": \"road\", \"stylers\": [ { \"visibility\": \"off\" } ] },\n { \"featureType\": \"road\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#2c2c2c\" } ] },\n { \"featureType\": \"road\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#8a8a8a\" } ] },\n { \"featureType\": \"road.arterial\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#373737\" } ] },\n { \"featureType\": \"road.highway\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#3c3c3c\" } ] },\n { \"featureType\": \"road.highway.controlled_access\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#4e4e4e\" } ] },\n { \"featureType\": \"road.local\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#616161\" } ] },\n { \"featureType\": \"transit\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#757575\" } ] },\n { \"featureType\": \"water\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#ffffff\" } ] },\n { \"featureType\": \"water\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#ffffff\" } ] },\n { \"featureType\": \"water\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#3d3d3d\" } ] }\n];\n\nexport {defaultStyle}\n","import {defaultStyle} from '@/js/map.style';\nimport {Loader} from 'google-maps';\n\ntype Marker = google.maps.Marker & {\n title: string,\n el: HTMLImageElement & {\n isSelected: boolean, \n updatePopup: () => void\n }\n}; \n\ntype MarkerOptions = {\n id: number,\n lat: number,\n lng: number,\n selected: boolean,\n title: string,\n};\n\nconst mapEl = document.querySelector('[data-ref=\"custom-map\"]') as HTMLElement;\n\nlet infoWindow: google.maps.InfoWindow;\n\nif (mapEl) {\n const popupEls = [...mapEl.querySelectorAll('[data-popup]')] as HTMLElement[];\n const options = JSON.parse(mapEl.dataset.options!);\n const parameters = {\n popup: true,\n zoom: true,\n ...JSON.parse(mapEl.dataset.parameters!),\n }\n const {markerIcon, selectedMarkerIcon} = JSON.parse(mapEl.dataset.bridge!);\n const markers = JSON.parse(mapEl.dataset.markers!) as MarkerOptions[];\n const geojson = mapEl.dataset.geojson && JSON.parse(mapEl.dataset.geojson);\n\n const createMap = async () => {\n const loader = new Loader('AIzaSyCeOgpXC7GVLNbYBS_n61KzrroDjTrY40A');\n const google = await loader.load();\n\n const style = new google.maps.StyledMapType(defaultStyle as any);\n\n const map = new google.maps.Map(mapEl.querySelector('[data-map]') as HTMLDivElement, {\n ...options,\n });\n const {setFillStyle} = applyStyle(map);\n\n map.mapTypes.set('styled_map', style);\n map.setMapTypeId('styled_map');\n map.addListener(\"dragend\", () => map.setCenter(map.getCenter()));\n mapEl.addEventListener('marker:select', (e: any) => {\n if (!e.detail.id) {\n setFillStyle('#332E72');\n }\n })\n return map;\n }\n\n function applyStyle(map: google.maps.Map){\n return {\n setFillStyle: (color: string) => {\n map.data.revertStyle();\n map.data.setStyle({\n fillColor: color,\n strokeWeight: 1,\n strokeColor: color,\n fillOpacity: 1,\n });\n },\n setBaseStyle: () => {\n map.data.revertStyle();\n map.data.setStyle({\n fillColor: '#e0f7ff',\n strokeWeight: 1,\n strokeColor: '#65acbd',\n fillOpacity: 1\n })\n },\n setHighlightStyle: (feature: any) => {\n map.data.revertStyle();\n map.data.overrideStyle(feature, {\n fillColor: '#332E72',\n });\n }\n }\n }\n \n\n const addLayers = async (map: google.maps.Map) => {\n const {setFillStyle} = applyStyle(map);\n\n const response = await fetch(geojson);\n const data = await response.json();\n\n map.data.addGeoJson(data);\n setFillStyle('#332E72');\n }\n\n const addMarkers = async (map: google.maps.Map) => {\n\n const markersInstances = markers.map((m) => {\n\n const {lat, lng, title, id} = m;\n \n const marker = new google.maps.Marker({ \n position: { lat, lng },\n title,\n icon: markerIcon,\n map: map,\n }) as Marker;\n const {setFillStyle} = applyStyle(map);\n\n marker.addListener('click', (e: google.maps.MapMouseEvent) => {\n let target = e.domEvent.target as Marker['el'];\n\n if (target.tagName !== 'IMG') {\n target = target.children[0] as Marker['el'];\n }\n\n marker.el = target;\n\n if (parameters.popup) {\n const popup = popupEls.find((el) => parseFloat(el.id) === id)!\n\n if (marker.el?.isSelected) {\n infoWindow.close();\n } else {\n infoWindow.setContent(popup.outerHTML); \n infoWindow.open(map, marker);\n }\n }\n\n if (marker.el?.isSelected) {\n unselectMarker(marker);\n mapEl.dispatchEvent(new CustomEvent('marker:select', {\n detail: {id: null}\n }))\n } else {\n\n setFillStyle('transparent');\n selectMarker(marker);\n mapEl.dispatchEvent(new CustomEvent('marker:select', {\n detail: {id}\n }))\n }\n });\n\n const selectMarker = (marker: Marker) => {\n\n markersInstances.forEach((m) => {\n m.el?.isSelected && unselectMarker(m);\n })\n\n const {setBaseStyle, setHighlightStyle} = applyStyle(map);\n\n marker.el.isSelected = true;\n marker.el.src = selectedMarkerIcon; \n\n const coord = new google.maps.LatLng(marker.getPosition()!.lat(), marker.getPosition()!.lng()); \n const checkInside = (p: any, f: any) => {\n const polygon = new google.maps.Polygon({ paths: p });\n const isInside = google.maps.geometry?.poly.containsLocation(coord, polygon);\n if (isInside) {\n setBaseStyle();\n setHighlightStyle(f);\n }\n }\n\n map.data.forEach((feature: any) => {\n const type = feature.getGeometry().getType();\n const geometry = feature.getGeometry().getArray();\n if (type === 'Polygon') {\n const coordsArray = geometry[0].getArray();\n checkInside(coordsArray, feature);\n\n } else if (type === 'MultiPolygon') {\n geometry.forEach((polygon: any) => {\n polygon.g.forEach((coordinates: any) => {\n const coordsArray = coordinates.getArray();\n checkInside(coordsArray, feature);\n })\n }); \n }\n });\n\n if (parameters.zoom) {\n setTimeout(() => {\n map.setCenter(marker.getPosition()!);\n map.setZoom(6);\n }, 100)\n }\n }\n \n const unselectMarker = (marker: Marker) => {\n const {setFillStyle} = applyStyle(map);\n\n marker.el.isSelected = false;\n marker.el.src = markerIcon;\n\n map.setZoom(options.zoom!);\n\n // setFillStyle('#332E72');\n\n setFillStyle('transparent');\n };\n\n return marker;\n });\n\n return markersInstances;\n }\n\n const waitTill = (selector: string): Promise<HTMLElement> => {\n return new Promise(resolve => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector) as HTMLElement);\n }\n\n const observer = new MutationObserver(_ => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector) as HTMLElement);\n observer.disconnect();\n }\n });\n\n observer.observe(mapEl, {\n childList: true,\n subtree: true\n });\n });\n }\n\n const createInfoWindow = () => \n new google.maps.InfoWindow({\n // @ts-ignore\n minWidth: 300\n });\n\n (async () => {\n const map = await createMap();\n if (geojson) await addLayers(map);\n\n infoWindow = createInfoWindow();\n const markerInstances = await addMarkers(map);\n\n markers.forEach((marker) => {\n if (marker.selected) {\n waitTill(`[title=\"${marker.title}\"]`).then((el: HTMLElement) => {\n const selectedMarker = markerInstances.find((m) => m.title === marker.title)!;\n google.maps.event.trigger(selectedMarker, 'click', {domEvent: {target: el}});\n\n // idk why but it doesn't work without timeout\n\n setTimeout(() => {\n el.children[0].setAttribute('src', selectedMarkerIcon);\n }, 500);\n });\n }\n });\n })()\n}\n","// @ts-ignore\nimport Ready from \"@/utils/ready\";\nimport tippy from 'tippy.js';\n\nconst selector = '[data-popover]';\n\nReady.watch(selector, (element: HTMLElement) => {\n const id = element.dataset.popover;\n const content = document.querySelector(`[data-popover-content=\"${id}\"]`);\n if (content) {\n tippy(element, {\n content,\n duration: 0,\n arrow: false,\n allowHTML: true,\n });\n }\n});\n","import Vue from 'vue';\nimport * as _ from 'lodash';\n// @ts-ignore\nimport QRCode from 'qrcode';\n\n// import '@/js/detect-ie';\nimport '@/js/assets';\nimport '@/js/header';\nimport '@/js/navigation';\nimport '@/js/imageSlider';\nimport '@/js/slider';\nimport '@/js/choice';\nimport '@/js/form-validation';\nimport '@/js/imageLightbox';\nimport '@/js/homeSlider';\nimport '@/js/object-fit';\nimport '@/js/clampify';\nimport '@/js/accordion';\nimport '@/js/productFilter';\nimport '@/js/header-search';\n// import '@/js/solutionFilter';\nimport '@/js/market-lines';\nimport '@/js/alert';\nimport '@/js/cookie';\nimport '@/js/filepond';\nimport '@/js/map';\nimport '@/js/redirect-popin';\nimport '@/js/popover';\n\n// @ts-ignore\nimport Alpine from 'alpinejs';\n\n(window as any).Alpine = Alpine;\nAlpine.start();\n\n(window as any).lodash = _;\n\nconst ElementQueries = require('css-element-queries/src/ElementQueries');\nElementQueries.listen();\nElementQueries.init();\n\n(window as any).QRCode = QRCode;\n\nVue.config.productionTip = false;\n\n// new Vue({\n// render: h => h(App)\n// }).$mount(\"#app\");\n","/* Add polyfills from the polyfills folder (order matters) */\n// import '@/polyfills/WeakMap';\n// import '@/polyfills/MutationObserver';\n// import '@/polyfills/ObjectFit';\nimport axios from 'axios';\n\n/* Import Pristine Config (for HRM) */\n// import '@config/pristine.config.js';\n/* Choose an icon library */\n\n/** Ionicons: https://ionicons.com/ */\n// import 'ionicons/dist/css/ionicons.min.css';\n\n/** Fontisto: https://www.fontisto.com/icons */\n// import 'fontisto';\n\n/** Feather: https://feathericons.com/ */\n// @ts-ignore\n// import feather from 'feather-icons';\n// import Ready from '@/utils/ready';\n// (() => {\n// Ready.watch('[data-feather]', () => {\n// feather.replace();\n// });\n// })();\n\n/** Unicons: https://iconscout.com/unicons */\n// import '@iconscout/unicons/css/unicons.css';\n\n(window as any).axios = axios;\n\n/* Import Styles */\nimport '@/styles/main.scss';\n\n/* Import Assets */\n","const axios = require(\"axios\");\n\nlet btn = document.getElementById(\"cookie-btn\");\nlet cookieDiv = document.getElementById(\"cookies\");\nlet footer = document.querySelector('#cookiewrapper');\nif (btn) {\n btn.onclick = function() {\n axios\n .get(\"/fr/cookie\")\n .then(function() {\n cookieDiv.remove();\n footer.className = '';\n })\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\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\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","var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/build/app/\";","// 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\t143: 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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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[\"webpackChunkbfr_site\"] = self[\"webpackChunkbfr_site\"] || [];\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, [998], function() { return __webpack_require__(2724); })\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3812); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["redirectPopin","locale","show","language","navigator","onDeclineRedirection","this","sessionStorage","setItem","init","declinedRedirection","getItem","some","l","replace","window","Ready","constructor","_defineProperty","watch","selector","callback","observer","MutationObserver","checkMutations","bind","observe","document","childList","subtree","test","readyState","call","listener","listeners","push","removeListener","mutations","forEach","elements","querySelectorAll","element","$ready","i","length","splice","disconnect","instance","imageSlider","el","id","dataset","slidesEl","Array","from","bulletsEl","initialize","setCurrentSlide","currentSlide","addEventListeners","setSlideInterval","interval","setInterval","nextSlide","slideInterval","clearSlideInterval","clearInterval","bulletEl","addEventListener","onBulletClick","e","target","Number","slideNb","slideEl","bullet","find","classList","add","style","display","remove","option","JSON","parse","buttonNext","querySelector","buttonPrev","Swiper","navigation","nextEl","prevEl","scrollbar","threshold","pagination","clickable","options","Choices","searchEnabled","itemSelectText","Scroller","offset","isIE11","MSInputMethodContext","documentMode","scrollTo","y","getBoundingClientRect","top","documentElement","scrollTop","behavior","FormLabel","hasValue","addEvents","formGroup","closest","FormValidator","setAttribute","findInput","watchInput","watchSubmit","input","inputs","select","textarea","contains","initError","parentHasError","parentNode","errorDivName","inputSelect","validity","valid","createError","error","createElement","innerHTML","validationMessage","append","preventDefault","returnValue","ImageLightbox","lightboxId","images","lightboxEl","lightboxBackground","lightboxClose","lightboxSlidesContainer","lightboxSlideIndex","lightboxSlidePrev","lightboxSlideNext","lightboxCaption","initElements","lightboxSlides","initSlide","imageEl","lightboxImage","image","imgContainer","className","img","appendChild","item","index","openLightbox","closeLightbox","switchSlide","n","showSlides","render","_vm","_c","_self","_setupProxy","staticClass","_m","fileType","video","attrs","domProps","_v","_s","title","color","text1","text2","_l","slides","slide","key","class","currentSlideNumber","on","$event","setCurrentSlideNumber","_e","staticRenderFns","HomeSlider","Vue","args","mounted","jsonSlides","console","log","slideIntervalTime","__decorate","Prop","default","Component","component","axios","apiPath","then","res","data","components","template","stringify","$mount","catch","err","Error","objectFitPolyfill","lines","$clampify","maxLines","endsWith","autoUpdate","Accordion","head","toggle","ProductFilter","market","productCategory","product","technologyCategory","technology","url","container","inputsChecked","type","marketFilterType","resetQuery","assignQuery","includes","checkInputs","selectInputs","currentInput","lvl","sector","selected","removeSelectedElement","filter","childInput","checked","parent","name","query","slug","sendRequest","queries","Object","keys","solutionCategory","resultNumber","resultNumberWord","content","resultLenght","result","results","toggler","closer","panelTarget","api","cancelToken","source","requestPending","mobileBreakpoint","isMobile","innerWidth","focus","changeValue","search","value","cancel","token","params","research","watchSuggestion","finally","debounce","activeElement","panel","suggestion","fillInputWithEventValue","event","Event","dispatchEvent","MarketLines","line","removeActive","items","Alert","closeButton","FilePond","FilePondPluginImagePreview","FilePondPluginFileValidateType","getAttribute","text","getFileUploadTrans","pond","acceptedFileTypes","storeAsFile","labelIdle","_APP_POND","defaultStyle","mapEl","infoWindow","popupEls","parameters","popup","zoom","markerIcon","selectedMarkerIcon","bridge","markers","geojson","createMap","async","loader","Loader","google","load","maps","StyledMapType","map","Map","setFillStyle","applyStyle","mapTypes","set","setMapTypeId","addListener","setCenter","getCenter","detail","revertStyle","setStyle","fillColor","strokeWeight","strokeColor","fillOpacity","setBaseStyle","setHighlightStyle","feature","overrideStyle","addLayers","response","fetch","json","addGeoJson","addMarkers","markersInstances","m","lat","lng","marker","Marker","position","icon","domEvent","tagName","children","parseFloat","isSelected","close","setContent","outerHTML","open","unselectMarker","CustomEvent","selectMarker","src","coord","LatLng","getPosition","checkInside","p","f","polygon","Polygon","paths","isInside","geometry","poly","containsLocation","getGeometry","getType","getArray","coordsArray","g","coordinates","setTimeout","setZoom","waitTill","Promise","resolve","_","createInfoWindow","InfoWindow","minWidth","markerInstances","selectedMarker","trigger","popover","tippy","duration","arrow","allowHTML","Alpine","lodash","ElementQueries","require","listen","QRCode","btn","getElementById","cookieDiv","footer","onclick","get","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","globalThis","Function","obj","prop","prototype","hasOwnProperty","nmd","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}