/**
* @package DPCalendar
* @copyright Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
function e(e){import("../dpcalendar.min.js?39007166").then((()=>{e.addEventListener("keydown",(t=>{const o=t.keyCode,n=e.parentElement.querySelector(".dp-autocomplete");let r=null;n&&(r=n.querySelector(".dp-autocomplete__result_selected")),13===o&&r&&r.click(),27!==o&&9!==o||!n||l(e),40===o&&r&&r.nextElementSibling&&(r.classList.remove("dp-autocomplete__result_selected"),r.nextElementSibling.classList.add("dp-autocomplete__result_selected"),n.scrollTop=r.offsetTop),38===o&&r&&r.previousElementSibling&&(r.classList.remove("dp-autocomplete__result_selected"),r.previousElementSibling.classList.add("dp-autocomplete__result_selected"),n.scrollTop=r.offsetTop-30)})),e.addEventListener("keyup",DPCalendar.debounce((t=>{const l=e.getAttribute("data-max-length")?e.getAttribute("data-max-length"):3;[13,27,38,40].includes(t.keyCode)||e.value.trim().length<l||e.dispatchEvent(new CustomEvent("dp-autocomplete-change"))}))),e.addEventListener("blur",(t=>{if(t.relatedTarget&&t.relatedTarget.classList.contains("dp-autocomplete__result"))return!0;if(!t.target.parentElement.querySelector(".dp-autocomplete"))return!0;l(e)}))}))}function t(e){let t=e.parentElement.querySelector(".dp-autocomplete");if(!t||t.items<1)return;const l=Array.from(t.children);let o=l.find((t=>t.dpItem.title==e.value));o||(o=l.find((t=>t.dpItem.title.indexOf(e.value)>-1))),o||(o=l[0]),o&&(l.forEach((e=>e.classList.remove("dp-autocomplete__result_selected"))),o.classList.add("dp-autocomplete__result_selected"),t.scrollTop=o.offsetTop),"none"===window.getComputedStyle(t).display&&DPCalendar.slideToggle(t,(()=>o?t.scrollTop=o.offsetTop:null))}function l(e){let t=e.parentElement.querySelector(".dp-autocomplete");t&&(DPCalendar.slideToggle(t),t.parentElement.removeChild(t))}function o(e,l){if(document.activeElement!==e)return;let o=e.parentElement.querySelector(".dp-autocomplete");o&&o.items===l?t(e):(o&&o.parentElement.removeChild(o),0!==l.length&&Promise.all([import("../../vendor/popperjs/core/popper.min.js?39007166"),import("../dpcalendar.min.js?39007166")]).then((([n])=>{o=document.createElement("div"),o.items=l,o.classList.add("dp-autocomplete"),e.parentElement.appendChild(o),l.forEach((t=>{const l=document.createElement("a");l.href="#",l.innerHTML='<strong class="dp-autocomplete__item-title">'+t.title+'</strong> <span class="dp-autocomplete__item-details">'+t.details+"</span>",l.classList.add("dp-autocomplete__result"),l.dpItem=t,l.addEventListener("click",(l=>(l.preventDefault(),e.value=t.title,e.dispatchEvent(new CustomEvent("dp-autocomplete-select",{detail:t})),o.parentElement.removeChild(o),!1))),l.addEventListener("mousedown",(e=>e.preventDefault())),o.appendChild(l)})),n.createPopper(e,o,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:e})=>{e.styles.popper.width=e.rects.reference.width+"px"},effect:({state:e})=>{e.elements.popper.style.width=e.elements.reference.offsetWidth+"px"},phase:"beforeWrite",requires:["computeStyles"]}]}),t(e)})))}export{e as create,l as destroy,o as setItems,t as show};