/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{A as t,B as a,D as r,H as c,g as n,i as o,q as i,z as l}from"./7AMLQYVM.js";var d=n`:host{display:flex}:host([disabled]){opacity:.25;pointer-events:none}button{overflow:hidden;background-color:transparent;align-items:center;border:none;border-radius:0;box-sizing:border-box;cursor:pointer;display:flex;font-family:inherit;gap:var(--calcite-space-sm);height:100%;justify-content:center;outline-color:transparent;outline-offset:0;padding:3px 0;padding-inline:3px var(--calcite-space-sm);position:relative;text-decoration:none;user-select:none;text-align:center;-webkit-appearance:none;width:100%;&:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-brand);outline-offset:var(--calcite-border-width-md)}&:hover{text-decoration:none}}.preview{border:var(--calcite-border-width-sm) solid #949494;display:flex;align-items:center;flex-grow:1}.container{display:flex;gap:5px;width:100%}::slotted([slot="preview"]){flex-grow:1;display:flex}calcite-icon{color:var(--calcite-color-text-3)}`,s=class extends a{constructor(){super(),this.panelEl=l(),this.open=!1,this.disabled=!1,this.iconEnd="pencil",this.label="",this.arcgisPopoverOpen=i(),this.arcgisPopoverClose=i(),this.listenOn(document.body,"arcgisPopoverOpen",this.onPopoverOpen)}static{this.properties={open:16,disabled:7,heading:1,iconEnd:1,intlDone:1,label:1,popoverProps:0}}static{this.styles=d}async close(){this.onPopoverClose()}async setFocus(){this.buttonEl?.focus()}setPreviewContainerRef(e){this.previewContainerEl=e}setButtonRef(e){this.buttonEl=e}handlePopoverOpen(e){this.panelEl.value.closed=!1,this.arcgisPopoverOpen.emit(),e.stopPropagation()}handlePopoverKeyUp({key:e}){e==="Escape"&&this.onPopoverClose()}onPopoverOpen(e){this.open&&(e.composedPath().includes(this.el)||(this.open=!1))}onPopoverClose(){this.open=!1,this.arcgisPopoverClose.emit(),setTimeout(()=>this.buttonEl?.focus(),300)}handlePanelClose(e){e.stopPropagation(),this.onPopoverClose()}handleButtonClick(){this.open=!this.open,this.open&&setTimeout(()=>{this.panelEl.value?.setFocus()},300)}render(){let{popoverProps:e}=this;return o`<calcite-popover pointer-disabled trigger-disabled @keyup=${this.handlePopoverKeyUp} .label=${this.label} .offsetDistance=${e?.offsetDistance??0} .offsetSkidding=${e?.offsetSkidding??0} .flipDisabled=${e?.flipDisabled??!1} .open=${this.disabled?!1:this.open} .overlayPositioning=${e?.overlayPositioning??"fixed"} .placement=${e?.placement??"bottom"} @calcitePopoverOpen=${this.handlePopoverOpen} @calcitePopoverClose=${p=>p.stopPropagation()} .referenceElement=${e?.refElement??this.previewContainerEl}><calcite-panel closable .heading=${this.heading} style=${r(e?.maxHeight?{maxHeight:e.maxHeight}:void 0)} @calcitePanelClose=${this.handlePanelClose} ${t(this.panelEl)}><slot name=content></slot><calcite-button appearance=solid slot=footer width=full .label=${this.intlDone} @click=${this.onPopoverClose}>${this.intlDone}</calcite-button></calcite-panel></calcite-popover><div class="container"><div class="preview" ${t(this.setPreviewContainerRef)}><button .disabled=${this.disabled} @click=${this.handleButtonClick} type=button .ariaLabel=${this.label} ${t(this.setButtonRef)}><slot name=preview></slot>${this.iconEnd?o`<calcite-icon .icon=${this.iconEnd} scale=s></calcite-icon>`:null}</button></div><slot name=content-end></slot></div>`}};c("arcgis-picker-input",s);export{s as ArcgisPickerInput};
