import{proxyCustomElement as e,HTMLElement as r,createEvent as t,h as i,Host as s,transformTag as o}from"@stencil/core/internal/client";import{d as l}from"./order-by-item.js";import{d as n}from"./property-selector.js";const a=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=t(this,"change",7),this.label="Sort Order",this.items=[],this.handleItemChange=e=>r=>{r.stopPropagation();const t=[...this.items];null===r.detail?t.splice(e,1):t[e]=r.detail,this.items=t,this.emitChange()},this.handleAddSortField=()=>{this.items=[...this.items,{"":"ASC"}],this.emitChange()}}componentWillLoad(){this.value&&this.value.length>0&&(this.items=[...this.value])}handleValueChange(e){e&&(e.length!==this.items.length||!e.every(((e,r)=>{const t=this.items[r];if(!t)return!1;const i=Object.keys(e)[0],s=Object.keys(t)[0];return i===s&&e[i]===t[s]})))&&(this.items=e.length>0?[...e]:[])}render(){return i(s,{key:"6ef5ee3cf7b67cc0f821272f9d552eab48b60065"},this.renderEmptyState(),this.renderOrderByEditor())}renderEmptyState(){return this.limetype?null:i("div",{class:"empty-state"},i("p",null,"Select a limetype to configure sorting"))}renderOrderByEditor(){return this.limetype?[this.renderHeader(),this.renderOrderByList(),this.renderActions()]:null}renderHeader(){return i("limel-header",{class:"is-narrow",heading:this.label,icon:"sorting_arrows"})}renderOrderByList(){return 0===this.items.length?null:i("div",{class:"order-by-list"},this.items.map(((e,r)=>this.renderItem(e,r))))}renderActions(){return i("limel-button",{label:"Add Sort Field",icon:"plus_math",onClick:this.handleAddSortField})}renderItem(e,r){const t=Object.keys(e)[0]||"";return i("limebb-lime-query-order-by-item",{key:`${t}-${r}`,class:"order-by-item",platform:this.platform,context:this.context,limetype:this.limetype,item:e,onItemChange:this.handleItemChange(r)})}emitChange(){this.change.emit(this.items)}static get watchers(){return{value:[{handleValueChange:0}]}}static get style(){return":host(limebb-lime-query-order-by-editor){display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.header h4{margin:0;font-size:1rem;font-weight:600;color:rgb(var(--contrast-1000))}.order-by-list{display:flex;flex-direction:column;gap:1rem;border:1px solid rgb(var(--contrast-300));border-radius:0.25rem;background-color:rgb(var(--contrast-50));min-height:4rem}.order-by-item{padding:0.5rem;border-radius:0.25rem;transition:background-color 0.2s}.order-by-item:hover{background-color:rgb(var(--contrast-100))}.actions{display:flex;width:100%}.summary{display:flex;justify-content:space-between;align-items:center;padding-top:0.5rem;border-top:1px solid rgb(var(--contrast-300))}.summary .count{font-size:0.875rem;font-weight:500;color:rgb(var(--contrast-900))}limel-header.is-narrow{--header-top-right-left-border-radius:0;width:calc(100% + var(--limebb-lime-query-builder-visual-mode-padding) * 2);margin-left:calc(var(--limebb-lime-query-builder-visual-mode-padding) * -1)}.empty-state{padding:0 2rem;text-align:center;color:rgb(var(--contrast-700))}"}},[1,"limebb-lime-query-order-by-editor",{platform:[16],context:[16],limetype:[1],value:[16],label:[1],items:[32]},void 0,{value:[{handleValueChange:0}]}]);function d(){"undefined"!=typeof customElements&&["limebb-lime-query-order-by-editor","limebb-lime-query-order-by-item","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-lime-query-order-by-editor":customElements.get(o(e))||customElements.define(o(e),a);break;case"limebb-lime-query-order-by-item":customElements.get(o(e))||l();break;case"limebb-property-selector":customElements.get(o(e))||n()}}))}export{a as O,d}