import{r as t,e as i,h as s,g as e}from"./p-15c07fa9.js";import{ElementIDUtils as h}from"@sankhyalabs/core";import{F as a}from"./p-ff1990ad.js";import{E as n}from"./p-1a68fb59.js";const r=class{constructor(s){t(this,s),this.valueChanged=i(this,"valueChanged",7),this._startDateLabel="Inicial",this._endDateLabel="Final",this._toLabel="até",this._defaultEmptyValue={start:null,end:null},this.internalChange={start:!1,end:!1},this.config=void 0,this.getMessage=void 0,this.value=this._defaultEmptyValue,this.presentationMode=n.CHIP,this.errorMessage=void 0}configChanged(t,i){this.internalChange.end?this.internalChange.end=!1:this.internalChange.start?this.internalChange.start=!1:!t&&i||!(null==t?void 0:t.start)&&!(null==t?void 0:t.end)?this.clearValue():!t||t.start===(null==i?void 0:i.start)&&t.end===(null==i?void 0:i.end)||(this.valueStart=this.parseDate(t.start),this.valueEnd=this.parseDate(t.end))}ezChangeListener(t,i){this.errorMessage=void 0,this.internalChange[i]=!0,this.value=Object.assign(Object.assign({},this.value||{}),{[i]:t.detail?this.parseDate(t.detail):null}),this.valueChanged.emit(this.value)}async setFocus(){this._startDate.setFocus()}async clearValue(){this.value=this.config.value||this._defaultEmptyValue,this.valueStart=this.getDate("start"),this.valueEnd=this.getDate("end"),this._startDate.value=this.valueStart,this._endDate.value=this.valueEnd}componentDidLoad(){this._element&&(h.addIDInfo(this._element,"filterContentEditor"),this._element.querySelectorAll("ez-date-input").forEach((t=>{t.shadowRoot.querySelector("ez-text-input").style.setProperty("--ez-text-input__min-width","120px")})))}parseDate(t){return t instanceof Date?t:"string"==typeof t?((t=new Date(t)).setMinutes(t.getMinutes()+t.getTimezoneOffset()),t):null}getDate(t){return this.parseDate(this.value?this.value[t]:null)}async show(){this._startDate.setFocus()}buildLabel(){if(this.presentationMode===n.CHIP)return s("label",{class:"ez-text ez-text--medium ez-text--primary ez-margin--medium"},this._toLabel)}componentWillLoad(){this.getMessage&&(this._startDateLabel=this.getMessage("snkFilterBar.labelStart"),this._endDateLabel=this.getMessage("snkFilterBar.labelEnd"),this._toLabel=this.getMessage("snkFilterBar.labelTo")),this.valueStart=this.getDate("start"),this.valueEnd=this.getDate("end")}render(){if(this.config&&this.config.type===a.PERIOD)return s("ez-tooltip",{active:!1===this.config.enabled,message:this.config.disabledMessage,type:"warning"},s("div",{class:"ez-col ez-col--nowrap"},s("ez-date-input",{id:`${this.config.id}_start`,class:this.presentationMode===n.MODAL?"ez-padding-right--medium":"",label:this._startDateLabel,ref:t=>this._startDate=t,enabled:this.config.enabled,value:this.valueStart,errorMessage:this.errorMessage,onEzInput:t=>this.ezChangeListener(t,"start")}),this.buildLabel(),s("ez-date-input",{id:`${this.config.id}_end`,label:this._endDateLabel,ref:t=>this._endDate=t,enabled:this.config.enabled,value:this.valueEnd,errorMessage:this.errorMessage,onEzInput:t=>this.ezChangeListener(t,"end")})))}get _element(){return e(this)}static get watchers(){return{value:["configChanged"]}}};export{r as snk_filter_period}