1/** 2 * @package DPCalendar 3 * @copyright Digital Peak GmbH. <https://www.digital-peak.com> 4 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL 5 */ 6function e(e){import("../dpcalendar.min.js?65028927").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?65028927"),import("../dpcalendar.min.js?65028927")]).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};
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.