1document.addEventListener('DOMContentLoaded',()=>{new SM_Breadcrumbs({id:'25772SmSn1p3T6',showHome:!0,homeIcon:!1,delimiter:'/',truncate:'active',})});document.addEventListener('DOMContentLoaded',function(){const collapsibles=Array.prototype.slice.call(document.querySelectorAll('[data-sm-dropdown]'));collapsibles.forEach(collapsible=>{if(collapsible.dataset.smDropdown!=='25851SmSn1p3T23')return;new SM_Dropdown(collapsible,{id:'25851SmSn1p3T23',autoInit:!1,trigger:'click',}).init()})});document.addEventListener('DOMContentLoaded',function(){const sliders=Array.prototype.slice.call(document.querySelectorAll('.s-slider'));sliders.forEach(slider=>{if(slider.dataset.smSlider!=='25851SmSn1p3T64')return;new Splide(slider,{type:'loop',gap:24,pagination:!1,breakpoints:{1024:{perPage:1,gap:0,padding:0}}}).mount()})});class SM_Breadcrumbs{constructor(options={}){this.options={id:!1,mainSelector:'[data-sm-breadcrumbs]',defaultClass:'s-crumb',indexClass:'s-index',activeClass:'s-active',truncateClass:'s-truncate',delimiterClass:'s-delimiter',showHome:!0,homeIcon:!1,delimiter:'/',truncate:!1,showExtconParent:!1};Object.assign(this.options,options);this.breadcrumbs=!1;this.index={name:sw_MENU[0][0],url:sw_MENU[0][1],id:sw_MENU[0][7],isIndex:()=>parseInt(this.index.id)===sw_var_pid};this.homeIcon='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></svg>';this.init()} 2_getNodes(){this._nodes=Array.prototype.slice.call(document.querySelectorAll(this.options.mainSelector));this.breadcrumbs=[...this._nodes].find(node=>node.dataset.smBreadcrumbs===this.options.id)} 3_warnMsg(type){switch(type){case 'id':{console.warn('SiteManager Breadcrumbs: No ID has been set.');return} 4case 'dom':{console.warn('SiteManager Breadcrumbs: No breadcrumb elements found.');return}}} 5_appendCrumb(crumb){this.breadcrumbs.appendChild(crumb)} 6injectIndex(){let indexDOM;if(this.index.isIndex()){indexDOM=document.createElement('div')}else{indexDOM=document.createElement('a');indexDOM.href=this.index.url;indexDOM.target='_self'} 7const text=document.createElement('span');text.innerHTML=this.index.name;if(this.options.homeIcon){if(this.breadcrumbs.dataset.icon&&this.breadcrumbs.dataset.icon!==''&&!this.breadcrumbs.dataset.icon.includes('swvar:icon')){this.homeIcon=this.breadcrumbs.dataset.icon} 8const icon=document.createElement('i');icon.innerHTML=this.homeIcon;indexDOM.appendChild(icon)} 9indexDOM.appendChild(text);indexDOM.classList.add(this.options.defaultClass,this.options.indexClass);this._appendCrumb(indexDOM)} 10injectCrumbs(){const currentPage=sw_MENU.find(page=>parseInt(page[7])===sw_var_pid);const current={name:currentPage[0],url:currentPage[1],id:currentPage[7],parent:currentPage[3],isSub:()=>parseInt(current.parent)!==0};let currentDOM;if(current.isSub()){const parent=sw_MENU.find(page=>page[2]===current.parent);if(parent!==sw_MENU[0]){let parentDOM;if(parseInt(parent[9])===0){parentDOM=document.createElement('div')}else{parentDOM=document.createElement('a');parentDOM.href=parent[1];parentDOM.target='_self'} 11parentDOM.innerHTML=parent[0];parentDOM.classList.add(this.options.defaultClass);this._appendCrumb(parentDOM)}} 12if(sw_var_detailpname!==''){let dbPage=document.createElement('div');dbPage.innerHTML=sw_var_detailpname;dbPage.classList.add(this.options.defaultClass);if(typeof sw_var_extcon_page!=="undefined"){if(this.showExtconParent){currentDOM=document.createElement('div')}}else{currentDOM=document.createElement('a');currentDOM.href=current.url;currentDOM.target='_self'} 13if(typeof sw_var_extcon_page==="undefined"||this.showExtconParent){currentDOM.innerHTML=current.name;currentDOM.classList.add(this.options.defaultClass,this.options.activeClass);this._appendCrumb(currentDOM)} 14this._appendCrumb(dbPage)}else{currentDOM=document.createElement('div');currentDOM.innerHTML=current.name;currentDOM.classList.add(this.options.defaultClass,this.options.activeClass);this._appendCrumb(currentDOM)}} 15getCrumbs(){this.crumbs=[...this.breadcrumbs.getElementsByClassName('s-crumb')]} 16addDelimiter(){for(let i=1;i<this.crumbs.length;i++){const delimiter=document.createElement('span');delimiter.classList.add(this.options.delimiterClass);delimiter.innerHTML=this.options.delimiter;this.breadcrumbs.insertBefore(delimiter,this.crumbs[i])}} 17truncate(){const{truncate}=this.options;const truncateCrumbs=truncate&&truncate==='active'?[this.crumbs[this.crumbs.length-1]]:this.crumbs;
17truncateCrumbs.forEach(crumb=>crumb.classList.add(this.options.truncateClass))} 18init(){if(!this.options.id){this._warnMsg('id');return} 19this._getNodes();if(this._nodes.length<=0||!this.breadcrumbs){this._warnMsg('dom');return} 20if(typeof sw_var_detailpname==='undefined'){window.sw_var_detailpname=''} 21if(this.options.showHome){this.injectIndex()} 22if(!this.index.isIndex()){this.injectCrumbs()} 23this.getCrumbs();if(this.crumbs.length>0){this.addDelimiter();if(this.options.truncate){this.truncate()}}}};class SM_Dropdown{constructor(wrapper,options={}){this.options={id:null,autoInit:!0,selector:'[data-sm-dropdown]',triggerSelector:'[data-sm-dropdown-trigger]',listSelector:'[data-sm-dropdown-list]',iconSelector:'[data-sm-dropdown-trigger-icon]',activeClass:'s-dropdown--active',disabledClass:'s-dropdown--disabled',onTopClass:'s-list--top',layoutClass:'s-dropdown--layout',singleOpen:!1,detectDirection:!1,defaultOpen:!1,trapFocus:!0,preventScroll:!1,disableOnEqualDimensions:!1,breakpoints:{},closeMethods:["outside","escape"],closeMethodsList:["trigger","outside","escape"],closeMethodsNew:["trigger","outside","escape","hover"],trigger:"click"};this.options=this._deepMergeObj(this.options,options);if(!options.closeMethods){delete this.options.closeMethods} 24if(!options.closeMethodsList&&(options.closeMethods||options.closeMethodsNew)){delete this.options.closeMethodsList} 25if(!options.closeMethodsNew&&(options.closeMethodsList||options.closeMethods)){delete this.options.closeMethodsNew} 26this.closeMethods=this.options.closeMethods?[...this.options.closeMethods,...["trigger","hover"]]:this.options.closeMethodsList?[...this.options.closeMethodsList,"hover"]:this.options.closeMethodsNew;this._events={trigger:[],open:[],close:[],toggle:[],init:[],layoutBefore:[],layoutAfter:[],};this.DROPDOWN_ACTIVE=!1;this.dropdown=wrapper;this.dimensions={height:0,width:0};if(this.options.autoInit)this.init();} 27_deepMergeObj(base){const argl=arguments.length;let retObj;if(Object.prototype.toString.call(base)==="[object Array]"){retObj=[...base]}else{retObj={...base}} 28for(let i=1;i<argl;i++){const source=arguments[i];for(let key in source){const srcVal=source[key];const tgtVal=retObj[key];if(Array.isArray(srcVal)){retObj[key]=[...srcVal]}else if(srcVal&&typeof srcVal==="object"&&!Array.isArray(srcVal)){retObj[key]=this._deepMergeObj(tgtVal||{},srcVal)}else{retObj[key]=srcVal}}} 29return retObj};_warnMsg(type){switch(type){case 'id':{console.warn('SiteManager Dropdown: No ID has been set.');return} 30case 'dom':{console.warn('SiteManager Dropdown: No dropdown elements found.');return} 31default:{console.warn('SiteManager Dropdown: An error has occured.');return}}} 32_throttle(callback,wait,immediate=!1){let timeout=null;let initialCall=!0;return function(){const callNow=immediate&&initialCall;const next=()=>{callback.apply(this,arguments);timeout=null};if(callNow){initialCall=!1;next()} 33if(!timeout){timeout=setTimeout(next,wait)}}} 34_debounce(callback,wait=250){let timer;return(...args)=>{clearTimeout(timer);timer=setTimeout(()=>{callback.apply(this,args)},wait)}} 35_checkVisibility(){Element.prototype.checkVisibility=function(options={}){const style=window.getComputedStyle(this);const{opacityProperty,visibilityProperty}=options;if(style.display==="none")return!1;if(opacityProperty&&style.opacity==="0")return!1;if(visibilityProperty&&style.visibility==="hidden")return!1;return!0}} 36_setObject(){const triggers=this.dropdown.querySelectorAll(this.options.triggerSelector);this.list=this.dropdown.querySelector(this.options.listSelector);this.triggers=[];[...triggers].forEach(trigger=>{const icon=trigger.querySelector(this.options.iconSelector);this.triggers.push({"trigger":trigger,"icon":{"collapsed":icon?.querySelector("[data-collapsed]"),"expanded":icon?.querySelector("[data-expanded]")}})})} 37_initFocusTrap(){this.focusElements=[...this.list.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])')];this.firstFocusElement=this.focusElements[0];this.lastFocusElement=this.focusElements[this.focusElements.length-1];this._toggleTabindexes(!1)}
38_mediaLoadedPromise(el,resolveEvent,readyCheck){return new Promise((resolve,reject)=>{el.addEventListener(resolveEvent,()=>resolve(el));el.addEventListener('error',()=>reject());if(readyCheck(el))resolve(el);})} 39_imagesLoadedPromise(image){return this._mediaLoadedPromise(image,'load',el=>el.complete)} 40_iFramesLoadedPromise(iFrame){return this._mediaLoadedPromise(iFrame,'load',el=>!el.contentDocument)} 41_videosLoadedPromise(video){return this._mediaLoadedPromise(video,'canplay',el=>el.readyState>=3)} 42_detectMediaLoaded(container){const images=[...container.querySelectorAll('img')];const iFrames=[...container.querySelectorAll('iframe')];const videos=[...container.querySelectorAll('video')];const promises=[...images.map(this._imagesLoadedPromise.bind(this)),...iFrames.map(this._iFramesLoadedPromise.bind(this)),...videos.map(this._videosLoadedPromise.bind(this))];return promises.length===0?Promise.resolve():Promise.all(promises).then(()=>{})} 43async _setListDimensions(){this._dispatchEvent("layoutBefore");this.dropdown.classList.add(this.options.layoutClass);this.list.classList.add(this.options.layoutClass);await this._detectMediaLoaded(this.list);this.dropdown.style.setProperty('--list-height',`auto`);this.dropdown.style.setProperty('--list-width',`auto`);const originalStyles={display:this.list.style.display,position:this.list.style.position,visibility:this.list.style.visibility,left:this.list.style.left,top:this.list.style.top};const isActive=this.dropdown.classList.contains(this.options.activeClass);if(isActive){this.dropdown.classList.remove(this.options.activeClass);this.list.classList.remove(this.options.activeClass);this.list.style.removeProperty('transition');this.list.style.removeProperty('animation')} 44const{width:originalWidth,height:originalHeight}=this.list.getBoundingClientRect();this.dropdown.style.setProperty('--list-height-inactive',`${originalHeight}px`);this.dropdown.style.setProperty('--list-width-inactive',`${originalWidth}px`);if(isActive){this.dropdown.classList.add(this.options.activeClass);this.list.classList.add(this.options.activeClass);this.list.style.removeProperty('transition');this.list.style.removeProperty('animation')} 45if(!isActive){this.dropdown.classList.add(this.options.activeClass);this.list.classList.add(this.options.activeClass);this.list.style.transition='none';this.list.style.animation='none'}else if(this.hasTransition){if(this.list.isTransitioning){await new Promise(resolve=>this.list.addEventListener('transitionend',e=>resolve(),{once:!0}))}} 46let hadToShow=!1;let hiddenParents=[];const showHiddenParents=(element)=>{let parent=element.parentElement;while(parent){if(window.getComputedStyle(parent).display==='none'){hiddenParents.push({element:parent,originalDisplay:parent.style.display});parent.style.display='block'} 47parent=parent.parentElement}};const restoreHiddenParents=()=>{hiddenParents.forEach(({element,originalDisplay})=>{element.style.display=originalDisplay||''})};if(this.list.offsetParent===null){hadToShow=!0;showHiddenParents(this.list);this.list.style.display='block';this.list.style.position='absolute';this.list.style.visibility='hidden';this.list.style.left='-9999px';this.list.style.top='-9999px'} 48const{width,height}=this.list.getBoundingClientRect();this.dimensions.height=height;this.dimensions.width=width;if(hadToShow){restoreHiddenParents();Object.assign(this.list.style,originalStyles)} 49if(!isActive){this.dropdown.classList.remove(this.options.activeClass);this.list.classList.remove(this.options.activeClass);setTimeout(()=>{this.list.style.removeProperty('transition');this.list.style.removeProperty('animation')},200)} 50this.dropdown.style.setProperty('--list-height',`${this.dimensions.height}px`);this.dropdown.style.setProperty('--list-width',`${this.dimensions.width}px`);if(originalWidth===this.dimensions.width&&originalHeight===this.dimensions.height&&this.options.disableOnEqualDimensions){this._disableTriggers()}else{this._enableTriggers()} 51this.dropdown.classList.remove(this.options.layoutClass);this.list.classList.remove(this.options.layoutClass);this._dispatchEvent("layoutAfter")}
52_disableTriggers(){[...this.triggers].forEach(trigger=>{if(trigger.trigger.hasAttribute('data-display'))return;trigger.trigger.dataset.display=trigger.trigger.style?.display||'';trigger.trigger.style.setProperty('display','none','important')})} 53_enableTriggers(){[...this.triggers].forEach(trigger=>{const display=trigger.trigger.getAttribute('data-display');if(display===null)return;if(display==="")trigger.trigger.style.removeProperty('display');else trigger.trigger.style.display=display;trigger.trigger.removeAttribute('data-display')})} 54_toggleTabindexes(active){if(!this.focusElements)return;this.focusElements.forEach((element,i)=>{element.setAttribute('tabindex',active?"0":"-1");if(i===0&&active)element.focus({preventScroll:this.options.preventScroll})})} 55_checkExternalDropdowns(){let selector="[data-sm-dropdown]";if(this.options.id)selector=`[data-sm-dropdown="${this.options.id}"]`;const dropdowns=document.querySelectorAll(selector);return[...dropdowns].some(dropdown=>dropdown.SM_Dropdown&&dropdown.SM_Dropdown.DROPDOWN_ACTIVE)} 56_toggleDropdown(force=null,defaultOpen=!1){if(this.DROPDOWN_ACTIVE===force)return;if(this.options.singleOpen&&defaultOpen&&this._checkExternalDropdowns())return;if(force===null?!this.DROPDOWN_ACTIVE:force){this.open()}else{this.close()}} 57_closeExternalDropdowns(){let selector="[data-sm-dropdown]";if(this.options.id)selector=`[data-sm-dropdown="${this.options.id}"]`;const dropdowns=document.querySelectorAll(selector);[...dropdowns].forEach(dropdown=>{if(dropdown.SM_Dropdown&&dropdown.SM_Dropdown.DROPDOWN_ACTIVE)dropdown.SM_Dropdown.close();})} 58_initDirectionDetection(){if(window.innerHeight-this.dropdown.getBoundingClientRect().bottom<(this.dimensions.height+this.dropdown.scrollHeight)){this.dropdown.classList.add(this.options.onTopClass);this.list.classList.add(this.options.onTopClass)}else{this.dropdown.classList.remove(this.options.onTopClass);this.list.classList.remove(this.options.onTopClass)}} 59_checkForTransition(){const style=window.getComputedStyle(this.list);const duration=parseFloat(style.transitionDuration)||0;const delay=parseFloat(style.transitionDelay)||0;const total=(duration+delay)*1000;this.hasTransition=total} 60_buildAria(){[...this.triggers].forEach(trigger=>{if(!trigger.trigger.hasAttribute("aria-expanded"))trigger.trigger.setAttribute("aria-expanded",!1);});if(!this.list.hasAttribute("aria-hidden"))this.list.setAttribute("aria-hidden",!0);[...this.triggers].forEach(trigger=>{if(!trigger.trigger.hasAttribute("aria-controls")&&this.list.hasAttribute("id"))trigger.trigger.setAttribute("aria-controls",this.list.id);});if(!this.list.hasAttribute("aria-controlledby")&&this.triggers[0].trigger.hasAttribute("id"))this.list.setAttribute("aria-controlledby",this.triggers[0].trigger.id);} 61_getRelativeParent(element){const position=window.getComputedStyle(element).position;if(position==="static"){const parent=element.parentElement;if(parent)return this._getRelativeParent(parent);else return document.body} 62return element} 63_buildSafeZone(){const relativeParent=this._getRelativeParent(this.dropdown);const dropdownRect=relativeParent.getBoundingClientRect();const listRect=this.list.getBoundingClientRect();let trigger=this.triggers[0].trigger;[...this.triggers].forEach(trgr=>{if(trgr.trigger.checkVisibility({opacityProperty:!0,visibilityProperty:!0}))trigger=trgr.trigger});const triggerRect=trigger.getBoundingClientRect();const triggerOffset=this._calculateOffset(triggerRect,dropdownRect);const listOffset=this._calculateOffset(listRect,dropdownRect);const cover=this._calculateCoverArea(triggerOffset,listOffset);if(this.coverArea)this.coverArea.remove();this.coverArea=document.createElement('div');this.coverArea.style.position='absolute';this.coverArea.style.zIndex="-1";this.coverArea.style.top=`${cover.top}px`;this.coverArea.style.left=`${cover.left}px`;this.coverArea.style.width=`${cover.width}px`;this.coverArea.style.height=`${cover.height}px`;this.coverArea.style.pointerEvents="none";this.dropdown.appendChild(this.coverArea)} 64_calculateOffset(rect,referenceRect){return{top:rect.top-referenceRect.top,left
64:rect.left-referenceRect.left,bottom:rect.bottom-referenceRect.top,right:rect.right-referenceRect.left}} 65_calculateCoverArea(triggerOffset,listOffset){const top=Math.min(triggerOffset.top,listOffset.top);const left=Math.min(triggerOffset.left,listOffset.left);const bottom=Math.max(triggerOffset.bottom,listOffset.bottom);const right=Math.max(triggerOffset.right,listOffset.right);const width=right-left;const height=bottom-top;return{top,left,width,height}} 66_initBreakpoints(){const w=Math.max(document.documentElement.clientWidth,window.innerWidth||0);const values=Object.keys(this.options.breakpoints).filter(breakpoint=>parseFloat(breakpoint)-w>=0);if(values.length===0){return} 67const closest=Math.min(...values);this.options.breakpoints[closest]?this.open():this.close()} 68_handleMouseMove(e){if(this.rafId)return;this.rafId=requestAnimationFrame(()=>{this.rafId=null;const areas=[this.dropdown,this.list,this.coverArea];let withinBounds=!1;areas.forEach(area=>{if(withinBounds)return;const rect=area.getBoundingClientRect();withinBounds=e.clientX>=rect.left&&e.clientX<=rect.right&&e.clientY>=rect.top&&e.clientY<=rect.bottom});if(!withinBounds){this._toggleDropdown(!1);document.removeEventListener('mousemove',this._boundHandleMouseMove)}})} 69_bindEvents(){if(this.options.trigger==="hover"){[...this.triggers].forEach(trigger=>{trigger.trigger.addEventListener("mouseenter",e=>{if(this.dropdown.SM_Dropdown.DROPDOWN_ACTIVE)return;this.list.addEventListener("transitionend",e=>{if(!this.DROPDOWN_ACTIVE)return;this._buildSafeZone()},{once:!0});this._dispatchEvent("trigger",this.DROPDOWN_ACTIVE).then(()=>{this._toggleDropdown();this._buildSafeZone();if(this.closeMethods.includes("hover")){document.addEventListener("mousemove",this._boundHandleMouseMove)}}).catch((e)=>{})})})}else{document.addEventListener('click',e=>{const source=e.target;const trigger=source.closest(this.options.triggerSelector);if(trigger&&[...this.triggers].map(trg=>trg.trigger).includes(trigger)&&(!this.DROPDOWN_ACTIVE||(this.DROPDOWN_ACTIVE&&this.closeMethods.includes("trigger")))){this._dispatchEvent("trigger",this.DROPDOWN_ACTIVE).then(()=>{this._toggleDropdown()}).catch((e)=>{})}else if(this.DROPDOWN_ACTIVE&&!source.closest(this.options.selector)){if(this.closeMethods.includes("outside")){this._dispatchEvent("trigger",this.DROPDOWN_ACTIVE).then(()=>{this._toggleDropdown()}).catch((e)=>{})}}})} 70window.addEventListener('keyup',e=>{if(!this.DROPDOWN_ACTIVE||e.key!=='Escape')return;if(this.closeMethods.includes("escape"))this._toggleDropdown();});window.addEventListener('keydown',e=>{if(!this.DROPDOWN_ACTIVE)return;if(e.key==='Tab'&&this.closeMethods.includes("trigger")){if(e.shiftKey&&document.activeElement===this.firstFocusElement){this._toggleDropdown()}else if(!e.shiftKey&&document.activeElement===this.lastFocusElement){this._toggleDropdown()}} 71if(e.key==="ArrowDown"){const currentFocusIndex=this.focusElements.findIndex(el=>el===document.activeElement);if(currentFocusIndex===-1){this.firstFocusElement.focus()}else{const nextFocusableEl=this.focusElements[currentFocusIndex+1];
71if(nextFocusableEl)nextFocusableEl.focus();else this.firstFocusElement.focus()} 72e.preventDefault()} 73if(e.key==="ArrowUp"){const currentFocusIndex=this.focusElements.findIndex(el=>el===document.activeElement);if(currentFocusIndex===-1){this.lastFocusElement.focus()}else{const prevFocusableEl=this.focusElements[currentFocusIndex-1];if(prevFocusableEl)prevFocusableEl.focus();else this.lastFocusElement.focus()} 74e.preventDefault()} 75if(e.key==="Home"){this.firstFocusElement.focus();e.preventDefault()}else if(e.key==="End"){this.lastFocusElement.focus();e.preventDefault()}});window.addEventListener('resize',e=>{this._setListDimensions()});if(this.options.detectDirection){window.addEventListener('scroll',this._throttle(this._initDirectionDetection.bind(this),250))}} 76_dispatchEvent(eventName){if(this._events.hasOwnProperty(eventName)){for(let i=0;i<this._events[eventName].length;i++){const callback=this._events[eventName][i];let funcArgs=Array.from(arguments);let response;if(funcArgs.length>1){funcArgs.shift();response=callback.call(this,...funcArgs)}else{response=callback.call(this)} 77if(response===!1)return!1}} 78return!0} 79_dispatchEvent(eventName){return new Promise((resolve,reject)=>{if(this._events.hasOwnProperty(eventName)){if(this._events[eventName].length===0){resolve()} 80for(let i=0;i<this._events[eventName].length;i++){const callback=this._events[eventName][i];let funcArgs=Array.from(arguments);let response;if(funcArgs.length>1){funcArgs.shift();response=callback.call(this,...funcArgs)}else{response=callback.call(this)} 81Promise.resolve(response).then((value)=>{if(value===!1){reject();return} 82resolve()}).catch((error)=>{reject(error)})}}else{resolve()}})} 83close(){this.DROPDOWN_ACTIVE=!1;[...this.triggers].forEach(trigger=>{trigger.trigger.setAttribute('aria-expanded',!1);trigger.trigger.classList.remove(this.options.activeClass);const{expanded,collapsed}=trigger.icon;if(expanded&&collapsed){expanded.classList.add("s-hidden");collapsed.classList.remove("s-hidden")}});this.list.setAttribute('aria-hidden',!0);this.list.style.pointerEvents="none";this._toggleTabindexes(!1);this.dropdown.classList.remove(this.options.activeClass);this.list.classList.remove(this.options.activeClass);if(this.coverArea)this.coverArea.remove();this._dispatchEvent("close");this._dispatchEvent("toggle")} 84open(){if(this.dropdown.classList.contains(this.options.disabledClass))return;if(this.options.singleOpen)this._closeExternalDropdowns();this.DROPDOWN_ACTIVE=!0;if(this.hasTransition){this.list.isTransitioning=!0;this.list.addEventListener("transitionend",e=>{this.list.isTransitioning=!1})} 85this.list.setAttribute('aria-hidden',!1);this.dropdown.classList.add(this.options.activeClass);this.list.classList.add(this.options.activeClass);this.list.style.removeProperty("pointer-events");this._toggleTabindexes(!0);[...this.triggers].forEach(trigger=>{trigger.trigger.setAttribute('aria-expanded',!0) 86trigger.trigger.classList.add(this.options.activeClass);const{expanded,collapsed}=trigger.icon;if(expanded&&collapsed){expanded.classList.remove("s-hidden");collapsed.classList.add("s-hidden")}});this._dispatchEvent("open");this._dispatchEvent("toggle")} 87on(event,callback){switch(event){case "trigger":this._events.trigger.push(callback);break;case "open":this._events.open.push(callback);break;case "close":this._events.close.push(callback);break;case "toggle":this._events.toggle.push(callback);break;case "init":this._events.init.push(callback);break;case "layout.before":this._events.layoutBefore.push(callback);break;case "layout.after":this._events.layoutAfter.push(callback);break;default:console.log(`Event '${event}' does not exist`);break}} 88init(){if(!this.dropdown)return this._warnMsg('dom');this._setObject();if(!this.list){return this._warnMsg('dom')} 89this.dropdown.SM_Dropdown=this;this.coverArea=null;this.hasTransition=!1;if(!Element.prototype.checkVisibility)this._checkVisibility();this._checkForTransition();if(this.triggers.length)this._buildAria();this._setListDimensions();if(this.options.trapFocus)this._initFocusTrap();if(this.options.detectDirection){this._initDirectionDetection()} 90this.mouseLeft=!1;this._boundHandleMouseMove=this._handleMouseMove.bind(this);this.rafId=null;this._bindEvents();this._initBreakpoints();if(this.options.defaultOpen)this._toggleDropdown(!0,!0);this._dispatchEvent("init");if(this.triggers.length===0){this.open()}} 91setListDimensions(){this._setListDimensions()} 92layout(){this._setListDimensions()}};function r(n,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}
92function Jt(n,t,i){t&&r(n.prototype,t),i&&r(n,i),Object.defineProperty(n,"prototype",{writable:!1})} 93/*! 94 * Splide.js 95 * Version : 4.1.2
vendor: 19,196 bytes, lines 95-99
95 96 * License : MIT 97 * Copyright: 2022 Naotoshi Fujita 98 */ 99var n,t;n=this,t=function(){"use strict";var v="(prefers-reduced-motion: reduce)",G=4,rn=5,r={CREATED:1,MOUNTED:2,IDLE:3,MOVING:G,SCROLLING:rn,DRAGGING:6,DESTROYED:7};function D(n){n.length=0}function o(n,t,i){return Array.prototype.slice.call(n,t,i)}function R(n){return n.bind.apply(n,[null].concat(o(arguments,1)))}function on(){}var p=setTimeout;function h(n){return requestAnimationFrame(n)}function u(n,t){return typeof t===n}function un(n){return!c(n)&&u("object",n)}var e=Array.isArray,x=R(u,"function"),C=R(u,"string"),en=R(u,"undefined");function c(n){return null===n}function m(n){try{return n instanceof(n.ownerDocument.defaultView||window).HTMLElement}catch(n){return!1}}function y(n){return e(n)?n:[n]}function g(n,t){y(n).forEach(t)}function b(n,t){return-1<n.indexOf(t)}function k(n,t){return n.push.apply(n,y(t)),n}function A(t,n,i){t&&g(n,function(n){n&&t.classList[i?"add":"remove"](n)})}function M(n,t){A(n,C(t)?t.split(" "):t,!0)}function L(n,t){g(t,n.appendChild.bind(n))}function O(n,i){g(n,function(n){var t=(i||n).parentNode;t&&t.insertBefore(n,i)})}function cn(n,t){return m(n)&&(n.msMatchesSelector||n.matches).call(n,t)}function S(n,t){n=n?o(n.children):[];return t?n.filter(function(n){return cn(n,t)}):n}function fn(n,t){return t?S(n,t)[0]:n.firstElementChild}var E=Object.keys;function w(t,i,n){t&&(n?E(t).reverse():E(t)).forEach(function(n){"__proto__"!==n&&i(t[n],n)})}function an(r){return o(arguments,1).forEach(function(i){w(i,function(n,t){r[t]=i[t]})}),r}function d(i){return o(arguments,1).forEach(function(n){w(n,function(n,t){e(n)?i[t]=n.slice():un(n)?i[t]=d({},un(i[t])?i[t]:{},n):i[t]=n})}),i}function sn(t,n){g(n||E(t),function(n){delete t[n]})}function P(n,i){g(n,function(t){g(i,function(n){t&&t.removeAttribute(n)})})}function I(i,t,r){un(t)?w(t,function(n,t){I(i,t,n)}):g(i,function(n){c(r)||""===r?P(n,t):n.setAttribute(t,String(r))})}function j(n,t,i){n=document.createElement(n);return t&&(C(t)?M:I)(n,t),i&&L(i,n),n}function _(n,t,i){if(en(i))return getComputedStyle(n)[t];c(i)||(n.style[t]=""+i)}function ln(n,t){_(n,"display",t)}function dn(n){n.setActive&&n.setActive()||n.focus({preventScroll:!0})}function z(n,t){return n.getAttribute(t)}function vn(n,t){return n&&n.classList.contains(t)}function N(n){return n.getBoundingClientRect()}function T(n){g(n,function(n){n&&n.parentNode&&n.parentNode.removeChild(n)})}function hn(n){return fn((new DOMParser).parseFromString(n,"text/html").body)}function F(n,t){n.preventDefault(),t&&(n.stopPropagation(),n.stopImmediatePropagation())}function pn(n,t){return n&&n.querySelector(t)}function gn(n,t){return t?o(n.querySelectorAll(t)):[]}function X(n,t){A(n,t,!1)}function mn(n){return n.timeStamp}function W(n){return C(n)?n:n?n+"px":""}var yn="splide",f="data-"+yn;function bn(n,t){if(!n)throw new Error("["+yn+"] "+(t||""))}var Y=Math.min,wn=Math.max,xn=Math.floor,kn=Math.ceil,U=Math.abs;function Sn(n,t,i){return U(n-t)<i}function En(n,t,i,r){var o=Y(t,i),t=wn(t,i);return r?o<n&&n<t:o<=n&&n<=t}function q(n,t,i){var r=Y(t,i),t=wn(t,i);return Y(wn(r,n),t)}function Ln(n){return(0<n)-(n<0)}function On(t,n){return g(n,function(n){t=t.replace("%s",""+n)}),t}function An(n){return n<10?"0"+n:""+n}var _n={};function zn(){var c=[];function i(n,i,r){g(n,function(t){t&&g(i,function(n){n.split(" ").forEach(function(n){n=n.split(".");r(t,n[0],n[1])})})})}return{bind:function(n,t,u,e){i(n,t,function(n,t,i){var r="addEventListener"in n,o=r?n.removeEventListener.bind(n,t,u,e):n.removeListener.bind(n,u);r?n.addEventListener(t,u,e):n.addListener(u),c.push([n,t,i,u,o])})},unbind:function(n,t,o){i(n,t,function(t,i,r){c=c.filter(function(n){return!!(n[0]!==t||n[1]!==i||n[2]!==r||o&&n[3]!==o)||(n[4](),!1)})})},dispatch:function(n,t,i){var r;return"function"==typeof CustomEvent?r=new CustomEvent(t,{bubbles:!0,detail:i}):(r=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!1,i),n.dispatchEvent(r),r},destroy:function(){c.forEach(function(n){n[4]()}),D(c)}}}var B="mounted",H="move",Dn="moved",Mn="click",Pn="active",In="inactive",Rn="visible",Cn="hidden",J="refresh",K="updated",jn="resize",Nn="resized",Tn="scroll",V="scrolled",a="destroy",Gn="navigation:mounted",Fn="autoplay:play",Xn="autoplay:pause",Wn="lazyload:loaded",Yn="sk",Un="sh";function Q(n){var i=n?n.event.bus:document.createDocumentFragment(),r=zn();return n&&n.event.on(a,r.destroy),an(r,{bus:i,on:function(n,t){r.bind(i,y(n).join(" "),function(n){t.apply(t,e(n.detail)?n.detail:[])})},off:R(r.unbind,i),emit:function(n){r.dispatch(i,n,o(arguments,1))}})}function qn(t,n,i,r){var o,u,e=Date.now,c=0,f=!0,a=0;function s(){if(!f){if(c=t?Y((e()-o)/t,1):1,i&&i(c),1<=c&&(n(),o=e(),r&&++a>=r))return l();u=h(s)}}function l(){f=!0}function d(){u&&cancelAnimationFrame(u),f=!(u=c=0)}return{start:function(n){n||d(),o=e()-(n?c*t:0),f=!1,u=h(s)},rewind:function(){o=e(),c=0,i&&i(c)},pause:l,cancel:d,set:function(n){t=n},isPaused:function(){return f}}}function s(n){var t=n;return{set:function(n){t=n},is:function(n){return b(y(n),t)}}}var n="Arrow",Bn=n+"Left",Hn=n+"Right",t=n+"Up",n=n+"Down",Jn="ttb",l={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[t,Hn],ArrowRight:[n,Bn]};var Z="role",$="tabindex",i="aria-",Kn=i+"controls",Vn=i+"current",Qn=i+"selected",nn=i+"label",Zn=i+"labelledby",$n=i+"hidden",nt=i+"orientation",tt=i+"roledescription",it=i+"live",rt=i+"busy",ot=i+"atomic",ut=[Z,$,"disabled",Kn,Vn,nn,Zn,$n,nt,tt],i=yn+"__",et=yn,ct=i+"track",ft=i+"list",at=i+"slide",st=at+"--clone",lt=at+"__container",dt=i+"arrows",vt=i+"arrow",ht=vt+"--prev",pt=vt+"--next",gt=i+"pagination",mt=gt+"__page",yt=i+"progress"+"__bar",bt=i+"toggle",wt=i+"sr",tn="is-active",xt="is-prev",kt="is-next",St="is-visible",Et="is-loading",Lt="is-focus-in",Ot="is-overflow",At=[tn,St,xt,kt,Et,Lt,Ot];var _t="touchstart mousedown",zt="touchmove mousemove",Dt="touchend touchcancel mouseup click";var Mt="slide",Pt="loop",It="fade";function Rt(o,r,t,u){var e,n=Q(o),i=n.on,c=n.emit,f=n.bind,a=o.Components,s=o.root,l=o.options,d=l.isNavigation,v=l.updateOnMove,h=l.i18n,p=l.pagination,g=l.slideFocus,m=a.Direction.resolve,y=z(u,"style"),b=z(u,nn),w=-1<t,x=fn(u,"."+lt);function k(){var n=o.splides.map(function(n){n=n.splide.Components.Slides.getAt(r);return n?n.slide.id:""}).join(" ");I(u,nn,On(h.slideX,(w?t:r)+1)),I(u,Kn,n),I(u,Z,g?"button":""),g&&P(u,tt)}function S(){e||E()}function E(){var n,t,i;e||(n=o.index,(i=L())!==vn(u,tn)&&(A(u,tn,i),I(u,Vn,d&&i||""),c(i?Pn:In,O)),i=function(){if(o.is(It))return L();var n=N(a.Elements.track),t=N(u),i=m("left",!0),r=m("right",!0);return xn(n[i])<=kn(t[i])&&xn(t[r])<=kn(n[r])}(),t=!i&&(!L()||w),o.state.is([G,rn])||I(u,$n,t||""),I(gn(u,l.focusableNodes||""),$,t?-1:""),g&&I(u,$,t?-1:0),i!==vn(u,St)&&(A(u,St,i),c(i?Rn:Cn,O)),i||document.activeElement!==u||(t=a.Slides.getAt(o.index))&&dn(t.slide),A(u,xt,r===n-1),A(u,kt,r===n+1))}function L(){var n=o.index;return n===r||l.cloneStatus&&n===t}var O={index:r,slideIndex:t,slide:u,container:x,isClone:w,mount:function(){w||(u.id=s.id+"-slide"+An(r+1),I(u,Z,p?"tabpanel":"group"),I(u,tt,h.slide),I(u,nn,b||On(h.slideLabel,[r+1,o.length]))),f(u,"click",R(c,Mn,O)),f(u,"keydown",R(c,Yn,O)),i([Dn,Un,V],E),i(Gn,k),v&&i(H,S)},destroy:function(){e=!0,n.destroy(),X(u,At),P(u,ut),I(u,"style",y),I(u,nn,b||"")},update:E,style:function(n,t,i){_(i&&x||u,n,t)},isWithin:function(n,t){return n=U(n-r),(n=w||!l.rewind&&!o.is(Pt)?n:Y(n,o.length-n))<=t}};return O}var Ct=f+"-interval";var jt={passive:!1,capture:!0};var Nt={Spacebar:" ",Right:Hn,Left:Bn,Up:t,Down:n};function Tt(n){return n=C(n)?n:n.key,Nt[n]||n}var Gt="keydown";var Ft=f+"-lazy",Xt=Ft+"-srcset",Wt="["+Ft+"], ["+Xt+"]";var Yt=[" ","Enter"];var Ut=Object.freeze({__proto__:null,Media:function(r,n,o){var u=r.state,t=o.breakpoints||{},e=o.reducedMotion||{},i=zn(),c=[];function f(n){n&&i.destroy()}function a(n,t){t=matchMedia(t);i.bind(t,"change",s),c.push([n,t])}function s(){var n=u.is(7),t=o.direction,i=c.reduce(function(n,t){return d(n,t[1].matches?t[0]:{})},{});sn(o),l(i),o.destroy?r.destroy("completely"===o.destroy):n?(f(!0),r.mount()):t!==o.direction&&r.refresh()}function l(n,t,i){d(o,n),t&&d(Object.getPrototypeOf(o),n),!i&&u.is(1)||r.emit(K,o)}return{setup:function(){var i="min"===o.mediaQuery;E(t).sort(function(n,t){return i?+n-+t:+t-+n}).forEach(function(n){a(t[n],"("+(i?"min":"max")+"-width:"+n+"px)")}),a(e,v),s()},destroy:f,reduce:function(n){matchMedia(v).matches&&(n?d(o,e):sn(o,E(e)))},set:l}},Direction:function(n,t,o){return{resolve:function(n,t,i){var r="rtl"!==(i=i||o.direction)||t?i===Jn?0:-1:1;return l[n]&&l[n][r]||n.replace(/width|left|right/i,function(n,t){n=l[n.toLowerCase()][r]||n;return 0<t?n.charAt(0).toUpperCase()+n.slice(1):n})},orient:function(n){return n*("rtl"===o.direction?1:-1)}}},Elements:function(n,t,i){var r,o,u,e=Q(n),c=e.on,f=e.bind,a=n.root,s=i.i18n,l={},d=[],v=[],h=[];function p(){r=y("."+ct),o=fn(r,"."+ft),bn(r&&o,"A track/list element is missing."),k(d,S(o,"."+at+":not(."+st+")")),w({arrows:dt,pagination:gt,prev:ht,next:pt,bar:yt,toggle:bt},function(n,t){l[t]=y("."+n)}),an(l,{root:a,track:r,list:o,slides:d});var n=a.id||function(n){return""+n+An(_n[n]=(_n[n]||0)+1)}(yn),t=i.role;a.id=n,r.id=r.id||n+"-track",o.id=o.id||n+"-list",!z(a,Z)&&"SECTION"!==a.tagName&&t&&I(a,Z,t),I(a,tt,s.carousel),I(o,Z,"presentation"),m()}function g(n){var t=ut.concat("style");D(d),X(a,v),X(r,h),P([r,o],t),P(a,n?t:["style",tt])}function m(){X(a,v),X(r,h),v=b(et),h=b(ct),M(a,v),M(r,h),I(a,nn,i.label),I(a,Zn,i.labelledby)}function y(n){n=pn(a,n);return n&&function(n,t){if(x(n.closest))return n.closest(t);for(var i=n;i&&1===i.nodeType&&!cn(i,t);)i=i.parentElement;return i}(n,"."+et)===a?n:void 0}function b(n){return[n+"--"+i.type,n+"--"+i.direction,i.drag&&n+"--draggable",i.isNavigation&&n+"--nav",n===et&&tn]}return an(l,{setup:p,mount:function(){c(J,g),c(J,p),c(K,m),f(document,_t+" keydown",function(n){u="keydown"===n.type},{capture:!0}),f(a,"focusin",function(){A(a,Lt,!!u)})},destroy:g})},Slides:function(r,o,u){var n=Q(r),t=n.on,e=n.emit,c=n.bind,f=(n=o.Elements).slides,a=n.list,s=[];function i(){f.forEach(function(n,t){d(n,t,-1)})}function l(){h(function(n){n.destroy()}),D(s)}function d(n,t,i){t=Rt(r,t,i,n);t.mount(),s.push(t),s.sort(function(n,t){return n.index-t.index})}function v(n){return n?p(function(n){return!n.isClone}):s}function h(n,t){v(t).forEach(n)}function p(t){return s.filter(x(t)?t:function(n){return C(t)?cn(n.slide,t):b(y(t),n.index)})}return{mount:function(){i(),t(J,l),t(J,i)},destroy:l,update:function(){h(function(n){n.update()})},register:d,get:v,getIn:function(n){var t=o.Controller,i=t.toIndex(n),r=t.hasFocus()?1:u.perPage;return p(function(n){return En(n.index,i,i+r-1)})},getAt:function(n){return p(n)[0]},add:function(n,o){g(n,function(n){var t,i,r;m(n=C(n)?hn(n):n)&&((t=f[o])?O(n,t):L(a,n),M(n,u.classes.slide),t=n,i=R(e,jn),t=gn(t,"img"),(r=t.length)?t.forEach(function(n){c(n,"load error",function(){--r||i()})}):i())}),e(J)},remove:function(n){T(p(n).map(function(n){return n.slide})),e(J)},forEach:h,filter:p,style:function(t,i,r){h(function(n){n.style(t,i,r)})},getLength:function(n){return(n?f:s).length},isEnough:function(){return s.length>u.perPage}}},Layout:function(t,n,i){var r,o,u,e=(a=Q(t)).on,c=a.bind,f=a.emit,a=n.Slides,s=n.Direction.resolve,l=(n=n.Elements).root,d=n.track,v=n.list,h=a.getAt,p=a.style;function g(){r=i.direction===Jn,_(l,"maxWidth",W(i.width)),_(d,s("paddingLeft"),y(!1)),_(d,s("paddingRight"),y(!0)),m(!0)}function m(n){var t=N(l);!n&&o.width===t.width&&o.height===t.height||(_(d,"height",function(){var n="";r&&(bn(n=b(),"height or heightRatio is missing."),n="calc("+n+" - "+y(!1)+" - "+y(!0)+")");return n}()),p(s("marginRight"),W(i.gap)),p("width",i.autoWidth?null:W(i.fixedWidth)||(r?"":w())),p("height",W(i.fixedHeight)||(r?i.autoHeight?null:w():b()),!0),o=t,f(Nn),u!==(u=O())&&(A(l,Ot,u),f("overflow",u)))}function y(n){var t=i.padding,n=s(n?"right":"left");return t&&W(t[n]||(un(t)?0:t))||"0px"}function b(){return W(i.height||N(v).width*i.heightRatio)}function w(){var n=W(i.gap);return"calc((100%"+(n&&" + "+n)+")/"+(i.perPage||1)+(n&&" - "+n)+")"}function x(){return N(v)[s("width")]}function k(n,t){n=h(n||0);return n?N(n.slide)[s("width")]+(t?0:L()):0}function S(n,t){var i,n=h(n);return n?(n=N(n.slide)[s("right")],i=N(v)[s("left")],U(n-i)+(t?0:L())):0}function E(n){return S(t.length-1)-S(0)+k(0,n)}function L(){var n=h(0);return n&&parseFloat(_(n.slide,s("marginRight")))||0}function O(){return t.is(It)||E(!0)>x()}return{mount:function(){var n,t,i;g(),c(window,"resize load",(n=R(f,jn),i=qn(t||0,n,null,1),function(){i.isPaused()&&i.start()})),e([K,J],g),e(jn,m)},resize:m,listSize:x,slideSize:k,sliderSize:E,totalSize:S,getPadding:function(n){return parseFloat(_(d,s("padding"+(n?"Right":"Left"))))||0},isOverflow:O}},Clones:function(c,i,f){var t,r=Q(c),n=r.on,a=i.Elements,s=i.Slides,o=i.Direction.resolve,l=[];function u(){if(n(J,d),n([K,jn],v),t=h()){var o=t,u=s.get().slice(),e=u.length;if(e){for(;u.length<o;)k(u,u);k(u.slice(-o),u.slice(0,o)).forEach(function(n,t){var i=t<o,r=function(n,t){n=n.cloneNode(!0);return M(n,f.classes.clone),n.id=c.root.id+"-clone"+An(t+1),n}(n.slide,t);i?O(r,u[0].slide):L(a.list,r),k(l,r),s.register(r,t-o+(i?0:e),n.index)})}i.Layout.resize(!0)}}function d(){e(),u()}function e(){T(l),D(l),r.destroy()}function v(){var n=h();t!==n&&(t<n||!n)&&r.emit(J)}function h(){var n,t=f.clones;return c.is(Pt)?en(t)&&(t=(n=f[o("fixedWidth")]&&i.Layout.slideSize(0))&&kn(N(a.track)[o("width")]/n)||f[o("autoWidth")]&&c.length||2*f.perPage):t=0,t}return{mount:u,destroy:e}},Move:function(r,c,o){var e,n=Q(r),t=n.on,f=n.emit,a=r.state.set,u=(n=c.Layout).slideSize,i=n.getPadding,s=n.totalSize,l=n.listSize,d=n.sliderSize,v=(n=c.Direction).resolve,h=n.orient,p=(n=c.Elements).list,g=n.track;function m(){c.Controller.isBusy()||(c.Scroll.cancel(),y(r.index),c.Slides.update())}function y(n){b(S(n,!0))}function b(n,t){r.is(It)||(t=t?n:function(n){{var t,i;r.is(Pt)&&(t=k(n),i=t>c.Controller.getEnd(),(t<0||i)&&(n=w(n,i)))}return n}(n),_(p,"transform","translate"+v("X")+"("+t+"px)"),n!==t&&f(Un))}function w(n,t){var i=n-L(t),r=d();return n-=h(r*(kn(U(i)/r)||1))*(t?1:-1)}function x(){b(E(),!0),e.cancel()}function k(n){for(var t=c.Slides.get(),i=0,r=1/0,o=0;o<t.length;o++){var u=t[o].index,e=U(S(u,!0)-n);if(!(e<=r))break;r=e,i=u}return i}function S(n,t){var i=h(s(n-1)-(n=n,"center"===(i=o.focus)?(l()-u(n,!0))/2:+i*u(n)||0));return t?(n=i,n=o.trimSpace&&r.is(Mt)?q(n,0,h(d(!0)-l())):n):i}function E(){var n=v("left");return N(p)[n]-N(g)[n]+h(i(!1))}function L(n){return S(n?c.Controller.getEnd():0,!!o.trimSpace)}return{mount:function(){e=c.Transition,t([B,Nn,K,J],m)},move:function(n,t,i,r){var o,u;n!==t&&(o=i<n,u=h(w(E(),o)),o?0<=u:u<=p[v("scrollWidth")]-N(g)[v("width")])&&(x(),b(w(E(),i<n),!0)),a(G),f(H,t,i,n),e.start(t,function(){a(3),f(Dn,t,i,n),r&&r()})},jump:y,translate:b,shift:w,cancel:x,toIndex:k,toPosition:S,getPosition:E,getLimit:L,exceededLimit:function(n,t){t=en(t)?E():t;var i=!0!==n&&h(t)<h(L(!1)),n=!1!==n&&h(t)>h(L(!0));return i||n},reposition:m}},Controller:function(o,u,e){var c,f,a,s,n=Q(o),t=n.on,i=n.emit,l=u.Move,d=l.getPosition,r=l.getLimit,v=l.toPosition,h=(n=u.Slides).isEnough,p=n.getLength,g=e.omitEnd,m=o.is(Pt),y=o.is(Mt),b=R(L,!1),w=R(L,!0),x=e.start||0,k=x;function S(){f=p(!0),a=e.perMove,s=e.perPage,c=_();var n=q(x,0,g?c:f-1);n!==x&&(x=n,l.reposition())}function E(){c!==_()&&i("ei")}function L(n,t){var i=a||(P()?1:s),i=O(x+i*(n?-1:1),x,!(a||P()));return-1===i&&y&&!Sn(d(),r(!n),1)?n?0:c:t?i:A(i)}function O(n,t,i){var r;return h()||P()?((r=function(n){if(y&&"move"===e.trimSpace&&n!==x)for(var t=d();t===v(n,!0)&&En(n,0,o.length-1,!e.rewind);)n<x?--n:++n;return n}(n))!==n&&(t=n,n=r,i=!1),n<0||c<n?n=a||!En(0,n,t,!0)&&!En(c,t,n,!0)?m?i?n<0?-(f%s||s):f:n:e.rewind?n<0?c:0:-1:z(D(n)):i&&n!==t&&(n=z(D(t)+(n<t?-1:1)))):n=-1,n}function A(n){return m?(n+f)%f||0:n}function _(){for(var n=f-(P()||m&&a?1:s);g&&0<n--;)if(v(f-1,!0)!==v(n,!0)){n++;break}return q(n,0,f-1)}function z(n){return q(P()?n:s*n,0,c)}function D(n){return P()?Y(n,c):xn((c<=n?f-1:n)/s)}function M(n){n!==x&&(k=x,x=n)}function P(){return!en(e.focus)||e.isNavigation}function I(){return o.state.is([G,rn])&&!!e.waitForTransition}return{mount:function(){S(),t([K,J,"ei"],S),t(Nn,E)},go:function(n,t,i){var r;I()||-1<(r=A(n=function(n){var t=x;{var i,r;C(n)?(r=n.match(/([+\-<>])(\d+)?/)||[],i=r[1],r=r[2],"+"===i||"-"===i?t=O(x+ +(""+i+(+r||1)),x):">"===i?t=r?z(+r):b(!0):"<"===i&&(t=w(!0))):t=m?n:q(n,0,c)}return t}(n)))&&(t||r!==x)&&(M(r),l.move(n,r,k,i))},scroll:function(n,t,i,r){u.Scroll.scroll(n,t,i,function(){var n=A(l.toIndex(d()));M(g?Y(n,c):n),r&&r()})},getNext:b,getPrev:w,getAdjacent:L,getEnd:_,setIndex:M,getIndex:function(n){return n?k:x},toIndex:z,toPage:D,toDest:function(n){return n=l.toIndex(n),y?q(n,0,c):n},hasFocus:P,isBusy:I}},Arrows:function(o,n,t){var i,r,u=Q(o),e=u.on,c=u.bind,f=u.emit,a=t.classes,s=t.i18n,l=n.Elements,d=n.Controller,v=l.arrows,h=l.track,p=v,g=l.prev,m=l.next,y={};function b(){var n=t.arrows;!n||g&&m||(p=v||j("div",a.arrows),g=S(!0),m=S(!1),i=!0,L(p,[g,m]),v||O(p,h)),g&&m&&(an(y,{prev:g,next:m}),ln(p,n?"":"none"),M(p,r=dt+"--"+t.direction),n&&(e([B,Dn,J,V,"ei"],E),c(m,"click",R(k,">")),c(g,"click",R(k,"<")),E(),I([g,m],Kn,h.id),f("arrows:mounted",g,m))),e(K,w)}function w(){x(),b()}function x(){u.destroy(),X(p,r),i?(T(v?[g,m]:p),g=m=null):P([g,m],ut)}function k(n){d.go(n,!0)}function S(n){return hn('<button class="'+a.arrow+" "+(n?a.prev:a.next)+'" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" width="40" height="40" focusable="false"><path d="'+(t.arrowPath||"m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z")+'" />')}function E(){var n,t,i,r;g&&m&&(r=o.index,n=d.getPrev(),t=d.getNext(),i=-1<n&&r<n?s.last:s.prev,r=-1<t&&t<r?s.first:s.next,g.disabled=n<0,m.disabled=t<0,I(g,nn,i),I(m,nn,r),f("arrows:updated",g,m,n,t))}return{arrows:y,mount:b,destroy:x,update:E}},Autoplay:function(n,t,i){var r,o,u=Q(n),e=u.on,c=u.bind,f=u.emit,a=qn(i.interval,n.go.bind(n,">"),function(n){var t=l.bar;t&&_(t,"width",100*n+"%"),f("autoplay:playing",n)}),s=a.isPaused,l=t.Elements,d=(u=t.Elements).root,v=u.toggle,h=i.autoplay,p="pause"===h;function g(){s()&&t.Slides.isEnough()&&(a.start(!i.resetProgress),o=r=p=!1,b(),f(Fn))}function m(n){p=!!(n=void 0===n?!0:n),b(),s()||(a.pause(),f(Xn))}function y(){p||(r||o?m(!1):g())}function b(){v&&(A(v,tn,!p),I(v,nn,i.i18n[p?"play":"pause"]))}function w(n){n=t.Slides.getAt(n);a.set(n&&+z(n.slide,Ct)||i.interval)}return{mount:function(){h&&(i.pauseOnHover&&c(d,"mouseenter mouseleave",function(n){r="mouseenter"===n.type,y()}),i.pauseOnFocus&&c(d,"focusin focusout",function(n){o="focusin"===n.type,y()}),v&&c(v,"click",function(){p?g():m(!0)}),e([H,Tn,J],a.rewind),e(H,w),v&&I(v,Kn,l.track.id),p||g(),b())},destroy:a.cancel,play:g,pause:m,isPaused:s}},Cover:function(n,t,i){var r=Q(n).on;function o(i){t.Slides.forEach(function(n){var t=fn(n.container||n.slide,"img");t&&t.src&&u(i,t,n)})}function u(n,t,i){i.style("background",n?'center/cover no-repeat url("
99https://s1.sitemn.gr/users/lib/Splide/v4/
vendor: 10,264 bytes, line 99
99'+t.src+'")':"",!0),ln(t,n?"none":"")}return{mount:function(){i.cover&&(r(Wn,R(u,!0)),r([B,K,J],R(o,!0)))},destroy:R(o,!1)}},Scroll:function(n,c,u){var f,a,t=Q(n),i=t.on,s=t.emit,l=n.state.set,d=c.Move,v=d.getPosition,e=d.getLimit,h=d.exceededLimit,p=d.translate,g=n.is(Mt),m=1;function y(n,t,i,r,o){var u,e=v(),i=(x(),!i||g&&h()||(i=c.Layout.sliderSize(),u=Ln(n)*i*xn(U(n)/i)||0,n=d.toPosition(c.Controller.toDest(n%i))+u),Sn(e,n,1));m=1,t=i?0:t||wn(U(n-e)/1.5,800),a=r,f=qn(t,b,R(w,e,n,o),1),l(rn),s(Tn),f.start()}function b(){l(3),a&&a(),s(V)}function w(n,t,i,r){var o=v(),r=(n+(t-n)*(t=r,(n=u.easingFunc)?n(t):1-Math.pow(1-t,4))-o)*m;p(o+r),g&&!i&&h()&&(m*=.6,U(r)<10&&y(e(h(!0)),600,!1,a,!0))}function x(){f&&f.cancel()}function r(){f&&!f.isPaused()&&(x(),b())}return{mount:function(){i(H,x),i([K,J],r)},destroy:x,scroll:y,cancel:r}},Drag:function(e,o,c){var f,t,u,a,s,l,d,v,n=Q(e),i=n.on,h=n.emit,p=n.bind,g=n.unbind,m=e.state,y=o.Move,b=o.Scroll,w=o.Controller,x=o.Elements.track,k=o.Media.reduce,r=(n=o.Direction).resolve,S=n.orient,E=y.getPosition,L=y.exceededLimit,O=!1;function j(){var n=c.drag;C(!n),a="free"===n}function N(n){var t,i,r;l=!1,d||(t=R(n),i=n.target,r=c.noDrag,cn(i,"."+mt+", ."+vt)||r&&cn(i,r)||!t&&n.button||(w.isBusy()?F(n,!0):(v=t?x:window,s=m.is([G,rn]),u=null,p(v,zt,A,jt),p(v,Dt,_,jt),y.cancel(),b.cancel(),z(n))))}function A(n){var t,i,r,o,u;m.is(6)||(m.set(6),h("drag")),n.cancelable&&(s?(y.translate(f+D(n)/(O&&e.is(Mt)?5:1)),u=200<M(n),t=O!==(O=L()),(u||t)&&z(n),l=!0,h("dragging"),F(n)):U(D(u=n))>U(D(u,!0))&&(t=n,i=c.dragMinThreshold,r=un(i),o=r&&i.mouse||0,r=(r?i.touch:+i)||10,s=U(D(t))>(R(t)?r:o),F(n)))}function _(n){var t,i,r;m.is(6)&&(m.set(3),h("dragged")),s&&(i=function(n){return E()+Ln(n)*Y(U(n)*(c.flickPower||600),a?1/0:o.Layout.listSize()*(c.flickMaxPages||1))}(t=function(n){if(e.is(Pt)||!O){var t=M(n);if(t&&t<200)return D(n)/t}return 0}(t=n)),r=c.rewind&&c.rewindByDrag,k(!1),a?w.scroll(i,0,c.snap):e.is(It)?w.go(S(Ln(t))<0?r?"<":"-":r?">":"+"):e.is(Mt)&&O&&r?w.go(L(!0)?">":"<"):w.go(w.toDest(i),!0),k(!0),F(n)),g(v,zt,A),g(v,Dt,_),s=!1}function T(n){!d&&l&&F(n,!0)}function z(n){u=t,t=n,f=E()}function D(n,t){return I(n,t)-I(P(n),t)}function M(n){return mn(n)-mn(P(n))}function P(n){return t===n&&u||t}function I(n,t){return(R(n)?n.changedTouches[0]:n)["page"+r(t?"Y":"X")]}function R(n){return"undefined"!=typeof TouchEvent&&n instanceof TouchEvent}function C(n){d=n}return{mount:function(){p(x,zt,on,jt),p(x,Dt,on,jt),p(x,_t,N,jt),p(x,"click",T,{capture:!0}),p(x,"dragstart",F),i([B,K],j)},disable:C,isDragging:function(){return s}}},Keyboard:function(t,n,i){var r,o,u=Q(t),e=u.on,c=u.bind,f=u.unbind,a=t.root,s=n.Direction.resolve;function l(){var n=i.keyboard;n&&(r="global"===n?window:a,c(r,Gt,h))}function d(){f(r,Gt)}function v(){var n=o;o=!0,p(function(){o=n})}function h(n){o||((n=Tt(n))===s(Bn)?t.go("<"):n===s(Hn)&&t.go(">"))}return{mount:function(){l(),e(K,d),e(K,l),e(H,v)},destroy:d,disable:function(n){o=n}}},LazyLoad:function(i,n,o){var t=Q(i),r=t.on,u=t.off,e=t.bind,c=t.emit,f="sequential"===o.lazyLoad,a=[Dn,V],s=[];function l(){D(s),n.Slides.forEach(function(r){gn(r.slide,Wt).forEach(function(n){var t=z(n,Ft),i=z(n,Xt);t===n.src&&i===n.srcset||(t=o.classes.spinner,t=fn(i=n.parentElement,"."+t)||j("span",t,i),s.push([n,r,t]),n.src||ln(n,"none"))})}),(f?p:(u(a),r(a,d),d))()}function d(){(s=s.filter(function(n){var t=o.perPage*((o.preloadPages||1)+1)-1;return!n[1].isWithin(i.index,t)||v(n)})).length||u(a)}function v(n){var t=n[0];M(n[1].slide,Et),e(t,"load error",R(h,n)),I(t,"src",z(t,Ft)),I(t,"srcset",z(t,Xt)),P(t,Ft),P(t,Xt)}function h(n,t){var i=n[0],r=n[1];X(r.slide,Et),"error"!==t.type&&(T(n[2]),ln(i,""),c(Wn,i,r),c(jn)),f&&p()}function p(){s.length&&v(s.shift())}return{mount:function(){o.lazyLoad&&(l(),r(J,l))},destroy:R(D,s),check:d}},Pagination:function(l,n,d){var v,h,t=Q(l),p=t.on,g=t.emit,m=t.bind,y=n.Slides,b=n.Elements,w=n.Controller,x=w.hasFocus,r=w.getIndex,e=w.go,c=n.Direction.resolve,k=b.pagination,S=[];function E(){v&&(T(k?o(v.children):v),X(v,h),D(S),v=null),t.destroy()}function L(n){e(">"+n,!0)}function O(n,t){var i=S.length,r=Tt(t),o=A(),u=-1,o=(r===c(Hn,!1,o)?u=++n%i:r===c(Bn,!1,o)?u=(--n+i)%i:"Home"===r?u=0:"End"===r&&(u=i-1),S[u]);o&&(dn(o.button),e(">"+u),F(t,!0))}function A(){return d.paginationDirection||d.direction}function _(n){return S[w.toPage(n)]}function z(){var n,t=_(r(!0)),i=_(r());t&&(X(n=t.button,tn),P(n,Qn),I(n,$,-1)),i&&(M(n=i.button,tn),I(n,Qn,!0),I(n,$,"")),g("pagination:updated",{list:v,items:S},t,i)}return{items:S,mount:function n(){E(),p([K,J,"ei"],n);var t=d.pagination;if(k&&ln(k,t?"":"none"),t){p([H,Tn,V],z);var t=l.length,i=d.classes,r=d.i18n,o=d.perPage,u=x()?w.getEnd()+1:kn(t/o);M(v=k||j("ul",i.pagination,b.track.parentElement),h=gt+"--"+A()),I(v,Z,"tablist"),I(v,nn,r.select),I(v,nt,A()===Jn?"vertical":"");for(var e=0;e<u;e++){var c=j("li",null,v),f=j("button",{class:i.page,type:"button"},c),a=y.getIn(e).map(function(n){return n.slide.id}),s=!x()&&1<o?r.pageX:r.slideX;m(f,"click",R(L,e)),d.paginationKeyboard&&m(f,"keydown",R(O,e)),I(c,Z,"presentation"),I(f,Z,"tab"),I(f,Kn,a.join(" ")),I(f,nn,On(s,e+1)),I(f,$,-1),S.push({li:c,button:f,page:e})}z(),g("pagination:mounted",{list:v,items:S},_(l.index))}},destroy:E,getAt:_,update:z}},Sync:function(i,n,t){var r=t.isNavigation,o=t.slideFocus,u=[];function e(){var n,t;i.splides.forEach(function(n){n.isParent||(f(i,n.splide),f(n.splide,i))}),r&&(n=Q(i),(t=n.on)(Mn,s),t(Yn,l),t([B,K],a),u.push(n),n.emit(Gn,i.splides))}function c(){u.forEach(function(n){n.destroy()}),D(u)}function f(n,r){n=Q(n);n.on(H,function(n,t,i){r.go(r.is(Pt)?i:n)}),u.push(n)}function a(){I(n.Elements.list,nt,t.direction===Jn?"vertical":"")}function s(n){i.go(n.index)}function l(n,t){b(Yt,Tt(t))&&(s(n),F(t))}return{setup:R(n.Media.set,{slideFocus:en(o)?r:o},!0),mount:e,destroy:c,remount:function(){c(),e()}}},Wheel:function(e,c,f){var n=Q(e).bind,a=0;function t(n){var t,i,r,o,u;n.cancelable&&(t=(u=n.deltaY)<0,i=mn(n),r=f.wheelMinThreshold||0,o=f.wheelSleep||0,U(u)>r&&o<i-a&&(e.go(t?"<":">"),a=i),u=t,f.releaseWheel&&!e.state.is(G)&&-1===c.Controller.getAdjacent(u)||F(n))}return{mount:function(){f.wheel&&n(c.Elements.track,"wheel",t,jt)}}},Live:function(n,t,i){var r=Q(n).on,o=t.Elements.track,u=i.live&&!i.isNavigation,e=j("span",wt),c=qn(90,R(f,!1));function f(n){I(o,rt,n),n?(L(o,e),c.start()):(T(e),c.cancel())}function a(n){u&&I(o,it,n?"off":"polite")}return{mount:function(){u&&(a(!t.Autoplay.isPaused()),I(o,ot,!0),e.textContent="â¦",r(Fn,R(a,!0)),r(Xn,R(a,!1)),r([Dn,V],R(f,!0)))},disable:a,destroy:function(){P(o,[it,ot,rt]),T(e)}}}}),qt={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:{slide:at,clone:st,arrows:dt,arrow:vt,prev:ht,next:pt,pagination:gt,page:mt,spinner:i+"spinner"},i18n:{prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function Bt(n,t,i){var r=t.Slides;function o(){r.forEach(function(n){n.style("transform","translateX(-"+100*n.index+"%)")})}return{mount:function(){Q(n).on([B,J],o)},start:function(n,t){r.style("transition","opacity "+i.speed+"ms "+i.easing),p(t)},cancel:on}}function Ht(u,n,e){var c,f=n.Move,a=n.Controller,s=n.Scroll,t=n.Elements.list,l=R(_,t,"transition");function i(){l(""),s.cancel()}return{mount:function(){Q(u).bind(t,"transitionend",function(n){n.target===t&&c&&(i(),c())})},start:function(n,t){var i=f.toPosition(n,!0),r=f.getPosition(),o=function(n){var t=e.rewindSpeed;if(u.is(Mt)&&t){var i=a.getIndex(!0),r=a.getEnd();if(0===i&&r<=n||r<=i&&0===n)return t}return e.speed}(n);1<=U(i-r)&&1<=o?e.useScroll?s.scroll(i,o,!1,t):(l("transform "+o+"ms "+e.easing),f.translate(i,!0),c=t):(f.jump(n),t())},cancel:i}}t=function(){function i(n,t){this.event=Q(),this.Components={},this.state=s(1),this.splides=[],this.n={},this.t={};n=C(n)?pn(document,n):n;bn(n,n+" is invalid."),t=d({label:z(this.root=n,nn)||"",labelledby:z(n,Zn)||""},qt,i.defaults,t||{});try{d(t,JSON.parse(z(n,f)))}catch(n){bn(!1,"Invalid JSON")}this.n=Object.create(d({},t))}var n=i.prototype;return n.mount=function(n,t){var i=this,r=this.state,o=this.Components;return bn(r.is([1,7]),"Already mounted!"),r.set(1),this.i=o,this.r=t||this.r||(this.is(It)?Bt:Ht),this.t=n||this.t,w(an({},Ut,this.t,{Transition:this.r}),function(n,t){n=n(i,o,i.n);(o[t]=n).setup&&n.setup()}),w(o,function(n){n.mount&&n.mount()}),this.emit(B),M(this.root,"is-initialized"),r.set(3),this.emit("ready"),this},n.sync=function(n){return this.splides.push({splide:n}),n.splides.push({splide:this,isParent:!0}),this.state.is(3)&&(this.i.Sync.remount(),n.Components.Sync.remount()),this},n.go=function(n){return this.i.Controller.go(n),this},n.on=function(n,t){return this.event.on(n,t),this},n.off=function(n){return this.event.off(n),this},n.emit=function(n){var t;return(t=this.event).emit.apply(t,[n].concat(o(arguments,1))),this},n.add=function(n,t){return this.i.Slides.add(n,t),this},n.remove=function(n){return this.i.Slides.remove(n),this},n.is=function(n){return this.n.type===n},n.refresh=function(){return this.emit(J),this},n.destroy=function(t){void 0===t&&(t=!0);var n=this.event,i=this.state;return i.is(1)?Q(this).on("ready",this.destroy.bind(this,t)):(w(this.i,function(n){n.destroy&&n.destroy(t)},!0),n.emit(a),n.destroy(),t&&D(this.splides),i.set(7)),this},Jt(i,[{key:"options",get:function(){return this.n},set:function(n){this.i.Media.set(n,!0,!0)}},{key:"length",get:function(){return this.i.Slides.getLength(!0)}},{key:"index",get:function(){return this.i.Controller.getIndex()}}]),i}();return t.defaults={},t.STATES=r,t},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).Splide=t();
99class SM_Filter{constructor(el,options={}){this._defaults={loadmore:"auto",designMode:!1,rendersettings:"rendersettings",filters:"selectedfilters",categories:"categories",errorMessageText:"",submitRerender:!1,defaultExternalLimit:30,forceInit:!1,logic:"AND"};this._statics={structurePrefix:"s-structure-layout-",loadmoreWrapper:"load-more",loadmoreButtonCls:"s-btn",loadmoreText:"",hidden:"s-hidden",paginationCls:"db-pagination",scrollViewPrefix:"scrollView",errorMessageCls:"s-error",};this._options=options?this._deepMerge(this._defaults,options):this._defaults;this._events={};this.initialParams=new URLSearchParams(location.search);this.render=el;this.renderID=this.render.dataset.filter} 100_deepMerge(arr){const argl=arguments.length;let retObj;if(Object.prototype.toString.call(arr)==="[object Array]"){retObj=[];for(let p in arr){retObj.push(arr[p])}}else{retObj={};for(let p in arr){retObj[p]=arr[p]}} 101for(let i=1;i<argl;i++){for(let p in arguments[i]){if(retObj[p]&&typeof retObj[p]==="object"){retObj[p]=this._deepMerge(retObj[p],arguments[i][p])}else{retObj[p]=arguments[i][p]}}} 102return retObj} 103_isArray(variable){return Array.isArray(variable)} 104_detectEnvironment(){const url=new URL(window.location.href);const page=url.searchParams.get("page");const layID=url.searchParams.get("layID");const isCMS=page!==null&&page==="vcmspage.php";
104const isDesign=url.pathname.includes("preview.php")&&layID!==null;const isLocal=isCMS||isDesign;const isPreview=isLocal?!1:url.hostname.includes("sitemn.gr");const projectPath=typeof cleanURL_path!=="undefined"?cleanURL_path:url.searchParams.get("SM_User")?`/users/${url.searchParams.get("SM_User")}`:url.pathname.split("/").filter((path,i)=>i<=2).join("/");return{local:isLocal,env:isCMS?"cms":isDesign?"design":isPreview?"preview":"live",baseUrl:`${url.hostname}${projectPath}`,}} 105_warnMsg(type){switch(type){case "el":{console.warn("SiteManager Filter: No render overview found.");return} 106case "object":{console.warn("SiteManager Filter: Error parsing render. Add the data attributes.");return} 107case "generic":{console.warn("SiteManager Filter: An error has occured.");return}}} 108_objectToUrl(obj){if(!obj)return obj;switch(this.type){case "external":return JSON.stringify(obj);case "dynamic":default:return Object.keys(obj).map((key)=>`${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join("&")}} 109_fetchData(url,data,type="POST"){return new Promise((resolve,reject)=>{const xhr=new XMLHttpRequest();xhr.open(type,url,!0);this.type==="external"?xhr.setRequestHeader("Content-Type","application/json"):xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xhr.onload=()=>{if(xhr.status===200){resolve(xhr.responseText)}else{reject({status:xhr.status,statusText:xhr.statusText,responseText:xhr.responseText,})}};xhr.onerror=function(){reject(Error("There was a network error."))};xhr.send(data)})} 110_buildErrorWindow(){const template=`<div class="s-error__window" style="position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 99999; background: #f55442; opacity: .9; padding: 3em; color: #fff; overflow: auto;"> 111 <header style="margin-bottom: 3em;"> 112 <h3 style="font-family: Arial, Helvetica, sans-serif, sans-serif; color: #fff; font-size: 2em; text-align: center; margin-bottom: .3em;">Some errors have been detected in your dynamic list.</h3> 113 <h4 style="font-family: Arial, Helvetica, sans-serif, sans-serif; color: #fff; font-size: 1.5em; text-align: center;">Please fix these errors before publishing your project!</h4> 114 </header> 115 <ul class="s-body__section" style="padding: 0; margin: 0; list-style-type: disc;"></ul> 116 </div>`;this.render.insertAdjacentHTML("afterbegin",template);this.render.style.minHeight="400px";this.errorWindow=this.render.querySelector(".s-error__window")} 117_setError(error){if(!this.errorWindow)this._buildErrorWindow();const body=this.errorWindow.querySelector(".s-body__section");const errorItem=`<li style="font-family: Arial, Helvetica, sans-serif, sans-serif;"> 118 ${error} 119 </li>`;body.insertAdjacentHTML("beforeend",errorItem)} 120_createErrorMessage(){const{hidden,errorMessageCls}=this._statics;let{errorMessageText}=this._options;if(errorMessageText==="")errorMessageText=this.filterbar?.dataset?.errorMessageText||"";this.error=document.createElement("div");this.error.textContent=errorMessageText;this.error.classList.add(errorMessageCls,hidden);this.renderContainer.append(this.error)} 121_setErrorMessage(){const{hidden}=this._statics;if(this.error){this.error.classList.remove(hidden);return}} 122_hideErrorMessage(){const{hidden}=this._statics;if(!this.error)return;this.error.classList.add(hidden)} 123_setURLParams(){const newParams=new URLSearchParams(window.location.search);const filters=this.getFilters();for(const[alias,params]of Object.entries(this.params)){newParams.delete(alias);for(const[key,value]of params.entries()){newParams.append(key,value)}} 124window.history.replaceState("","","?"+newParams.toString())} 125_clearRender(isTemplate=!1){const entries=isTemplate?[...this.renderContainer.content.children]:[...this.renderContainer.children];entries.forEach((entry)=>{if(entry===this.loadmore||entry===this.error)return;entry.remove()})} 126_detectErrors(){const{paginationCls}=this._statics;const hasPagination=this.render.querySelector(`.${paginationCls}`);if(hasPagination){this._setError("<b>Pagination Error:</b> As of now, pagination is not supported with dynamic filters.")} 127if(!this.loadmoreCheck){const rendersettings=JSON.parse(this.rendersettingsStart);switch(this.type){case "external":rendersettings.options.limit=1;break;case "dynamic":default:rendersettings.list_nr=1;break} 128this._fetchData(this.loadmoreUrl,this._objectToUrl(rendersettings)).then((response)=>{if(response==="no results"){this._setError("<b>Open Data Error:</b> Open data is not enabled. Please enable this option in the configuration of the collection.");return}}).catch((err)=>console.error(err))}} 129_detectLoadmore(){const{scrollViewPrefix}=this._statics;const loadmore=this.render.querySelector(`.${this._statics.loadmoreWrapper}`);if(loadmore){const nestedScript=loadmore.querySelector("script");
129if(nestedScript)nestedScript.remove();const id=loadmore.lastElementChild.id;this._statics.loadmoreText=loadmore.innerText;loadmore.remove();const script=this.render.querySelector("script");if(script)script.remove();if(id.startsWith(scrollViewPrefix)){this.onScroll=!0} 130return!0} 131return!1} 132_getPropertyBounds(property){return[]} 133_createDynamicFilterstring(logic){if(Object.keys(this._filters).length>0){const filterstring="("+Object.values(this._filters).join(`) ${logic} (`)+")";this.rendersettings.list_cat=`(${this.rendersettings.list_cat}) AND (${filterstring})`} 134if(Object.keys(this._fieldFilters).length>0){const fieldFilterstring="("+Object.values(this._fieldFilters).join(`) ${logic} (`)+")";this.rendersettings.list_filters+=`(${fieldFilterstring}) AND `} 135if(Object.keys(this._orderFilters).length>0){this.rendersettings.order_filters=Object.values(this._orderFilters).join(", ")} 136if(Object.keys(this._connectedFilters).length>0){this.rendersettings.connected=JSON.stringify(this._connectedFilters)} 137if(this._limit||this._limit===0){this.rendersettings.list_nr=this._limit} 138if(this._searchFilter?.value!==""&&this._searchFilter?.properties?.length>0){const searchFilterstring="("+this._searchFilter.properties.map(property=>'LOWER('+property+') LIKE `%'+this._searchFilter.value.toLowerCase()+'%`').join(" OR ")+")";this.rendersettings.list_filters+=`(${searchFilterstring}) AND `}} 139_createExternalFilterstring(logic){if(Object.keys(this._filters).length>0||Object.keys(this._fieldFilters).length>0){if(!this.rendersettings.options.hasOwnProperty("filter")||(!this.rendersettings.options.filter.hasOwnProperty("and")&&!this.rendersettings.options.filter.hasOwnProperty("or"))){this.rendersettings.options.filter={}} 140if(!this.rendersettings.options.filter.hasOwnProperty(logic)){const filters=JSON.parse(JSON.stringify(this.rendersettings.options.filter));this.rendersettings.options.filter[logic]=[];if(logic==="and"&&this.rendersettings.options.filter?.or){this.rendersettings.options.filter.and.push(filters);delete this.rendersettings.options.filter.or}} 141if(Object.keys(this._filters).length>0){if(logic==="or"&&this.rendersettings.options.filter?.and?.length===0){delete this.rendersettings.options.filter.and} 142if(logic==="or"&&this.rendersettings.options.filter?.and?.length>0){this.rendersettings.options.filter.and.push({or:Object.values(this._filters).flat(),});delete this.rendersettings.options.filter.or}else{this.rendersettings.options.filter[logic].push(...Object.values(this._filters).flat())}} 143if(Object.keys(this._fieldFilters).length>0){this.rendersettings.options.filter[logic].push(...Object.values(this._fieldFilters))}} 144if(Object.keys(this._orderFilters).length>0){if(!this.rendersettings.options.sorts) 145this.rendersettings.options.sorts=[];this.rendersettings.options.sorts.push(...Object.values(this._orderFilters))} 146if(this._searchFilter?.value!=="") 147this.rendersettings.options.search=this._searchFilter;if(this._limit||this._limit===0){this.rendersettings.options.limit=this._limit}} 148_createFilterstring(logic="AND",id=null,replaceOnEmpty=!0){this.rendersettings=JSON.parse(this.rendersettingsStart);if(this._events["change.before"]){this.emit("change.before","replace","filter")} 149switch(this.type){case "external":this._createExternalFilterstring(logic.toLowerCase());break;case "dynamic":default:this._createDynamicFilterstring(logic);break} 150this.loadEntries("replace","filter",id,replaceOnEmpty)} 151_getEndpoint(){switch(this.type){case "external":return this._environment.local?"https://s1.sitemn.gr/cmsfiles/ec_loadmore.php":`//${this._environment.baseUrl}swfiles/lib/external_content/loadmore.php`;case "dynamic":default:return this._environment.local?"https://s1.sitemn.gr/cmsfiles/loadmore.php":`//${this._environment.baseUrl}swfiles/lib/loadmore.php`}} 152_parseFetchResponse(response){switch(this.type){case "external":if(!response.success){throw new Error(response.message)} 153return{html:response.data?.reduce((acc,val)=>acc+val,"")||"",empty:!response.has_more,total:response.total,};case "dynamic":default:return response}} 154checkLoadmore(){this.rendersettings=JSON.parse(this.rendersettingsStart);let rendersettings={};let showAll=!1;switch(this.type){case "external":this._createExternalFilterstring(this.logic.toLowerCase());rendersettings=JSON.parse(JSON.stringify(this.rendersettings));showAll=rendersettings.options.limit===0;rendersettings.options.offset=rendersettings.options.limit;rendersettings.options.limit=1;break;case "dynamic":default:this._createDynamicFilterstring(this.logic);rendersettings=JSON.parse(JSON.stringify(this.rendersettings));showAll=parseInt(rendersettings.list_nr)===0;
154rendersettings.pageno=parseInt(rendersettings.list_nr)+1;rendersettings.list_nr=1;break} 155if(showAll&&this.loadmore){this.loadmore.classList.add(this._statics.hidden)} 156this._fetchData(this.loadmoreUrl,this._objectToUrl(rendersettings)).then((response)=>{if(response==="no results"){this._setError("<b>Open Data Error:</b> Open data is not enabled. Please enable this option in the configuration of the collection.");return} 157const data=this._parseFetchResponse(JSON.parse(response));const html=data.html;if(html!==""){if(this.loadmore) 158this.loadmore.classList.remove(this._statics.hidden);if(this.onScroll)this.initScroll();}else if(this.loadmore){this.loadmore.classList.add(this._statics.hidden)} 159if(this._events.total){this._total=data.total;this.emit("total",data.total)}}).catch((err)=>console.error(err))} 160initLoadmore(){const{loadmoreWrapper,loadmoreButtonCls,loadmoreText}=this._statics;this.loadmore=document.createElement("div");this.loadmore.classList.add(loadmoreWrapper);const button=document.createElement("button");button.classList.add(loadmoreButtonCls);button.textContent=loadmoreText;this.loadmore.append(button);this.renderContainer.append(this.loadmore);this.checkLoadmore()} 161initScroll(){const lastItem=[...this.renderContainer.children].reverse().find((item)=>!item.classList.contains(this._statics.errorMessageCls)&&item!==this.loadmore);if(!lastItem)return;const observer=new IntersectionObserver((entries,observer)=>{if(!entries[0].isIntersecting)return;observer.disconnect();if(this._events["change.before"]){this.emit("change.before","add","scroll")} 162switch(this.type){case "external":this.rendersettings.options.offset=this.rendersettings.options.offset+this.rendersettings.options.limit;break;case "dynamic":default:this.rendersettings.pageno=parseInt(this.rendersettings.pageno)+1;break} 163this.loadEntries("add","scroll")});observer.observe(lastItem)} 164initEvents(){if(this.loadmore){this.loadmore.addEventListener("click",(e)=>{if(!this.dynamicLoadmore){const button=e.target.closest(`.${this._statics.loadmoreButtonCls}`);if(!button)return} 165if(this._events["change.before"]){this.emit("change.before","add","loadmore")} 166switch(this.type){case "external":this.rendersettings.options.offset=this.rendersettings.options.offset+this.rendersettings.options.limit;break;case "dynamic":default:this.rendersettings.pageno=parseInt(this.rendersettings.pageno)+1;break} 167this.loadEntries("add","loadmore")})} 168if(this.resetButton){this.resetButton.addEventListener("click",()=>{this.reset()})}} 169loadFilter(filter){return new Promise((res,rej)=>{const filtersRenderSettings=this._deepMerge(this.rendersettings,{});filtersRenderSettings.returnType="filter";filtersRenderSettings.returnProperty=filter;this._fetchData(this.loadmoreUrl,this._objectToUrl(filtersRenderSettings)).then((response)=>{const data=JSON.parse(response);if(!data.success){throw new Error(data.message)} 170res(data.data)}).catch((err)=>{console.error(err);rej(err)})})} 171loadFilters(id){const filtersRenderSettings=this._deepMerge(this.rendersettings,{});filtersRenderSettings.returnType="filters";this._fetchData(this.loadmoreUrl,this._objectToUrl(filtersRenderSettings)).then((response)=>{const data=JSON.parse(response);if(!data.success){throw new Error(data.message)} 172this.categories=data.data;this.emit("rerender",this.categories,id)}).catch((err)=>console.error(err))} 173loadEntries(type,filter,id=null,replaceOnEmpty=!0){this.requests++;const addEntries=type==="add";const{hidden}=this._statics;if(this._environment.local&&this.type==="dynamic") 174this.rendersettings.list_nr_add=this.rendersettings.list_nr;this._fetchData(this.loadmoreUrl,this._objectToUrl(this.rendersettings)).then((response)=>{if(--this.requests>0)return;const data=JSON.parse(response);const formattedData=this._parseFetchResponse(data);const{html,empty,total}=formattedData;if(this._options.submitRerender&&this.type==="external"){this.loadFilters(id)} 175const isTemplate=this.renderContainer.nodeName==="TEMPLATE";if(html!==""){if(addEntries){if(this.loadmore&&!this.dynamicLoadmore){this.loadmore.insertAdjacentHTML("beforebegin",html)}else{if(isTemplate){const fragment=document.createRange().createContextualFragment(html);this.renderContainer.content.append(fragment)}else{this.renderContainer.insertAdjacentHTML("beforeend",html)}}}else{this._clearRender(isTemplate);
175if(this.loadmore&&!this.dynamicLoadmore){this.loadmore.insertAdjacentHTML("beforebegin",html)}else{if(isTemplate){const fragment=document.createRange().createContextualFragment(html);this.renderContainer.content.append(fragment)}else{this.renderContainer.insertAdjacentHTML("afterbegin",html)}}} 176if(typeof AOS!=="undefined"&&AOS){AOS.refreshHard()} 177if(this._events.total){this._total=data.total;this.emit("total",total)} 178if(this._events.change){this.emit("change",type,formattedData,filter);this.emit("change.after",type,formattedData,filter)} 179if(this.loadmore){if(empty){this.loadmore.classList.add(hidden)}else{this.loadmore.classList.remove(hidden)}} 180if(this.onScroll){if(!empty){this.initScroll()}} 181this._hideErrorMessage()}else{if(replaceOnEmpty){this._clearRender(isTemplate);if(this.loadmore)this.loadmore.classList.add(hidden);if(this._events.total){this._total=data.total;this.emit("total",total)} 182if(this._events.change){this.emit("change","empty",data,filter);this.emit("change.after","empty",data,filter)} 183this._setErrorMessage()}else{if(this._events.change){this.emit("change","empty",data,filter);this.emit("change.after","empty",data,filter)}}}}).catch((err)=>console.error(err))} 184on(name,listener){if(!this._events[name]){this._events[name]=[]} 185this._events[name].push(listener)} 186removeListener(name,listenerToRemove){if(!this._events[name]){throw new Error(`Can't remove a listener. Event "${name}" doesn't exists.`)} 187const filterListeners=(listener)=>listener!==listenerToRemove;this._events[name]=this._events[name].filter(filterListeners)} 188emit(name,...data){if(!this._events[name]){console.info(`Event "${name}" has no listeners.`);return} 189const fireCallbacks=(callback)=>{callback.call(this,...data)};this._events[name].forEach(fireCallbacks)} 190init(){const{structurePrefix}=this._statics;if(!this.render){this._warnMsg("el");return} 191this.connector=document.querySelector(`[data-render="${this.render.dataset.filter}"]`);if(!this.connector){const loadmore=this.render.querySelector(".load-more");if(!loadmore&&!this._options.forceInit)return} 192this.filterbar=document.querySelector(`[data-sm-filterbar][data-render="${this.render.dataset.filter}"]`);this.logic=this.filterbar?.dataset?.logic||this._options.logic;this.renderContainer=this.render.querySelector(`:scope > [class^="${structurePrefix}"]`)||this.render;try{this.rendersettings=JSON.parse(this.render.dataset[this._options.rendersettings]);this.categories=JSON.parse(this.render.dataset[this._options.categories])}catch(e){this._warnMsg("object");return} 193try{this.selectedfilters=JSON.parse(this.render.dataset[this._options.filters])}catch(e){this.selectedfilters=[]} 194this.type=this.rendersettings.hasOwnProperty("type")?this.rendersettings.type:"dynamic";switch(this.type){case "external":if(!this.rendersettings.hasOwnProperty("options")){this.rendersettings.options={limit:0,offset:0,sorts:[],}} 195if(!this.rendersettings.options.hasOwnProperty("limit")) 196this.rendersettings.options.limit=0;if(!this.rendersettings.options.hasOwnProperty("offset")) 197this.rendersettings.options.offset=0;if(!this.rendersettings.options.hasOwnProperty("sorts")) 198this.rendersettings.options.sorts=[];if(this.rendersettings.options.limit===0) 199this.rendersettings.options.limit=this._options.defaultExternalLimit;this.rendersettings.page_id=sw_var_pid;if(typeof sw_var_extcon_id!=="undefined") 200this.rendersettings.page_entry_id=sw_var_extcon_id;break;case "dynamic":default:this.rendersettings.list_filters=this.rendersettings.list_filters||this.selectedfilters.map((filter)=>"filter_"+filter.id+" = `"+filter.value+"` AND ").join("");this.rendersettings.sw_var_lid=this.rendersettings.sw_var_lid||sw_var_lid;this.rendersettings.session=!1;break} 201this.rendersettingsStart=JSON.stringify(this.rendersettings);this._environment=this._detectEnvironment();this.isLoading=!1;this.requests=0;this.params={};this._filters={};this._fieldFilters={};this._searchFilter={};this._orderFilters={};this._connectedFilters={};this._activeFilters={};this._total=null;this._limit=null;this.loadmoreUrl=this._getEndpoint();this.loadmore=document.querySelector(`[data-loadmore][data-render="${this.renderID}"]`);this.loadmoreCheck=!1;this.onScroll=!1;this.resetButton=document.querySelector(`[data-reset][data-render="${this.renderID}"]`);if(this.loadmore){this.dynamicLoadmore=!0;this.loadmoreCheck=!0;this._detectLoadmore();this.checkLoadmore()}else if(this._options.loadmore){if(this._detectLoadmore()){this.loadmoreCheck=!0;if(this.onScroll)this.checkLoadmore();else this.initLoadmore()}} 202if(this._environment.local){this._detectErrors()} 203this.error=document.querySelector(`[data-error][data-render="${this.renderID}"]`);if(!this.error)this._createErrorMessage();if(this._options.designMode&&this._environment.local) 204this.error.style.setProperty("display","block","important");this.initEvents();this.render.SM_Filter=this;
204const initEvent=new Event("init");this.render.dispatchEvent(initEvent);if(this._events.init){this.emit("init")}} 205isSubmitRerenderEnabled(){return this._options.submitRerender&&this.type==="external"} 206fetchData(object){return new Promise((resolve,reject)=>{this._fetchData(this.loadmoreUrl,this._objectToUrl(object)).then((response)=>{try{const data=JSON.parse(response);resolve({success:!0,data:data,})}catch(e){resolve({success:!1,data:response,})}}).catch((err)=>reject(err))})} 207getCategories(){if(!this.categories)return null;return this.categories} 208getType(){if(!this.type)return null;return this.type} 209getFilters(){return{filters:JSON.parse(JSON.stringify(this._filters)),fields:JSON.parse(JSON.stringify(this._fieldFilters)),search:JSON.parse(JSON.stringify(this._searchFilter)),orders:JSON.parse(JSON.stringify(this._orderFilters)),connected:JSON.parse(JSON.stringify(this._connectedFilters)),}} 210getPropertyBounds(property){return this._getPropertyBounds(property)} 211getRendersettings(){return this.rendersettings} 212getTotal(){return this._total} 213getActiveFilters(){return this._activeFilters} 214setParameters(alias,params){this.params[alias]=params;this._setURLParams()} 215deleteParameters(alias){this.params[alias]=new URLSearchParams();this._setURLParams()} 216updateParameters(){this._setURLParams()} 217setFilter(id,filterstring,submit=!0,activeFilters=[]){this._activeFilters[id]=activeFilters;if(filterstring===""||filterstring.length===0) 218delete this._filters[id];else this._filters[id]=filterstring;if(this._events["filter.set"]){this.emit("filter.set",id,activeFilters)} 219if(submit)this.submit(id);} 220clearInitialFilters(){this.rendersettingsStart=JSON.parse(this.rendersettingsStart);this.rendersettingsStart.list_cat="";this.rendersettingsStart=JSON.stringify(this.rendersettingsStart)} 221clearInitialFieldFilters(){this.rendersettingsStart=JSON.parse(this.rendersettingsStart);this.rendersettingsStart.list_filters="";this.rendersettingsStart=JSON.stringify(this.rendersettingsStart)} 222setFieldFilter(id,filterstring,submit=!0,replaceOnEmpty=!0){if(filterstring==="")delete this._fieldFilters[id];else this._fieldFilters[id]=filterstring;if(submit)this.submit(id,replaceOnEmpty);} 223setSubmitType(type){if(!["auto","change","submit"].includes(type))return;this.submitType=type} 224setLimit(limit,submit=!1){this._limit=limit;if(submit)this.submit();} 225resetLimit(submit=!1){this._limit=null;if(submit)this.submit();} 226setSearchFilter(value,properties,submit=!0){if(value==="")this._searchFilter={};else this._searchFilter={value:value,properties:properties,};if(submit)this.submit("search");} 227setOrderFilter(id,filterstring,submit=!0){if(filterstring==="")delete this._orderFilters[id];else this._orderFilters[id]=filterstring;if(submit)this.submit(id);} 228setConnectedFilter(filterobject,submit=!0){if(Object.keys(filterobject)===0)delete this._connectedFilters;else this._connectedFilters=filterobject;if(submit)this.submit();} 229setPage(page,type="replace",event="pagination"){this.rendersettings=JSON.parse(this.rendersettingsStart);switch(this.type){case "external":this._createExternalFilterstring(this.logic.toLowerCase());this.rendersettings.options.offset=Math.floor(this.rendersettings.options.limit*(page-1));break;case "dynamic":default:this._createDynamicFilterstring(this.logic);this.rendersettings.pageno=page;break} 230if(this._events["change.before"]){this.emit("change.before",type,event,page)} 231this.loadEntries(type,event)} 232setView(quantity){let activePage=1;let activeLimit=0;switch(this.type){case "external":activeLimit=this.rendersettings.options.limit;activePage=Math.floor(this.rendersettings.options.offset/activeLimit)+1;this.rendersettings.options.limit=quantity;break;case "dynamic":default:activeLimit=this.rendersettings.list_nr;activePage=this.rendersettings.pageno;this.rendersettings.list_nr=quantity;break}} 233reset(){if(this._events["reset.before"]){this.emit("reset.before")} 234this._filters={};this._fieldFilters={};this._searchFilter={};this._orderFilters={};this._connectedFilters={};this._activeFilters={};this._limit=null;this._createFilterstring(this.logic);
234if(this._events.reset){this.emit("reset")}} 235submit(id=null,replaceOnEmpty=!0){this._createFilterstring(this.logic,id,replaceOnEmpty)}};class SM_Categories{constructor(el,options={}){this.renderlist=el;this._defaults={limit:0,filter:[],sort:"",children:"none",parents:"all",delimiter:""};this._statics={render:"[data-sm-render]",delimiter:"s-delimiter"};this._options=options?{...this._defaults,...options}:this._defaults;this._fields={name:"[data-sm-categories-name]"};this._events=[]} 236_warnMsg(type){switch(type){case 'el':{console.warn('SiteManager Categories: HTML structure not found.');return} 237case 'categories':{console.warn('SiteManager Categories: Entry categories not found.');return} 238case 'content':{console.warn('SiteManager Categories: No template found.');return} 239case 'overview':{console.warn('SiteManager Categories: No overview found.');return} 240case 'generic':{console.warn('SiteManager Categories: An error has occured.');return}}} 241_setVariables(){this.categories=this.renderlist.dataset.smCategoriesObject;Object.entries(this._options).forEach(([key,value])=>{const dataValue=this.renderlist.getAttribute(`data-sm-categories-${key}`);if(dataValue&&dataValue!=="")this._options[key]=dataValue});this._options.limit=parseInt(this._options.limit);this._options.filter=JSON.parse(this._options.filter)} 242_findChildren(parent,list=[],memo=new Map()){if(memo.has(parent))return memo.get(parent);const children=this.categoryMap.get(parent.toString())||[];children.forEach(child=>{list.push(child);this._findChildren(child.id,list,memo)});memo.set(parent,list);return list} 243_sortAndLimitCategories(){const{sort,limit}=this._options;switch(sort){case "asc":this.categories=this.categories.sort((a,b)=>a.name>b.name?1:-1);break;case "desc":this.categories=this.categories.sort((a,b)=>a.name<b.name?1:-1);break;case "":default:break} 244if(limit&&limit!==0){this.categories=this.categories.slice(0,limit)} 245return!0} 246_parseCategories(){const{children,parents,filter}=this._options;try{this.categories=JSON.parse(this.categories);if(this.categories.length===0)return this.categories=[];this.categoryMap=new Map();this.categories.forEach(cat=>{if(!this.categoryMap.has(cat.prev_category)){this.categoryMap.set(cat.prev_category,[])} 247this.categoryMap.get(cat.prev_category).push(cat)});switch(children){case "direct":if(filter.length===0)this.categories=this.categories.filter(cat=>cat.prev_category==0||this.categoryMap.get("0")?.some(mapCat=>mapCat.id==cat.prev_category));else this.categories=this.categories.filter(cat=>filter.some(f=>f==cat.id||f==cat.prev_category));break;case "all":if(filter.length>0)this.categories=[...filter.reduce((acc,value)=>new Set([...acc,this.categories.find(cat=>cat.id==value),...this._findChildren(value)]),new Set())];break;case "none":default:if(filter.length===0)this.categories=this.categories.filter(cat=>cat.prev_category==0);else this.categories=this.categories.filter(cat=>filter.some(f=>f==cat.id));return this._sortAndLimitCategories()} 248if(!this.categories||this.categories.length===0||!this.categories[0])return this.categories=[];switch(parents){case "inserted":if(filter.length===0)this.categories=this.categories.filter(cat=>cat.prev_category!=0);else this.categories=this.categories.filter((cat,i,arr)=>!(filter.find(f=>f==cat.id)&&arr.find(c=>c.prev_category==cat.id)));break;case "none":if(filter.length===0)this.categories=this.categories.filter((cat,i,arr)=>!arr.find(c=>c.prev_category==cat.id));else this.categories=this.categories.filter(cat=>!filter.some(f=>f==cat.id));break;case "all":default:break} 249return this._sortAndLimitCategories()}catch(e){return!1}} 250_delimiter(){const{delimiter:text}=this._options;const{delimiter:delimiterClass}=this._statics;const delimiter=document.createElement("div");delimiter.classList.add(delimiterClass);delimiter.textContent=text;return delimiter} 251_build(){const{delimiter}=this._options;const template=this.renderlist.querySelector("template");if(!template)return this._warnMsg("content");const content=template.content;const structure=content.querySelector(":scope [class^=s-structure-layout-]");const wrapper=structure?structure:new DocumentFragment();const base=structure?structure.querySelector(":scope [class^=block-]"):content;if(!base)return this._warnMsg("content");
251this.categories.forEach((cat,i)=>{const node=base.cloneNode(!0);Object.entries(this._fields).forEach(([key,value])=>{const el=node.querySelector(value);if(!el)return;el.innerHTML=cat[key];if(el.hasAttribute("data-id"))el.setAttribute("data-id",cat.id);});const links=node.querySelectorAll("a");[...links].forEach(link=>{if(link.href.includes("{{id}}"))link.href=link.href.replaceAll("{{id}}",cat.id);});wrapper.append(node);if(delimiter&&delimiter!==""&&i!==this.categories.length)wrapper.append(this._delimiter());});if(structure)base.remove();this.renderlist.append(wrapper)} 252on(name,listener){if(!this._events[name]){this._events[name]=[]} 253this._events[name].push(listener)} 254removeListener(name,listenerToRemove){if(!this._events[name]){return console.info(`Event "${name}" has no listeners.`)} 255const filterListeners=(listener)=>listener!==listenerToRemove;this._events[name]=this._events[name].filter(filterListeners)} 256emit(name,...data){if(!this._events[name])return;const fireCallbacks=(callback)=>{callback.call(this,...data)};this._events[name].forEach(fireCallbacks)} 257async init(){if(!this.renderlist)return this._warnMsg("el");this._setVariables();if(!this.categories||this.categories==="")return this._warnMsg("el");if(!this._parseCategories())return this._warnMsg("categories");this._build();this.renderlist.dataset.smCategoriesInit=!0;this.emit("init")}}
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.