/**
* @package DPCalendar
* @copyright Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
var e='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">\x3c!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc. --\x3e<path d="M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>';document.querySelectorAll("select.dp-select:not(.dp-select_plain)").forEach((e=>{import("../../vendor/popperjs/core/popper.min.js?43859213").then((s=>{new t(e,Joomla.Text._("COM_DPCALENDAR_OPTIONS","")).init(s)}))}));class t{constructor(e,t){this.element=e,this.multiple=e.multiple,this.disabled=e.disabled,this.classes=Array.from(this.element.classList),this.classes.length<2&&this.classes.push("dp-select-container__input_unstyled"),this.multiple&&!t&&Array.from(this.element.options??[]).filter((e=>""===e.value)).forEach((e=>t=e.innerHTML)),this.langInputPlaceholder=t,e.addEventListener("change",(()=>{this.multiple?(this.optionsElement.innerHTML=this.getOptionsHTML(),this.optionsSelectedElement.innerHTML=this.getSelectedOptionsHTML(),this.optionsListener(),this.popperInstance.update()):this.selectValue(this.element.value)}))}init(e){Array.from(this.element.selectedOptions??[]).forEach((e=>e.selected=!0));const t=this.getSelectedOptionsHTML();if(this.element.classList.add("dp-select-element"),this.container=document.createElement("div"),this.container.classList.add("dp-select-container"),this.container.innerHTML=`<div class="dp-select-container__options" tabindex="0">${this.getOptionsHTML()}</div>\n <div class="dp-select-container__input ${this.classes.join(" ")}">\n\t <div class="dp-select-container__options-selected">${t}</div>\n\t <input type="text" class="dp-select-input" ${this.disabled?"disabled":""} placeholder="${t?"":this.langInputPlaceholder}" />\n </div>`,this.element.insertAdjacentElement("afterend",this.container),this.input=this.container.querySelector(".dp-select-input"),this.input.dataset.placeholder=this.input.placeholder??"",this.optionsElement=this.container.querySelector(".dp-select-container__options"),this.optionsSelectedElement=this.container.querySelector(".dp-select-container__options-selected"),this.popperInstance=e.createPopper(this.container.querySelector(".dp-select-container__input"),this.optionsElement,{placement:"bottom-start",modifiers:[{name:"offset",enabled:!0}]}),this.element.addEventListener("focus",(()=>this.input.focus())),this.container.querySelector(".dp-select-container__input").addEventListener("click",(()=>this.input.focus())),this.input.addEventListener("focus",(()=>{this.input.value&&(this.input.placeholder=this.input.value),this.input.value="",this.optionsElement.classList.add("open"),this.popperInstance.update()})),this.input.addEventListener("keydown",(e=>{const t=e.keyCode;let s=this.optionsElement.querySelector(".dp-select-option_selected");if(13===t&&s){this.selectValue(s.dataset.value);const e=this.find(s,!0);e&&e.classList.add("dp-select-option_selected")}if(27!==t&&9!==t||this.hideOptions(),40===t){null!==s&&s.classList.remove("dp-select-option_selected");const e=this.find(s,!0);e&&(e.classList.add("dp-select-option_selected"),this.optionsElement.scrollTop=e.offsetTop-100)}if(38===t){null!==s&&s.classList.remove("dp-select-option_selected");const e=this.find(s,!1);e&&(e.classList.add("dp-select-option_selected"),this.optionsElement.scrollTop=e.offsetTop-30)}})),document.addEventListener("click",(e=>{e.composedPath().includes(this.container)||this.hideOptions()})),this.input.addEventListener("input",(()=>{this.updateInputWidth();const e=this.getOptions().map((e=>("options"in e&&(e.options=e.options.filter((e=>e.label.toLowerCase().trim().includes(this.input.value.toLowerCase().trim())))),e))).filter((e=>"options"in e?e.options.length>0:e.label.toLowerCase().trim().includes(this.input.value.toLowerCase().trim())));this.optionsElement.innerHTML=this.getOptionsHTML(e),this.optionsListener()})),!this.multiple){const e=this.getOptions(this.element,!0).find((e=>e.value===this.element.value));if(e){const t=document.createElement("span");t.innerHTML=e.label,this.input.value=t.textContent}}this.updateInputWidth(),this.optionsListener()}optionsListener(){Array.from(this.optionsElement.querySelectorAll('.dp-select-option:not([data-disabled="true"])')).forEach((e=>{e.addEventListener("click",(()=>{document.body.contains(e)&&this.selectValue(e.dataset.value)}))})),Array.from(this.optionsSelectedElement.querySelectorAll('.dp-select-option:not([data-disabled="true"])')).forEach((e=>{e.addEventListener("click",(()=>{document.body.contains(e)&&this.selectValue(e.dataset.value)}))}))}selectValue(e){if(!this.multiple){this.element.value!==e&&(this.element.value=e,this.element.dispatchEvent(new Event("change")));const t=this.getOptions(this.element,!0).find((t=>t.value===e));if(t){const e=document.createElement("span");e.innerHTML=t.label,this.input.value=e.textContent,this.updateInputWidth()}return void this.hideOptions()}const t=Array.from(this.element.options).filter((e=>e.selected)).map((e=>e.value));Array.from(this.element.options).forEach((e=>e.selected=!1));const s=t.indexOf(e);-1!==s?t.splice(s,1):t.push(e),t.forEach((e=>this.element.querySelector('option[value="'+e+'"]').selected=!0)),this.element.dispatchEvent(new Event("change")),this.optionsElement.innerHTML=this.getOptionsHTML(),this.optionsSelectedElement.innerHTML=this.getSelectedOptionsHTML(),this.optionsListener(),this.popperInstance.update(),this.input.focus()}hideOptions(){this.optionsElement.innerHTML=this.getOptionsHTML(),this.optionsListener(),this.optionsElement.classList.remove("open")}getOptionsHTML(t=this.getOptions()){let s="";return t.filter((e=>!e.selected)).forEach((t=>{this.multiple&&""===t.value||(s+="options"in t?`<div class="dp-select-option-group">\n <span class="dp-select-option-group__label">${t.label}</span>\n ${this.getOptionsHTML(t.options)}\n </div>`:`<div class="dp-select-option" data-value="${t.value}" data-selected="${t.selected}" data-disabled="${t.disabled}">\n ${t.label?t.label:" "}\n ${t.selected&&this.multiple?'<span class="dp-select-option__icon">'+e+"</span>":""}\n </div>`)})),s}getSelectedOptionsHTML(t=this.getOptions()){if(!this.multiple)return"";let s="";return t.filter((e=>e.selected)).forEach((t=>{this.multiple&&""===t.value||(s+="options"in t?`\n <div class="dp-select-option-group">\n <span class="dp-select-option-group__label">${t.label}</span>\n ${this.getSelectedOptionsHTML(t.options)}\n </div>\n `:`\n <div class="dp-select-option" data-value="${t.value}" data-selected="${t.selected}" data-disabled="${t.disabled}">\n ${t.label}\n ${t.selected&&this.multiple?'<span class="dp-select-option__icon">'+e+"</span>":""}\n </div>`)})),this.input&&(this.input.placeholder=s?"":this.input.dataset.placeholder),s}getOptions(e=this.element,t=!1){const s=[];return Array.from(e.querySelectorAll("optgroup, option")).forEach((i=>{(i.parentElement===e||t)&&("OPTION"===i.tagName&&s.push({value:i.value,label:i.innerHTML.trim(),selected:this.multiple?i.selected:this.element.value===i.value,disabled:!!i.disabled}),t||"OPTGROUP"!==i.tagName||s.push({label:i.getAttribute("label"),options:this.getOptions(i)}))})),s}find(e,t){const s=Array.from(this.optionsElement.querySelectorAll(".dp-select-option"));if(null===e)return s[t?0:s.length-1];let i=s.findIndex((t=>t.dataset.value===e.dataset.value));return i=t?i+1:i-1,i>=0&&i<s.length?s[i]:s[i<0?s.length-1:0]}updateInputWidth(){this.input.style.width=(this.input.value?this.input.value.length+1:this.langInputPlaceholder.length+1)+"ch"}}