1(()=>{var __webpack_modules__={
vendor: 1,626 bytes, lines 1-4
1"./node_modules/ev-emitter/ev-emitter.js": 2/*!***********************************************!*\ 3 !*** ./node_modules/ev-emitter/ev-emitter.js ***! 4 \***********************************************/function(module){var global,factory;global="undefined"!=typeof window?window:this,factory=function(){function EvEmitter(){}let proto=EvEmitter.prototype;return proto.on=function(eventName,listener){if(!eventName||!listener)return this;let events=this._events=this._events||{},listeners=events[eventName]=events[eventName]||[];return listeners.includes(listener)||listeners.push(listener),this},proto.once=function(eventName,listener){if(!eventName||!listener)return this;this.on(eventName,listener);let onceEvents=this._onceEvents=this._onceEvents||{};return(onceEvents[eventName]=onceEvents[eventName]||{})[listener]=!0,this},proto.off=function(eventName,listener){let listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length)return this;let index=listeners.indexOf(listener);return-1!=index&&listeners.splice(index,1),this},proto.emitEvent=function(eventName,args){let listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length)return this;listeners=listeners.slice(0),args=args||[];let onceListeners=this._onceEvents&&this._onceEvents[eventName];for(let listener of listeners)onceListeners&&onceListeners[listener]&&(this.off(eventName,listener),delete onceListeners[listener]),listener.apply(this,args);return this},proto.allOff=function(){return delete this._events,delete this._onceEvents,this},EvEmitter},module.exports?module.exports=factory():global.EvEmitter=factory()},
vendor: 2,534 bytes, lines 4-7
4"./node_modules/fizzy-ui-utils/utils.js": 5/*!**********************************************!*\ 6 !*** ./node_modules/fizzy-ui-utils/utils.js ***! 7 \**********************************************/function(module){var global,factory;global=this,factory=function(global){let utils={extend:function(a,b){return Object.assign(a,b)},modulo:function(num,div){return(num%div+div)%div},makeArray:function(obj){return Array.isArray(obj)?obj:null==obj?[]:"object"==typeof obj&&"number"==typeof obj.length?[...obj]:[obj]},removeFrom:function(ary,obj){let index=ary.indexOf(obj);-1!=index&&ary.splice(index,1)},getParent:function(elem,selector){for(;elem.parentNode&&elem!=document.body;)if((elem=elem.parentNode).matches(selector))return elem},getQueryElement:function(elem){return"string"==typeof elem?document.querySelector(elem):elem},handleEvent:function(event){let method="on"+event.type;this[method]&&this[method](event)},filterFindElements:function(elems,selector){return(elems=utils.makeArray(elems)).filter(elem=>elem instanceof HTMLElement).reduce((ffElems,elem)=>{if(!selector)return ffElems.push(elem),ffElems;elem.matches(selector)&&ffElems.push(elem);let childElems=elem.querySelectorAll(selector);return ffElems=ffElems.concat(...childElems)},[])},debounceMethod:function(_class,methodName,threshold){threshold=threshold||100;let method=_class.prototype[methodName],timeoutName=methodName+"Timeout";_class.prototype[methodName]=function(){clearTimeout(this[timeoutName]);let args=arguments;this[timeoutName]=setTimeout(()=>{method.apply(this,args),delete this[timeoutName]},threshold)}},docReady:function(onDocReady){let readyState=document.readyState;"complete"==readyState||"interactive"==readyState?setTimeout(onDocReady):document.addEventListener("DOMContentLoaded",onDocReady)},toDashed:function(str){return str.replace(/(.)([A-Z])/g,function(match,$1,$2){return $1+"-"+$2}).toLowerCase()}},console=global.console;return utils.htmlInit=function(WidgetClass,namespace){utils.docReady(function(){let dataAttr="data-"+utils.toDashed(namespace),dataAttrElems=document.querySelectorAll(`[${dataAttr}]`),jQuery=global.jQuery;[...dataAttrElems].forEach(elem=>{let options,attr=elem.getAttribute(dataAttr);try{options=attr&&JSON.parse(attr)}catch(error){return void(console&&console.error(`Error parsing ${dataAttr} on ${elem.className}: ${error}`))}let instance=new WidgetClass(elem,options);jQuery&&jQuery.data(elem,namespace,instance)})})},utils},module.exports?module.exports=factory(global):global.fizzyUIUtils=factory(global)},
vendor: 4,660 bytes, lines 7-10
7"./node_modules/flickity-fade/flickity-fade.js": 8/*!*****************************************************!*\ 9 !*** ./node_modules/flickity-fade/flickity-fade.js ***! 10 \*****************************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! flickity */"./node_modules/flickity/js/index.js"),__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js")):factory(window.Flickity,window.fizzyUIUtils)}("undefined"!=typeof window?window:this,function(Flickity,utils){let Slide=Flickity.Slide;Slide.prototype.renderFadePosition=function(){},Slide.prototype.setOpacity=function(alpha){this.cells.forEach(cell=>{cell.element.style.opacity=alpha})},Flickity.create.fade=function(){this.fadeIndex=this.selectedIndex,this.prevSelectedIndex=this.selectedIndex,this.on("select",this.onSelectFade),this.on("dragEnd",this.onDragEndFade),this.on("settle",this.onSettleFade),this.on("activate",this.onActivateFade),this.on("deactivate",this.onDeactivateFade)};let proto=Flickity.prototype,updateSlides=proto.updateSlides;proto.updateSlides=function(){updateSlides.apply(this,arguments),this.options.fade&&this.slides.forEach((slide,i)=>{let slideTargetX=slide.target-slide.x,firstCellX=slide.cells[0].x;slide.cells.forEach(cell=>{let targetX=cell.x-firstCellX-slideTargetX;this._renderCellPosition(cell,targetX)});let alpha=i===this.selectedIndex?1:0;slide.setOpacity(alpha)})},proto.onSelectFade=function(){this.fadeIndex=Math.min(this.prevSelectedIndex,this.slides.length-1),this.prevSelectedIndex=this.selectedIndex},proto.onSettleFade=function(){if(delete this.didDragEnd,!this.options.fade)return;this.selectedSlide.setOpacity(1),this.slides[this.fadeIndex]&&this.fadeIndex!==this.selectedIndex&&this.slides[this.fadeIndex].setOpacity(0)},proto.onDragEndFade=function(){this.didDragEnd=!0},proto.onActivateFade=function(){this.options.fade&&this.element.classList.add("is-fade")},proto.onDeactivateFade=function(){this.options.fade&&(this.element.classList.remove("is-fade"),this.slides.forEach(slide=>{slide.setOpacity("")}))};let positionSlider=proto.positionSlider;proto.positionSlider=function(){this.options.fade?(this.fadeSlides(),this.dispatchScrollEvent()):positionSlider.apply(this,arguments)};let positionSliderAtSelected=proto.positionSliderAtSelected;proto.positionSliderAtSelected=function(){this.options.fade&&this.setTranslateX(0),positionSliderAtSelected.apply(this,arguments)},proto.fadeSlides=function(){if(this.slides.length<2)return;let indexes=this.getFadeIndexes(),fadeSlideA=this.slides[indexes.a],fadeSlideB=this.slides[indexes.b],distance=this.wrapDifference(fadeSlideA.target,fadeSlideB.target),progress=this.wrapDifference(fadeSlideA.target,-this.x);progress/=distance,fadeSlideA.setOpacity(1-progress),fadeSlideB.setOpacity(progress);let fadeHideIndex=indexes.a;this.isDragging&&(fadeHideIndex=progress>.5?indexes.a:indexes.b),void 0!==this.fadeHideIndex&&this.fadeHideIndex!==fadeHideIndex&&this.fadeHideIndex!==indexes.a&&this.fadeHideIndex!==indexes.b&&this.slides[this.fadeHideIndex].setOpacity(0),this.fadeHideIndex=fadeHideIndex},proto.getFadeIndexes=function(){return this.isDragging||this.didDragEnd?this.options.wrapAround?this.getFadeDragWrapIndexes():this.getFadeDragLimitIndexes():{a:this.fadeIndex,b:this.selectedIndex}},proto.getFadeDragWrapIndexes=function(){let distances=this.slides.map(function(slide,i){return this.getSlideDistance(-this.x,i)},this),absDistances=distances.map(function(distance){return Math.abs(distance)}),minDistance=Math.min(...absDistances),closestIndex=absDistances.indexOf(minDistance),distance=distances[closestIndex],len=this.slides.length,delta=distance>=0?1:-1;return{a:closestIndex,b:utils.modulo(closestIndex+delta,len)}},proto.getFadeDragLimitIndexes=function(){let dragIndex=0;for(let i=0;i<this.slides.length-1;i++){let slide=this.slides[i];if(-this.x<slide.target)break;dragIndex=i}return{a:dragIndex,b:dragIndex+1}},proto.wrapDifference=function(a,b){let diff=b-a;if(!this.options.wrapAround)return diff;let diffPlus=diff+this.slideableWidth,diffMinus=diff-this.slideableWidth;return Math.abs(diffPlus)<Math.abs(diff)&&(diff=diffPlus),Math.abs(diffMinus)<Math.abs(diff)&&(diff=diffMinus),diff};let _updateWrapShiftCells=proto._updateWrapShiftCells;proto._updateWrapShiftCells=function(){this.options.fade?this.isWrapping=this.getIsWrapping():_updateWrapShiftCells.apply(this,arguments)};let shiftWrapCells=proto.shiftWrapCells;return proto.shiftWrapCells=function(){this.options.fade||shiftWrapCells.apply(this,arguments)},Flickity})},
vendor: 2,470 bytes, lines 10-13
10"./node_modules/flickity/js/add-remove-cell.js": 11/*!*****************************************************!*\ 12 !*** ./node_modules/flickity/js/add-remove-cell.js ***! 13 \*****************************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js"),__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js")):factory(window.Flickity,window.fizzyUIUtils)}("undefined"!=typeof window?window:this,function(Flickity,utils){let proto=Flickity.prototype;return proto.insert=function(elems,index){let cells=this._makeCells(elems);if(!cells||!cells.length)return;let len=this.cells.length;index=void 0===index?len:index;let fragment=function(cells){let fragment=document.createDocumentFragment();return cells.forEach(cell=>fragment.appendChild(cell.element)),fragment}(cells),isAppend=index===len;if(isAppend)this.slider.appendChild(fragment);else{let insertCellElement=this.cells[index].element;this.slider.insertBefore(fragment,insertCellElement)}if(0===index)this.cells=cells.concat(this.cells);else if(isAppend)this.cells=this.cells.concat(cells);else{let endCells=this.cells.splice(index,len-index);this.cells=this.cells.concat(cells).concat(endCells)}this._sizeCells(cells),this.cellChange(index),this.positionSliderAtSelected()},proto.append=function(elems){this.insert(elems,this.cells.length)},proto.prepend=function(elems){this.insert(elems,0)},proto.remove=function(elems){let cells=this.getCells(elems);if(!cells||!cells.length)return;let minCellIndex=this.cells.length-1;cells.forEach(cell=>{cell.remove();let index=this.cells.indexOf(cell);minCellIndex=Math.min(index,minCellIndex),utils.removeFrom(this.cells,cell)}),this.cellChange(minCellIndex),this.positionSliderAtSelected()},proto.cellSizeChange=function(elem){let cell=this.getCell(elem);if(!cell)return;cell.getSize();let index=this.cells.indexOf(cell);this.cellChange(index)},proto.cellChange=function(changedCellIndex){let prevSelectedElem=this.selectedElement;this._positionCells(changedCellIndex),this._updateWrapShiftCells(),this.setGallerySize();let cell=this.getCell(prevSelectedElem);cell&&(this.selectedIndex=this.getCellSlideIndex(cell)),this.selectedIndex=Math.min(this.slides.length-1,this.selectedIndex),this.emitEvent("cellChange",[changedCellIndex]),this.select(this.selectedIndex)},Flickity})},
vendor: 3,420 bytes, lines 13-16
13"./node_modules/flickity/js/animate.js": 14/*!*********************************************!*\ 15 !*** ./node_modules/flickity/js/animate.js ***! 16 \*********************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js")):(window.Flickity=window.Flickity||{},window.Flickity.animatePrototype=factory(window.fizzyUIUtils))}("undefined"!=typeof window?window:this,function(utils){let proto={startAnimation:function(){this.isAnimating||(this.isAnimating=!0,this.restingFrames=0,this.animate())},animate:function(){this.applyDragForce(),this.applySelectedAttraction();let previousX=this.x;this.integratePhysics(),this.positionSlider(),this.settle(previousX),this.isAnimating&&requestAnimationFrame(()=>this.animate())},positionSlider:function(){let x=this.x;this.isWrapping&&(x=utils.modulo(x,this.slideableWidth)-this.slideableWidth,this.shiftWrapCells(x)),this.setTranslateX(x,this.isAnimating),this.dispatchScrollEvent()},setTranslateX:function(x,is3d){x+=this.cursorPosition,this.options.rightToLeft&&(x=-x);let translateX=this.getPositionValue(x);this.slider.style.transform=is3d?`translate3d(${translateX},0,0)`:`translateX(${translateX})`},dispatchScrollEvent:function(){let firstSlide=this.slides[0];if(!firstSlide)return;let positionX=-this.x-firstSlide.target,progress=positionX/this.slidesWidth;this.dispatchEvent("scroll",null,[progress,positionX])},positionSliderAtSelected:function(){this.cells.length&&(this.x=-this.selectedSlide.target,this.velocity=0,this.positionSlider())},getPositionValue:function(position){return this.options.percentPosition?.01*Math.round(position/this.size.innerWidth*1e4)+"%":Math.round(position)+"px"},settle:function(previousX){!this.isPointerDown&&Math.round(100*this.x)===Math.round(100*previousX)&&this.restingFrames++,this.restingFrames>2&&(this.isAnimating=!1,delete this.isFreeScrolling,this.positionSlider(),this.dispatchEvent("settle",null,[this.selectedIndex]))},shiftWrapCells:function(x){let beforeGap=this.cursorPosition+x;this._shiftCells(this.beforeShiftCells,beforeGap,-1);let afterGap=this.size.innerWidth-(x+this.slideableWidth+this.cursorPosition);this._shiftCells(this.afterShiftCells,afterGap,1)},_shiftCells:function(cells,gap,shift){cells.forEach(cell=>{let cellShift=gap>0?shift:0;this._wrapShiftCell(cell,cellShift),gap-=cell.size.outerWidth})},_unshiftCells:function(cells){cells&&cells.length&&cells.forEach(cell=>this._wrapShiftCell(cell,0))},_wrapShiftCell:function(cell,shift){this._renderCellPosition(cell,cell.x+this.slideableWidth*shift)},integratePhysics:function(){this.x+=this.velocity,this.velocity*=this.getFrictionFactor()},applyForce:function(force){this.velocity+=force},getFrictionFactor:function(){return 1-this.options[this.isFreeScrolling?"freeScrollFriction":"friction"]},getRestingPosition:function(){return this.x+this.velocity/(1-this.getFrictionFactor())},applyDragForce:function(){if(!this.isDraggable||!this.isPointerDown)return;let dragForce=this.dragX-this.x-this.velocity;this.applyForce(dragForce)},applySelectedAttraction:function(){if(this.isDraggable&&this.isPointerDown||this.isFreeScrolling||!this.slides.length)return;let force=(-1*this.selectedSlide.target-this.x)*this.options.selectedAttraction;this.applyForce(force)}};return proto})},
vendor: 1,170 bytes, lines 16-19
16"./node_modules/flickity/js/cell.js": 17/*!******************************************!*\ 18 !*** ./node_modules/flickity/js/cell.js ***! 19 \******************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! get-size */"./node_modules/get-size/get-size.js")):(window.Flickity=window.Flickity||{},window.Flickity.Cell=factory(window.getSize))}("undefined"!=typeof window?window:this,function(getSize){function Cell(elem){this.element=elem,this.element.classList.add("flickity-cell"),this.x=0,this.unselect()}let proto=Cell.prototype;return proto.destroy=function(){this.unselect(),this.element.classList.remove("flickity-cell"),this.element.style.transform="",this.element.removeAttribute("aria-hidden")},proto.getSize=function(){this.size=getSize(this.element)},proto.select=function(){this.element.classList.add("is-selected"),this.element.removeAttribute("aria-hidden")},proto.unselect=function(){this.element.classList.remove("is-selected"),this.element.setAttribute("aria-hidden","true")},proto.remove=function(){this.element.remove()},Cell})},
vendor: 15,010 bytes, lines 19-22
19"./node_modules/flickity/js/core.js": 20/*!******************************************!*\ 21 !*** ./node_modules/flickity/js/core.js ***! 22 \******************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){if(module.exports)module.exports=factory(window,__webpack_require__(/*! ev-emitter */"./node_modules/ev-emitter/ev-emitter.js"),__webpack_require__(/*! get-size */"./node_modules/get-size/get-size.js"),__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js"),__webpack_require__(/*! ./cell */"./node_modules/flickity/js/cell.js"),__webpack_require__(/*! ./slide */"./node_modules/flickity/js/slide.js"),__webpack_require__(/*! ./animate */"./node_modules/flickity/js/animate.js"));else{let _Flickity=window.Flickity;window.Flickity=factory(window,window.EvEmitter,window.getSize,window.fizzyUIUtils,_Flickity.Cell,_Flickity.Slide,_Flickity.animatePrototype)}}("undefined"!=typeof window?window:this,function(window,EvEmitter,getSize,utils,Cell,Slide,animatePrototype){const{getComputedStyle:getComputedStyle,console:console}=window;let{jQuery:jQuery}=window,GUID=0,instances={};function Flickity(element,options){let queryElement=utils.getQueryElement(element);if(queryElement){if(this.element=queryElement,this.element.flickityGUID){let instance=instances[this.element.flickityGUID];return instance&&instance.option(options),instance}jQuery&&(this.$element=jQuery(this.element)),this.options={...this.constructor.defaults},this.option(options),this._create()}else console&&console.error(`Bad element for Flickity: ${queryElement||element}`)}Flickity.defaults={accessibility:!0,cellAlign:"center",freeScrollFriction:.075,friction:.28,namespaceJQueryEvents:!0,percentPosition:!0,resize:!0,selectedAttraction:.025,setGallerySize:!0},Flickity.create={};let proto=Flickity.prototype;Object.assign(proto,EvEmitter.prototype),proto._create=function(){let{resize:resize,watchCSS:watchCSS,rightToLeft:rightToLeft}=this.options,id=this.guid=++GUID;this.element.flickityGUID=id,instances[id]=this,this.selectedIndex=0,this.restingFrames=0,this.x=0,this.velocity=0,this.beginMargin=rightToLeft?"marginRight":"marginLeft",this.endMargin=rightToLeft?"marginLeft":"marginRight",this.viewport=document.createElement("div"),this.viewport.className="flickity-viewport",this._createSlider(),this.focusableElems=[this.element],(resize||watchCSS)&&window.addEventListener("resize",this);for(let eventName in this.options.on){let listener=this.options.on[eventName];this.on(eventName,listener)}for(let method in Flickity.create)Flickity.create[method].call(this);watchCSS?this.watchCSS():this.activate()},proto.option=function(opts){Object.assign(this.options,opts)},proto.activate=function(){if(this.isActive)return;this.isActive=!0,this.element.classList.add("flickity-enabled"),this.options.rightToLeft&&this.element.classList.add("flickity-rtl"),this.getSize();let cellElems=this._filterFindCellElements(this.element.children);this.slider.append(...cellElems),this.viewport.append(this.slider),this.element.append(this.viewport),this.reloadCells(),this.options.accessibility&&(this.element.tabIndex=0,this.element.addEventListener("keydown",this)),this.emitEvent("activate"),this.selectInitialIndex(),this.isInitActivated=!0,this.dispatchEvent("ready")},proto._createSlider=function(){let slider=document.createElement("div");slider.className="flickity-slider",this.slider=slider},proto._filterFindCellElements=function(elems){return utils.filterFindElements(elems,this.options.cellSelector)},proto.reloadCells=function(){this.cells=this._makeCells(this.slider.children),this.positionCells(),this._updateWrapShiftCells(),this.setGallerySize()},proto._makeCells=function(elems){return this._filterFindCellElements(elems).map(cellElem=>new Cell(cellElem))},proto.getLastCell=function(){return this.cells[this.cells.length-1]},proto.getLastSlide=function(){return this.slides[this.slides.length-1]},proto.positionCells=function(){this._sizeCells(this.cells),this._positionCells(0)},proto._positionCells=function(index){index=index||0,this.maxCellHeight=index&&this.maxCellHeight||0;let cellX=0;if(index>0){let startCell=this.cells[index-1];cellX=startCell.x+startCell.size.outerWidth}this.cells.slice(index).forEach(cell=>{cell.x=cellX,this._renderCellPosition(cell,cellX),cellX+=cell.size.outerWidth,this.maxCellHeight=Math.max(cell.size.outerHeight,this.maxCellHeight)}),this.slideableWidth=cellX,this.updateSlides(),this._containSlides(),this.slidesWidth=this.cells.length?this.getLastSlide().target-this.slides[0].target:0},proto._renderCellPosition=function(cell,x){let renderX=x*(this.options.rightToLeft?-1:1);this.options.percentPosition&&(renderX*=this.size.innerWidth/cell.size.width);let positionValue=this.getPositionValue(renderX);cell.element.style.transform=`translateX( ${positionValue} )`},proto._sizeCells=function(cells){cells.forEach(cell=>cell.getSize())},proto.updateSlides=function(){if(this.slides=[],!this.cells.length)return;let{beginMargin:beginMargin,endMargin:endMargin}=this,slide=new Slide(beginMargin,endMargin,this.cellAlign);this.slides.push(slide);let canCellFit=this._getCanCellFit();this.cells.forEach((cell,i)=>{if(!slide.cells.length)return void slide.addCell(cell);let slideWidth=slide.outerWidth-slide.firstMargin+(cell.size.outerWidth-cell.size[endMargin]);canCellFit(i,slideWidth)||(slide.updateTarget(),slide=new Slide(beginMargin,endMargin,this.cellAlign),this.slides.push(slide)),slide.addCell(cell)}),slide.updateTarget(),this.updateSelectedSlide()},proto._getCanCellFit=function(){let{groupCells:groupCells}=this.options;if(!groupCells)return()=>!1;if("number"==typeof groupCells){let number=parseInt(groupCells,10);return i=>i%number!==0}let percent=1,percentMatch="string"==typeof groupCells&&groupCells.match(/^(\d+)%$/);percentMatch&&(percent=parseInt(percentMatch[1],10)/100);let groupWidth=(this.size.innerWidth+1)*percent;return(i,slideWidth)=>slideWidth<=groupWidth},proto._init=proto.reposition=function(){this.positionCells(),this.positionSliderAtSelected()},proto.getSize=function(){this.size=getSize(this.element),this.setCellAlign(),this.cursorPosition=this.size.innerWidth*this.cellAlign};let cellAlignShorthands={left:0,center:.5,right:1};proto.setCellAlign=function(){let{cellAlign:cellAlign,rightToLeft:rightToLeft}=this.options,shorthand=cellAlignShorthands[cellAlign];this.cellAlign=void 0!==shorthand?shorthand:cellAlign,rightToLeft&&(this.cellAlign=1-this.cellAlign)},proto.setGallerySize=function(){if(!this.options.setGallerySize)return;let height=this.options.adaptiveHeight&&this.selectedSlide?this.selectedSlide.height:this.maxCellHeight;this.viewport.style.height=`${height}px`},proto._updateWrapShiftCells=function(){if(this.isWrapping=this.getIsWrapping(),!this.isWrapping)return;this._unshiftCells(this.beforeShiftCells),this._unshiftCells(this.afterShiftCells);let beforeGapX=this.cursorPosition,lastIndex=this.cells.length-1;this.beforeShiftCells=this._getGapCells(beforeGapX,lastIndex,-1);let afterGapX=this.size.innerWidth-this.cursorPosition;this.afterShiftCells=this._getGapCells(afterGapX,0,1)},proto.getIsWrapping=function(){let{wrapAround:wrapAround}=this.options;if(!wrapAround||this.slides.length<2)return!1;if("fill"!==wrapAround)return!0;let gapWidth=this.slideableWidth-this.size.innerWidth;if(gapWidth>this.size.innerWidth)return!0;for(let cell of this.cells)if(cell.size.outerWidth>gapWidth)return!1;return!0},proto._getGapCells=function(gapX,cellIndex,increment){let cells=[];for(;gapX>0;){let cell=this.cells[cellIndex];if(!cell)break;cells.push(cell),cellIndex+=increment,gapX-=cell.size.outerWidth}return cells},proto._containSlides=function(){if(!(this.options.contain&&!this.isWrapping&&this.cells.length))return;let contentWidth=this.slideableWidth-this.getLastCell().size[this.endMargin];if(contentWidth<this.size.innerWidth)this.slides.forEach(slide=>{slide.target=contentWidth*this.cellAlign});else{let beginBound=this.cursorPosition+this.cells[0].size[this.beginMargin],endBound=contentWidth-this.size.innerWidth*(1-this.cellAlign);this.slides.forEach(slide=>{slide.target=Math.max(slide.target,beginBound),slide.target=Math.min(slide.target,endBound)})}},proto.dispatchEvent=function(type,event,args){let emitArgs=event?[event].concat(args):args;if(this.emitEvent(type,emitArgs),jQuery&&this.$element){let $event=type+=this.options.namespaceJQueryEvents?".flickity":"";if(event){let jQEvent=new jQuery.Event(event);jQEvent.type=type,$event=jQEvent}this.$element.trigger($event,args)}};const unidraggerEvents=["dragStart","dragMove","dragEnd","pointerDown","pointerMove","pointerEnd","staticClick"];let _emitEvent=proto.emitEvent;proto.emitEvent=function(eventName,args){if("staticClick"===eventName){let clickedCell=this.getParentCell(args[0].target),cellElem=clickedCell&&clickedCell.element,cellIndex=clickedCell&&this.cells.indexOf(clickedCell);args=args.concat(cellElem,cellIndex)}if(_emitEvent.call(this,eventName,args),!unidraggerEvents.includes(eventName)||!jQuery||!this.$element)return;eventName+=this.options.namespaceJQueryEvents?".flickity":"";let event=args.shift(0),jQEvent=new jQuery.Event(event);jQEvent.type=eventName,this.$element.trigger(jQEvent,args)},proto.select=function(index,isWrap,isInstant){if(!this.isActive)return;if(index=parseInt(index,10),this._wrapSelect(index),(this.isWrapping||isWrap)&&(index=utils.modulo(index,this.slides.length)),!this.slides[index])return;let prevIndex=this.selectedIndex;this.selectedIndex=index,this.updateSelectedSlide(),isInstant?this.positionSliderAtSelected():this.startAnimation(),this.options.adaptiveHeight&&this.setGallerySize(),this.dispatchEvent("select",null,[index]),index!==prevIndex&&this.dispatchEvent("change",null,[index])},proto._wrapSelect=function(index){if(!this.isWrapping)return;const{selectedIndex:selectedIndex,slideableWidth:slideableWidth,slides:{length:length}}=this;if(!this.isDragSelect){let wrapIndex=utils.modulo(index,length),delta=Math.abs(wrapIndex-selectedIndex),backWrapDelta=Math.abs(wrapIndex+length-selectedIndex),forewardWrapDelta=Math.abs(wrapIndex-length-selectedIndex);backWrapDelta<delta?index+=length:forewardWrapDelta<delta&&(index-=length)}index<0?this.x-=slideableWidth:index>=length&&(this.x+=slideableWidth)},proto.previous=function(isWrap,isInstant){this.select(this.selectedIndex-1,isWrap,isInstant)},proto.next=function(isWrap,isInstant){this.select(this.selectedIndex+1,isWrap,isInstant)},proto.updateSelectedSlide=function(){let slide=this.slides[this.selectedIndex];slide&&(this.unselectSelectedSlide(),this.selectedSlide=slide,slide.select(),this.selectedCells=slide.cells,this.selectedElements=slide.getCellElements(),this.selectedCell=slide.cells[0],this.selectedElement=this.selectedElements[0])},proto.unselectSelectedSlide=function(){this.selectedSlide&&this.selectedSlide.unselect()},proto.selectInitialIndex=function(){let initialIndex=this.options.initialIndex;if(this.isInitActivated)return void this.select(this.selectedIndex,!1,!0);if(initialIndex&&"string"==typeof initialIndex){if(this.queryCell(initialIndex))return void this.selectCell(initialIndex,!1,!0)}let index=0;initialIndex&&this.slides[initialIndex]&&(index=initialIndex),this.select(index,!1,!0)},proto.selectCell=function(value,isWrap,isInstant){let cell=this.queryCell(value);if(!cell)return;let index=this.getCellSlideIndex(cell);this.select(index,isWrap,isInstant)},proto.getCellSlideIndex=function(cell){let cellSlide=this.slides.find(slide=>slide.cells.includes(cell));return this.slides.indexOf(cellSlide)},proto.getCell=function(elem){for(let cell of this.cells)if(cell.element===elem)return cell},proto.getCells=function(elems){return(elems=utils.makeArray(elems)).map(elem=>this.getCell(elem)).filter(Boolean)},proto.getCellElements=function(){return this.cells.map(cell=>cell.element)},proto.getParentCell=function(elem){let cell=this.getCell(elem);if(cell)return cell;let closest=elem.closest(".flickity-slider > *");return this.getCell(closest)},proto.getAdjacentCellElements=function(adjCount,index){if(!adjCount)return this.selectedSlide.getCellElements();index=void 0===index?this.selectedIndex:index;let len=this.slides.length;if(1+2*adjCount>=len)return this.getCellElements();let cellElems=[];for(let i=index-adjCount;i<=index+adjCount;i++){let slideIndex=this.isWrapping?utils.modulo(i,len):i,slide=this.slides[slideIndex];slide&&(cellElems=cellElems.concat(slide.getCellElements()))}return cellElems},proto.queryCell=function(selector){if("number"==typeof selector)return this.cells[selector];return"string"==typeof selector&&!selector.match(/^[#.]?[\d/]/)&&(selector=this.element.querySelector(selector)),this.getCell(selector)},proto.uiChange=function(){this.emitEvent("uiChange")},proto.onresize=function(){this.watchCSS(),this.resize()},utils.debounceMethod(Flickity,"onresize",150),proto.resize=function(){if(!this.isActive||this.isAnimating||this.isDragging)return;this.getSize(),this.isWrapping&&(this.x=utils.modulo(this.x,this.slideableWidth)),this.positionCells(),this._updateWrapShiftCells(),this.setGallerySize(),this.emitEvent("resize");let selectedElement=this.selectedElements&&this.selectedElements[0];this.selectCell(selectedElement,!1,!0)},proto.watchCSS=function(){if(!this.options.watchCSS)return;getComputedStyle(this.element,":after").content.includes("flickity")?this.activate():this.deactivate()},proto.onkeydown=function(event){let{activeElement:activeElement}=document,handler=Flickity.keyboardHandlers[event.key];this.options.accessibility&&activeElement&&handler&&this.focusableElems.some(elem=>activeElement===elem)&&handler.call(this)},Flickity.keyboardHandlers={ArrowLeft:function(){this.uiChange(),this[this.options.rightToLeft?"next":"previous"]()},ArrowRight:function(){this.uiChange(),this[this.options.rightToLeft?"previous":"next"]()}},proto.focus=function(){this.element.focus({preventScroll:!0})},proto.deactivate=function(){this.isActive&&(this.element.classList.remove("flickity-enabled"),this.element.classList.remove("flickity-rtl"),this.unselectSelectedSlide(),this.cells.forEach(cell=>cell.destroy()),this.viewport.remove(),this.element.append(...this.slider.children),this.options.accessibility&&(this.element.removeAttribute("tabIndex"),this.element.removeEventListener("keydown",this)),this.isActive=!1,this.emitEvent("deactivate"))},proto.destroy=function(){this.deactivate(),window.removeEventListener("resize",this),this.allOff(),this.emitEvent("destroy"),jQuery&&this.$element&&jQuery.removeData(this.element,"flickity"),delete this.element.flickityGUID,delete instances[this.guid]},Object.assign(proto,animatePrototype),Flickity.data=function(elem){if(elem=utils.getQueryElement(elem))return instances[elem.flickityGUID]},utils.htmlInit(Flickity,"flickity");let{jQueryBridget:jQueryBridget}=window;return jQuery&&jQueryBridget&&jQueryBridget("flickity",Flickity,jQuery),Flickity.setJQuery=function(jq){jQuery=jq},Flickity.Cell=Cell,Flickity.Slide=Slide,Flickity})},
vendor: 5,768 bytes, lines 22-25
22"./node_modules/flickity/js/drag.js": 23/*!******************************************!*\ 24 !*** ./node_modules/flickity/js/drag.js ***! 25 \******************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(window,__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js"),__webpack_require__(/*! unidragger */"./node_modules/unidragger/unidragger.js"),__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js")):window.Flickity=factory(window,window.Flickity,window.Unidragger,window.fizzyUIUtils)}("undefined"!=typeof window?window:this,function(window,Flickity,Unidragger,utils){Object.assign(Flickity.defaults,{draggable:">1",dragThreshold:3});let proto=Flickity.prototype;function getScrollPosition(){return{x:window.pageXOffset,y:window.pageYOffset}}return Object.assign(proto,Unidragger.prototype),proto.touchActionValue="",Flickity.create.drag=function(){this.on("activate",this.onActivateDrag),this.on("uiChange",this._uiChangeDrag),this.on("deactivate",this.onDeactivateDrag),this.on("cellChange",this.updateDraggable),this.on("pointerDown",this.handlePointerDown),this.on("pointerUp",this.handlePointerUp),this.on("pointerDown",this.handlePointerDone),this.on("dragStart",this.handleDragStart),this.on("dragMove",this.handleDragMove),this.on("dragEnd",this.handleDragEnd),this.on("staticClick",this.handleStaticClick)},proto.onActivateDrag=function(){this.handles=[this.viewport],this.bindHandles(),this.updateDraggable()},proto.onDeactivateDrag=function(){this.unbindHandles(),this.element.classList.remove("is-draggable")},proto.updateDraggable=function(){">1"===this.options.draggable?this.isDraggable=this.slides.length>1:this.isDraggable=this.options.draggable,this.element.classList.toggle("is-draggable",this.isDraggable)},proto._uiChangeDrag=function(){delete this.isFreeScrolling},proto.handlePointerDown=function(event){if(!this.isDraggable)return void this.bindActivePointerEvents(event);let isTouchStart="touchstart"===event.type,isTouchPointer="touch"===event.pointerType,isFocusNode=event.target.matches("input, textarea, select");isTouchStart||isTouchPointer||isFocusNode||event.preventDefault(),isFocusNode||this.focus(),document.activeElement!==this.element&&document.activeElement.blur(),this.dragX=this.x,this.viewport.classList.add("is-pointer-down"),this.pointerDownScroll=getScrollPosition(),window.addEventListener("scroll",this),this.bindActivePointerEvents(event)},proto.hasDragStarted=function(moveVector){return Math.abs(moveVector.x)>this.options.dragThreshold},proto.handlePointerUp=function(){delete this.isTouchScrolling,this.viewport.classList.remove("is-pointer-down")},proto.handlePointerDone=function(){window.removeEventListener("scroll",this),delete this.pointerDownScroll},proto.handleDragStart=function(){this.isDraggable&&(this.dragStartPosition=this.x,this.startAnimation(),window.removeEventListener("scroll",this))},proto.handleDragMove=function(event,pointer,moveVector){if(!this.isDraggable)return;event.preventDefault(),this.previousDragX=this.dragX;let direction=this.options.rightToLeft?-1:1;this.isWrapping&&(moveVector.x%=this.slideableWidth);let dragX=this.dragStartPosition+moveVector.x*direction;if(!this.isWrapping){let originBound=Math.max(-this.slides[0].target,this.dragStartPosition);dragX=dragX>originBound?.5*(dragX+originBound):dragX;let endBound=Math.min(-this.getLastSlide().target,this.dragStartPosition);dragX=dragX<endBound?.5*(dragX+endBound):dragX}this.dragX=dragX,this.dragMoveTime=new Date},proto.handleDragEnd=function(){if(!this.isDraggable)return;let{freeScroll:freeScroll}=this.options;freeScroll&&(this.isFreeScrolling=!0);let index=this.dragEndRestingSelect();if(freeScroll&&!this.isWrapping){let restingX=this.getRestingPosition();this.isFreeScrolling=-restingX>this.slides[0].target&&-restingX<this.getLastSlide().target}else freeScroll||index!==this.selectedIndex||(index+=this.dragEndBoostSelect());delete this.previousDragX,this.isDragSelect=this.isWrapping,this.select(index),delete this.isDragSelect},proto.dragEndRestingSelect=function(){let restingX=this.getRestingPosition(),distance=Math.abs(this.getSlideDistance(-restingX,this.selectedIndex)),positiveResting=this._getClosestResting(restingX,distance,1),negativeResting=this._getClosestResting(restingX,distance,-1);return positiveResting.distance<negativeResting.distance?positiveResting.index:negativeResting.index},proto._getClosestResting=function(restingX,distance,increment){let index=this.selectedIndex,minDistance=1/0,condition=this.options.contain&&!this.isWrapping?(dist,minDist)=>dist<=minDist:(dist,minDist)=>dist<minDist;for(;condition(distance,minDistance)&&(index+=increment,minDistance=distance,null!==(distance=this.getSlideDistance(-restingX,index)));)distance=Math.abs(distance);return{distance:minDistance,index:index-increment}},proto.getSlideDistance=function(x,index){let len=this.slides.length,isWrapAround=this.options.wrapAround&&len>1,slideIndex=isWrapAround?utils.modulo(index,len):index,slide=this.slides[slideIndex];if(!slide)return null;let wrap=isWrapAround?this.slideableWidth*Math.floor(index/len):0;return x-(slide.target+wrap)},proto.dragEndBoostSelect=function(){if(void 0===this.previousDragX||!this.dragMoveTime||new Date-this.dragMoveTime>100)return 0;let distance=this.getSlideDistance(-this.dragX,this.selectedIndex),delta=this.previousDragX-this.dragX;return distance>0&&delta>0?1:distance<0&&delta<0?-1:0},proto.onscroll=function(){let scroll=getScrollPosition(),scrollMoveX=this.pointerDownScroll.x-scroll.x,scrollMoveY=this.pointerDownScroll.y-scroll.y;(Math.abs(scrollMoveX)>3||Math.abs(scrollMoveY)>3)&&this.pointerDone()},Flickity})},
vendor: 989 bytes, lines 25-28
25"./node_modules/flickity/js/imagesloaded.js": 26/*!**************************************************!*\ 27 !*** ./node_modules/flickity/js/imagesloaded.js ***! 28 \**************************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js"),__webpack_require__(/*! imagesloaded */"./node_modules/imagesloaded/imagesloaded.js")):factory(window.Flickity,window.imagesLoaded)}("undefined"!=typeof window?window:this,function(Flickity,imagesLoaded){return Flickity.create.imagesLoaded=function(){this.on("activate",this.imagesLoaded)},Flickity.prototype.imagesLoaded=function(){if(!this.options.imagesLoaded)return;imagesLoaded(this.slider).on("progress",(instance,image)=>{let cell=this.getParentCell(image.img);this.cellSizeChange(cell&&cell.element),this.options.freeScroll||this.positionSliderAtSelected()})},Flickity})},
vendor: 1,185 bytes, lines 28-42
28"./node_modules/flickity/js/index.js": 29/*!*******************************************!*\ 30 !*** ./node_modules/flickity/js/index.js ***! 31 \*******************************************/(module,__unused_webpack_exports,__webpack_require__)=>{ 32/*! 33 * Flickity v3.0.0 34 * Touch, responsive, flickable carousels 35 * 36 * Licensed GPLv3 for open source use 37 * or Flickity Commercial License for commercial use 38 * 39 * https://flickity.metafizzy.co 40 * Copyright 2015-2022 Metafizzy 41 */ 42if(module.exports){const Flickity=__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js");__webpack_require__(/*! ./drag */"./node_modules/flickity/js/drag.js"),__webpack_require__(/*! ./prev-next-button */"./node_modules/flickity/js/prev-next-button.js"),__webpack_require__(/*! ./page-dots */"./node_modules/flickity/js/page-dots.js"),__webpack_require__(/*! ./player */"./node_modules/flickity/js/player.js"),__webpack_require__(/*! ./add-remove-cell */"./node_modules/flickity/js/add-remove-cell.js"),__webpack_require__(/*! ./lazyload */"./node_modules/flickity/js/lazyload.js"),__webpack_require__(/*! ./imagesloaded */"./node_modules/flickity/js/imagesloaded.js"),module.exports=Flickity}},
vendor: 2,771 bytes, lines 42-45
42"./node_modules/flickity/js/lazyload.js": 43/*!**********************************************!*\ 44 !*** ./node_modules/flickity/js/lazyload.js ***! 45 \**********************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js"),__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js")):factory(window.Flickity,window.fizzyUIUtils)}("undefined"!=typeof window?window:this,function(Flickity,utils){const lazyAttr="data-flickity-lazyload",lazySrcAttr=`${lazyAttr}-src`,lazySrcsetAttr=`${lazyAttr}-srcset`,imgSelector=`img[${lazyAttr}], img[${lazySrcAttr}], img[${lazySrcsetAttr}], source[${lazySrcsetAttr}]`;Flickity.create.lazyLoad=function(){this.on("select",this.lazyLoad),this.handleLazyLoadComplete=this.onLazyLoadComplete.bind(this)};let proto=Flickity.prototype;function getCellLazyImages(cellElem){if(cellElem.matches("img")){let cellAttr=cellElem.getAttribute(lazyAttr),cellSrcAttr=cellElem.getAttribute(lazySrcAttr),cellSrcsetAttr=cellElem.getAttribute(lazySrcsetAttr);if(cellAttr||cellSrcAttr||cellSrcsetAttr)return cellElem}return[...cellElem.querySelectorAll(imgSelector)]}function LazyLoader(img,onComplete){this.img=img,this.onComplete=onComplete,this.load()}return proto.lazyLoad=function(){let{lazyLoad:lazyLoad}=this.options;if(!lazyLoad)return;let adjCount="number"==typeof lazyLoad?lazyLoad:0;this.getAdjacentCellElements(adjCount).map(getCellLazyImages).flat().forEach(img=>new LazyLoader(img,this.handleLazyLoadComplete))},proto.onLazyLoadComplete=function(img,event){let cell=this.getParentCell(img),cellElem=cell&&cell.element;this.cellSizeChange(cellElem),this.dispatchEvent("lazyLoad",event,cellElem)},LazyLoader.prototype.handleEvent=utils.handleEvent,LazyLoader.prototype.load=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this);let src=this.img.getAttribute(lazyAttr)||this.img.getAttribute(lazySrcAttr),srcset=this.img.getAttribute(lazySrcsetAttr);this.img.src=src,srcset&&this.img.setAttribute("srcset",srcset),this.img.removeAttribute(lazyAttr),this.img.removeAttribute(lazySrcAttr),this.img.removeAttribute(lazySrcsetAttr)},LazyLoader.prototype.onload=function(event){this.complete(event,"flickity-lazyloaded")},LazyLoader.prototype.onerror=function(event){this.complete(event,"flickity-lazyerror")},LazyLoader.prototype.complete=function(event,className){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this),(this.img.parentNode.matches("picture")?this.img.parentNode:this.img).classList.add(className),this.onComplete(this.img,event)},Flickity.LazyLoader=LazyLoader,Flickity})},
vendor: 2,972 bytes, lines 45-48
45"./node_modules/flickity/js/page-dots.js": 46/*!***********************************************!*\ 47 !*** ./node_modules/flickity/js/page-dots.js ***! 48 \***********************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js"),__webpack_require__(/*! fizzy-ui-utils */"./node_modules/fizzy-ui-utils/utils.js")):factory(window.Flickity,window.fizzyUIUtils)}("undefined"!=typeof window?window:this,function(Flickity,utils){function PageDots(){this.holder=document.createElement("div"),this.holder.className="flickity-page-dots",this.dots=[]}PageDots.prototype.setDots=function(slidesLength){let delta=slidesLength-this.dots.length;delta>0?this.addDots(delta):delta<0&&this.removeDots(-delta)},PageDots.prototype.addDots=function(count){let newDots=new Array(count).fill().map((item,i)=>{let dot=document.createElement("button");dot.setAttribute("type","button");let num=i+1+this.dots.length;return dot.className="flickity-page-dot",dot.textContent=`View slide ${num}`,dot});this.holder.append(...newDots),this.dots=this.dots.concat(newDots)},PageDots.prototype.removeDots=function(count){this.dots.splice(this.dots.length-count,count).forEach(dot=>dot.remove())},PageDots.prototype.updateSelected=function(index){this.selectedDot&&(this.selectedDot.classList.remove("is-selected"),this.selectedDot.removeAttribute("aria-current")),this.dots.length&&(this.selectedDot=this.dots[index],this.selectedDot.classList.add("is-selected"),this.selectedDot.setAttribute("aria-current","step"))},Flickity.PageDots=PageDots,Object.assign(Flickity.defaults,{pageDots:!0}),Flickity.create.pageDots=function(){this.options.pageDots&&(this.pageDots=new PageDots,this.handlePageDotsClick=this.onPageDotsClick.bind(this),this.on("activate",this.activatePageDots),this.on("select",this.updateSelectedPageDots),this.on("cellChange",this.updatePageDots),this.on("resize",this.updatePageDots),this.on("deactivate",this.deactivatePageDots))};let proto=Flickity.prototype;return proto.activatePageDots=function(){this.pageDots.setDots(this.slides.length),this.focusableElems.push(...this.pageDots.dots),this.pageDots.holder.addEventListener("click",this.handlePageDotsClick),this.element.append(this.pageDots.holder)},proto.onPageDotsClick=function(event){let index=this.pageDots.dots.indexOf(event.target);-1!==index&&(this.uiChange(),this.select(index))},proto.updateSelectedPageDots=function(){this.pageDots.updateSelected(this.selectedIndex)},proto.updatePageDots=function(){this.pageDots.dots.forEach(dot=>{utils.removeFrom(this.focusableElems,dot)}),this.pageDots.setDots(this.slides.length),this.focusableElems.push(...this.pageDots.dots)},proto.deactivatePageDots=function(){this.pageDots.holder.remove(),this.pageDots.holder.removeEventListener("click",this.handlePageDotsClick)},Flickity.PageDots=PageDots,Flickity})},
vendor: 2,780 bytes, lines 48-51
48"./node_modules/flickity/js/player.js": 49/*!********************************************!*\ 50 !*** ./node_modules/flickity/js/player.js ***! 51 \********************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js")):factory(window.Flickity)}("undefined"!=typeof window?window:this,function(Flickity){function Player(autoPlay,onTick){this.autoPlay=autoPlay,this.onTick=onTick,this.state="stopped",this.onVisibilityChange=this.visibilityChange.bind(this),this.onVisibilityPlay=this.visibilityPlay.bind(this)}Player.prototype.play=function(){if("playing"===this.state)return;document.hidden?document.addEventListener("visibilitychange",this.onVisibilityPlay):(this.state="playing",document.addEventListener("visibilitychange",this.onVisibilityChange),this.tick())},Player.prototype.tick=function(){if("playing"!==this.state)return;let time="number"==typeof this.autoPlay?this.autoPlay:3e3;this.clear(),this.timeout=setTimeout(()=>{this.onTick(),this.tick()},time)},Player.prototype.stop=function(){this.state="stopped",this.clear(),document.removeEventListener("visibilitychange",this.onVisibilityChange)},Player.prototype.clear=function(){clearTimeout(this.timeout)},Player.prototype.pause=function(){"playing"===this.state&&(this.state="paused",this.clear())},Player.prototype.unpause=function(){"paused"===this.state&&this.play()},Player.prototype.visibilityChange=function(){this[document.hidden?"pause":"unpause"]()},Player.prototype.visibilityPlay=function(){this.play(),document.removeEventListener("visibilitychange",this.onVisibilityPlay)},Object.assign(Flickity.defaults,{pauseAutoPlayOnHover:!0}),Flickity.create.player=function(){this.player=new Player(this.options.autoPlay,()=>{this.next(!0)}),this.on("activate",this.activatePlayer),this.on("uiChange",this.stopPlayer),this.on("pointerDown",this.stopPlayer),this.on("deactivate",this.deactivatePlayer)};let proto=Flickity.prototype;return proto.activatePlayer=function(){this.options.autoPlay&&(this.player.play(),this.element.addEventListener("mouseenter",this))},proto.playPlayer=function(){this.player.play()},proto.stopPlayer=function(){this.player.stop()},proto.pausePlayer=function(){this.player.pause()},proto.unpausePlayer=function(){this.player.unpause()},proto.deactivatePlayer=function(){this.player.stop(),this.element.removeEventListener("mouseenter",this)},proto.onmouseenter=function(){this.options.pauseAutoPlayOnHover&&(this.player.pause(),this.element.addEventListener("mouseleave",this))},proto.onmouseleave=function(){this.player.unpause(),this.element.removeEventListener("mouseleave",this)},Flickity.Player=Player,Flickity})},
vendor: 4,084 bytes, lines 51-54
51"./node_modules/flickity/js/prev-next-button.js": 52/*!******************************************************!*\ 53 !*** ./node_modules/flickity/js/prev-next-button.js ***! 54 \******************************************************/function(module,__unused_webpack_exports,__webpack_require__){!function(window,factory){module.exports?module.exports=factory(__webpack_require__(/*! ./core */"./node_modules/flickity/js/core.js")):factory(window.Flickity)}("undefined"!=typeof window?window:this,function(Flickity){const svgURI="http://www.w3.org/2000/svg";function PrevNextButton(increment,direction,arrowShape){this.increment=increment,this.direction=direction,this.isPrevious="previous"===increment,this.isLeft="left"===direction,this._create(arrowShape)}PrevNextButton.prototype._create=function(arrowShape){let element=this.element=document.createElement("button");element.className=`flickity-button flickity-prev-next-button ${this.increment}`;let label=this.isPrevious?"Previous":"Next";element.setAttribute("type","button"),element.setAttribute("aria-label",label),this.disable();let svg=this.createSVG(label,arrowShape);element.append(svg)},PrevNextButton.prototype.createSVG=function(label,arrowShape){let svg=document.createElementNS(svgURI,"svg");svg.setAttribute("class","flickity-button-icon"),svg.setAttribute("viewBox","0 0 100 100");let title=document.createElementNS(svgURI,"title");title.append(label);let path=document.createElementNS(svgURI,"path"),pathMovements=function(shape){if("string"==typeof shape)return shape;let{x0:x0,x1:x1,x2:x2,x3:x3,y1:y1,y2:y2}=shape;return`M ${x0}, 50\n L ${x1}, ${y1+50}\n L ${x2}, ${y2+50}\n L ${x3}, 50\n L ${x2}, ${50-y2}\n L ${x1}, ${50-y1}\n Z`}(arrowShape);return path.setAttribute("d",pathMovements),path.setAttribute("class","arrow"),this.isLeft||path.setAttribute("transform","translate(100, 100) rotate(180)"),svg.append(title,path),svg},PrevNextButton.prototype.enable=function(){this.element.removeAttribute("disabled")},PrevNextButton.prototype.disable=function(){this.element.setAttribute("disabled",!0)},Object.assign(Flickity.defaults,{prevNextButtons:!0,arrowShape:{x0:10,x1:60,y1:50,x2:70,y2:40,x3:30}}),Flickity.create.prevNextButtons=function(){if(!this.options.prevNextButtons)return;let{rightToLeft:rightToLeft,arrowShape:arrowShape}=this.options,prevDirection=rightToLeft?"right":"left",nextDirection=rightToLeft?"left":"right";this.prevButton=new PrevNextButton("previous",prevDirection,arrowShape),this.nextButton=new PrevNextButton("next",nextDirection,arrowShape),this.focusableElems.push(this.prevButton.element),this.focusableElems.push(this.nextButton.element),this.handlePrevButtonClick=()=>{this.uiChange(),this.previous()},this.handleNextButtonClick=()=>{this.uiChange(),this.next()},this.on("activate",this.activatePrevNextButtons),this.on("select",this.updatePrevNextButtons)};let proto=Flickity.prototype;return proto.updatePrevNextButtons=function(){let lastIndex=this.slides.length?this.slides.length-1:0;this.updatePrevNextButton(this.prevButton,0),this.updatePrevNextButton(this.nextButton,lastIndex)},proto.updatePrevNextButton=function(button,disabledIndex){if(this.isWrapping&&this.slides.length>1)return void button.enable();let isEnabled=this.selectedIndex!==disabledIndex;button[isEnabled?"enable":"disable"](),!isEnabled&&document.activeElement===button.element&&this.focus()},proto.activatePrevNextButtons=function(){this.prevButton.element.addEventListener("click",this.handlePrevButtonClick),this.nextButton.element.addEventListener("click",this.handleNextButtonClick),this.element.append(this.prevButton.element,this.nextButton.element),this.on("deactivate",this.deactivatePrevNextButtons)},proto.deactivatePrevNextButtons=function(){this.prevButton.element.remove(),this.nextButton.element.remove(),this.prevButton.element.removeEventListener("click",this.handlePrevButtonClick),this.nextButton.element.removeEventListener("click",this.handleNextButtonClick),this.off("deactivate",this.deactivatePrevNextButtons)},Flickity.PrevNextButton=PrevNextButton,Flickity})},
vendor: 1,346 bytes, lines 54-57
54"./node_modules/flickity/js/slide.js": 55/*!*******************************************!*\ 56 !*** ./node_modules/flickity/js/slide.js ***! 57 \*******************************************/function(module){!function(window,factory){module.exports?module.exports=factory():(window.Flickity=window.Flickity||{},window.Flickity.Slide=factory())}("undefined"!=typeof window?window:this,function(){function Slide(beginMargin,endMargin,cellAlign){this.beginMargin=beginMargin,this.endMargin=endMargin,this.cellAlign=cellAlign,this.cells=[],this.outerWidth=0,this.height=0}let proto=Slide.prototype;return proto.addCell=function(cell){this.cells.push(cell),this.outerWidth+=cell.size.outerWidth,this.height=Math.max(cell.size.outerHeight,this.height),1===this.cells.length&&(this.x=cell.x,this.firstMargin=cell.size[this.beginMargin])},proto.updateTarget=function(){let lastCell=this.getLastCell(),lastMargin=lastCell?lastCell.size[this.endMargin]:0,slideWidth=this.outerWidth-(this.firstMargin+lastMargin);this.target=this.x+this.firstMargin+slideWidth*this.cellAlign},proto.getLastCell=function(){return this.cells[this.cells.length-1]},proto.select=function(){this.cells.forEach(cell=>cell.select())},proto.unselect=function(){this.cells.forEach(cell=>cell.unselect())},proto.getCellElements=function(){return this.cells.map(cell=>cell.element)},Slide})},
vendor: 2,091 bytes, lines 57-66
57"./node_modules/get-size/get-size.js": 58/*!*******************************************!*\ 59 !*** ./node_modules/get-size/get-size.js ***! 60 \*******************************************/module=>{ 61/*! 62 * Infinite Scroll v2.0.4 63 * measure size of elements 64 * MIT license 65 */ 66!function(window,factory){module.exports?module.exports=factory():window.getSize=factory()}(window,function(){function getStyleSize(value){let num=parseFloat(value);return-1==value.indexOf("%")&&!isNaN(num)&&num}let measurements=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];measurements.length;return function(elem){if("string"==typeof elem&&(elem=document.querySelector(elem)),!(elem&&"object"==typeof elem&&elem.nodeType))return;let style=getComputedStyle(elem);if("none"==style.display)return function(){let size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0};return measurements.forEach(measurement=>{size[measurement]=0}),size}();let size={};size.width=elem.offsetWidth,size.height=elem.offsetHeight;let isBorderBox=size.isBorderBox="border-box"==style.boxSizing;measurements.forEach(measurement=>{let value=style[measurement],num=parseFloat(value);size[measurement]=isNaN(num)?0:num});let paddingWidth=size.paddingLeft+size.paddingRight,paddingHeight=size.paddingTop+size.paddingBottom,marginWidth=size.marginLeft+size.marginRight,marginHeight=size.marginTop+size.marginBottom,borderWidth=size.borderLeftWidth+size.borderRightWidth,borderHeight=size.borderTopWidth+size.borderBottomWidth,styleWidth=getStyleSize(style.width);!1!==styleWidth&&(size.width=styleWidth+(isBorderBox?0:paddingWidth+borderWidth));let styleHeight=getStyleSize(style.height);return!1!==styleHeight&&(size.height=styleHeight+(isBorderBox?0:paddingHeight+borderHeight)),size.innerWidth=size.width-(paddingWidth+borderWidth),size.innerHeight=size.height-(paddingHeight+borderHeight),size.outerWidth=size.width+marginWidth,size.outerHeight=size.height+marginHeight,size}})},
vendor: 5,941 bytes, lines 66-75
66"./node_modules/imagesloaded/imagesloaded.js": 67/*!***************************************************!*\ 68 !*** ./node_modules/imagesloaded/imagesloaded.js ***! 69 \***************************************************/function(module,__unused_webpack_exports,__webpack_require__){ 70/*! 71 * imagesLoaded v5.0.0 72 * JavaScript is all like "You images are done yet or what?" 73 * MIT License 74 */ 75!function(window,factory){module.exports?module.exports=factory(window,__webpack_require__(/*! ev-emitter */"./node_modules/ev-emitter/ev-emitter.js")):window.imagesLoaded=factory(window,window.EvEmitter)}("undefined"!=typeof window?window:this,function(window,EvEmitter){let $=window.jQuery,console=window.console;function ImagesLoaded(elem,options,onAlways){if(!(this instanceof ImagesLoaded))return new ImagesLoaded(elem,options,onAlways);let queryElem=elem;var obj;("string"==typeof elem&&(queryElem=document.querySelectorAll(elem)),queryElem)?(this.elements=(obj=queryElem,Array.isArray(obj)?obj:"object"==typeof obj&&"number"==typeof obj.length?[...obj]:[obj]),this.options={},"function"==typeof options?onAlways=options:Object.assign(this.options,options),onAlways&&this.on("always",onAlways),this.getImages(),$&&(this.jqDeferred=new $.Deferred),setTimeout(this.check.bind(this))):console.error(`Bad element for imagesLoaded ${queryElem||elem}`)}ImagesLoaded.prototype=Object.create(EvEmitter.prototype),ImagesLoaded.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const elementNodeTypes=[1,9,11];ImagesLoaded.prototype.addElementImages=function(elem){"IMG"===elem.nodeName&&this.addImage(elem),!0===this.options.background&&this.addElementBackgroundImages(elem);let{nodeType:nodeType}=elem;if(!nodeType||!elementNodeTypes.includes(nodeType))return;let childImgs=elem.querySelectorAll("img");for(let img of childImgs)this.addImage(img);if("string"==typeof this.options.background){let children=elem.querySelectorAll(this.options.background);for(let child of children)this.addElementBackgroundImages(child)}};const reURL=/url\((['"])?(.*?)\1\)/gi;function LoadingImage(img){this.img=img}function Background(url,element){this.url=url,this.element=element,this.img=new Image}return ImagesLoaded.prototype.addElementBackgroundImages=function(elem){let style=getComputedStyle(elem);if(!style)return;let matches=reURL.exec(style.backgroundImage);for(;null!==matches;){let url=matches&&matches[2];url&&this.addBackground(url,elem),matches=reURL.exec(style.backgroundImage)}},ImagesLoaded.prototype.addImage=function(img){let loadingImage=new LoadingImage(img);this.images.push(loadingImage)},ImagesLoaded.prototype.addBackground=function(url,elem){let background=new Background(url,elem);this.images.push(background)},ImagesLoaded.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let onProgress=(image,elem,message)=>{setTimeout(()=>{this.progress(image,elem,message)})};this.images.forEach(function(loadingImage){loadingImage.once("progress",onProgress),loadingImage.check()})},ImagesLoaded.prototype.progress=function(image,elem,message){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!image.isLoaded,this.emitEvent("progress",[this,image,elem]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,image),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&console&&console.log(`progress: ${message}`,image,elem)},ImagesLoaded.prototype.complete=function(){let eventName=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(eventName,[this]),this.emitEvent("always",[this]),this.jqDeferred){let jqMethod=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[jqMethod](this)}},LoadingImage.prototype=Object.create(EvEmitter.prototype),LoadingImage.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},LoadingImage.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},LoadingImage.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;let{parentNode:parentNode}=this.img,elem="PICTURE"===parentNode.nodeName?parentNode:this.img;this.emitEvent("progress",[this,elem,message])},LoadingImage.prototype.handleEvent=function(event){let method="on"+event.type;this[method]&&this[method](event)},LoadingImage.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},LoadingImage.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},LoadingImage.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},Background.prototype=Object.create(LoadingImage.prototype),Background.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},Background.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},Background.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded,this.emitEvent("progress",[this,this.element,message])},ImagesLoaded.makeJQueryPlugin=function(jQuery){(jQuery=jQuery||window.jQuery)&&($=jQuery,$.fn.imagesLoaded=function(options,onAlways){return new ImagesLoaded(this,options,onAlways).jqDeferred.promise($(this))})},ImagesLoaded.makeJQueryPlugin(),ImagesLoaded})},
75"./src/js/app.js": 76/*!***********************!*\ 77 !*** ./src/js/app.js ***! 78 \***********************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);var sleek_ui_src_js_scroll_stats__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! sleek-ui/src/js/scroll-stats */"./node_modules/sleek-ui/src/js/scroll-stats.js"),_inc_count_up__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./inc/count-up */"./src/js/inc/count-up.js"),_inc_count_down__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./inc/count-down */"./src/js/inc/count-down.js"),_inc_form_submit_text__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./inc/form-submit-text */"./src/js/inc/form-submit-text.js"),sleek_ui_src_js_submit_onchange__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! sleek-ui/src/js/submit-onchange */"./node_modules/sleek-ui/src/js/submit-onchange.js"),sleek_ui_src_js_toggle_hash__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! sleek-ui/src/js/toggle-hash */"./node_modules/sleek-ui/src/js/toggle-hash.js"),_inc_slideshow__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ./inc/slideshow */"./src/js/inc/slideshow.js"),_inc_fiber_form__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(/*! ./inc/fiber-form */"./src/js/inc/fiber-form.js"),sleek_ui_src_js_dialog__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(/*! sleek-ui/src/js/dialog */"./node_modules/sleek-ui/src/js/dialog.js");__webpack_require__(/*! ./app.js */"./src/js/app.js"),__webpack_require__(/*! ./education-catalog.js */"./src/js/education-catalog.js"),__webpack_require__(/*! ./hs-cta.js */"./src/js/hs-cta.js"),__webpack_require__(/*! ./lottie.js */"./src/js/lottie.js"),__webpack_require__(/*! ./mobile-menu.js */"./src/js/mobile-menu.js"),__webpack_require__(/*! ./video.js */"./src/js/video.js"),__webpack_require__(/*! ../modules/search-results.module/script.js */"./src/modules/search-results.module/script.js");document.documentElement.style.setProperty("--scrollbar-width",window.innerWidth-document.body.clientWidth+"px"),new sleek_ui_src_js_scroll_stats__WEBPACK_IMPORTED_MODULE_0__.default({farThreshold:100}).mount(),document.querySelectorAll("[data-count]").forEach(el=>{const finalValue=parseFloat(el.dataset.count,10);new _inc_count_up__WEBPACK_IMPORTED_MODULE_1__.default(el,finalValue).mount()}),document.querySelectorAll("[data-countdown]").forEach(el=>{new _inc_count_down__WEBPACK_IMPORTED_MODULE_2__.default(el).mount()}),document.querySelectorAll("[data-form-submit-text]").forEach(el=>{new _inc_form_submit_text__WEBPACK_IMPORTED_MODULE_3__.default(el).mount()}),document.querySelectorAll("[data-submit-onchange]").forEach(el=>{new sleek_ui_src_js_submit_onchange__WEBPACK_IMPORTED_MODULE_4__.default(el).mount()}),document.querySelectorAll("[data-filter-all]").forEach(wrapper=>{!function(wrapper){let activeCategory="all",searchQuery="";const itemsWrapper=wrapper.querySelector(wrapper.dataset.filterAll);if(!itemsWrapper)return;const items=Array.from(itemsWrapper.children),buttons=wrapper.querySelectorAll("[data-filter-category]");buttons.forEach(btn=>
78{"all"===btn.dataset.filterCategory&&btn.classList.add("active"),btn.addEventListener("click",e=>{e.preventDefault(),activeCategory=btn.dataset.filterCategory,buttons.forEach(b=>{b.classList.toggle("active",b.dataset.filterCategory===activeCategory)}),applyFilters()})});const searchInput=wrapper.querySelector(".filterSearch");searchInput&&searchInput.addEventListener("input",e=>{searchQuery=e.target.value.toLowerCase().trim(),applyFilters()});const form=wrapper.querySelector(".filter-form");function applyFilters(){items.forEach(item=>{const categories=(item.dataset.categories||"").split(" "),name=(item.dataset.name||"").toLowerCase(),description=(item.dataset.description||"").toLowerCase(),categoryMatch="all"===activeCategory||categories.includes(activeCategory),textMatch=""===searchQuery||name.includes(searchQuery)||description.includes(searchQuery);categoryMatch&&textMatch?item.classList.remove("inactive"):item.classList.add("inactive")})}form&&form.addEventListener("submit",e=>e.preventDefault())}(wrapper)}),document.querySelectorAll("[data-toggle-hash]").forEach(el=>{new sleek_ui_src_js_toggle_hash__WEBPACK_IMPORTED_MODULE_5__.default(el,{toggleText:el.dataset.toggleHash||el.innerText}).mount()}),document.querySelectorAll("[data-slideshow]").forEach(el=>{let args=el.dataset.slideshow;try{args=args?JSON.parse(args):{}}catch{args={}}new _inc_slideshow__WEBPACK_IMPORTED_MODULE_6__.default(el,args).mount(),"undefined"!=typeof slideshowObserver&&slideshowObserver.observe(el)}),document.querySelectorAll("[data-fiber]").forEach(el=>{let args=el.dataset.fiber;try{args=args?JSON.parse(args):{}}catch{args={}}new _inc_fiber_form__WEBPACK_IMPORTED_MODULE_7__.default(el,args).mount()}),document.querySelectorAll("[data-slideshow-nav]").forEach(nav=>{const slideshowEl=document.querySelector(nav.dataset.slideshowNav);if(!slideshowEl)return;const noActiveFirst=nav.hasAttribute("data-slideshow-no-active-first"),links=[...nav.children],initNav=()=>{const flkty=slideshowEl.flickity;if(!flkty)return;let initialRenderDone=!1;const renderNav=()=>{const index=flkty.selectedIndex;links.forEach(l=>l.classList.remove("active")),!noActiveFirst||initialRenderDone?(links[index]?.classList.add("active"),initialRenderDone=!0):initialRenderDone=!0};nav.addEventListener("click",e=>{const link=e.target.closest("a, [data-slideshow-nav-target]");if(!link)return;e.preventDefault();const selector=link.dataset.slideshowNavTarget||link.getAttribute("href"),targetCell=selector?document.querySelector(selector):null;if(!targetCell)return;const targetIndex=flkty.cells.findIndex(cell=>cell.element===targetCell);-1!==targetIndex&&flkty.select(targetIndex,!1,"slideshowNavInstant"in nav.dataset)}),flkty.on("select",renderNav),renderNav()};slideshowEl.flickity?.isAnimating?setTimeout(initNav,50):initNav()}),document.querySelectorAll("[data-clear-active]").forEach(el=>{const target=document.querySelector(el.dataset.clearActive);target&&el.addEventListener("click",e=>{e.preventDefault(),target.querySelectorAll(".active").forEach(t=>t.classList.remove("active"))})}),document.querySelectorAll("[data-dictionary-filter]").forEach(el=>{const input=el.querySelector("#dictionarySearch"),searchDropdown=el.querySelector("#searchDropdown"),words=Array.from(el.querySelectorAll("li.dictionary-words")).map(li=>({name:li.dataset.name,url:li.querySelector("a")?.href}));input.addEventListener("input",()=>{const query=input.value.trim().toLowerCase();if(searchDropdown.innerHTML="",query.length<1)return void searchDropdown.classList.remove("active");const matches=words.filter(w=>w.name.includes(query));matches.length>0&&matches.forEach(match=>{const li=document.createElement("li");li.innerHTML=`<a href="${match.url}">${match.name}</a>`,searchDropdown.appendChild(li)}),searchDropdown.classList.toggle("active",matches.length>0)}),document.addEventListener("mousedown",e=>{el.contains(e.target)||searchDropdown.classList.remove("active")}),window.addEventListener("scroll",()=>{searchDropdown.classList.remove("active")}),document.addEventListener("keydown",e=>{"Escape"===e.key&&searchDropdown.classList.remove("active")})});const templateDialog=document.createElement("div");templateDialog.classList.add("dialog"),document.body.appendChild(templateDialog),document.querySelectorAll('a[href^="#dialog-"]').forEach(el=>{new sleek_ui_src_js_dialog__WEBPACK_IMPORTED_MODULE_8__.DialogTrigger(el,{target:document.getElementById(el.getAttribute("href").substr(1)),templateDialog:templateDialog}).mount()}),document.querySelectorAll("div.dialog").forEach(el=>{new sleek_ui_src_js_dialog__WEBPACK_IMPORTED_MODULE_8__.default(el).mount()})},
78"./src/js/education-catalog.js": 79/*!*************************************!*\ 80 !*** ./src/js/education-catalog.js ***! 81 \*************************************/()=>{function renderSelectedList(){const selected=JSON.parse(localStorage.getItem("selectedEducations"))||[],educationDiv=document.querySelector("div.hs_educations.hs-educations"),educationInput=educationDiv?.querySelector('textarea[name="educations"]');if(educationInput){let chosenEducationsDiv=educationDiv.querySelector(".chosen-educations");chosenEducationsDiv||(chosenEducationsDiv=document.createElement("div"),chosenEducationsDiv.classList.add("chosen-educations"),educationInput.insertAdjacentElement("afterend",chosenEducationsDiv)),chosenEducationsDiv.innerHTML=selected.length?`<ul>${selected.map((e,i)=>`\n\t\t\t\t<li>\n\t\t\t\t\t${e.name}\n\t\t\t\t\t<button class="remove-education" data-index="${i}" aria-label="Remove * ${e.name}">â</button>\n\t\t\t\t</li>`).join("")}</ul>`:"<p>Inga utbildningar valda ännu.</p>";const newValue=selected.map(e=>`* ${e.name}`).join(", ");educationInput.value!==newValue&&(educationInput.value=newValue,educationInput.dispatchEvent(new Event("change",{bubbles:!0})),educationInput.dispatchEvent(new Event("input",{bubbles:!0})),educationInput.dispatchEvent(new Event("blur",{bubbles:!0})))}const asideChosen=document.querySelector("aside .chosen-educations"),asideTitle=document.querySelector("aside h4")??document.querySelector("aside h3");asideChosen&&(asideTitle?.setAttribute("data-count",selected.length),asideChosen.innerHTML=selected.length?`<ul>${selected.map((e,i)=>`\n\t\t\t\t<li>\n\t\t\t\t\t${e.name}\n\t\t\t\t\t<button class="remove-education" data-index="${i}" aria-label="Remove * ${e.name}">â</button>\n\t\t\t\t</li>`).join("")}</ul>`:"<p>Inga utbildningar valda ännu.</p>"),document.querySelectorAll(".catalog-input[type='checkbox']").forEach(input=>{input.checked=selected.some(e=>e.value===input.value)})}document.addEventListener("click",e=>{if(e.target.classList.contains("remove-education")){const index=parseInt(e.target.getAttribute("data-index")),selected=JSON.parse(localStorage.getItem("selectedEducations"))||[],removed=selected.splice(index,1)[0];localStorage.setItem("selectedEducations",JSON.stringify(selected));const checkbox=document.querySelector(`.catalog-input[value="${removed.value}"]`);checkbox&&(checkbox.checked=!1),renderSelectedList()}}),document.addEventListener("DOMContentLoaded",()=>{const signUpBtn=document.getElementById("sign-up-button");signUpBtn?.addEventListener("click",e=>{e.preventDefault(),localStorage.setItem("education_landing_page","true");const lpUrl=signUpBtn.getAttribute("data-lp-url")||window.location.pathname;window.location.href=lpUrl})}),document.addEventListener("DOMContentLoaded",()=>{const isLp="true"===localStorage.getItem("education_landing_page"),mainView=document.getElementById("education-main"),lpView=document.getElementById("education-lp");mainView&&lpView&&(isLp?(mainView.style.display="none",lpView.style.display="block",localStorage.removeItem("education_landing_page")):(mainView.style.display="block",lpView.style.display="none")),function(){const selectedValues=(JSON.parse(localStorage.getItem("selectedEducations"))||[]).map(e=>e.value);document.querySelectorAll(".catalog-input[type='checkbox']").forEach(input=>{selectedValues.includes(input.value)&&(input.checked=!0),input.addEventListener("change",()=>{let updated=JSON.parse(localStorage.getItem("selectedEducations"))||[];input.checked?updated.some(e=>e.value===input.value)||updated.push({name:input.name,value:input.value}):updated=updated.filter(e=>e.value!==input.value),localStorage.setItem("selectedEducations",JSON.stringify(updated)),renderSelectedList()})})}(),renderSelectedList();const observer=new MutationObserver(()=>{const educationDiv=document.querySelector("div.hs_educations.hs-educations"),educationInput=educationDiv?.querySelector('textarea[name="educations"]');educationDiv&&educationInput&&(observer.disconnect(),renderSelectedList(),setTimeout(()=>{const value=(JSON.parse(localStorage.getItem("selectedEducations"))||[]).map(e=>`* ${e.name}`).join(", ");educationInput.value=value,educationInput.dispatchEvent(new Event("change",{bubbles:!0})),educationInput.dispatchEvent(new Event("input",{bubbles:!0})),educationInput.dispatchEvent(new Event("blur",{bubbles:!0}))},100))});observer.observe(document.body,{childList:!0,subtree:!0})})},
81"./src/js/hs-cta.js": 82/*!**************************!*\ 83 !*** ./src/js/hs-cta.js ***! 84 \**************************/()=>{document.querySelectorAll(".hs-web-interactive-inline").forEach(el=>{const ctaClass=!!el?.dataset?.ctaClass&&el.dataset.ctaClass.split(" "),observer=new MutationObserver((mutationList,observer)=>{for(const mutation of mutationList)"data-rendered"===mutation.attributeName&&"true"==el.dataset.rendered&&(el.querySelector("a").classList.add(...ctaClass),el.removeAttribute("data-cta-class"),observer.disconnect())});ctaClass&&observer.observe(el,{attributes:!0,childList:!1,subtree:!1})})},
84"./src/js/inc/count-down.js": 85/*!**********************************!*\ 86 !*** ./src/js/inc/count-down.js ***! 87 \**********************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>CountDown});class CountDown{constructor(el){this.el=el;const dateMatch=/^(\d{4})-(\d{2})-(\d{2})/.exec((el.dataset.countdown||"").trim()),timeMatch=/^(\d{1,2}):(\d{2})$/.exec((el.dataset.countdownTime||"").trim());this.target=dateMatch?new Date(parseInt(dateMatch[1],10),parseInt(dateMatch[2],10)-1,parseInt(dateMatch[3],10),timeMatch?parseInt(timeMatch[1],10):0,timeMatch?parseInt(timeMatch[2],10):0).getTime():NaN,this.units=["months","weeks","days","hours","minutes","seconds"],this.unitEls={},this.units.forEach(unit=>{const unitEl=el.querySelector(`[data-countdown-unit="${unit}"]`);unitEl&&(this.unitEls[unit]={container:unitEl,value:unitEl.querySelector("[data-countdown-value]")})}),this.presentUnits=this.units.filter(unit=>this.unitEls[unit]),this.hasSeconds=!!this.unitEls.seconds}mount(){this.el.dataset.countdownMounted||(this.el.dataset.countdownMounted="true",this.target&&!Number.isNaN(this.target)?(this.render(),setInterval(()=>this.render(),this.hasSeconds?1e3:6e4)):console.warn("CountDown: invalid target date, not starting.",this.el.dataset.countdown))}getParts(targetDate){const now=new Date;if(targetDate<=now)return{months:0,weeks:0,days:0,hours:0,minutes:0,seconds:0};let months=12*(targetDate.getFullYear()-now.getFullYear())+(targetDate.getMonth()-now.getMonth()),cursor=new Date(now);cursor.setMonth(cursor.getMonth()+months),cursor>targetDate&&(months--,cursor.setMonth(cursor.getMonth()-1));let remainder=targetDate-cursor;const weeks=Math.floor(remainder/6048e5);remainder-=7*weeks*24*60*60*1e3;const days=Math.floor(remainder/864e5);remainder-=24*days*60*60*1e3;const hours=Math.floor(remainder/36e5);remainder-=60*hours*60*1e3;const minutes=Math.floor(remainder/6e4);remainder-=60*minutes*1e3;return{months:months,weeks:weeks,days:days,hours:hours,minutes:minutes,seconds:Math.floor(remainder/1e3)}}render(){const parts=this.getParts(new Date(this.target));let pivot=this.presentUnits.findIndex(unit=>parts[unit]>0);-1===pivot&&(pivot=this.presentUnits.length-1),this.presentUnits.forEach((unit,index)=>{this.unitEls[unit].value.textContent=parts[unit],this.unitEls[unit].container.hidden=index<pivot})}}},
87"./src/js/inc/count-up.js": 88/*!********************************!*\ 89 !*** ./src/js/inc/count-up.js ***! 90 \********************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>CountUp});class CountUp{constructor(el,finalValue,conf){this.el=el,this.finalValue=finalValue,this.config=Object.assign({duration:2e3},conf);const lang=document.documentElement.lang||"en";this.numberFormat=new Intl.NumberFormat(lang)}mount(){if(!Number.isFinite(this.finalValue))return void(this.el.innerText=this.el.dataset.count);const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{entry.isIntersecting&&(observer.unobserve(entry.target),this.countUp())})});observer.observe(this.el)}easeOutCubic(t){const t1=t-1;return t1*t1*t1+1}countUp(){const initTime=performance.now();this.el.innerHTML=0;const isInteger=Number.isInteger(this.finalValue),interval=setInterval(()=>{const t=(performance.now()-initTime)/this.config.duration;let currentValue=this.easeOutCubic(t)*this.finalValue;currentValue=isInteger?Math.round(currentValue):Math.round(100*currentValue)/100,this.finalValue>=currentValue&&(this.el.innerText=this.numberFormat.format(currentValue)),t>=1&&clearInterval(interval)},50)}}},
90"./src/js/inc/fiber-form.js": 91/*!**********************************!*\ 92 !*** ./src/js/inc/fiber-form.js ***! 93 \**********************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>FiberForm});class FiberForm{constructor(el,conf={}){this.el=el,this.conf=conf,this.conf.clientIP=conf.clientIP||null,this.debug=!!conf.debug,this.data=null;const excantoBaseUrlOverride=(el.dataset.fiberExcantoBaseUrl||"").trim();this.excantoBaseUrl=excantoBaseUrlOverride||"https://excantoprod.service-now.com/api/exab",this.STEPS={COMPANY:"company",USAGE:"usage",ADDON:"addon",DETAILS:"details",OFFICE_HOTEL:"office-hotel",SUCCESS:"success"},this.USAGE_TYPES={KONTORSHOTELL:"kontorshotell"},this.state={company:"",usage:"",addons:{},totalMonthly:0,totalOneTime:0,details:{}},this.texts=Object.assign({companyPlaceholder:"Välj fastighetsägare",oneTimeFeeSuffix:"kr engångsavgift",summary:"{monthly} kr per månad. Engångsavgift {onetime} kr.",errorGeneric:"Något gick fel. Försök igen om en stund."},conf.texts||{}),this.companySelect=this.el.querySelector("[data-fiber-company]"),this.usageContainer=this.el.querySelector("[data-fiber-usage]"),this.priceRowsContainer=this.el.querySelector("[data-fiber-price-rows]"),this.stepForms=this.el.querySelectorAll("[data-fiber-form]"),this.detailsForm=this.el.querySelector(`[data-fiber-step="${this.STEPS.DETAILS}"] [data-fiber-form]`),this.backButtons=this.el.querySelectorAll("[data-fiber-back]"),this.totalSummaryElements=this.el.querySelectorAll("[data-fiber-total-summary]"),this.errorElement=this.el.querySelector("[data-fiber-error]"),this.slides=Array.from(this.el.querySelectorAll("[data-fiber-step]")),this.stepsOrder=[],this.slides.forEach(sli
93de=>{const step=slide.getAttribute("data-fiber-step");step&&this.stepsOrder.push(step)}),this.addonSlide=this.el.querySelector(`[data-fiber-step="${this.STEPS.ADDON}"]`),this.detailsSlide=this.el.querySelector(`[data-fiber-step="${this.STEPS.DETAILS}"]`),this.officeHotelSlide=this.el.querySelector(`[data-fiber-step="${this.STEPS.OFFICE_HOTEL}"]`),this.popoverTemplate=document.querySelector("[data-fiber-popover]"),this.popoverTemplateHtml=this.popoverTemplate?this.popoverTemplate.innerHTML:"",this.flkty=null}getStepIndex(stepName){return stepName?this.slides.findIndex(slide=>slide.getAttribute("data-fiber-step")===stepName):-1}getNextStepName(currentStep){if(!currentStep)return null;if(currentStep===this.STEPS.USAGE&&this.state.usage===this.USAGE_TYPES.KONTORSHOTELL)return this.STEPS.OFFICE_HOTEL;const index=this.stepsOrder.indexOf(currentStep);if(-1===index)return null;const nextStep=this.stepsOrder[index+1];return nextStep===this.STEPS.OFFICE_HOTEL?this.stepsOrder[index+2]||null:nextStep||null}getPreviousStepName(currentStep){if(!currentStep)return null;if(currentStep===this.STEPS.OFFICE_HOTEL)return this.STEPS.USAGE;const index=this.stepsOrder.indexOf(currentStep);return-1===index?null:this.stepsOrder[index-1]||null}parseTpl(html,data){return html.replace(/\$\{([^}]+)\}/g,(_,rawKey)=>{const key=rawKey.trim();if(!key.includes(".")){const val=data[key];return null!=val?String(val):""}const parts=key.split(".");let current=data;for(let i=0;i<parts.length;i++){if(null==current)return"";current=current[parts[i]]}return null!=current?String(current):""})}async mount(){this.flkty=this.el.flickity||null,this.flkty||console.warn("FiberForm: el.flickity missing - is data-slideshow set on the [data-fiber] element?"),this.data=await this.getData(),this.data?(this.populateCompaniesSelect(),this.renderInternetUsageOptions(),this.bindDetailsChange(),this.bindStepNavigation(),this.flkty&&this.flkty.resize(),this.logState("mount")):console.warn("FiberForm: no data loaded")}async getData(){const url=`${this.excantoBaseUrl}/enet_pricelist`;try{const response=await fetch(url,{method:"GET",headers:{"Content-Type":"application/json"}});if(!response.ok)return console.error("FiberForm getData HTTP error:",response.status),null;const json=await response.json();return this.logDebug("serviceNow:pricelist:response",json),json}catch(error){return console.error("FiberForm getData error:",error),null}}async fetchClientIP(){try{const res=await fetch("https://api.ipify.org?format=json");if(!res.ok)return void(this.conf.clientIP=null);const data=await res.json();this.conf.clientIP=data&&data.ip?data.ip:null}catch(error){this.conf.clientIP=null}}logDebug(label,payload){this.debug&&console.log(`[FiberForm debug] ${label}`,payload)}logState(source){if(!this.debug)return;const snapshot=JSON.parse(JSON.stringify(this.state));console.log("[FiberForm state]",source,snapshot)}populateCompaniesSelect(){if(!this.companySelect)return void console.warn("FiberForm: no company select element found");const companies=this.data?.result?.companies;companies?(this.companySelect.innerHTML=`\n\t\t\t<option value="">${this.texts.companyPlaceholder}</option>\n\t\t\t${Object.entries(companies).map(([key,company])=>`\n\t\t\t\t<option value="${key}">\n\t\t\t\t\t${company.visningsnamn?.trim()||key}\n\t\t\t\t</option>\n\t\t\t`).join("")}\n\t\t`,this.companySelect.addEventListener("change",()=>{this.state.company=this.companySelect.value,this.logState("companyChange"),this.updateTableFromInputs()})):console.warn("FiberForm: no companies data found in API response")}renderInternetUsageOptions(){if(!this.usageContainer)return void console.warn("FiberForm: no usage container element found");const usage=this.data?.result?.internetanvandare;if(!usage)return void console.warn("FiberForm: no internet usage data found in API response");this.usageContainer.innerHTML=Object.entries(usage).map(([key,item],index)=>{const label=(item.visningsnamn||"").trim();let titleHTML=`<h3 class="h5">${label}</h3>`,usersHTML="",priceHTML="";if(label.includes("Gbit/s")){const parts=label.split(" - "),left=parts[0]||"",price=(parts[1]||"").trim(),speedSplit=left.split(" Gbit/s "),titleSpeedPart=speedSplit[0]||"",users=(speedSplit[1]||"").replace(" användare","").trim(),titleParts=titleSpeedPart.trim().split(/\s+/),baseTitle=titleParts[0]||"",speedValue=titleParts.slice(1).join(" ");baseTitle&&speedValue&&(titleHTML=`<h3 class="h5">${baseTitle}<br>${speedValue} Gbit/s</h3>`),users&&(usersHTML=`<p>Användare: <strong>${users}</strong></p>`),price&&(priceHTML=`<p><strong>${price}</strong></p>`)}return`\n\t\t\t\t<label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype="radio"\n\t\t\t\t\t\tname="fiber_internet_usage"\n\t\t\t\t\t\tvalue="${key}"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\t${0===index?"checked":""}\n\t\t\t\t\t>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t${titleHTML}\n\t\t\t\t\t\t${usersHTML}\n\t\t\t\t\t\t${priceHTML}\n\t\t\t\t\t</div>\n\t\t\t\t</label>\n\t\t\t`}).join("");this.usageContainer.querySelectorAll('input[type="radio"][name="fiber_internet_usage"]').forEach(radio=>{radio.checked&&(this.state.usage=radio.value,this.logState("usageInitial"),this.applyUsageSelection(radio.value)),radio.addEventListener("change",()=>{radio.checked&&(this.state.usage=radio.value,this.logState("usageChange"),this.applyUsageSelection(radio.value))})})}applyUsageSelection(usageId){const isKontorshotell=usageId===this.USAGE_TYPES.KONTORSHOTELL;isKontorshotell?(this.priceRowsContainer&&(this.priceRowsContainer.innerHTML=""),this.state.addons={},this.state.totalMonthly=0,this.state.totalOneTime=0,this.updateTableFromInputs()):this.renderAddonTable(usageId),this.toggleStepVisibility(this.addonSlide,!isKontorshotell),this.toggleStepVisibility(this.detailsSlide,!isKontorshotell),this.toggleStepVisibility(this.officeHotelSlide,isKontorshotell)}renderAddonTable(usageId){if(!this.priceRowsContainer)return void console.warn("FiberForm: no price rows container found");const tillagg=this.data?.result?.tillaggstjanster,extra=this.data?.result?.extraTjanster,usage=this.data?.result?.internetanvandare;if(!tillagg||!extra||!usage)return console.warn("FiberForm: missing add-on data in API response"),this.priceRowsContainer.innerHTML="",this.updateTableFromInputs(),void(this.flkty&&this.flkty.resize());let priceList=tillagg[`${usageId}
93_prislista`];if(this.priceRowsContainer.innerHTML="",!priceList)return this.updateTableFromInputs(),void(this.flkty&&this.flkty.resize());priceList={...priceList},priceList.eProduct&&delete priceList.eProduct,priceList.publikipadress=extra.publikipadress,priceList={eProduct:usage[usageId],...priceList},Object.entries(priceList).forEach(([key,item])=>{const row=this.createAddonRow(key,item);row&&this.priceRowsContainer.appendChild(row)}),this.updateTableFromInputs(),this.flkty&&this.flkty.resize()}createAddonRow(key,item){const initialQuantity=Number(item.antal??0),unitPrice=Number(item.manadspris??0),oneTimePrice=Number(item.engangspris??0),minQuantity=oneTimePrice>0?1:0,row=document.createElement("div");initialQuantity<=0&&(row.style.display="none");const textColumn=document.createElement("div"),titleEl=document.createElement("p");if(titleEl.textContent=item.visningsnamn||"",textColumn.appendChild(titleEl),this.popoverTemplateHtml&&item.beskrivning){const popoverId=`fiber-popover-${key}`,toggle=document.createElement("button");toggle.type="button",toggle.ariaLabel="Läs mer",toggle.setAttribute("popovertarget",popoverId);const html=this.parseTpl(this.popoverTemplateHtml,{id:popoverId,title:item.visningsnamn||"",body:item.beskrivning}),wrapper=document.createElement("div");wrapper.innerHTML=html;const popoverEl=wrapper.firstElementChild;textColumn.appendChild(toggle),popoverEl&&textColumn.appendChild(popoverEl)}row.appendChild(textColumn);const amountColumn=document.createElement("div"),input=document.createElement("input");if(input.type="number",input.min=minQuantity.toString(),input.name=`addons[${key}][quantity]`,input.fiberData={key:key,description:item.beskrivning||"",article:item.artikelnummer||"",unitPrice:unitPrice,oneTimePrice:oneTimePrice},0===unitPrice)input.value=(initialQuantity>0?initialQuantity:1).toString(),input.disabled=!0,amountColumn.appendChild(input);else{input.value=Math.max(minQuantity,initialQuantity).toString();const minus=document.createElement("button"),plus=document.createElement("button");minus.type="button",plus.type="button",minus.textContent="-",plus.textContent="+",amountColumn.appendChild(minus),amountColumn.appendChild(input),amountColumn.appendChild(plus);const update=value=>{const qty=Math.max(minQuantity,value);input.value=qty.toString(),this.updateTableFromInputs()};input.addEventListener("change",()=>{update(Number(input.value||0))}),minus.addEventListener("click",()=>{update(Number(input.value||0)-1)}),plus.addEventListener("click",()=>{update(Number(input.value||0)+1)})}row.appendChild(amountColumn);const priceColumn=document.createElement("div"),priceEl=document.createElement("strong");priceEl.setAttribute("data-fiber-row-total","true");const qtyForPrice=Number(input.value||0);return priceEl.textContent=(unitPrice*qtyForPrice).toString(),priceColumn.appendChild(priceEl),row.appendChild(priceColumn),row}updateTableFromInputs(){if(!this.priceRowsContainer)return this.state.addons={},this.state.totalMonthly=0,void(this.state.totalOneTime=0);const inputs=this.priceRowsContainer.querySelectorAll('input[type="number"]'),addons={};let totalMonthly=0,totalOneTime=0;inputs.forEach(input=>{const data=input.fiberData;if(!data)return;const quantity=Number(input.value||0),billableQuantity="publikipadress"===data.key?Math.max(0,quantity-1):quantity,monthlyTotal=data.unitPrice*billableQuantity;quantity>0&&data.oneTimePrice>0&&(totalOneTime+=data.oneTimePrice),addons[data.key]={description:data.description,article:data.article,unitPrice:data.unitPrice,oneTimePrice:data.oneTimePrice,quantity:quantity,monthlyTotal:monthlyTotal},totalMonthly+=monthlyTotal;const row=input.parentElement&&input.parentElement.parentElement;if(!row)return;const priceEl=row.querySelector("[data-fiber-row-total]");priceEl&&(priceEl.textContent=monthlyTotal.toString())}),this.state.company&&this.state.company.toLowerCase().includes("vasakronan")&&(totalOneTime=Math.max(0,totalOneTime-4800)),this.state.addons=addons,this.state.totalMonthly=totalMonthly,this.state.totalOneTime=totalOneTime,this.logState("addonsUpdate");const summaryText=this.texts.summary.replace("{monthly}",totalMonthly).replace("{onetime}",totalOneTime);
93this.totalSummaryElements.forEach(el=>{"STRONG"===el.tagName?el.textContent=summaryText:el.innerHTML=summaryText})}collectDetailsFromForms(){return this.detailsForm?Object.fromEntries(new FormData(this.detailsForm)):{}}bindDetailsChange(){if(!this.detailsForm)return;const update=()=>{this.state.details=this.collectDetailsFromForms(),this.logState("detailsChange")};this.detailsForm.addEventListener("input",()=>{this.hideError(),update()}),this.detailsForm.addEventListener("change",()=>{this.hideError(),update()}),update()}updateDetailsStateFromForms(){this.state.details=this.collectDetailsFromForms(),this.logState("detailsSubmitSync")}showError(message){this.errorElement&&(this.errorElement.textContent=message||this.texts.errorGeneric,this.errorElement.style.display="")}hideError(){this.errorElement&&(this.errorElement.style.display="none",this.errorElement.textContent="")}setSubmitting(form,isSubmitting){if(!form)return;const submitButton=form.querySelector('button[type="submit"], input[type="submit"]');submitButton&&(submitButton.disabled=isSubmitting,isSubmitting?submitButton.classList.add("is-loading"):submitButton.classList.remove("is-loading"))}async handleFinalSubmit(form){if(form.reportValidity()){this.updateDetailsStateFromForms(),this.hideError(),this.setSubmitting(form,!0),this.conf.clientIP||await this.fetchClientIP();try{await this.sendToExcanto(this.state)}catch(error){return console.error("FiberForm submit error:",error),this.showError(this.texts.errorGeneric),void this.setSubmitting(form,!1)}if(this.sendToHubspot(this.state).catch(err=>console.error("HubSpot submit error (non-blocking):",err)),this.setSubmitting(form,!1),this.flkty){const successIndex=this.getStepIndex(this.STEPS.SUCCESS);-1!==successIndex?this.flkty.select(successIndex,!0,!0):this.flkty.select(this.slides.length-1,!0,!0),this.flkty.resize()}}}async sendToHubspot(state){const hubId=this.conf.hubspotHubId,formId=this.conf.hubspotFormId;if(!hubId||!formId)throw new Error("HubSpot config missing (hubspotHubId / hubspotFormId)");const details=state.details||{},fields=Object.keys(details).map(key=>({name:key,value:details[key]})),antalanvandare=this.data?.result?.internetanvandare?.[state.usage]?.visningsnamn||"";antalanvandare&&fields.push({name:"antalanvandare",value:antalanvandare});const context={pageUri:location.href.replace(location.search,""),pageName:document.title};if(this.conf.clientIP&&(context.ipAddress=this.conf.clientIP),"function"==typeof getCookie){const hutk=getCookie("hubspotutk");hutk&&(context.hutk=hutk)}const payload={submittedAt:Date.now().toString(),fields:fields,context:context},url=`https://api.hsforms.com/submissions/v3/integration/submit/${hubId}/${formId}`;let response;this.logDebug("hubspot:request",{url:url,payload:payload});try{response=await fetch(url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)})}catch(error){throw console.error("FiberForm HubSpot network error:",error),new Error("HubSpot network error")}let json=null;try{json=await response.json()}catch(e){}if(json&&Array.isArray(json.errors)&&json.errors.length)throw json.errors.forEach(err=>console.log("HubSpot error:",err.message)),this.logDebug("hubspot:response:error",{status:response.status,body:json}),new Error("HubSpot request failed");if(!response.ok)throw this.logDebug("hubspot:response:httpError",{status:response.status,body:json}),new Error(`HubSpot HTTP error: ${response.status}`);return this.logDebug("hubspot:response:success",{status:response.status,body:json}),json}buildExcantoPayload(state){const details=state.details||{},termsLinkEl=document.getElementById("termsconditionslink"),termsLinkHref=termsLinkEl&&termsLinkEl.getAttribute("href")||"",isChecked=val=>("on"===val||"true"===val||!0===val).toString(),payload={company:state.company||"",fretagsnamn:details.company||"",organisationsnummer:details.organisationsnummer||"",adress:details.delivery_address||"",postnummer:details.zip||"",ort:details.city||"",frnamn:details.firstname||"",efternamn:details.lastname||"",telefonnummer:details.phone||"",epost:details.email||"",fakturer
93ingsadress:details.physical_invoicing_address__street||"",faktureringspostnummer:details.physical_invoicing_address__postal_code||"",faktureringsort:details.physical_invoicing_address__city||"",villkor:isChecked(details.fiber_order_terms_conditions),gdpr:isChecked(details["LEGAL_CONSENT.subscription_type_135936309"]),fiber_form_terms_and_conditions_link:termsLinkHref,ordertyp:"eNet",kontorshotell:"false",nskatstartdatum:details.nskatstartdatum||"",antalanvandare:this.data?.result?.internetanvandare?.[state.usage]?.visningsnamn||"",totalmanadspris:state.totalMonthly.toString(),totalengangspris:state.totalOneTime.toString(),eposttillekonomi:details.eposttillekonomi||"",referenceid:details.invoicing_reference||"",epostfaktura:details.invoicing_email||"",expressleverans:"",pappersfaktura:"",kommentar:details.comment||"",ip:this.conf.clientIP||""};let index=0;return Object.values(state.addons||{}).forEach(addon=>{payload[`a${index}_0`]=addon.description||"",payload[`a${index}_1`]=(addon.article||"").toString(),payload[`a${index}_2`]=addon.monthlyTotal.toString(),payload[`a${index}_3`]=addon.quantity.toString(),index+=1}),payload}async sendToExcanto(state){const payload=this.buildExcantoPayload(state),url=`${this.excantoBaseUrl}/enet_order`;let response;this.logState("beforeExcanto"),this.logDebug("excanto:request",{url:url,payload:payload});try{response=await fetch(url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)})}catch(error){throw console.error("FiberForm Excanto network error:",error),new Error("Excanto network error")}let json=null;try{json=await response.json()}catch(e){}if(json&&Array.isArray(json.errors)&&json.errors.length)throw json.errors.forEach(err=>console.log("Excanto error:",err.message)),this.logDebug("excanto:response:error",{status:response.status,body:json}),new Error("Excanto request failed");if(!response.ok)throw this.logDebug("excanto:response:httpError",{status:response.status,body:json}),new Error(`Excanto HTTP error: ${response.status}`);return this.logDebug("excanto:response:success",{status:response.status,body:json}),json||{ok:response.ok}}applyChromeFix(form){const submitBtn=form.querySelector('button[type="submit"]');submitBtn&&submitBtn.addEventListener("click",e=>{if(!form.checkValidity()){e.preventDefault();const sb=getComputedStyle(document.documentElement).getPropertyValue("scroll-behavior");document.documentElement.style.scrollBehavior="auto",form.reportValidity(),document.documentElement.style.scrollBehavior=sb}})}bindStepNavigation(){this.stepForms.forEach(form=>{this.applyChromeFix(form),form.addEventListener("submit",async event=>{event.preventDefault();const slide=form.closest("[data-fiber-step]"),stepName=slide?slide.getAttribute("data-fiber-step"):"";if(stepName===this.STEPS.DETAILS)await this.handleFinalSubmit(form);else if(form.reportValidity()&&this.flkty){const currentIndex=this.flkty.selectedIndex,currentSlide=this.slides[currentIndex],currentStepName=currentSlide?currentSlide.getAttribute("data-fiber-step"):stepName,nextStepName=this.getNextStepName(currentStepName);let targetIndex=currentIndex+1;if(nextStepName){const stepIndex=this.getStepIndex(nextStepName);-1!==stepIndex&&(targetIndex=stepIndex)}this.flkty.select(targetIndex,!0,!0),this.flkty.resize(),this.el.scrollIntoView({behavior:"smooth"})}})}),this.backButtons.forEach(btn=>{btn.addEventListener("click",event=>{if(event.preventDefault(),!this.flkty)return;const currentIndex=this.flkty.selectedIndex,currentSlide=this.slides[currentIndex],stepName=currentSlide?currentSlide.getAttribute("data-fiber-step"):"",previousStepName=this.getPreviousStepName(stepName);let targetIndex=currentIndex-1;if(previousStepName){const stepIndex=this.getStepIndex(previousStepName);-1!==stepIndex&&(targetIndex=stepIndex)}targetIndex<0&&(targetIndex=0),this.flkty.select(targetIndex,!0,!0),this.flkty.resize(),this.el.scrollIntoView({behavior:"smooth"})})})}toggleStepVisibility(slideEl,show){slideEl&&(slideEl.style.display=show?"":"none",this.flkty&&this.flkty.resize())}}},
93"./src/js/inc/form-submit-text.js": 94/*!****************************************!*\ 95 !*** ./src/js/inc/form-submit-text.js ***! 96 \****************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>FormSubmitText});class FormSubmitText{constructor(el){this.el=el,this.text=el.dataset.formSubmitText}mount(){this.apply(),this.observer=new MutationObserver(()=>this.apply()),this.observer.observe(this.el,{childList:!0,subtree:!0})}apply(){const button=this.el.querySelector('form :is(button, input)[type="submit"]');button&&("INPUT"===button.tagName?button.value!==this.text&&(button.value=this.text):button.textContent.trim()!==this.text&&(button.textContent=this.text))}}},
96"./src/js/inc/lang.js": 97/*!****************************!*\ 98 !*** ./src/js/inc/lang.js ***! 99 \****************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{_:()=>_});const translations=document.getElementById("translations");function _(string){if(translations){var data=!1;try{data=JSON.parse(document.getElementById("translations").textContent)}catch{data=!1}return data&&data[string]?data[string]:string}return string}},
99"./src/js/inc/slideshow.js": 100/*!*********************************!*\ 101 !*** ./src/js/inc/slideshow.js ***! 102 \*********************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>Slideshow});var flickity_fade__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! flickity-fade */"./node_modules/flickity-fade/flickity-fade.js"),flickity_fade__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(flickity_fade__WEBPACK_IMPORTED_MODULE_0__);class Slideshow{constructor(el,conf={}){this.el=el,this.config=Object.assign({wrapAround:!0,cellAlign:"left"},conf)}mount(){if(void 0===flickity_fade__WEBPACK_IMPORTED_MODULE_0___default())return;const resize=flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().prototype.resize;flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().prototype.resize=function(){this.element.classList.add("flickity-resize"),resize.call(this),this.element.classList.remove("flickity-resize")};const next=flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().prototype.next;flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().prototype.next=function(isWrap,isInstant){next.call(this,isWrap,isInstant),this.selectedIndex===this._padIndex&&next.call(this,isWrap,isInstant)};const previous=flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().prototype.previous;flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().prototype.previous=function(isWrap,isInstant){previous.call(this,isWrap,isInstant),this.selectedIndex===this._padIndex&&previous.call(this,isWrap,isInstant)},flickity_fade__WEBPACK_IMPORTED_MODULE_0___default().PrevNextButton.prototype.createSVG=()=>"","slideshowResponsiveAdaptiveHeight"in this.el.dataset&&(this.mediaQuery=window.matchMedia("(min-width: 768px)"),this.mediaQuery.addEventListener("change",()=>this.createFlickity())),this.createFlickity()}createFlickity(){this.el.flickity?.destroy(),this.resizeObserver?.disconnect(),this.padCellsForWrap();const config={...this.config};this.mediaQuery&&(config.adaptiveHeight=!this.mediaQuery.matches),this.el.flickity=new(flickity_fade__WEBPACK_IMPORTED_MODULE_0___default())(this.el,config),this.el.flickity.cells?.length?this.onFlickityReady():this.el.flickity.on("ready",()=>this.onFlickityReady())}onFlickityReady(){const cells=this.el.flickity?.cells;Array.isArray(cells)&&cells.length&&(this.el.querySelector("[data-slideshow-pad]")&&(this.el.flickity._padIndex=cells.length-1,this.el.flickity.pageDots?.dots?.at(-1)?.remove()),this.resizeObserver=new ResizeObserver(()=>{this.el.flickity.resize()}),cells.forEach(cell=>this.resizeObserver.observe(cell.element)),this.el.dataset.slideshowTitles&&this.initSlideTitles(cells))}getCellElements(){const selector=this.config.cellSelector;return selector?Array.from(this.el.querySelectorAll(selector)):Array.from(this.el.children)}padCellsForWrap(){if(!this.config.wrapAround)return;const cells=this.getCellElements();if(cells.some(cell=>cell.hasAttribute("data-slideshow-pad")))return;if(2!==cells.length)return;const clone=cells[cells.length-1].cloneNode(!0);clone.setAttribute("data-slideshow-pad",""),clone.removeAttribute("id"),clone.querySelectorAll("[id]").forEach(el=>el.removeAttribute("id")),cells[cells.length-1].after(clone)}initSlideTitles(cells){const prevButton=this.el.querySelector(".flickity-prev-next-button.previous"),nextButton=this.el.querySelector(".flickity-prev-next-button.next");if(!prevButton||!nextButton)return;const updateSlideTitles=index=>{const total=cells.length;if(!total)return;const prevIndex=(index-1+total)%total,nextIndex=(index+1)%total,prevTitle=cells[prevIndex]?.element?.dataset?.title??"",nextTitle=cells[nextIndex]?.element?.dataset?.title??"";prevButton.style.setProperty("--prev-title",`'${prevTitle}'`),nextButton.style.setProperty("--next-title",`'${nextTitle}'`)};updateSlideTitles(this.el.flickity.selectedIndex),this.el.flickity.on("change",updateSlideTitles)}}},
102"./src/js/inc/video-embed.js": 103/*!***********************************!*\ 104 !*** ./src/js/inc/video-embed.js ***! 105 \***********************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>VideoEmbed});class VideoEmbed{constructor(el,data,config){this.el=el,this.data=data,this.config=Object.assign({api:!0,buildHTML:!0},config),this.ytPlayStates={"??":"unknown","-1":"unstarted",0:"ended",1:"playing",2:"paused",3:"buffering",5:"video-cued"},this.readyEvent=new CustomEvent("sleek-ui/video-embed/ready",{bubbles:!0})}mount(){if(this.config.buildHTML?this.buildHTML():this.wrapEl=this.el,this.config.api)if(this.el.dataset.src&&this.el.setAttribute("src",this.el.dataset.src),"YouTube"===this.data.provider_name){let src=this.el.getAttribute("src");if(-1===src.indexOf("enablejsapi=1")&&(-1===src.indexOf("?")?src+="?enablejsapi=1":src+="&enablejsapi=1",this.el.setAttribute("src",src)),"YT"in window)this.initYouTube();else{const old=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{old&&old(),this.initYouTube()},this.addScript("https://www.youtube.com/iframe_api")}}else"Vimeo"===this.data.provider_name&&this.addVimeoScript("https://player.vimeo.com/api/player.js").then(()=>this.initVimeo());else this.toggleSrc(),this.el.dispatchEvent(this.readyEvent)}buildHTML(){let videoEl;this.wrapEl=this.el.parentNode,this.wrapEl.classList.add("video-embed","video-embed--"+this.data.provider_name),this.thumbnailEl=document.createElement("div"),this.thumbnailEl.classList.add("thumbnail"),this.thumbnailEl.appendChild(this.buildThumbnailHTML()),this.data.title&&this.el.setAttribute("title",this.data.title),videoEl=document.createElement("div"),videoEl.classList.add("video"),videoEl.appendChild(this.el),this.wrapEl.appendChild(videoEl),this.wrapEl.appendChild(this.thumbnailEl),this.data.title&&this.wrapEl.appendChild(void 0)}buildThumbnailHTML(){const thumbSrc=this.data.thumbnail_url||"https://placehold.it/800x600?text=N/A",ext=thumbSrc.split(".").pop().toLowerCase();if(["mp4","webm","ogg","ogv"].includes(ext)){const video=document.createElement("video");return video.loading="lazy",video.src=thumbSrc,video.autoplay=!0,video.muted=!0,video.loop=!0,video.playsInline=!0,video}{const img=document.createElement("img");return img.setAttribute("loading","lazy"),img.src=thumbSrc,img}}initYouTube(){this.ytPlayer=new YT.Player(this.el,{events:{onReady:e=>{this.el.dispatchEvent(this.readyEvent),this.wrapEl.classList.add("video-embed--state-"+(this.ytPlayStates[e.data]||"unknown"))},onStateChange:e=>{for(var[key,value]of Object.entries(this.ytPlayStates))this.wrapEl.classList.remove("video-embed--state-"+value);this.wrapEl.classList.add("video-embed--state-"+(this.ytPlayStates[e.data]||"unknown"))}}}),this.thumbnailEl&&this.thumbnailEl.addEventListener("click",e=>{this.play()})}initVimeo(){this.vimeoPlayer=new Vimeo.Player(this.el),this.vimeoPlayer.ready().then(()=>this.el.dispatchEvent(this.readyEvent)),this.vimeoPlayer.on("play",()=>{this.wrapEl.classList.add("video-embed--state-playing")}),this.vimeoPlayer.on("ended",()=>{this.wrapEl.classList.remove("video-embed--state-playing")}),this.vimeoPlayer.on("pause",()=>{this.wrapEl.classList.remove("video-embed--state-playing")}),this.thumbnailEl&&this.thumbnailEl.addEventListener("click",e=>{this.play()})}play(){this.vimeoPlayer?this.vimeoPlayer.play():this.ytPlayer&&this.ytPlayer.playVideo()}pause(){this.vimeoPlayer?this.vimeoPlayer.pause():this.ytPlayer&&this.ytPlayer.pauseVideo()}addScript(src){return new Promise((resolve,reject)=>{const existingScript=document.querySelector('script[src="'+src+'"]');if(existingScript)resolve(existingScript);else{const script=document.createElement("script");script.src=src,document.body.appendChild(script),script.addEventListener("load",()=>resolve(script))}})}addVimeoScript(src){return new Promise((resolve,reject)=>{const existingScript=document.querySelector('script[src="'+src+'"]');if(existingScript)"undefined"==typeof Vimeo?existingScript.addEventListener("load",()=>resolve(existingScript)):resolve(existingScript);else{const script=document.createElement("script");script.src=src,document.body.appendChild(script),script.addEventListener("load",()=>resolve(script))}})}toggleSrc(){const src=this.el.dataset.src||this.el.getAttribute("src");this.el.removeAttribute("src"),this.thumbnailEl&&this.thumbnailEl.addEventListener("click",e=>{this.el.setAttribute("src",src+"&autoplay=true"),this.wrapEl.classList.add("video-embed--state-playing")})}}},
105"./src/js/lottie.js": 106/*!**************************!*\ 107 !*** ./src/js/lottie.js ***! 108 \**************************/()=>{const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){observer.unobserve(entry.target);let data={};try{data=JSON.parse(entry.target.dataset.lottie)}catch{data={}}import("https://cdn.jsdelivr.net/npm/@lottiefiles/dotlottie-web/+esm").then(({DotLottie:DotLottie})=>{let dotLottie=new DotLottie({canvas:entry.target,renderConfig:{autoResize:!0},...data});dotLottie.addEventListener("load",()=>{const animationSize=dotLottie.animationSize();entry.target.style.aspectRatio=`${animationSize.width} / ${animationSize.height}`,dotLottie.resize()}),entry.target.dotLottie=dotLottie}).catch(error=>console.error("Error loading DotLottie:",error))}})},{rootMargin:"0% 0% 25% 0%"});document.querySelectorAll("[data-lottie]").forEach(el=>{observer.observe(el)})},
108"./src/js/mobile-menu.js": 109/*!*******************************!*\ 110 !*** ./src/js/mobile-menu.js ***! 111 \*******************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);var _inc_lang_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./inc/lang.js */"./src/js/inc/lang.js");document.querySelectorAll("#site-header").forEach(wrap=>{const backText=(0,_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Back"),burger=wrap.querySelector("a.menu-toggle"),menu=wrap.querySelector("nav"),dds=menu.querySelectorAll("li.dropdown");burger.addEventListener("click",e=>{e.preventDefault(),wrap.classList.toggle("menu-open"),wrap.style.setProperty("--menu-open-deep",0)}),menu.querySelectorAll('a[href*="#"]').forEach(ipl=>{ipl.addEventListener("click",()=>{wrap.classList.remove("menu-open"),wrap.style.setProperty("--menu-open-deep",0)})}),dds.forEach(dd=>{const ddLink=dd.querySelector("a"),subMenu=dd.querySelector("ul");if(ddLink.href){const dupeLi=document.createElement("li"),dupeLink=document.createElement("a");dupeLi.className="dupe",dupeLink.innerHTML=ddLink.innerHTML,dupeLink.href=ddLink.href,dupeLi.append(dupeLink),subMenu.prepend(dupeLi)}const backLi=document.createElement("li"),backLink=document.createElement("a");backLi.className="back",backLink.innerHTML=backText,backLink.role="button",backLi.append(backLink),subMenu.prepend(backLi),ddLink.addEventListener("click",e=>{if(window.matchMedia("(max-width: 1079px)").matches){e.preventDefault(),dd.classList.add("open");const depth=parseInt(getComputedStyle(wrap).getPropertyValue("--menu-open-deep"));wrap.style.setProperty("--menu-open-deep",depth+1)}}),backLink.addEventListener("click",e=>{e.preventDefault(),dd.classList.remove("open");const depth=parseInt(getComputedStyle(wrap).getPropertyValue("--menu-open-deep"));wrap.style.setProperty("--menu-open-deep",depth-1)})})})},
111"./src/js/video.js": 112/*!*************************!*\ 113 !*** ./src/js/video.js ***! 114 \*************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);var _inc_video_embed__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./inc/video-embed */"./src/js/inc/video-embed.js");const videoObserver=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){videoObserver.unobserve(entry.target);let data={};try{data=JSON.parse(entry.target.dataset.oembed)}catch{data={}}entry.target.dataset.oembedThumbnail&&(data.thumbnail_url=entry.target.dataset.oembedThumbnail),data&&data.provider_name&&("YouTube"===data.provider_name||"Vimeo"===data.provider_name)&&(entry.target.sleekVideoEmbed=new _inc_video_embed__WEBPACK_IMPORTED_MODULE_0__.default(entry.target,data,{api:!1}),entry.target.sleekVideoEmbed.mount())}})},{threshold:.25});document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll("[data-oembed]").forEach(el=>{videoObserver.observe(el)})}),document.addEventListener("DOMContentLoaded",()=>{var lazyVideoObserver=new IntersectionObserver(entries=>{entries.forEach(video=>{video.isIntersecting&&0===video.target.src.length&&(video.target.src=video.target.dataset.src,lazyVideoObserver.unobserve(video.target),video.target.load())})});document.querySelectorAll("video[data-src]").forEach(lazyVideo=>{lazyVideoObserver.observe(lazyVideo)})})},
114"./src/modules/search-results.module/script.js": 115/*!*****************************************************!*\ 116 !*** ./src/modules/search-results.module/script.js ***! 117 \*****************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);var _js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../js/inc/lang.js */"./src/js/inc/lang.js");class SearchResults{constructor(el){this.el=el,this.listEl=this.el.querySelector("[data-search-results-list]"),this.paginationEl=this.el.querySelector("[data-search-results-pagination]"),this.listItemTpl=document.getElementById("template-search-results-item").innerHTML,this.paginationTpl=document.getElementById("template-search-results-pagination").innerHTML,this.nothingFoundTpl=document.getElementById("template-search-results-nothing-found").innerHTML;try{this.tags=JSON.parse(this.el.dataset.searchResultsTags)}catch{this.tags=null}const validParams=["term","offset","pathPrefix"],urlParam
117s=new URLSearchParams(window.location.search);for(const key of urlParams)-1===validParams.indexOf(key)&&urlParams.delete(key);this.params=Object.fromEntries(urlParams)}parseTpl(html,data){return html.replace(/\$\{([^}]+)\}/g,(_,key)=>{const val=data[key];return void 0!==val?val:""})}async mount(){const results=await this.fetchResults(this.params)||{total:0,offset:0,limit:10,results:[]};this.updateResults(results),this.updatePagination(results)}processResult(res){const url=new URL(res.url),path=url.pathname,decodedPath=decodeURIComponent(path);if(res.path=url.pathname,path.startsWith("/kundereferanser/")||path.startsWith("/kundecase/")||path.startsWith("/kundcase/")||path.startsWith("/ajankohtaista/asiakastarinat/"))res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Customer cases");else if(path.startsWith("/kunnskap/artikler/"))res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Articles");else if(path.startsWith("/om-oss/aktuelt/")||path.startsWith("/nyhetsrum/"))res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("News");else if(path.startsWith("/techstudion")||decodedPath.includes("podcast"))res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Podcast");else if(decodedPath.includes("/ordförrådet")||decodedPath.includes("/it-ordboka")||decodedPath.includes("/it-ordbog"))res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Dictionary");else if(decodedPath.includes("webinar")||path.startsWith("/kunnskap/webinarer-arrangementer/")||decodedPath.includes("webinaarin")||decodedPath.includes("tallenne")||decodedPath.includes("event"))res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Webinar & Event");else switch(res.type){case"BLOG_POST":res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Blog post");break;case"LISTING_PAGE":res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Blog");break;default:res.pathTag=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)("Page")}const tmpEl=document.createElement("div");tmpEl.innerHTML=res.description||"",res.description=tmpEl.innerText,tmpEl.innerHTML=res.title||"",res.title=tmpEl.innerText,res.description=res.description.substring(0,350).replace(/\.*$/,"")+"..."}async fetchRaw(prms){const params={limit:10,analytics:!1,...prms},urlParams=new URLSearchParams(params);["SITE_PAGE","LANDING_PAGE","BLOG_POST","LISTING_PAGE"].forEach(type=>urlParams.append("type",type));const endpoint="/_hcms/search?"+urlParams.toString(),response=await fetch(endpoint);return!!response.ok&&response.json()}narrowPathPrefix(path){if(!path||path.length<=30)return path||"";const segments=path.split("/").filter(Boolean);let prefix="";for(const segment of segments){const next=`${prefix}/${segment}/`;if(next.length>30)break;prefix=next}return prefix}async fetchFilteredResults(prms,fullPathPrefix){const desiredOffset=Number(prms.offset)||0,desiredLimit=Number(prms.limit)||10,apiPathPrefix=this.narrowPathPrefix(fullPathPrefix);let hubspotOffset=0,hubspotTotal=1/0;const matches=[];for(;hubspotOffset<hubspotTotal&&hubspotOffset<1e3;){const batchParams={...prms,offset:hubspotOffset,limit:100};delete batchParams.pathPrefix,apiPathPrefix&&(batchParams.pathPrefix=apiPathPrefix);const batch=await this.fetchRaw(batchParams);if(!batch)break;if(hubspotTotal=batch.total,batch.results.forEach(res=>{decodeURIComponent(new URL(res.url).pathname).startsWith(fullPathPrefix)&&matches.push(res)}),hubspotOffset+=batch.results.length,0===batch.results.length)break}return matches.forEach(res=>this.processResult(res)),{total:matches.length,offset:desiredOffset,limit:desiredLimit,results:matches.slice(desiredOffset,desiredOffset+desiredLimit)}}async fetchResults(prms){const fullPathPrefix=prms.pathPrefix||"";if(fullPathPrefix.length>30)return this.fetchFilteredResults(prms,fullPathPrefix);const results=await this.fetchRaw(prms);return!!results&&(results.results.forEach(res=>this.processResult(res)),results)}updateResults(results){if(document.querySelectorAll("[data-num-total-search-results]").forEach(el=>el.innerHTML=results.total),results.results.length){let html="";
117results.results.forEach(res=>{html+=this.parseTpl(this.listItemTpl,res)}),this.listEl.innerHTML=html}else this.el.classList.add("no-results"),this.listEl.innerHTML=this.parseTpl(this.nothingFoundTpl,results)}updatePagination(results){if(results.results.length>0){const numPages=Math.ceil(results.total/results.limit),lastPageOffset=numPages*results.limit-results.limit,data={prevQry:"",nextQry:"",pages:""},prevOffset=Math.max(results.offset-results.limit,0),prevUrlParams=new URLSearchParams(window.location.search);prevUrlParams.set("offset",prevOffset),data.prevQry=prevUrlParams.toString(),0===results.offset?data.prevState="disabled":data.prevState="enabled";const nextOffset=Math.min(results.offset+results.limit,lastPageOffset),nextUrlParams=new URLSearchParams(window.location.search);nextUrlParams.set("offset",nextOffset),data.nextQry=nextUrlParams.toString(),results.offset===lastPageOffset?data.nextState="disabled":data.nextState="enabled";let pages=document.createElement("div"),i=0;for(i=0;i<numPages;i++){let page=document.createElement("a"),pageOffset=i*results.limit,pageUrlParams=new URLSearchParams(window.location.search);pageUrlParams.set("offset",pageOffset),page.setAttribute("href","?"+pageUrlParams.toString()),page.innerText=i+1,results.offset==pageOffset&&page.classList.add("active"),pages.appendChild(page)}i>1&&(data.pages=pages.innerHTML),this.paginationEl.innerHTML=this.parseTpl(this.paginationTpl,data)}else this.paginationEl.innerHTML=""}}document.querySelectorAll("#search-results").forEach(el=>{new SearchResults(el).mount().then(()=>{const rawTerm=new URLSearchParams(window.location.search).get("term");if(rawTerm){const tmp=document.createElement("div");tmp.textContent=rawTerm;const term=tmp.textContent,clientTemplate=(0,_js_inc_lang_js__WEBPACK_IMPORTED_MODULE_0__._)('Search results for "%s"'),serverTemplate=el.dataset.titleTemplate||"",template=clientTemplate||serverTemplate||'Search results for "%s"';document.title=template.replace("%s",term)}})})},
117"./src/sass/app.scss": 118/*!***************************!*\ 119 !*** ./src/sass/app.scss ***! 120 \***************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__)},
vendor: 3,097 bytes, lines 120-123
120"./node_modules/sleek-ui/src/js/dialog.js": 121/*!************************************************!*\ 122 !*** ./node_modules/sleek-ui/src/js/dialog.js ***! 123 \************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DialogTrigger:()=>DialogTrigger,default:()=>Dialog});class DialogTrigger{constructor(el,conf){this.el=el,this.config=Object.assign({target:this.el.getAttribute("href")?document.getElementById(this.el.getAttribute("href").substr(1)):null,templateDialog:null,preventDefault:!0},conf),this.openEvent=new CustomEvent("sleek-ui/dialog/trigger-open",{bubbles:!0,detail:{dialog:this.config.target,data:this.el.dataset.dialogData||null}})}mount(){this.config.target&&this.el.addEventListener("click",e=>{this.config.preventDefault&&e.preventDefault(),this.el.dispatchEvent(this.openEvent),"script"===this.config.target.nodeName.toLowerCase()||"template"===this.config.target.nodeName.toLowerCase()?this.config.templateDialog?(this.config.templateDialog.className="dialog dialog--no-transition "+this.config.target.className,this.config.templateDialog.innerHTML=this.config.target.innerHTML+'<a class="dialog-close-button" role="button">×</a>',setTimeout(()=>{this.config.templateDialog.classList.remove("dialog--no-transition"),this.config.templateDialog.sleekDialog.open()},50)):console.error("DialogTrigger points to a script or template but no template dialog element is specified"):this.config.target.sleekDialog.open()})}}class Dialog{constructor(el,conf){this.el=el,this.config=Object.assign({},conf),this.openEvent=new CustomEvent("sleek-ui/dialog/open",{bubbles:!0,detail:{dialog:this.el}}),this.closeEvent=new CustomEvent("sleek-ui/dialog/close",{bubbles:!0,detail:{dialog:this.el}})}mount(){this.el.sleekDialog={open:()=>{document.documentElement.classList.add("dialog-open"),document.documentElement.classList.add("dialog-open--"+this.el.id),this.el.classList.add("open"),this.el.dispatchEvent(this.openEvent)},close:()=>{document.documentElement.classList.remove("dialog-open"),document.documentElement.classList.remove("dialog-open--"+this.el.id),this.el.classList.remove("open"),this.el.dispatchEvent(this.closeEvent)},isOpen:()=>this.el.classList.contains("open"),isClosed:()=>!this.el.classList.contains("open"),getStatus:()=>this.el.classList.contains("open")?"open":"close"};var backdrop=document.createElement("div");backdrop.classList.add("dialog-backdrop"),this.el.parentNode.insertBefore(backdrop,this.el.nextSibling),backdrop.addEventListener("click",e=>{e.target===backdrop&&this.el.sleekDialog.close()});var close=document.createElement("a");close.innerHTML="×",close.classList.add("dialog-close-button"),close.setAttribute("role","button"),this.el.appendChild(close),this.el.addEventListener("click",e=>{e.target.classList.contains("dialog-close-button")&&(e.preventDefault(),this.el.sleekDialog.close())}),document.addEventListener("keydown",e=>{27===e.keyCode&&this.el.sleekDialog.close()})}}},
vendor: 2,078 bytes, lines 123-126
123"./node_modules/sleek-ui/src/js/scroll-stats.js": 124/*!******************************************************!*\ 125 !*** ./node_modules/sleek-ui/src/js/scroll-stats.js ***! 126 \******************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>ScrollStats});class ScrollStats{constructor(conf){this.config=Object.assign({classEl:document.documentElement,farThreshold:100},conf),this.lastScrollTop=0,this.lastScrollTopNS=0}mount(){this.setScrollStats(),window.addEventListener("scroll",e=>{this.setScrollStats()},{passive:!0})}setScrollStats(){const st=Math.max(document.documentElement.scrollTop||document.body.scrollTop,0),sh=document.documentElement.scrollHeight;Math.abs(this.lastScrollTopNS-st)>0&&(st>this.lastScrollTopNS?(this.config.classEl.classList.remove("scrolling-up","scrolling-up-far"),this.config.classEl.classList.add("scrolling-down","has-scrolled-down")):(this.config.classEl.classList.remove("scrolling-down","scrolling-down-far"),this.config.classEl.classList.add("scrolling-up","has-scrolled-up")),this.lastScrollTopNS=st),Math.abs(this.lastScrollTop-st)>this.config.farThreshold&&(st>this.lastScrollTop?(this.config.classEl.classList.remove("scrolling-up-far"),this.config.classEl.classList.add("scrolling-down-far","has-scrolled-down-far")):(this.config.classEl.classList.remove("scrolling-down-far"),this.config.classEl.classList.add("scrolling-up-far","has-scrolled-up-far")),this.lastScrollTop=st),st>sh/2?this.config.classEl.classList.add("scrolling-down-halfway"):this.config.classEl.classList.remove("scrolling-down-halfway"),st?(this.config.classEl.classList.add("has-scrolled"),this.config.classEl.classList.remove("at-top")):(this.config.classEl.classList.add("at-top"),this.config.classEl.classList.remove("has-scrolled","scrolling-down","has-scrolled-down","scrolling-down-far","has-scrolled-down-far","scrolling-up","has-scrolled-up","scrolling-up-far","has-scrolled-up-far"))}}},
vendor: 855 bytes, lines 126-129
126"./node_modules/sleek-ui/src/js/submit-onchange.js": 127/*!*********************************************************!*\ 128 !*** ./node_modules/sleek-ui/src/js/submit-onchange.js ***! 129 \*********************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>SubmitOnchange});class SubmitOnchange{constructor(form,conf){this.form=form,this.timeout=null,this.config=Object.assign({throttle:0},conf)}mount(){this.form.addEventListener("change",e=>{this.config.throttle?(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.submit()},this.config.throttle)):this.submit()})}submit(){this.form.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0})),this.form.submit()}}},
vendor: 1,545 bytes, lines 129-132
129"./node_modules/sleek-ui/src/js/toggle-hash.js": 130/*!*****************************************************!*\ 131 !*** ./node_modules/sleek-ui/src/js/toggle-hash.js ***! 132 \*****************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>ToggleHash});class ToggleHash{constructor(el,conf){this.el=el,this.config=Object.assign({hash:this.el.getAttribute("href"),defaultText:this.el.innerText,toggleText:this.el.innerText},conf)}mount(){this.config.hash===window.location.hash&&this.onAdd(),this.el.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.toggleHash()})}toggleHash(){if(this.config.hash===window.location.hash){const st=window.pageYOffset;window.location.hash="#",window.scrollTo({top:st}),"replaceState"in window.history&&window.history.replaceState("",document.title,window.location.pathname+window.location.search),this.onRemove()}else{const st=window.pageYOffset;window.location.hash=this.config.hash,window.scrollTo({top:st}),this.onAdd()}}onAdd(){this.config.defaultText!==this.config.toggleText&&(this.el.innerText=this.config.toggleText),document.documentElement.classList.add("hash-active","hash-active-"+this.config.hash.substr(1))}onRemove(){this.config.defaultText!==this.config.toggleText&&(this.el.innerText=this.config.defaultText),document.documentElement.classList.remove("hash-active","hash-active-"+this.config.hash.substr(1))}}},
vendor: 5,077 bytes, lines 132-141
132"./node_modules/unidragger/unidragger.js": 133/*!***********************************************!*\ 134 !*** ./node_modules/unidragger/unidragger.js ***! 135 \***********************************************/function(module,__unused_webpack_exports,__webpack_require__){ 136/*! 137 * Unidragger v3.0.1 138 * Draggable base class 139 * MIT license 140 */ 141!function(window,factory){module.exports?module.exports=factory(window,__webpack_require__(/*! ev-emitter */"./node_modules/ev-emitter/ev-emitter.js")):window.Unidragger=factory(window,window.EvEmitter)}("undefined"!=typeof window?window:this,function(window,EvEmitter){function Unidragger(){}let startEvent,activeEvents,proto=Unidragger.prototype=Object.create(EvEmitter.prototype);proto.handleEvent=function(event){let method="on"+event.type;this[method]&&this[method](event)},"ontouchstart"in window?(startEvent="touchstart",activeEvents=["touchmove","touchend","touchcancel"]):window.PointerEvent?(startEvent="pointerdown",activeEvents=["pointermove","pointerup","pointercancel"]):(startEvent="mousedown",activeEvents=["mousemove","mouseup"]),proto.touchActionValue="none",proto.bindHandles=function(){this._bindHandles("addEventListener",this.touchActionValue)},proto.unbindHandles=function(){this._bindHandles("removeEventListener","")},proto._bindHandles=function(bindMethod,touchAction){this.handles.forEach(handle=>{handle[bindMethod](startEvent,this),handle[bindMethod]("click",this),window.PointerEvent&&(handle.style.touchAction=touchAction)})},proto.bindActivePointerEvents=function(){activeEvents.forEach(eventName=>{window.addEventListener(eventName,this)})},proto.unbindActivePointerEvents=function(){activeEvents.forEach(eventName=>{window.removeEventListener(eventName,this)})},proto.withPointer=function(methodName,event){event.pointerId===this.pointerIdentifier&&this[methodName](event,event)},proto.withTouch=function(methodName,event){let touch;for(let changedTouch of event.changedTouches)changedTouch.identifier===this.pointerIdentifier&&(touch=changedTouch);touch&&this[methodName](event,touch)},proto.onmousedown=function(event){this.pointerDown(event,event)},proto.ontouchstart=function(event){this.pointerDown(event,event.changedTouches[0])},proto.onpointerdown=function(event){this.pointerDown(event,event)};const cursorNodes=["TEXTAREA","INPUT","SELECT","OPTION"],clickTypes=["radio","checkbox","button","submit","image","file"];return proto.pointerDown=function(event,pointer){let isCursorNode=cursorNodes.includes(event.target.nodeName),isClickType=clickTypes.includes(event.target.type),isOkayElement=!isCursorNode||isClickType;!this.isPointerDown&&!event.button&&isOkayElement&&(this.isPointerDown=!0,this.pointerIdentifier=void 0!==pointer.pointerId?pointer.pointerId:pointer.identifier,this.pointerDownPointer={pageX:pointer.pageX,pageY:pointer.pageY},this.bindActivePointerEvents(),this.emitEvent("pointerDown",[event,pointer]))},proto.onmousemove=function(event){this.pointerMove(event,event)},proto.onpointermove=function(event){this.withPointer("pointerMove",event)},proto.ontouchmove=function(event){this.withTouch("pointerMove",event)},proto.pointerMove=function(event,pointer){let moveVector={x:pointer.pageX-this.pointerDownPointer.pageX,y:pointer.pageY-this.pointerDownPointer.pageY};this.emitEvent("pointerMove",[event,pointer,moveVector]),!this.isDragging&&this.hasDragStarted(moveVector)&&this.dragStart(event,pointer),this.isDragging&&this.dragMove(event,pointer,moveVector)},proto.hasDragStarted=function(moveVector){return Math.abs(moveVector.x)>3||Math.abs(moveVector.y)>3},proto.dragStart=function(event,pointer){this.isDragging=!0,this.isPreventingClicks=!0,this.emitEvent("dragStart",[event,pointer])},proto.dragMove=function(event,pointer,moveVector){this.emitEvent("dragMove",[event,pointer,moveVector])},proto.onmouseup=function(event){this.pointerUp(event,event)},proto.onpointerup=function(event){this.withPointer("pointerUp",event)},proto.ontouchend=function(event){this.withTouch("pointerUp",event)},proto.pointerUp=function(event,pointer){this.pointerDone(),this.emitEvent("pointerUp",[event,pointer]),this.isDragging?this.dragEnd(event,pointer):this.staticClick(event,pointer)},proto.dragEnd=function(event,pointer){this.isDragging=!1,setTimeout(()=>delete this.isPreventingClicks),this.emitEvent("dragEnd",[event,pointer])},proto.pointerDone=function(){this.isPointerDown=!1,delete this.pointerIdentifier,this.unbindActivePointerEvents(),this.emitEvent("pointerDone")},proto.onpointercancel=function(event){this.withPointer("pointerCancel",event)},proto.ontouchcancel=function(event){this.withTouch("pointerCancel",event)},proto.pointerCancel=function(event,pointer){this.pointerDone(),this.emitEvent("pointerCancel",[event,pointer])},proto.onclick=function(event){this.isPreventingClicks&&event.preventDefault()},proto.staticClick=function(event,pointer){let isMouseup="mouseup"===event.type;isMouseup&&this.isIgnoringMouseUp||(this.emitEvent("staticClick",[event,pointer]),isMouseup&&(this.isIgnoringMouseUp=!0,setTimeout(()=>{delete this.isIgnoringMouseUp},400)))},Unidragger})}
141},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.exports}__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__("./src/js/app.js");__webpack_require__("./src/sass/app.scss")})(); 142//# sourceURL=https://25168988.fs1.hubspotusercontent-eu1.net/hubfs/25168988/hub_generated/template_assets/1/281478499551/1790839174853/template_app.js
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.