import{r as t,c as i,h as s,g as e}from"./p-BIwHMk6j.js";import{b as r}from"./p-D5qhls4G.js";import{E as o}from"./p-CwMJvF_Z.js";import{n as a}from"./p-ooVD-6_a.js";const h=class{constructor(s){t(this,s),this.change=i(this,"change"),this.layout="grid",this.handleChangeFilter=t=>{t.stopPropagation(),this.filter=t.detail},this.isIncluded=(t,i)=>this.isSeparator(t)?!(0===i&&!t.text):!this.filter||t.text.toLocaleLowerCase().includes(this.filter.toLocaleLowerCase()),this.isEmptyGroup=(t,i,s)=>{if(!this.isSeparator(t))return!1;const e=s[i+1];return!e||this.isSeparator(e)},this.handleChange=t=>{t.preventDefault(),this.handleItemChange(t.detail)},this.handleKeyDown=t=>{var i;if(t.key!==o)return;const s=null===(i=this.host.shadowRoot)||void 0===i?void 0:i.querySelector("limel-list"),e=this.getItems().filter(a(this.isSeparator));s&&e.length>0&&(s.focus(),this.handleItemChange(e[0]))}}render(){return[s("limel-input-field",{key:"314fbd746ab8a22f16ac001e02056e1e5325cdb6",tabIndex:0,value:this.filter,type:"search","leading-icon":"search",placeholder:this.translator.get("webclient.global-search-route"),onChange:this.handleChangeFilter,onKeyDown:this.handleKeyDown}),s("limel-list",{key:"8be5b8bb377375d362ff441349d9131d0eec24f9",items:this.getItems(),type:"selectable",class:{"has-interactive-items":!0,"has-grid-layout":"grid"===this.layout},onChange:this.handleChange})]}isSeparator(t){return!!t&&"object"==typeof t&&"separator"in t}get navigator(){return this.platform.get(r.Navigator)}get translator(){var t;return null===(t=this.platform)||void 0===t?void 0:t.get(r.Translate)}handleItemChange(t){this.change.emit(t),this.filter=void 0,this.navigator.navigate(t.path)}getItems(){return this.items.filter(this.isIncluded).filter(a(this.isEmptyGroup))}static get delegatesFocus(){return!0}get host(){return e(this)}};h.style=":host(limebb-browser){isolation:isolate;display:flex;flex-direction:column;background-color:rgba(var(--contrast-100))}limel-input-field{position:sticky;top:0;z-index:1;padding:0.5rem 0.75rem;background-color:rgba(var(--contrast-100), 0.75);backdrop-filter:blur(0.25rem);-webkit-backdrop-filter:blur(0.25rem)}";export{h as limebb_browser}