`}};const rv=class extends o{init(){this._refs={header:document.createElement("e-criteria-template-header"),footer:document.createElement("e-criteria-template-footer")},this._emitter=new Ns,this._header=new nv,this._footer=new av(this._emitter),this._state={uuid:io(),condition:"",key:""},this._emitter.on("apply",this._apply.bind(this)),this._emitter.on("cancel",this._cancel.bind(this)),this.addEventListener("change",(e=>e.stopPropagation()))}static get observedAttributes(){return["key"]}connectedCallback(){super._cleanupContainer("e-criteria-template-header"),super._cleanupContainer("e-criteria-template-footer"),this.appendChild(this._refs.header),this.appendChild(this._refs.footer),this._dispatchUpdateEvent()}disconnectedCallback(){this._dispatchEvent("delete")}set key(e){this._state.key=e,this._dispatchUpdateEvent()}set order(e){this.style.order=e}show(e){this.style.display="flex",this._state.condition=e,this._render()}_render(){Xr(this._refs.header,this._header.render(this._state.condition.label)),Xr(this._refs.footer,this._footer.render())}_apply(){this._dispatchEvent("apply"),this.hide()}_cancel(){this._dispatchEvent("cancel"),this.hide()}hide(){this.style.removeProperty("display")}_dispatchUpdateEvent(){this.parentNode&&this._state.key&&this._dispatchEvent("update")}_dispatchEvent(e){this.dispatchEvent(new CustomEvent(`criteriatemplate.${e}`,{bubbles:!0,detail:this._state}))}};const ov=class{constructor(e){this._element=e,this._render=eu.bind(e)}render(e){this._render`${e}`}get element(){return this._element}};const lv=class{constructor(e,t){this._element=e,this._render=eu.bind(e),this._emitter=t}handleEvent(e){if("click"!==e.type)return;const t=e.currentTarget.getAttribute("data-action");this._emitter.emit(t)}render(){this._render`
`}get element(){return this._element}};const dv=class extends o{init(){this._emitter=new Ns,this._header=new ov(document.createElement("e-criteria-template-header")),this._footer=new lv(document.createElement("e-criteria-template-footer"),this._emitter),this._state={uuid:io(),condition:"",key:""},this._emitter.on("apply",this._apply.bind(this)),this._emitter.on("cancel",this._cancel.bind(this)),this.addEventListener("change",(e=>e.stopPropagation()))}static get observedAttributes(){return["key"]}connectedCallback(){super._cleanupContainer("e-criteria-template-header"),super._cleanupContainer("e-criteria-template-footer"),this.appendChild(this._header.element),this.appendChild(this._footer.element),this._dispatchUpdateEvent()}disconnectedCallback(){this._dispatchEvent("delete")}set key(e){this._state.key=e,this._dispatchUpdateEvent()}set order(e){this.style.order=e}show(e){this.style.display="flex",this._state.condition=e,this._header.render(e.label),this._footer.render()}_apply(){this._dispatchEvent("apply"),this.hide()}_cancel(){this._dispatchEvent("cancel"),this.hide()}hide(){this.style.removeProperty("display")}_dispatchUpdateEvent(){this.parentNode&&this._state.key&&this._dispatchEvent("update")}_dispatchEvent(e){this.dispatchEvent(new CustomEvent(`criteriatemplate.${e}`,{bubbles:!0,detail:this._state}))}};const cv=class{constructor(e){this._emitter=e}handleEvent(e){e.stopPropagation(),this._emitter.emit(e.currentTarget.getAttribute("data-action"))}render(e){return Jr`
${e.header}
${this._renderValues(e)}
`}_renderValues(e){return(e.valueLabelFormatter?this._getFormattedValues(e):e.values.map((e=>e.value))).map((e=>Jr`
${e}`))}_getFormattedValues(e){let t=e.valueLabelFormatter({values:e.values,conditionTypeKey:e.typeKey});return Array.isArray(t)?t:[t]}};const hv=class extends o{init(){this._emitter=new Ns,this._configChangeCallback=this._updateTranslations.bind(this),this._state={header:"",disabled:!1,translations:{editActionTooltip:Dl.translate("components.criteriaCondition.editActionTooltip"),deleteActionTooltip:Dl.translate("components.criteriaCondition.deleteActionTooltip")},values:[],order:0,typeKey:"",valueLabelFormatter:null},this._template=new cv(this._emitter),this._emitter.on("edit",this._onEdit.bind(this)),this._emitter.on("delete",this._onDelete.bind(this)),this.addEventListener("click",this._onEdit.bind(this))}connectedCallback(){Sn.subscribe(this._configChangeCallback)}disconnectedCallback(){Sn.unsubscribe(this._configChangeCallback)}set values(e){this._state.values=e,this.render()}set header(e){this._state.header=e,this.render()}set typeKey(e){this._state.typeKey=e,this.render()}get typeKey(){return this._state.typeKey}get header(){return this._state.header}set disabled(e){this._state.disabled=e,this.render()}set order(e){this._state.order=e,this.style.order=this._state.order}get order(){return this._state.order}set valueLabelFormatter(e){this._state.valueLabelFormatter=e,this.render()}get valueLabelFormatter(){return this._state.valueLabelFormatter}render(){Xr(this,this._template.render(this._state))}hide(){this.style.display="none"}show(){this.style.removeProperty("display")}_updateTranslations(){this._state.translations={editActionTooltip:Dl.translate("components.criteriaCondition.editActionTooltip"),deleteActionTooltip:Dl.translate("components.criteriaCondition.deleteActionTooltip")},this.render()}_onEdit(){this._state.disabled||this.dispatchEvent(new CustomEvent("criteriacondition.edit",{bubbles:!0}))}_onDelete(){this.dispatchEvent(new CustomEvent("criteriacondition.delete",{bubbles:!0}))}};const uv=class{constructor(e,t){this._render=eu.bind(e),this._emitter=t}handleEvent(e){e.stopPropagation(),this._emitter.emit(e.currentTarget.getAttribute("data-action"))}render(e){this._render`
${e.header}
${this._renderValues(e)}
`}_renderValues(e){return(e.valueLabelFormatter?this._getFormattedValues(e):e.values.map((e=>e.value))).map((e=>eu.wire()`
${e}`))}_getFormattedValues(e){let t=e.valueLabelFormatter({values:e.values,conditionTypeKey:e.typeKey});return Array.isArray(t)?t:[t]}};const pv=class extends o{init(){this._emitter=new Ns,this._configChangeCallback=this._updateTranslations.bind(this),this._state={header:"",disabled:!1,translations:{editActionTooltip:Dl.translate("components.criteriaCondition.editActionTooltip"),deleteActionTooltip:Dl.translate("components.criteriaCondition.deleteActionTooltip")},values:[],order:0,typeKey:"",valueLabelFormatter:null},this._template=new uv(this,this._emitter),this._emitter.on("edit",this._onEdit.bind(this)),this._emitter.on("delete",this._onDelete.bind(this)),this.addEventListener("click",this._onEdit.bind(this))}connectedCallback(){Sn.subscribe(this._configChangeCallback)}disconnectedCallback(){Sn.unsubscribe(this._configChangeCallback)}set values(e){this._state.values=e,this.render()}set header(e){this._state.header=e,this.render()}set typeKey(e){this._state.typeKey=e,this.render()}get typeKey(){return this._state.typeKey}get header(){return this._state.header}set disabled(e){this._state.disabled=e,this.render()}set order(e){this._state.order=e,this.style.order=this._state.order}get order(){return this._state.order}set valueLabelFormatter(e){this._state.valueLabelFormatter=e,this.render()}get valueLabelFormatter(){return this._state.valueLabelFormatter}render(){this._template.render(this._state)}hide(){this.style.display="none"}show(){this.style.removeProperty("display")}_updateTranslations(){this._state.translations={editActionTooltip:Dl.translate("components.criteriaCondition.editActionTooltip"),deleteActionTooltip:Dl.translate("components.criteriaCondition.deleteActionTooltip")},this.render()}_onEdit(){this._state.disabled||this.dispatchEvent(new CustomEvent("criteriacondition.edit",{bubbles:!0}))}_onDelete(){this.dispatchEvent(new CustomEvent("criteriacondition.delete",{bubbles:!0}))}},mv="bottom";const gv=class extends o{init(){this.addEventListener("click",(()=>this._open({force:!1}))),this._state={popover:null,disabled:!1,removeOnDestroy:!1,adjustWidth:!1,placement:mv,beforeCloseCallback:()=>{}},this._arrowElement=this._createArrowElement()}connectedCallback(){this.dispatchEvent(new CustomEvent("popover.connect",{bubbles:!0}))}static get observedAttributes(){return["popover","opened","disabled","remove-on-destroy","local","adjust-width","placement"]}set popover(e){this._state.popover="string"==typeof e?document.getElementById(e):e}set opened(e){this._convertAttributeToBoolean(e)?this._open({force:!0}):this._close()}set disabled(e){this._state.disabled=this._convertAttributeToBoolean(e)}set removeOnDestroy(e){this._state.removeOnDestroy=this._convertAttributeToBoolean(e)}set local(e){this._state.local=this._convertAttributeToBoolean(e)}set adjustWidth(e){this._state.adjustWidth=this._convertAttributeToBoolean(e)}set placement(e){this._state.placement=e||mv}set beforeCloseCallback(e){this._state.beforeCloseCallback=e}get opened(){return em.isOpened(this)}get disabled(){return this._state.disabled}get local(){return this._state.local}get placement(){return this._state.placement}get _popoverElement(){return this._state.popover}update(){em.updatePopper(this)}_open({force:e}){this._state.disabled||this.opened||(this._popoverElement.appendChild(this._arrowElement),em.openPopper({reference:this,opener:this,force:e,local:this._state.local,popperElement:this._popoverElement,popperConfig:{modifiers:{arrow:{element:this._arrowElement}},removeOnDestroy:this._state.removeOnDestroy,placement:this._state.placement,onCreate:e=>this._onOpen(e)},closeCallback:()=>this._onClose(),beforeCloseCallback:this._state.beforeCloseCallback}))}_close(){em.close(this)}_onOpen(){this._state.adjustWidth&&this._calcPopoverSize(),this._dispatchEvent("open")}_onClose(){this._popoverElement.style.removeProperty("min-width"),this._dispatchEvent("close")}_dispatchEvent(e){this.dispatchEvent(new CustomEvent(e,{detail:{popoverElement:this._popoverElement}}))}_calcPopoverSize(){this._popoverElement.style.minWidth=`${this.offsetWidth}px`}_createArrowElement(){const e=document.createElement("div");return e.className="e-popover__arrow",e}};const _v=class extends o{init(){this._icon=this._createIcon(),this._anchor=this._createAnchor(),this.addEventListener("mouseenter",this._setWidth.bind(this)),this.addEventListener("mouseleave",this._unsetWidth.bind(this)),this.addEventListener("focusin",this._setWidth.bind(this)),this.addEventListener("focusout",this._unsetWidth.bind(this))}connectedCallback(){super._cleanupContainer("e-icon"),this.insertAdjacentElement("afterbegin",this._icon),this.tabIndex=-1,"A"!==this.parentNode.tagName&&"BUTTON"!==this.parentNode.tagName||(this.parentNode.addEventListener("focusin",this._setWidth.bind(this)),this.parentNode.addEventListener("focusout",this._unsetWidth.bind(this)))}static get observedAttributes(){return["href"]}get href(){return this._anchor.getAttribute("href")}set href(e){null!==e?(this._anchor.setAttribute("href",e),this.insertAdjacentElement("beforeend",this._anchor)):this._anchor.remove()}_createIcon(){const e=document.createElement("e-icon");return e.className="e-layout-back-button__icon",e.icon="e-move-left",e.size="small",e.color="inherit",e}_createAnchor(){const e=document.createElement("a");return e.classList.add("e-layout-back-button__link"),e}_setWidth(){if(this._isOpen)return;this.classList.add("e-layout-back-button-open"),this.style.width="auto";const e=this.offsetWidth;this.style.removeProperty("width"),this.offsetWidth,this.style.width=`${e}px`}_unsetWidth(){this._isOpen&&(this.classList.remove("e-layout-back-button-open"),this.style.removeProperty("width"))}get _isOpen(){return this.classList.contains("e-layout-back-button-open")}};class fv{#W="";#U="";#G=!1;#K=!1;#Y=!1;#X=!1;#P="date";#J=!1;#Q=void 0;#Z=void 0;#ee=[];#te=!1;#ie=void 0;#se=!1;#ne=!1;#ae=!1;#re=!1;constructor(e){this.requestRender=e.requestRender}get value(){return this.#W}set value(e){this.#W=e,this.requestRender()}get inputValue(){return this.#U}set inputValue(e){this.#U=e,this.requestRender()}get clearHidden(){return this.#G}set clearHidden(e){this.#G=e,this.requestRender()}get internalError(){return this.#K}set internalError(e){this.#K=e,this.requestRender()}get error(){return this.#Y}set error(e){this.#Y=e,this.requestRender()}get disabled(){return this.#X}set disabled(e){this.#X=e,this.requestRender()}get type(){return this.#P}set type(e){["date","datetime","daterange","datetimerange"].includes(e)&&(this.#P=e,this.requestRender())}get inline(){return this.#J}set inline(e){this.#J=e,this.requestRender()}get minDate(){return this.#Q}set minDate(e){this.#Q=e,this.requestRender()}get maxDate(){return this.#Z}set maxDate(e){this.#Z=e,this.requestRender()}get presets(){return this.#ee}set presets(e){this.#ee=e,this.requestRender()}get todayHidden(){return this.#te}set todayHidden(e){this.#te=e,this.requestRender()}get resetTime(){return this.#ie}set resetTime(e){this.#ie=e,this.requestRender()}get manualApply(){return this.#se}set manualApply(e){this.#se=e,this.requestRender()}get startDisabled(){return this.#ne}set startDisabled(e){this.#ne=e,this.requestRender()}get endDisabled(){return this.#ae}set endDisabled(e){this.#ae=e,this.requestRender()}get isPresetsDisabled(){return this.#re}set isPresetsDisabled(e){this.#re=e,this.requestRender()}get isRange(){return["daterange","datetimerange"].includes(this.#P)}get hasTime(){return["datetime","datetimerange"].includes(this.#P)}get hasError(){return this.#Y||this.#K}upsertPreset(e){const t=this.#oe(e.uuid),i=this.#ee.indexOf(t);if(i>-1){const t=this.#ee.slice();t[i]=e,this.presets=t}else this.presets=this.#ee.concat(e)}#oe(e){return this.#ee.filter((t=>t.uuid===e))[0]}}class bv{constructor(e){vu(this),this.component=e,this.refs=e.refs,this.utils=e.utils,this.state=e.state,this.template=e.template}onClear(){this.state.value=this.state.isRange?{start:"",end:""}:"",this.state.internalError=!1,this.refs.panel.value="",this.refs.input.focus({preventScroll:!0}),this.#le()}onApplyClose(){this.utils.popup.close()}onCancelClose(){this.refs.panel.value=this.state.value,this.utils.popup.close()}onPanelChange(e){const{value:t}=e.detail,i=!this.state.isRange&&t===zs.invalidDateString,s=this.state.isRange&&(t.start===zs.invalidDateString||t.end===zs.invalidDateString);if(i||s)return this.state.internalError=!0,this.state.inputValue=t,void this.#de();this.state.value=t,this.state.internalError=!1,this.#le()}onClick(e){const t=e.target&&e.target.classList.contains("e-datetime__clear");this.state.disabled||t||this.utils.popup.toggle()}onKeydown(e){const t=e.target&&e.target.classList.contains("e-datetime__clear");if(this.state.disabled||t)return;["Enter","Space"].includes(e.code)&&(e.preventDefault(),this.utils.popup.toggle(),this.component.dispatchEvent(new CustomEvent("open")))}handlePresetChange(e){e.target.addEventListener("datetimepreset.delete",this.handlePresetDelete),this.state.upsertPreset(Object.assign({},e.detail,{component:e.target}))}handlePresetDelete(e){const t=this.state.presets.filter((t=>t.uuid!==e.detail.uuid));this.state.presets=t}onPopupOpen(){this.state.presets.length?this.refs.panel.querySelector("e-actionlist").autofocus=!0:this.refs.panel.querySelector(".e-input").focus({preventScroll:!0}),this.component.dispatchEvent(new CustomEvent("open"))}onPopupClose(){this.component.dispatchEvent(new CustomEvent("close"))}#le(){this.component.dispatchEvent(new CustomEvent("change",{detail:{value:this.state.value}}))}#de(){this.component.dispatchEvent(new CustomEvent("error",{detail:{value:this.state.value,inputValue:this.state.inputValue}}))}}class vv{constructor(e){this.createReference=e.createReference.bind(e),this.refs=e.refs,this.state=e.state,this.events=e.events}createWrapper(){return Jr.node`
`}createPanelElement(){return Jr.node`
`}createElement(){const e=Tl("e-datetime",{"e-datetime-inline":this.state.inline});return Jr`
${this.#ce()}
`}#ce(){this.#he();const e=Tl("e-margin-left-xs",{"e-margin-right-2xl":!this.state.clearHidden,"e-margin-right-s":this.state.clearHidden}),t=Tl("e-input e-datetime__input",{"e-input-error":this.state.hasError,"e-input-disabled":this.state.disabled});return Jr`
${this.#pe()}
${this.#me()}
${this.#ge()}
`}#ge(){if(""===this.state.value||this.state.value&&""===this.state.value.start&&""===this.state.value.end||this.state.clearHidden||this.state.disabled)return;const e=Tl("e-datetime__clear",{"e-datetime__clear-error":this.state.hasError});return Jr`
`}#me(){if(!this.state.disabled)return Jr`
`}#he(){this.refs.panel&&(this.refs.panel.type=this.state.type,this.refs.panel.min=this.state.minDate,this.refs.panel.max=this.state.maxDate,this.refs.panel.presets=this.state.presets,this.refs.panel.todayHidden=this.state.todayHidden,this.refs.panel.resetTime=this.state.resetTime,this.refs.panel.manualApply=this.state.manualApply,this.refs.panel.setAttribute("start-disabled",this.state.startDisabled),this.refs.panel.setAttribute("end-disabled",this.state.endDisabled),this.refs.panel.presetsDisabled=this.state.isPresetsDisabled)}#fe(e){return["datetime","datetimerange"].indexOf(e)>-1?"ymdhi":"ymd"}#_e(){return this.state.hasError?"error":this.state.disabled?"disabled":"text"}#ue(){const e=this.#_e();return"error"===e?"faint":e}#pe(){if(!this.state.isRange)return this.#be("single");return this.state.value.start||this.state.value.end?Jr`
${this.#be("start")}
–
${this.#be("end")}
`:""}#be(e){const t="single"===e?this.state.value:this.state.value[e];return"Invalid Date"===t?Jr`
`:Jr`
`}}const yv=class extends hm{static componentName="datetime";init(){this.utils={},this.state=null,this.events=null,this.template=null,this.state=new fv(this),this.events=new bv(this),this.template=new vv(this),this.template.createWrapper(),this.template.createPanelElement(),this.addEventListener("datetimepreset.change",this.events.handlePresetChange),this.addEventListener("click",this.events.onClick),this.addEventListener("keydown",this.events.onKeydown),this.utils.popup=null}connectedCallback(){super._cleanupContainer("e-datetime-wrapper"),this.requestRender().then((()=>{this.insertAdjacentElement("beforeend",this.refs.wrapper),this.#ve()}))}disconnectedCallback(){this.#ye(),this.requestRender.clear()}static get observedAttributes(){return["value","clear-hidden","error","disabled","type","inline","min-date","max-date","today-hidden","reset-time","manual-apply","start-disabled","end-disabled","presets-disabled"]}set startDisabled(e){this.state.startDisabled=cm.convertToBoolean(e)}set endDisabled(e){this.state.endDisabled=cm.convertToBoolean(e)}get isRange(){return this.state.isRange}get todayHidden(){return this.state.todayHidden}set todayHidden(e){this.state.todayHidden=cm.convertToBoolean(e)}get value(){return this.state.value}set value(e){const t=cm.convertToObject(e),i=t?.start||t?.end?t:e||"";this.state.value=i,this.refs.panel.value=i}get content(){const e=this.state.hasTime?"fullDateWithHoursAndMins":"fullDate";if(this.state.isRange){return`${zs.formatByName(this.state.value.start,e,Sn.config)}${" – "}${zs.formatByName(this.state.value.end,e,Sn.config)}`}return zs.formatByName(this.state.value,e,Sn.config)}set clearHidden(e){this.state.clearHidden=cm.convertToBoolean(e)}set error(e){this.state.error=cm.convertToBoolean(e)}set disabled(e){this.state.disabled=cm.convertToBoolean(e)}set type(e){this.state.type=e}set inline(e){this.state.inline=cm.convertToBoolean(e)}set minDate(e){this.state.minDate=e}set maxDate(e){this.state.maxDate=e}get resetTime(){return this.state.resetTime}set resetTime(e){const t=cm.convertToObject(e),i=t?.start||t?.end?t:e||"";this.state.resetTime=i}get manualApply(){return this.state.manualApply}set manualApply(e){this.state.manualApply=cm.convertToBoolean(e)}get presetsDisabled(){return this.state.isPresetsDisabled}set presetsDisabled(e){this.state.isPresetsDisabled=cm.convertToBoolean(e)}open(){this.utils.popup.open()}render(){Xr(this.refs.wrapper,this.template.createElement())}#ve(){null!==this.utils.popup&&this.#ye(),this.utils.popup=cr.createPopup(this.refs.input,this.refs.panel,{onAfterOpen:this.events.onPopupOpen,onAfterClose:this.events.onPopupClose})}#ye(){this.utils.popup?.destroy({preventAutoFocus:!0}),this.utils.popup=null}};const wv=class extends Vd{get defaultState(){return{value:{start:"",end:""},type:"date",min:void 0,max:void 0,presets:[],todayHidden:!1,resetTime:{start:void 0,end:void 0},manualApply:!1,startDisabled:!1,endDisabled:!1,isPresetsDisabled:!1}}getLabelText(e){return`components.datetime.panel.inputLabel.${this.state.type}.${e}`}};const Cv=class{constructor(e){this._emitter=e,this._pickerElement=this._createPickerElement("start"),this._pickerEndElement=this._createPickerElement("end")}setValueOnPickerElements(e){this._pickerElement.value=e.start,this._pickerEndElement.value=e.end}createElement(e){this._pickerElement.inputLabel=e.getLabelText("start"),this._pickerEndElement.inputLabel=e.getLabelText("end"),e=e.state;const t=["datetime","datetimerange"].indexOf(e.type)>-1;this._pickerElement.isTime=t,this._pickerElement.todayHidden=e.todayHidden,this._pickerElement.resetTime=e.resetTime.start,this._pickerEndElement.isTime=t,this._pickerEndElement.todayHidden=e.todayHidden,this._pickerEndElement.resetTime=e.resetTime.end;const i=["daterange","datetimerange"].indexOf(e.type)>-1,s=i?e.value.end:void 0;return this._pickerElement.max=s||e.max,this._pickerElement.min=e.min,this._pickerElement.rangeOtherEnd=s,this._pickerEndElement.min=e.value.start||e.min,this._pickerEndElement.max=e.max,this._pickerEndElement.rangeOtherEnd=e.value.start,this._pickerElement.setAttribute("disabled",e.startDisabled),this._pickerEndElement.setAttribute("disabled",e.endDisabled),Jr`
${e.presets.length?this._createPresets(e):""}
${this._pickerElement}${i?this._pickerEndElement:[]}
${e.manualApply?this._createFooter():""}
`}_createFooter(){return Jr`
`}_createPresets(e){return Jr`
`}_presetMap(e){return e.presets.sort(((e,t)=>e.data.order
t.data.order?1:0)).map((t=>this._createPreset(t.data,e)))}_createPreset(e,t){const i=JSON.stringify({start:e.value.start,end:e.value.end}),s=t.value.start===e.value.start&&t.value.end===e.value.end,n=!!(t.min&&t.min>e.value.start)||!!(t.max&&t.max
`}_onPickerChange(e){const t=e.target.dataset.type,i=e.detail.value;this._emitter.emit("pickerChange",{type:t,value:i})}_onPresetChange(e){const t=JSON.parse(e.detail.value);this._emitter.emit("presetsChange",{start:t.start,end:t.end})}_onCancel(){this._emitter.emit("onCancel")}_onApply(){this._emitter.emit("onApply")}};const kv=class extends o{init(){this._emitter=new Ns,_o.isOn("ui_datetime_debounce")?this._state=new wv(this.requestRender.bind(this)):this._state=new wv(this._render.bind(this)),this._template=new Cv(this._emitter),this._emitter.on("pickerChange",this._onPickerChange.bind(this)),this._emitter.on("presetsChange",this._onPresetsChange.bind(this)),this._emitter.on("onCancel",this._onCancel.bind(this)),this._emitter.on("onApply",this._onApply.bind(this))}connectedCallback(){_o.isOn("ui_datetime_debounce")?this.requestRender():this._render()}disconnectedCallback(){_o.isOn("ui_datetime_debounce")&&this.requestRender.clear()}static get observedAttributes(){return["start-disabled","end-disabled","presets-disabled"]}get value(){return this._isRange()?this._state.state.value:this._state.state.value.start}set value(e){const t="object"==typeof e?e:{start:e,end:e};this._state.setState({value:t}),this._template.setValueOnPickerElements(t)}get todayHidden(){return this._state.state.todayHidden}set todayHidden(e){this._state.setState({todayHidden:e})}get type(){return this._state.state.type}set type(e){this._state.setState({type:e})}get min(){return this._state.state.min}set min(e){this._state.setState({min:e})}get max(){return this._state.state.max}set max(e){this._state.setState({max:e})}set presets(e){this._state.setState({presets:e})}get presets(){return this._state.state.presets}get resetTime(){return this._state.state.resetTime}set resetTime(e){const t="object"==typeof e?e:{start:e,end:e};this._state.setState({resetTime:t})}get manualApply(){return this._state.state.manualApply}set manualApply(e){this._state.setState({manualApply:e})}get startDisabled(){return this._state.state.startDisabled}set startDisabled(e){this._state.setState({startDisabled:this._convertAttributeToBoolean(e)})}get endDisabled(){return this._state.state.endDisabled}set endDisabled(e){this._state.setState({endDisabled:this._convertAttributeToBoolean(e)})}get presetsDisabled(){return this._state.state.isPresetsDisabled}set presetsDisabled(e){this._state.setState({isPresetsDisabled:this._convertAttributeToBoolean(e)})}_render(){Xr(this,this._template.createElement(this._state))}_onPickerChange({type:e,value:t}){const i=this._isRange()?{...this._state.state.value,[e]:t}:{start:t,end:t};this._state.setState({value:i}),this._handleValueChange()}_onPresetsChange(e){this._state.setState({value:e}),this._template.setValueOnPickerElements(e),this._handleValueChange()}_onCancel(){this.dispatchEvent(new CustomEvent("panel.cancel"))}_onApply(){this.dispatchEvent(new CustomEvent("panel.apply")),this._dispatchPanelChange()}_handleValueChange(){this._state.state.manualApply||this._dispatchPanelChange()}_dispatchPanelChange(){this.dispatchEvent(new CustomEvent("panel.change",{detail:{value:this.value}}))}_isRange(){return["daterange","datetimerange"].indexOf(this._state.state.type)>-1}};const Ev=(e,t)=>{const i=zs.addDays(zs.parse(e),t);return zs.format(i,zs.formats.fullDate)},Sv=class extends Vd{get defaultState(){return{dateInputString:"",datetimeString:"",dateString:"",timeString:"",isDateValid:!0,isTimeValid:!0,min:void 0,max:void 0,rangeOtherEnd:void 0,isTime:!1,todayHidden:!1,resetTime:void 0,inputLabel:"components.datetime.panel.inputLabel.date.start",disabled:!1,get configFormats(){const{dateFormat:e,timeFormat:t}=window.e.utils.getCurrentConfig();return{dateFormat:e,timeFormat:t}},get minDate(){const e=zs.format(this.min,zs.formats.hoursAndMins),t=this.timeStringe;return Ev(this.max,t?-1:0)}}}};const xv=class{constructor(e){this._uuid=io(),this._element=document.createElement("div"),this._emitter=e}get element(){return this._element}get elementNodeName(){return this._element.nodeName.toLowerCase()}render(e){Xr(this._element,Jr`
${this._dateInputLabelElement(e)}
${this._hintText(e)}
${this._calendarElement(e)}
`)}_hintText(e){return e.isDateValid?Jr`
`:Jr`
${this._hintErrorFormat(e)}
${this._hintErrorRange(e)}
`}_hintErrorFormat(e){if(!e.isDateValidFormat)return Jr`
`}_hintErrorRange(e){if(!e.isDateValidRange)return Jr`
`}_calendarElement(e){return Jr`
`}_dateInputLabelElement(e){const t=`input-${this._uuid}`;return Jr`
`}_dateInputElement(e){const t=`input-${this._uuid}`,i=e.isDateValid?zs.formatByName(e.dateInputString,"fullDate",e.configFormats):e.dateInputString;return Jr`
`}_timepickerElement(e){return e.isTime?Jr`
`:void 0}_onCalendarChange(e){this._emitter.emit("calendarChange",e.detail.value)}_onDateInputChange(e){this._emitter.emit("dateinputChange",e.target.value)}_onTimepickerChange(e){this._emitter.emit("timepickerChange",e.detail.time["24h"])}};const Tv=class{constructor(){this._isTime=!1,this._dateString="",this._timeString="00:00",this._min=void 0,this._max=void 0,this._isTimeValid=!0,this._isDateValid=!0}set isTime(e){this._isTime=e}get datetimeString(){return this._isDateValid&&this._isTimeValid?this._dateString?this._isTime?this._dateTimeString:this._dateString:"":zs.invalidDateString}set datetimeString(e){this.dateString=e,this.timeString=""===e?"00:00":zs.format(e,zs.formats.hoursAndMins),this._isDateValid=this._isValid()}get dateString(){return this._isDateValid?this._dateString:zs.invalidDateString}set dateString(e){this._dateString=""===e?"":this._formatDate(e),this._isDateValid=this._isValid(),this._revalidate()}setDateInputString(e,t){const i=zs.parseByFormat(e,t),s=zs.format(i,zs.formats.fullDate);this.dateString=s}get timeString(){return this._timeString}set timeString(e){this._timeString=e,this._isTimeValid=this._isValid(),this._revalidate()}get isDateValid(){return this._isDateValid}get isTimeValid(){return this._isTimeValid}set min(e){this._min=e,this._revalidate()}get min(){return this._min}set max(e){this._max=e,this._revalidate()}get max(){return this._max}get _dateTimeString(){return this._dateString+" "+this._timeString}get isValidFormat(){return this._isValidFormat()}get isValidRange(){return this._isValidRange()}_revalidate(){this._isValid()&&(this._isDateValid=!0,this._isTimeValid=!0)}_formatDate(e){return zs.format(zs.parseWithoutTime(e),zs.formats.fullDate)}_isValid(){return this._isValidFormat()&&this._isValidRange()}_isValidFormat(){return this._dateString!==zs.invalidDateString}_isValidRange(){return!zs.isBefore(this._dateTimeString,this._min)&&!zs.isAfter(this._dateTimeString,this._max)}};const $v=class extends o{init(){_o.isOn("ui_datetime_debounce")?this._state=new Sv(this.requestRender.bind(this)):this._state=new Sv(this._render.bind(this)),this._emitter=new Ns,this._datetimeCalculator=new Tv,this._template=new xv(this._emitter),this._emitter.on("calendarChange",this._calendarChangeHandler.bind(this)),this._emitter.on("dateinputChange",this._dateInputChangeHandler.bind(this)),this._emitter.on("timepickerChange",this._timeChangeHandler.bind(this))}connectedCallback(){super._cleanupContainer(this._template.elementNodeName),this.appendChild(this._template.element),_o.isOn("ui_datetime_debounce")?this.requestRender():this._render()}disconnectedCallback(){_o.isOn("ui_datetime_debounce")&&this.requestRender.clear()}static get observedAttributes(){return["value","today-hidden","input-label","disabled"]}get value(){return this._state.state.datetimeString}set value(e){this._datetimeCalculator.datetimeString=e,this._applyCalculatedState({dateInputString:this._datetimeCalculator.dateString})}set isTime(e){this._datetimeCalculator.isTime=e,this._state.setState({isTime:e})}get isTime(){return this._state.state.isTime}set min(e){const t=this._state.state.datetimeString;this._datetimeCalculator.min=e,this._applyCalculatedState(),this._state.state.datetimeString!==t&&this._dispatchChangeEvent()}get min(){return this._state.state.min}set max(e){const t=this._state.state.datetimeString;this._datetimeCalculator.max=e,this._applyCalculatedState(),this._state.state.datetimeString!==t&&this._dispatchChangeEvent()}get max(){return this._state.state.max}set todayHidden(e){this._state.setState({todayHidden:e})}get todayHidden(){return this._state.state.todayHidden}set rangeOtherEnd(e){this._state.setState({rangeOtherEnd:e})}get rangeOtherEnd(){return this._state.state.rangeOtherEnd}set resetTime(e){this._state.setState({resetTime:e})}get resetTime(){return this._state.state.resetTime}get inputLabel(){return this._state.state.inputLabel}set inputLabel(e){this._state.setState({inputLabel:e})}get disabled(){return this._state.state.disabled}set disabled(e){this._state.setState({disabled:this._convertAttributeToBoolean(e)})}_render(){this._template.render(this._state.state)}_dateInputChangeHandler(e){this._datetimeCalculator.setDateInputString(e,this._state.state.configFormats.dateFormat),this._applyCalculatedState({dateInputString:e}),this._dispatchChangeEvent()}_calendarChangeHandler(e){this._datetimeCalculator.dateString=e,this._state.state.resetTime&&(this._datetimeCalculator.timeString=this._state.state.resetTime),this._applyCalculatedState({dateInputString:e}),this._dispatchChangeEvent()}_timeChangeHandler(e){this._datetimeCalculator.timeString=e,this._applyCalculatedState(),this._dispatchChangeEvent()}_applyCalculatedState(e){this._state.setState({datetimeString:this._datetimeCalculator.datetimeString,dateString:this._datetimeCalculator.dateString,timeString:this._datetimeCalculator.timeString,isDateValid:this._datetimeCalculator.isDateValid,isDateValidFormat:this._datetimeCalculator.isValidFormat,isDateValidRange:this._datetimeCalculator.isValidRange,isTimeValid:this._datetimeCalculator.isTimeValid,min:this._datetimeCalculator.min,max:this._datetimeCalculator.max,...e})}_dispatchChangeEvent(){this.dispatchEvent(new CustomEvent("picker.change",{detail:{value:this._state.state.datetimeString}}))}};const Av=(e,t)=>{const i=zs.addDays(zs.parse(e),t);return zs.format(i,zs.formats.fullDate)},Dv=class extends Vd{get defaultState(){return{dateInputString:"",datetimeString:"",dateString:"",timeString:"",isDateValid:!0,isTimeValid:!0,min:void 0,max:void 0,rangeOtherEnd:void 0,isTime:!1,todayHidden:!1,resetTime:void 0,inputLabel:"components.datetime.panel.inputLabel.date.start",disabled:!1,get configFormats(){const{dateFormat:e,timeFormat:t}=window.e.utils.getCurrentConfig();return{dateFormat:e,timeFormat:t}},get minDate(){const e=zs.format(this.min,zs.formats.hoursAndMins),t=this.timeStringe;return Av(this.max,t?-1:0)}}}};const Mv=class{constructor(e){this._uuid=io(),this._element=document.createElement("div"),this._render=eu.bind(this._element),this._emitter=e}get element(){return this._element}get elementNodeName(){return this._element.nodeName.toLowerCase()}render(e){this._render`
${this._dateInputLabelElement(e)}
${this._hintText(e)}
${this._calendarElement(e)}
`}_hintText(e){return e.isDateValid?eu.wire(e,":hint")`
`:eu.wire(e,":hint-error")`
${this._hintErrorFormat(e)}
${this._hintErrorRange(e)}
`}_hintErrorFormat(e){if(!e.isDateValidFormat)return eu.wire(e,":hint-error-format")`
`}_hintErrorRange(e){if(!e.isDateValidRange)return eu.wire(e,":hint-error-range")`
`}_calendarElement(e){return eu.wire(e,":calendar")`
`}_dateInputLabelElement(e){return eu.wire()`
`}_dateInputElement(e){const t=e.isDateValid?zs.formatByName(e.dateInputString,"fullDate",e.configFormats):e.dateInputString;return eu.wire(e,":dateinput")`
`}_timepickerElement(e){return e.isTime?eu.wire(e,":timepicker")`
`:""}_onCalendarChange(e){this._emitter.emit("calendarChange",e.detail.value)}_onDateInputChange(e){this._emitter.emit("dateinputChange",e.target.value)}_onTimepickerChange(e){this._emitter.emit("timepickerChange",e.detail.time["24h"])}};const Ov=class{constructor(){this._isTime=!1,this._dateString="",this._timeString="00:00",this._min=void 0,this._max=void 0,this._isTimeValid=!0,this._isDateValid=!0}set isTime(e){this._isTime=e}get datetimeString(){return this._isDateValid&&this._isTimeValid?this._dateString?this._isTime?this._dateTimeString:this._dateString:"":zs.invalidDateString}set datetimeString(e){this.dateString=e,this.timeString=""===e?"00:00":zs.format(e,zs.formats.hoursAndMins),this._isDateValid=this._isValid()}get dateString(){return this._isDateValid?this._dateString:zs.invalidDateString}set dateString(e){this._dateString=""===e?"":this._formatDate(e),this._isDateValid=this._isValid(),this._revalidate()}setDateInputString(e,t){const i=zs.parseByFormat(e,t),s=zs.format(i,zs.formats.fullDate);this.dateString=s}get timeString(){return this._timeString}set timeString(e){this._timeString=e,this._isTimeValid=this._isValid(),this._revalidate()}get isDateValid(){return this._isDateValid}get isTimeValid(){return this._isTimeValid}set min(e){this._min=e,this._revalidate()}get min(){return this._min}set max(e){this._max=e,this._revalidate()}get max(){return this._max}get _dateTimeString(){return this._dateString+" "+this._timeString}get isValidFormat(){return this._isValidFormat()}get isValidRange(){return this._isValidRange()}_revalidate(){this._isValid()&&(this._isDateValid=!0,this._isTimeValid=!0)}_formatDate(e){return zs.format(zs.parseWithoutTime(e),zs.formats.fullDate)}_isValid(){return this._isValidFormat()&&this._isValidRange()}_isValidFormat(){return this._dateString!==zs.invalidDateString}_isValidRange(){return!zs.isBefore(this._dateTimeString,this._min)&&!zs.isAfter(this._dateTimeString,this._max)}};const Pv=class extends o{init(){this._state=new Dv(this._render.bind(this)),this._emitter=new Ns,this._datetimeCalculator=new Ov,this._template=new Mv(this._emitter),this._emitter.on("calendarChange",this._calendarChangeHandler.bind(this)),this._emitter.on("dateinputChange",this._dateInputChangeHandler.bind(this)),this._emitter.on("timepickerChange",this._timeChangeHandler.bind(this))}connectedCallback(){super._cleanupContainer(this._template.elementNodeName),this.appendChild(this._template.element),this._render()}static get observedAttributes(){return["value","today-hidden","input-label","disabled"]}get value(){return this._state.state.datetimeString}set value(e){this._datetimeCalculator.datetimeString=e,this._applyCalculatedState({dateInputString:this._datetimeCalculator.dateString})}set isTime(e){this._datetimeCalculator.isTime=e,this._state.setState({isTime:e})}get isTime(){return this._state.state.isTime}set min(e){const t=this._state.state.datetimeString;this._datetimeCalculator.min=e,this._applyCalculatedState(),this._state.state.datetimeString!==t&&this._dispatchChangeEvent()}get min(){return this._state.state.min}set max(e){const t=this._state.state.datetimeString;this._datetimeCalculator.max=e,this._applyCalculatedState(),this._state.state.datetimeString!==t&&this._dispatchChangeEvent()}get max(){return this._state.state.max}set todayHidden(e){this._state.setState({todayHidden:e})}get todayHidden(){return this._state.state.todayHidden}set rangeOtherEnd(e){this._state.setState({rangeOtherEnd:e})}get rangeOtherEnd(){return this._state.state.rangeOtherEnd}set resetTime(e){this._state.setState({resetTime:e})}get resetTime(){return this._state.state.resetTime}get inputLabel(){return this._state.state.inputLabel}set inputLabel(e){this._state.setState({inputLabel:e})}get disabled(){return this._state.state.disabled}set disabled(e){this._state.setState({disabled:this._convertAttributeToBoolean(e)})}_render(){this._template.render(this._state.state)}_dateInputChangeHandler(e){this._datetimeCalculator.setDateInputString(e,this._state.state.configFormats.dateFormat),this._applyCalculatedState({dateInputString:e}),this._dispatchChangeEvent()}_calendarChangeHandler(e){this._datetimeCalculator.dateString=e,this._state.state.resetTime&&(this._datetimeCalculator.timeString=this._state.state.resetTime),this._applyCalculatedState({dateInputString:e}),this._dispatchChangeEvent()}_timeChangeHandler(e){this._datetimeCalculator.timeString=e,this._applyCalculatedState(),this._dispatchChangeEvent()}_applyCalculatedState(e){this._state.setState({datetimeString:this._datetimeCalculator.datetimeString,dateString:this._datetimeCalculator.dateString,timeString:this._datetimeCalculator.timeString,isDateValid:this._datetimeCalculator.isDateValid,isDateValidFormat:this._datetimeCalculator.isValidFormat,isDateValidRange:this._datetimeCalculator.isValidRange,isTimeValid:this._datetimeCalculator.isTimeValid,min:this._datetimeCalculator.min,max:this._datetimeCalculator.max,...e})}_dispatchChangeEvent(){this.dispatchEvent(new CustomEvent("picker.change",{detail:{value:this._state.state.datetimeString}}))}};const Iv=class extends Vd{get defaultState(){return{currentDate:new Date,selectedDate:void 0,activeDate:void 0,minDate:void 0,maxDate:void 0,rangeOtherEnd:void 0,hoveredDate:null,monthList:[],yearList:[],dayNames:[],daysOfMonth:[],todayHidden:!1,disabled:!1}}},Lv=e=>Array.from(new Array(e)),Rv=Lv(7),Bv=Lv(12),zv=(e,t)=>zs.isEqual(zs.startOfWeek(e,{weekStartsOn:t}),e),Fv={calculateDaysOfMonth:(e,t,i=1)=>{const s=zs.getMonth(e);return((e,t)=>{const i=zs.startOfMonth(e),s=zs.startOfWeek(i,{weekStartsOn:t}),n=zs.addDays(s,41);return zs.eachDayOfInterval({start:s,end:n})})(e,i).filter((e=>zv(e,i))).map((e=>((e,t,i)=>Rv.map(((s,n)=>{const a=zs.addDays(e,n),r=zs.formats.fullDate;return{number:zs.getDate(a),isCurrentMonth:zs.getMonth(a)===t,isToday:zs.isToday(a),isSelected:zs.format(a,r)===zs.format(i,r),date:zs.format(a,r)}})))(e,s,t)))},calculateDayNames:(e,t="en",i=1)=>{const s=zs.startOfMonth(e),n=zs.startOfWeek(s,{weekStartsOn:i});return Rv.map(((e,i)=>{const s=zs.addDays(n,i),a=zs.getLocaleWithFallback(t);return zs.format(s,zs.formats.dayShortName,{locale:a.lang})}))},getMonthList:(e,t="en")=>{const i=zs.getMonth(e);return Bv.map(((e,s)=>{const n=new Date(2e3,s,1),a=zs.getLocaleWithFallback(t);return{formattedName:zs.format(n,zs.formats.monthFullName,{locale:a.lang}),isCurrent:s===i}}))},getPreviousMonth:e=>zs.subMonths(e,1),getNextMonth:e=>zs.addMonths(e,1),getYear:(e,t)=>new Date(t,zs.getMonth(e),zs.getDate(e)),getMonth:(e,t)=>new Date(zs.getYear(e),t,zs.getDate(e)),getYearList:e=>{const t=zs.getYear(e)||(new Date).getFullYear(),i=t-5;return Lv(t+5-i+1).map(((t,s)=>{const n=i+s;return{value:n,isCurrent:zs.getYear(e)===n}}))},getToday:()=>new Date,getDate:e=>zs.parseWithoutTime(e),getDateString:e=>zs.format(zs.parseWithoutTime(e),zs.formats.fullDate),startOfMonth:zs.startOfMonth.bind(zs),endOfMonth:zs.endOfMonth.bind(zs),addDays:zs.addDays.bind(zs),addMonths:zs.addMonths.bind(zs),isSameYear:(e,t)=>zs.getYear(e)===zs.getYear(t),isSameMonth:(e,t)=>zs.getMonth(e)===zs.getMonth(t),isSameDate:zs.isSameDay.bind(zs),isValidDate:zs.isValid.bind(zs),isBefore:zs.isBefore.bind(zs),isAfter:zs.isAfter.bind(zs),isEqual:zs.isEqual.bind(zs)},{isBefore:Hv,isAfter:Nv,isEqual:Vv,startOfMonth:jv,endOfMonth:qv}=Fv;const Wv=class{constructor(e,t){this._state=e,this._emitter=t,this._handleDayHover=this._handleDayHover.bind(this),this._handleDayLeave=this._handleDayLeave.bind(this)}createElement(){const e=Tl("e-datetime-calendar__table_wrapper",{"e-datetime-calendar__table_wrapper-has-footer":!this._state.todayHidden});return Jr`
${this._state.dayNames.map((e=>Jr`
${e} | `))}
${this._buildWeeks()}
${this._calendarFooter()}
`}_buildWeeks(){return this._state.daysOfMonth.map((e=>this._buildWeek(e)))}_buildWeek(e){return Jr`
${e.map((e=>this._buildDay(e)))}
`}_buildDay(e){const t=this._getDayCellClasses(e);return Jr`
${this._buildDayLabel(e)}
|
`}_buildDayLabel(e){if(!e.isCurrentMonth)return;const t=this._getDayClasses(e);return Jr`
`}_getDayCellClasses(e){const t=Hv(e.date,this._state.minDate)||Nv(e.date,this._state.maxDate),i=!e.isCurrentMonth,s=["e-datetime-calendar__day_cell"];return t&&s.push("e-datetime-calendar__day_cell-disabled"),i&&s.push("e-datetime-calendar__day_cell-empty"),this._state.disabled&&s.push("e-datetime-calendar__day_cell-inactive"),s.join(" ")}_getDayClasses(e){const t=Hv(e.date,this._state.minDate)||Nv(e.date,this._state.maxDate),i=e.isCurrentMonth&&e.isToday&&!this._state.todayHidden,{start:s,end:n}=this._getRange(),a=Vv(e.date,Fv.getDateString(this._state.activeDate)),r=!t&&e.isCurrentMonth&&e.isSelected,o=Nv(e.date,s)&&Hv(e.date,n),l=Vv(e.date,s),d=Vv(e.date,n),c=this._state.hoveredDate&&(o||l||d),h=Vv(e.date,Fv.getDateString(jv(e.date))),u=Vv(e.date,Fv.getDateString(qv(e.date)));return Tl("e-datetime-calendar__day",{"e-datetime-calendar__day-today":i,"e-datetime-calendar__day-active":a,"e-datetime-calendar__day-inactive":this._state.disabled,"e-datetime-calendar__day-selected":r,"e-datetime-calendar__day-inside_range":o,"e-datetime-calendar__day-range_start":l,"e-datetime-calendar__day-range_end":d,"e-datetime-calendar__day-hovered_range":c,"e-datetime-calendar__day-start_of_month":h&&e.isCurrentMonth,"e-datetime-calendar__day-end_of_month":u&&e.isCurrentMonth})}_getRange(){const e=this._state.hoveredDate||this._state.selectedDate;if(!e||!this._state.rangeOtherEnd)return{start:null,end:null};return Hv(e,this._state.rangeOtherEnd)?{start:e,end:this._state.rangeOtherEnd}:{start:this._state.rangeOtherEnd,end:e}}_calculateMonthOptions(){return this._state.monthList.map(((e,t)=>({type:"option",value:t,selected:e.isCurrent,content:e.formattedName})))}_calculateYearOptions(){return this._state.yearList.map((e=>({type:"option",value:e.value,selected:e.isCurrent,content:e.value})))}_handlePreviousButtonClick(){this._emitter.emit("onPreviousButtonClick")}_handleNextButtonClick(){this._emitter.emit("onNextButtonClick")}_handleOnMonthChange(e){this._emitter.emit("onMonthChange",e.detail.value)}_handleOnYearChange(e){this._emitter.emit("onYearChange",e.detail.value)}_handleShowTodayButtonClick(){this._emitter.emit("onShowTodayClick")}_handleCalendarClick(e){this._emitter.emit("onSelectDate",Fv.getDate(e.target.dataset.date))}_handleDayHover(e){e.target.classList.contains("e-datetime-calendar__day-disabled")||this._emitter.emit("dayHover",e.target.dataset.date)}_handleDayLeave(){this._emitter.emit("dayLeave")}_handleCalendarKeypress(e){this._emitter.emit("onCalendarKeypress",e)}_calendarFooter(){if(!this._state.todayHidden)return Jr`
`}};const Uv=class extends o{init(){this._wrapperElement=document.createElement("div"),this._wrapperElement.classList.add("e-datetime-calendar__wrapper"),this._emitter=new Ns,_o.isOn("ui_datetime_debounce")?this._state=new Iv(this.requestRender.bind(this)):this._state=new Iv(this._render.bind(this)),this._template=new Wv(this._state.state,this._emitter),this._emitter.on("onPreviousButtonClick",this._onPreviousButtonClick.bind(this)),this._emitter.on("onNextButtonClick",this._onNextButtonClick.bind(this)),this._emitter.on("onMonthChange",this._onMonthChange.bind(this)),this._emitter.on("onYearChange",this._onYearChange.bind(this)),this._emitter.on("onShowTodayClick",this._onShowTodayClick.bind(this)),this._emitter.on("onSelectDate",this._onSelectDate.bind(this)),this._emitter.on("dayHover",this._onDayHover.bind(this)),this._emitter.on("dayLeave",this._onDayLeave.bind(this)),this._emitter.on("onCalendarKeypress",this._onCalendarKeypress.bind(this))}static get observedAttributes(){return["selected-date","range-other-end","today-hidden","disabled"]}set disabled(e){this._state.setState({disabled:this._convertAttributeToBoolean(e)})}get disabled(){return this._state.state.disabled}set selectedDate(e){if(this._isValidDateString(e)){const t=Fv.getDateString(e),i=Fv.getDate(t);this._state.setState({selectedDate:i,activeDate:i},!1),this._updateComponentState(i)}else this._state.setState({selectedDate:this._state.defaultState.selectedDate,activeDate:this._state.defaultState.selectedDate||this._state.state.currentDate},!1),this._updateComponentState(this._state.state.currentDate)}set min(e){this._state.setState({minDate:Fv.getDateString(e)})}get min(){return this._state.state.minDate}set max(e){this._state.setState({maxDate:Fv.getDateString(e)})}get max(){return this._state.state.maxDate}set todayHidden(e){this._state.setState({todayHidden:super._convertAttributeToBoolean(e)})}get todayHidden(){return this._state.state.todayHidden}set rangeOtherEnd(e){const t=Fv.getDateString(e);this._state.setState({rangeOtherEnd:this._isValidDateString(t)?t:this._state.defaultState.rangeOtherEnd}),this._state.state.selectedDate&&(this._state.setState({activeDate:this._state.state.selectedDate},!1),this._updateComponentState(this._state.state.activeDate))}get rangeOtherEnd(){return this._state.state.rangeOtherEnd}_isValidDateString(e){if(!e)return!1;const t=Fv.getDate(e);return Fv.isValidDate(t)}connectedCallback(){Sn.subscribe(this._onConfigChange.bind(this)),super._cleanupContainer(`.${this._wrapperElement.className}`),this.appendChild(this._wrapperElement),this._state.setState({activeDate:this._state.state.selectedDate||this._state.state.currentDate},!1),this._updateComponentState(this._state.state.currentDate)}disconnectedCallback(){_o.isOn("ui_datetime_debounce")&&this.requestRender.clear()}_render(){Xr(this._wrapperElement,this._template.createElement())}_onPreviousButtonClick(){const e=Fv.getPreviousMonth(this._state.state.currentDate);this._updateComponentState(e)}_onNextButtonClick(){const e=Fv.getNextMonth(this._state.state.currentDate);this._updateComponentState(e)}_onMonthChange(e){const t=Fv.getMonth(this._state.state.currentDate,e);this._updateComponentState(t)}_onYearChange(e){const t=Fv.getYear(this._state.state.currentDate,e);this._updateComponentState(t)}_onShowTodayClick(){const e=Fv.getToday();this._updateComponentState(e)}_onSelectDate(e){this._state.state.disabled||Fv.isSameMonth(e,this._state.state.currentDate)&&!Fv.isSameDate(e,this._state.state.selectedDate)&&(Fv.isBefore(e,this._state.state.minDate)||Fv.isAfter(e,this._state.state.maxDate)||(this._state.setState({selectedDate:e,activeDate:e,daysOfMonth:Fv.calculateDaysOfMonth(e,e)}),this.dispatchEvent(new CustomEvent("calendar.change",{bubbles:!0,detail:{value:Fv.getDateString(e)}}))))}_onConfigChange(){this._updateComponentState(this._state.state.currentDate)}_onDayHover(e){this._state.state.disabled||this._state.setState({hoveredDate:e})}_onDayLeave(){this._state.state.disabled||this._state.setState({hoveredDate:null})}_onCalendarKeypress(e){if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(e.key))return;if(e.preventDefault(),this._state.state.disabled)return;const t=this._state.state.activeDate,i=t.getDate();if("ArrowUp"===e.key&&i>7)this._setActiveDate(Fv.addDays(t,-7));else if("ArrowDown"===e.key&&i+61)this._setActiveDate(Fv.addDays(t,-1));else{const e=Fv.endOfMonth(Fv.addMonths(t,-1));this._setActiveDate(e),this._updateComponentState(this._state.state.activeDate)}else if("ArrowRight"===e.key)if(i>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,this._uuid)}_dataIsValid(){return""!==this._state.state.name&&""!==this._state.state.value}};const Yv=class extends o{init(){this._resizeObserver=new bn(this._render.bind(this))}static get observedAttributes(){return["height"]}set height(e){this.style.height=`${e}px`}connectedCallback(){this._resizeObserver.observe(this),this._render()}disconnectedCallback(){this._resizeObserver.unobserve(this)}_render(){this.innerHTML="";let e=this.getBoundingClientRect();const t=(new DOMParser).parseFromString((e=>{const t=e.height||200;return`\n \n `})(e),"application/xml");this.appendChild(this.ownerDocument.importNode(t.documentElement,!0)),e=this.getBoundingClientRect();const i=(new DOMParser).parseFromString((e=>{const t=["e-chart-loader__animation"];return(e.width<200||e.height<200)&&t.push("e-chart-loader__animation-small"),``})(e),"text/html");this.appendChild(this.ownerDocument.importNode(i.body.firstChild,!0))}};const Xv=class extends o{init(){this._maxLength=1/0,this._end=0,this._content=""}static get observedAttributes(){return["content","max-length","end"]}get content(){return this._content}set content(e){this._content=e||"",this._render()}get end(){return this._end}set end(e){this._end=parseInt(e)||0,this._render()}get maxLength(){return this._maxLength}set maxLength(e){this._maxLength=parseInt(e)||1/0,this._render()}get isTruncated(){return this._maxLengthe.toString())),this.requestRender()}insertOption(e){this._options.includes(e)||(this._options.push(e),this.requestRender())}deleteOption(e){if(!this._options.includes(e))return;const t=this._options.indexOf(e);this._options.splice(t,1),this.requestRender()}updateOption({oldContent:e,newContent:t}){if(!this._options.includes(e))return;const i=this._options.indexOf(e);this._options[i]=t,this.requestRender()}get isOptionsEmpty(){return 0===this._options.length}get filteredOptions(){if(this.isValueEmpty)return this.options;const e=this.value.toLowerCase();return this.options.filter((t=>t.toLowerCase().includes(e)))}get isFilteredOptionsEmpty(){return 0===this.filteredOptions.length}get lastFilteredOption(){return this.filteredOptions[this.filteredOptions.length-1]}get itemsForActionlist(){return this.filteredOptions.map((e=>({type:"option",value:e,content:e})))}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.requestRender()}get isDisabled(){return this._isDisabled}set isDisabled(e){this._isDisabled=e,this.requestRender()}get isLoading(){return this._isLoading}set isLoading(e){this._isLoading=e,this.requestRender()}get isUseValueButtonActive(){return this._isUseValueButtonActive||this.isFilteredOptionsEmpty}set isUseValueButtonActive(e){this._isUseValueButtonActive=e,this.requestRender()}get isUseValueButtonVisible(){return!this.isValueEmpty&&!this.isValueInOptions}get isInErrorState(){return this._isInErrorState}set isInErrorState(e){this._isInErrorState=e,this.requestRender()}};const Qv=class{constructor(e){this.refs=e.refs,this.state=e.state,this.events=e.events}createWrapper(){return Jr.node`
`}createElement(){return Jr`
${this.createInputFieldElement()}
${this.createPopupElement()}
`}createInputFieldElement(){const e=Tl("e-input","e-suggest-input__input",{"e-suggest-input__input-error":this.state.isInErrorState});return Jr`
this.refs.input=e}
class=${e}
type="text"
.value=${this.state.value}
.placeholder=${this.state.placeholder}
?disabled=${this.state.isDisabled}
@input=${this.events.onInput}
@click=${this.events.onClick}
@keydown=${this.events.onKeydown}
/>
`}createPopupElement(){return Jr`
this.refs.popup=e} class="e-suggest-input__option-list">
${this.createActionlist()}
${this.state.itemsForActionlist.length||this.state.isLoading?null:this.createUseValueButton()}
${this.createFooter()}
`}createActionlist(){const e=Tl("e-suggest-input__actionlist",{"e-suggest-input__actionlist-hidden":this.state.isFilteredOptionsEmpty});return Jr`
this.refs.actionlist=e}
class=${e}
in-popover
max-height="248px"
search-hidden
selection-disabled
empty-state-text=""
spacing="none"
?loading=${this.state.isLoading}
?always-show-active=${!this.state.isUseValueButtonActive}
@change=${this.events.onActionlistChange}
>
`}createUseValueButton(){const e=Tl("e-suggest-input__use_value e-btn e-btn-borderless",{"e-suggest-input__use_value-active":this.state.isUseValueButtonActive});return Jr`
`}createFooter(){if(this.state.isUseValueButtonVisible&&this.state.itemsForActionlist.length)return Jr`
`}};const Zv=class{constructor(e){vu(this),this.open=e.open.bind(e),this.close=e.close.bind(e),this._dispatchChangeEvent=e._dispatchChangeEvent.bind(e),this._updateActionlistItems=e._updateActionlistItems.bind(e),this.refs=e.refs,this.utils=e.utils,this.state=e.state}onOptionInsert(e){e.target.removeEventListener("suggestinputoption.delete",this.onOptionDelete),e.target.addEventListener("suggestinputoption.delete",this.onOptionDelete),this.state.insertOption(e.detail),this._updateActionlistItems()}onOptionDelete(e){this.state.deleteOption(e.detail),this._updateActionlistItems()}onOptionUpdate(e){this.state.updateOption(e.detail),this._updateActionlistItems()}onClick(){this.open()}onUseValueClick(){this._dispatchChangeEvent(),this.close()}onInput(e){this.state.value=e.target.value,this._updateActionlistItems(),this._dispatchChangeEvent(),this.open()}onActionlistChange(e){e.stopPropagation(),this.state.value=e.detail.value,this._updateActionlistItems(),this._dispatchChangeEvent(),this.close()}onKeydown(e){if("Escape"!==e.code&&"Tab"!==e.code){if("ArrowDown"===e.code){if(e.preventDefault(),this.open(),this.state.isUseValueButtonActive)return this.state.isUseValueButtonActive=!1,void this.refs.actionlist.moveActiveItem("first");if(!this.refs.actionlist.isLastItemActive)return void this.refs.actionlist.moveActiveItem("next");this.state.isUseValueButtonVisible?this.state.isUseValueButtonActive=!0:this.refs.actionlist.moveActiveItem("first")}if("ArrowUp"===e.code){if(e.preventDefault(),this.open(),this.state.isUseValueButtonActive)return this.state.isUseValueButtonActive=!1,void this.refs.actionlist.moveActiveItem("last");if(!this.refs.actionlist.isFirstItemActive)return void this.refs.actionlist.moveActiveItem("previous");this.state.isUseValueButtonVisible?this.state.isUseValueButtonActive=!0:this.refs.actionlist.moveActiveItem("last")}return"Enter"===e.code&&this.utils.popup.isOpened?(this.state.isUseValueButtonActive?this._dispatchChangeEvent():this.refs.actionlist.toggleActiveItem(),void this.close()):void 0}this.close()}};const ey=class extends o{init(){this.refs={},this.utils={},this.state=new Jv(this),this.events=new Zv(this),this.template=new Qv(this),this.refs.wrapper=this.template.createWrapper(),this.addEventListener("suggestinputoption.insert",this.events.onOptionInsert),this.addEventListener("suggestinputoption.update",this.events.onOptionUpdate)}connectedCallback(){this.requestRender().then((()=>{this._createPopup(),this._updateActionlistItems(),this.insertAdjacentElement("afterbegin",this.refs.wrapper)}))}disconnectedCallback(){this.requestRender.clear(),this._destroyPopup()}static get observedAttributes(){return["value","options","disabled","placeholder","loading","error"]}get value(){return this.state.value}set value(e){this.state.value=e}get options(){return this.state.options}set options(e){this.state.options=s(e),this._updateActionlistItems()}get placeholder(){return this.state.placeholder}set placeholder(e){this.state.placeholder=e}get disabled(){return this.state.isDisabled}set disabled(t){this.state.isDisabled=e(t)}get loading(){return this.state.isLoading}set loading(t){this.state.isLoading=e(t)}get error(){return this.state.isInErrorState}set error(t){this.state.isInErrorState=e(t)}open(){this.state.disabled||!this.state.isLoading&&this.state.isOptionsEmpty||this.utils.popup.open()}close(){this.utils.popup.close()}render(){Xr(this.refs.wrapper,this.template.createElement())}_createPopup(){null!==this.utils.popup&&this._destroyPopup(),this.utils.popup=cr.createPopup(this.refs.input,this.refs.popup,{matchOpenerWidth:!0,itemToFocusOnClose:this.refs.input})}_destroyPopup(){this.utils.popup?.destroy({preventAutoFocus:!0}),this.utils.popup=null}_updateActionlistItems(){this.refs.actionlist&&(this.refs.actionlist.items=this.state.itemsForActionlist)}_dispatchChangeEvent(){this.dispatchEvent(new CustomEvent("change",{detail:this.state.value,bubbles:!0}))}};const ty=class{constructor(){this._content=""}get content(){return this._content}set content(e){this._content=e}};const iy=class{constructor(e){vu(this),this._dispatchUpdateEvent=e._dispatchUpdateEvent.bind(e),this._getContent=e._getContent.bind(e),this.state=e.state}onMutation(){const e=this.state.content;this.state.content=this._getContent(),this._dispatchUpdateEvent(e)}};const sy=class extends o{init(){this.utils={},this.state=new ty(this),this.events=new iy(this),this.utils.mutationObserver=new MutationObserver(this.events.onMutation)}connectedCallback(){this.utils.mutationObserver.observe(this,{childList:!0,subtree:!0}),this.state.content=this._getContent(),this._dispatchInsertEvent()}disconnectedCallback(){this.utils.mutationObserver.disconnect(),this._dispatchDeleteEvent()}_dispatchInsertEvent(){this.dispatchEvent(new CustomEvent("suggestinputoption.insert",{detail:this.state.content,bubbles:!0}))}_dispatchDeleteEvent(){this.dispatchEvent(new CustomEvent("suggestinputoption.delete",{detail:this.state.content,bubbles:!0}))}_dispatchUpdateEvent(e){this.dispatchEvent(new CustomEvent("suggestinputoption.update",{detail:{oldContent:e,newContent:this.state.content},bubbles:!0}))}_getContent(){return this.textContent.trim()}};class ny{static getSupportedHeight(e){const t=e.parentElement;return ay(t)}}const ay=e=>e.matches(["p","h1","h2","h3","h4"].join(","))?getComputedStyle(e).fontSize:null;class ry{constructor(e){this._barCount=1,this._component=e,this.requestRender=e.requestRender}set barHeight(e){this._barHeight=e,this.requestRender()}get barHeight(){return this._barHeight||ny.getSupportedHeight(this._component)}get width(){return this._width}set width(e){this._width=e,this.requestRender()}get barCount(){return this._barCount}set barCount(e){this._barCount=e,this.requestRender()}}class oy{constructor(e){this.state=e.state}createWrapper(){return Jr.node``}createElement(){return Jr`
${this.createSkeletonBars()}
`}createSkeletonBars(){return Array(this.state.barCount).fill(0).map(((e,t)=>this.createSkeletonBar(t)))}createSkeletonBar(e){const t=this.skeletonBarStyle(),i=Tl("e-skeleton",{"e-margin-bottom-xs":e!==this.state.barCount-1});return Jr``}skeletonBarStyle(){const e={height:this.state.barHeight,width:this.state.width};let t="";for(const[i,s]of Object.entries(e))s&&(t+=`${i}:${s};`);return t}}const ly=class extends o{init(){this.state=new ry(this),this.template=new oy(this),this.refs={wrapper:this.template.createWrapper()}}connectedCallback(){this.requestRender().then((()=>{this.insertAdjacentElement("beforeend",this.refs.wrapper)}))}static get observedAttributes(){return["width","bar-count","bar-height"]}set width(e){this.state.width=t(e)}set barCount(e){this.state.barCount=parseInt(e)}set barHeight(e){this.state.barHeight=t(e)}render(){Xr(this.refs.wrapper,this.template.createElement())}};class dy{constructor(e){this.render=e.render.bind(e),this._id=io(),this._label=null,this._helper=null,this._name=null,this._value=null,this._isChecked=!1,this._isIndeterminate=!1,this._isDisabled=!1}get id(){return this._id}set id(e){this._id=e,this.render()}get label(){return this._label}set label(e){this._label=e,this.render()}get helper(){return this._helper}set helper(e){this._helper=e,this.render()}get name(){return this._name}set name(e){this._name=e,this.render()}get value(){return this._value}set value(e){this._value=e,this.render()}get isChecked(){return this._isChecked}set isChecked(e){this._isChecked=e,this._isChecked&&(this._isIndeterminate=!1),this.render()}get isIndeterminate(){return this._isIndeterminate}set isIndeterminate(e){this._isIndeterminate=e,this._isIndeterminate&&(this._isChecked=!1),this.render()}get isDisabled(){return this._isDisabled}set isDisabled(e){this._isDisabled=e,this.render()}}class cy{constructor(e){vu(this),this.state=e.state,this.refs=e.refs}onClick(e){this.state.isDisabled?e.stopImmediatePropagation():e.target!==this.refs.input&&(e.stopImmediatePropagation(),e.preventDefault(),this.refs.input.click())}onChange(e){this.state.isDisabled?e.stopImmediatePropagation():this.state.isChecked=this.refs.input.checked}}class hy{constructor(e){this.refs=e.refs,this.state=e.state,this.events=e.events}createElement(){return Jr`
${this.createInput()}
${this.createCheckbox()}
${this.createLabel()}
`}createInput(){return Jr`
this.refs.input=e}
class="e-checkbox e-checkbox-onlycheckbox"
type="checkbox"
id=${this.state.id}
name=${this.state.name}
value=${this.state.value}
?disabled=${this.state.isDisabled}
.checked=${this.state.isChecked}
/>
`}createCheckbox(){const e=Tl("e-checkbox__box",{"e-checkbox__box-checked":this.state.isChecked,"e-checkbox__box-indeterminate":this.state.isIndeterminate});return Jr``}createLabel(){if(this.state.label||this.state.helper)return Jr`
`}createLabelText(){if(this.state.label)return Jr`
${this.state.label}
`}createHelper(){if(this.state.helper)return Jr``}}const uy=class extends o{init(){this.refs={},this.state=new dy(this),this.events=new cy(this),this.template=new hy(this),this.addEventListener("click",this.events.onClick),this.addEventListener("change",this.events.onChange)}connectedCallback(){this.render()}static get observedAttributes(){return["data-id","label","helper","name","value","checked","indeterminate","disabled"]}get dataId(){return this.state.id}set dataId(e){this.state.id=e}get label(){return this.state.label}set label(e){this.state.label=e}get helper(){return this.state.helper}set helper(e){this.state.helper=e}get name(){return this.state.name}set name(e){this.state.name=e}get value(){return this.state.value}set value(e){this.state.value=e}get checked(){return this.state.isChecked}set checked(t){this.state.isChecked=e(t),this.refs.input.checked=this.state.isChecked,this.state.isChecked&&(this.refs.input.indeterminate=!1)}get indeterminate(){return this.state.isIndeterminate}set indeterminate(t){this.state.isIndeterminate=e(t),this.refs.input.indeterminate=this.state.isIndeterminate,this.state.isIndeterminate&&(this.refs.input.checked=!1)}get disabled(){return this.state.isDisabled}set disabled(t){this.state.isDisabled=e(t)}render(){Xr(this,this.template.createElement())}};class py{constructor(e){this.render=e.render.bind(e),this._id=io(),this._label=null,this._secondaryLabel=null,this._helper=null,this._name=null,this._value=null,this._isChecked=!1,this._isDisabled=!1}get id(){return this._id}set id(e){this._id=e,this.render()}get label(){return this._label}set label(e){this._label=e,this.render()}get secondaryLabel(){return this._secondaryLabel}set secondaryLabel(e){this._secondaryLabel=e,this.render()}get helper(){return this._helper}set helper(e){this._helper=e,this.render()}get name(){return this._name}set name(e){this._name=e,this.render()}get value(){return this._value}set value(e){this._value=e,this.render()}get isChecked(){return this._isChecked}set isChecked(e){this._isChecked=e,this.render()}get isDisabled(){return this._isDisabled}set isDisabled(e){this._isDisabled=e,this.render()}}class my{constructor(e){vu(this),this.state=e.state,this.refs=e.refs}onSwitchClick(e){this.state.isDisabled?e.stopImmediatePropagation():e.target!==this.refs.input&&(e.stopImmediatePropagation(),e.preventDefault(),this.refs.input.click(),this.state.isChecked=this.refs.input.checked)}onSecondaryLabelClick(e){e.stopImmediatePropagation(),this.state.isDisabled||!1!==this.refs.input.checked&&this.onSwitchClick(e)}onPrimaryLabelClick(e){e.stopImmediatePropagation(),this.state.isDisabled||!0!==this.refs.input.checked&&this.onSwitchClick(e)}}class gy{constructor(e){this.refs=e.refs,this.state=e.state,this.events=e.events}createElement(){const e=Tl("e-switch",{"e-switch-choose":this.state.secondaryLabel});return Jr`
${this.createSecondaryLabel()}
${this.createInput()}
${this.createSwitch()}
${this.createPrimaryLabel()}
${this.createLabel()}
`}createInput(){return Jr`
this.refs.input=e}
class="e-switch__input"
type='checkbox'
id=${this.state.id}
name=${this.state.name}
value=${this.state.value}
?disabled=${this.state.isDisabled}
?checked=${this.state.isChecked}
/>
`}createSwitch(){return Jr``}createSecondaryLabel(){if(this.state.label&&this.state.secondaryLabel)return Jr`
`}createPrimaryLabel(){if(this.state.label&&this.state.secondaryLabel)return Jr`
`}createLabel(){if(this.state.label&&!this.state.secondaryLabel||this.state.helper)return Jr`
`}createLabelText(){if(this.state.label&&!this.state.secondaryLabel)return Jr`
${this.state.label}
`}createHelper(){if(this.state.helper)return Jr``}}const _y=class extends o{init(){this.refs={},this.state=new py(this),this.events=new my(this),this.template=new gy(this),this.addEventListener("click",this.events.onSwitchClick)}connectedCallback(){this.render()}static get observedAttributes(){return["data-id","label","label-secondary","helper","name","value","checked","disabled"]}get dataId(){return this.state.id}set dataId(e){this.state.id=e}get label(){return this.state.label}set label(e){this.state.label=e}get labelSecondary(){return this.state.secondaryLabel}set labelSecondary(e){this.state.secondaryLabel=e}get helper(){return this.state.helper}set helper(e){this.state.helper=e}get name(){return this.state.name}set name(e){this.state.name=e}get value(){return this.state.value}set value(e){this.state.value=e}get checked(){return this.state.isChecked}set checked(t){this.state.isChecked=e(t),this.refs.input.checked=this.state.isChecked}get disabled(){return this.state.isDisabled}set disabled(t){this.state.isDisabled=e(t)}render(){Xr(this,this.template.createElement())}};class fy{constructor(e){this.render=e.render.bind(e),this._id=io(),this._label=null,this._name=null,this._value=null,this._isChecked=!1,this._isDisabled=!1,this._type=""}get id(){return this._id}set id(e){this._id=e,this.render()}get type(){return this._type}set type(e){this._type=e,this.render()}get label(){return this._label}set label(e){this._label=e,this.render()}get name(){return this._name}set name(e){this._name=e,this.render()}get value(){return this._value}set value(e){this._value=e,this.render()}get isChecked(){return this._isChecked}set isChecked(e){this._isChecked=e,this.render()}get isDisabled(){return this._isDisabled}set isDisabled(e){this._isDisabled=e,this.render()}}class by{constructor(e){vu(this),this.dispatchEvent=e.dispatchEvent.bind(e),this._updateRadiosWithSameName=e._updateRadiosWithSameName.bind(e),this.state=e.state,this.refs=e.refs}onClick(e){this.state.isDisabled?e.stopImmediatePropagation():e.target!==this.refs.input&&(e.stopImmediatePropagation(),e.preventDefault(),this.refs.input.click())}onChange(e){this.state.isDisabled?e.stopImmediatePropagation():(this._updateRadiosWithSameName(),this.state.isChecked=this.refs.input.checked)}}class vy{constructor(e){this.refs=e.refs,this.state=e.state,this.events=e.events}createElement(){return Jr`
${this.createInput()}
${this.createRadio()}
${this.createLabel()}
`}createInput(){const e=Tl("e-radio e-radio-onlyradio",{[`e-radio-${this.state.type}`]:this.state.type});return Jr`
this.refs.input=e}
class=${e}
type="radio"
id=${this.state.id}
name=${this.state.name}
value=${this.state.value}
?disabled=${this.state.isDisabled}
.checked=${this.state.isChecked}
/>
`}createRadio(){const e=Tl("e-radio__button",{"e-radio__button-checked":this.state.isChecked});return Jr``}createLabel(){if(this.state.label)return Jr`
`}}const yy=class extends o{init(){this.refs={},this.state=new fy(this),this.events=new by(this),this.template=new vy(this),this.addEventListener("click",this.events.onClick),this.addEventListener("change",this.events.onChange)}connectedCallback(){this.render()}static get observedAttributes(){return["data-id","label","name","value","checked","disabled","type"]}get dataId(){return this.state.id}set dataId(e){this.state.id=e}get type(){return this.state.type}set type(e){["error","success","warning","info"].includes(e)&&(this.state.type=e)}get label(){return this.state.label}set label(e){this.state.label=e}get name(){return this.state.name}set name(e){this.state.name=e}get value(){return this.state.value}set value(e){this.state.value=e}get checked(){return this.state.isChecked}set checked(t){this.state.isChecked=e(t),this.refs.input.checked=this.state.isChecked}get disabled(){return this.state.isDisabled}set disabled(t){this.state.isDisabled=e(t)}render(){Xr(this,this.template.createElement())}_updateRadiosWithSameName(){if(!this.state.name)return;const e=document.querySelectorAll("e-radio");for(const t of e)t.name===this.state.name&&t!==this&&(t.checked=!1)}};class wy{constructor(){this._uuid=io()}get name(){return this._name}set name(e){this._name=e}get label(){return this._label}set label(e){this._label=e}get uuid(){return this._uuid}get validation(){return this._validation}set validation(e){this._validation=e}}class Cy{constructor(e){vu(this),this.refs=e.refs}onMutation(){this.refs.component.updateRefs()}}class ky{constructor(){this._uuid=io()}get description(){return this._description}set description(e){this._description=e}get label(){return this._label}set label(e){this._label=e}get value(){return this._value}set value(e){this._value=e}get icon(){return this._icon}set icon(e){this._icon=e}get uuid(){return this._uuid}}class Ey{constructor(e){this._templateClone=null,this._summaryClone=null,this.name=e.name,this.label=e.label,this.validationName=e.validation,this.template=e.template,this.summary=e.summary,this.actions=e.actions,e.summary&&(this._summaryClone=e.summary.cloneNode(!0))}get templateClone(){return this.template?this.template.cloneNode(!0):null}get summaryClone(){return this.summary?(this._summaryClone||(this._summaryClone=this.summary.cloneNode(!0)),this._summaryClone):null}toDTO(){return{name:this.name}}}class Sy{constructor(){this.fields=null,this.fieldProperties=null,this._errorState=!1,this._isEditing=!1,this._parentGroup=null,this._isSaved=!0,this._hasHoverState=!1}remove(){this._parentGroup.removeItem(this)}toDTO(){return{blueprint:this.blueprint?this.blueprint.toDTO():{name:this.blueprintName},fields:this.fields}}validate(){void 0!==this.blueprint.validation&&this.blueprint.validation&&(!this.fields||this.fields&&0===Object.keys(this.fields).length||(this._errorState=!this.blueprint.validation(this)))}static fromDTO(e){const t=new Sy;return t.blueprintName=e.blueprint.name,t.fields=e.fields,t.fieldProperties={},t}static fromBlueprint(e,t){const i=new Sy;return i.blueprintName=e.name,i.blueprint=new Ey(e),i.blueprint.validation=t,i.fields={},i.fieldProperties={},i.isEditing=!!e.template,i.isSaved=!1,i}get hasTemplate(){return this.blueprint&&null!==this.blueprint.template}get isEditing(){return this._isEditing}set isEditing(e){this._isEditing=e&&this.hasTemplate}get isSaved(){return this._isSaved}set isSaved(e){this._isSaved=e}get parentGroup(){return this._parentGroup}set parentGroup(e){this._parentGroup=e}get hasHoverState(){return this._hasHoverState}set hasHoverState(e){this._hasHoverState=e}get errorState(){return this._errorState}}const xy=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],Ty=(e,t="")=>`${t}${xy[e]}`;class $y{constructor(e){this.items=[],this.label="",this._isContentVisible=!0,this._parentGroup=null,this._hasHoverState=!1,this._isDropdownOpen=!1,this.label=e.label||"",this.relation=e.relation}get isEditing(){return this.items.some((e=>e.isEditing))}get isMainGroup(){return null===this._parentGroup}get rules(){return this.items.filter((e=>!("items"in e)))}get ruleCount(){const e=[],t=[];if(this.items.forEach((i=>{"items"in i?t.push(i):e.push(i)})),0===t.length)return e.length;return t.reduce(((e,t)=>e+t.ruleCount),e.length)}getAutoLabel(e=0){if(this.isMainGroup)return Ty(e);const t=this._parentGroup.getGroupIndex(this);return Ty(t,this._parentGroup.getAutoLabel(e))}addItem(e){e&&(e.parentGroup=this,this.items.push(e))}removeItem(e){this.items=this.items.filter((t=>t!==e))}remove(){this._parentGroup.removeItem(this)}getGroupIndex(e){return this.items.filter((e=>"items"in e)).indexOf(e)}toDTO(){return{items:this.items.map((e=>e.toDTO())),label:this.label,relation:this.relation}}static fromDTO(e){const t=new $y(e);return e.items.forEach((e=>{t.addItem("items"in e?$y.fromDTO(e):Sy.fromDTO(e))})),t}get depth(){return this._parentGroup?this._parentGroup.depth+1:1}get isContentVisible(){return this._isContentVisible}set isContentVisible(e){this._isContentVisible=e}get parentGroup(){return this._parentGroup}set parentGroup(e){this._parentGroup=e}get hasHoverState(){return this._hasHoverState}set hasHoverState(e){this._parentGroup&&e&&this._parentGroup.removeHoverState(),this._hasHoverState=e}get isDropdownOpen(){return this._isDropdownOpen}set isDropdownOpen(e){this._isDropdownOpen=e}removeHoverState(){this.hasHoverState=!1,this._parentGroup&&this._parentGroup.removeHoverState()}get isEmpty(){return 0===this.items.length}}const Ay=[{uuid:"",label:Dl.translate("components.ruleBuilder.relation.and"),description:Dl.translate("components.ruleBuilder.relation.matchAll"),value:"and",icon:"e-logic-and"},{uuid:"",label:Dl.translate("components.ruleBuilder.relation.or"),description:Dl.translate("components.ruleBuilder.relation.matchAny"),value:"or",icon:"e-logic-or"}];class Dy{constructor(e){this._label="",this._autoLabel=!1,this._isGroupHeaderLabelHidden=!1,this._isGroupHeaderToggleHidden=!1,this._groupHeaderRelationLabel="",this._addRuleButtonText="",this._addRuleButtonTooltip="",this._ruleEditorAddTitle="",this._ruleEditorEditTitle="",this._mainExcludedGroup=null,this._maxDepth=3,this._maxRuleCount=1/0,this._isExcludeEnabled=!1,this._blueprints=[],this._relations=[],this._isDisabled=!1,this._isReadonly=!1,this._formatters={},this._validations={},this.requestRender=e.requestRender,this._refs=e.refs,this._mainGroup=$y.fromDTO({items:[],relation:this.defaultRelation.value})}get label(){return this._label}set label(e){this._label=e,this.requestRender()}get autoLabel(){return this._autoLabel}set autoLabel(e){this._autoLabel=e,this.requestRender()}get mainGroup(){return this._mainGroup}get relations(){return this._relations.length>0?this._relations:Ay}get defaultRelation(){return this.relations[0]}set items(e){this._mainGroup=$y.fromDTO(e),this.updateBlueprintForRules(this._mainGroup),this.requestRender()}get mainExcludedGroup(){return this._mainExcludedGroup}set excludedItems(e){null!==e?(this._mainExcludedGroup=$y.fromDTO(e),this.updateBlueprintForRules(this._mainExcludedGroup),this.requestRender()):this.removeMainExcludedGroup()}get hasExcludedGroup(){return null!==this.mainExcludedGroup}get maxDepth(){return this._maxDepth}set maxDepth(e){this._maxDepth=e,this.requestRender()}get maxRuleCount(){return this._maxRuleCount}set maxRuleCount(e){this._maxRuleCount=e,this.requestRender()}get isSingleBlueprint(){return 1===this._blueprints.length}get isExcludeEnabled(){return this._isExcludeEnabled}set isExcludeEnabled(e){this._isExcludeEnabled=e,this.requestRender()}get isGroupHeaderLabelHidden(){return this._isGroupHeaderLabelHidden}set isGroupHeaderLabelHidden(e){this._isGroupHeaderLabelHidden=e,this.requestRender()}get isGroupHeaderToggleHidden(){return this._isGroupHeaderToggleHidden}set isGroupHeaderToggleHidden(e){this._isGroupHeaderToggleHidden=e,this.requestRender()}get groupHeaderRelationLabel(){return this._groupHeaderRelationLabel}set groupHeaderRelationLabel(e){this._groupHeaderRelationLabel=e,this.requestRender()}get addRuleButtonText(){return this._addRuleButtonText}set addRuleButtonText(e){this._addRuleButtonText=e,this.requestRender()}get addRuleButtonTooltip(){return this._addRuleButtonTooltip}set addRuleButtonTooltip(e){this._addRuleButtonTooltip=e,this.requestRender()}get ruleEditorAddTitle(){return this._ruleEditorAddTitle}set ruleEditorAddTitle(e){this._ruleEditorAddTitle=e,this.requestRender()}get ruleEditorEditTitle(){return this._ruleEditorEditTitle}set ruleEditorEditTitle(e){this._ruleEditorEditTitle=e,this.requestRender()}get emptyStateHandler(){return this._emptyStateHandler}set emptyStateHandler(e){this._emptyStateHandler=e,this.requestRender()}get blueprints(){return this._blueprints}set isDisabled(e){this._isDisabled=e,this.requestRender()}get isDisabled(){return this._isDisabled}set isReadonly(e){this._isReadonly=e,this.requestRender()}get isReadonly(){return this._isReadonly}get isReadonlyOrDisabled(){return this._isReadonly||this._isDisabled}upsertFormatter(e,t){this._formatters[e]=t,this.requestRender().then((()=>{this.updateFieldValues(this.mainGroup)}))}deleteFormatter(e){delete this._formatters[e],this.requestRender().then((()=>{this.updateFieldValues(this.mainGroup)}))}upsertValidation(e,t){this._validations[e]=t,this.updateBlueprintForRules(this._mainGroup)}deleteValidation(e){delete this._validations[e]}getValidationByName(e){return e?this._validations[e]:void 0}upsertBlueprint(e){const t=this._blueprints.findIndex((t=>t.uuid===e.uuid));-1===t?this._blueprints=[...this._blueprints,e]:this._blueprints[t]=e,this.requestRender()}updateBlueprintForRules(e){e.items.forEach((e=>{if("items"in e)return this.updateBlueprintForRules(e);const t=this.getBlueprintByName(e.blueprintName);t&&(e.blueprint=new Ey(t),e.blueprint.validation=this.getValidationByName(e.blueprint.validationName),e.validate())})),this.requestRender().then((()=>{this.updateFieldValues(this.mainGroup)}))}deleteBlueprint(e){this._blueprints=this._blueprints.filter((t=>t.uuid!==e)),this.requestRender()}upsertRelation(e){const t=this._relations.findIndex((t=>t.uuid===e.uuid)),i=e;-1===t?this._relations=[...this._relations,i]:this._relations[t]=i,this.updateRelationForDefault(),this.requestRender()}updateRelationForDefault(){this.mainGroup.items.length>0||(this.mainGroup.relation=this.defaultRelation.value)}deleteRelation(e){this._relations=this._relations.filter((t=>t.uuid!==e)),this.updateRelationForDefault(),this.requestRender()}getBlueprintByName(e){return this._blueprints.find((t=>t.name===e))}addRuleToGroup(e,t){e.addItem(t),this.requestRender().then((()=>{this.updateFieldValues(this.mainGroup)}))}removeRule(e){e.remove(),this.requestRender().then((()=>{this.updateFieldValues(this.mainGroup)}))}async startRuleEditing(e){e.isEditing=!0,await this.requestRender(),this.updateFieldValues(this.mainGroup)}stopRuleEditing(e){e.isEditing=!1,this.requestRender()}removeGroupHoverState(e){e.hasHoverState=!1,this.requestRender()}updateRuleFields(e,t,i){e.isSaved=!0,e.fields={...e.fields,...t},e.fieldProperties={...e.fieldProperties,...i},this.updateFieldValues(this.mainGroup),this.requestRender()}hasEditedRule(){return this._mainGroup.isEditing||!!this._mainExcludedGroup&&this._mainExcludedGroup.isEditing}isMaxRuleCountReached(){return this._mainGroup.ruleCount>=this._maxRuleCount}isExclusionItem(e){return e===this.mainExcludedGroup||e!==this.mainGroup&&this.isExclusionItem(e.parentGroup)}updateGroupLabel(e,t){t.label=e,this.requestRender()}updateGroupRelation(e,t){const i=this.relations.find((t=>t.value===e));i&&(t.relation=i.value,this.requestRender())}toggleGroupIsContentVisible(e){e.isContentVisible=!e.isContentVisible,this.requestRender()}addGroup(e){const t=$y.fromDTO({items:[],relation:this.defaultRelation.value});return e.addItem(t),this.requestRender(),t}removeGroup(e){const t=e;return e.remove(),this.requestRender(),t}addMainExcludedGroup(){this._mainExcludedGroup=new $y({items:[],relation:this.defaultRelation.value}),this.requestRender()}removeMainExcludedGroup(){this._mainExcludedGroup=null,this.requestRender()}getGroupLabel(e){return this.isExclusionItem(e)?e.getAutoLabel(1):e.getAutoLabel(0)}get translations(){return this._translations}updateTranslations(){this._translations={untitledGroup:Dl.translate("components.ruleBuilder.group.untitled"),editRuleTooltip:Dl.translate("components.ruleBuilder.rule.header.editTooltip"),removeRuleTooltip:Dl.translate("components.ruleBuilder.rule.header.removeTooltip"),editGroupTooltip:Dl.translate("components.ruleBuilder.group.header.editTooltip"),removeGroupTooltip:Dl.translate("components.ruleBuilder.group.header.removeTooltip"),collapseGroupTooltip:Dl.translate("components.ruleBuilder.group.header.collapseTooltip"),expandGroupTooltip:Dl.translate("components.ruleBuilder.group.header.expandTooltip"),groupDeleteDialogConfirm:Dl.translate("components.ruleBuilder.group.deleteDialog.confirm"),groupDeleteDialogCancel:Dl.translate("components.ruleBuilder.group.deleteDialog.cancel"),maxRuleCountReachedTooltip:Dl.translate("components.ruleBuilder.group.actions.maxRuleCountReachedTooltip")},this.requestRender()}updateGroupHasHoverState(e,t){e.hasHoverState!==t&&(e.hasHoverState=t,this.requestRender())}updateRuleHasHoverState(e,t){e.hasHoverState!==t&&(e.hasHoverState=t,this.requestRender())}getRelationByValue(e){return this.relations.find((t=>t.value===e))}updateFieldValues(e){e.items.forEach((e=>{if("items"in e)return this.updateFieldValues(e);this.updateRuleValues(e),this.updateSummaryValues(e)}))}updateRuleValues(e){e.isEditing&&e.blueprint&&e.blueprint.template&&Object.keys(e.fields).forEach((t=>{const i=e.blueprint.template.querySelector(`[data-field="${t}"]`);i&&(i.dataset.property?i[i.dataset.property]=e.fields[t]:i.value=e.fields[t])}))}updateSummaryValues(e){if(!e.blueprint||!e.blueprint.summaryClone)return;const t=e.blueprint.templateClone,i=e.blueprint.summaryClone;t&&this._refs.wrapper.appendChild(t);[...i.querySelectorAll('e-rule-blueprint-summary-value[type="blueprint"]'),...i.querySelectorAll("[data-blueprint]")].forEach((t=>{const i=t.getAttribute("property")||"label",s=e.blueprint[i];t.textContent=s}));const s=[...i.querySelectorAll('e-rule-blueprint-summary-value[type="field"]'),...i.querySelectorAll("[data-field]")];Object.keys(e.fields).forEach((i=>{const s=t.querySelector(`[data-field="${i}"]`);s&&(s.dataset.property?s[s.dataset.property]=e.fields[i]:s.value=e.fields[i])})),s.forEach((i=>{const s=i.getAttribute("field")||i.getAttribute("data-field"),n=t.querySelector(`[data-field="${s}"]`),a=i.getAttribute("property")||"value",r="value"===a?e.fields[s]:n[a]??"",o=i.getAttribute("formatter");i.textContent=o&&this._formatters[o]?this._formatters[o](r):r}));[...i.querySelectorAll('e-rule-blueprint-summary-value[type="index"]'),...i.querySelectorAll("[data-index]")].forEach((t=>{t.textContent=(e.parentGroup.rules.indexOf(e)+1).toString()})),t&&t.remove()}}class My{constructor(e){vu(this),this.dispatchEvent=e.dispatchEvent.bind(e),this.state=e.state,this.refs=e.refs}onBlueprintUpdate(e){const t=e.target;t.removeEventListener("rule-blueprint.delete",this.onBlueprintDelete),t.addEventListener("rule-blueprint.delete",this.onBlueprintDelete),this.state.upsertBlueprint(e.detail),this.state.updateBlueprintForRules(this.state.mainGroup),this.state.mainExcludedGroup&&this.state.updateBlueprintForRules(this.state.mainExcludedGroup)}onBlueprintDelete(e){this.state.deleteBlueprint(e.detail.uuid)}onRelationUpdate(e){const t=e.target;t.removeEventListener("rule-relation.delete",this.onRelationDelete),t.addEventListener("rule-relation.delete",this.onRelationDelete),this.state.upsertRelation(e.detail)}onRelationDelete(e){this.state.deleteRelation(e.detail.uuid)}onChange(){this._dispatchChangeEvent()}onGlobalChange(e){"E-FORMATTER"!==e.target.nodeName?"E-VALIDATION"!==e.target.nodeName||this.onValidationChange(e):this.onFormatterChange(e)}onFormatterChange(e){this.state.upsertFormatter(e.detail.name,e.detail.formatter),e.target.removeEventListener("remove",this.onFormatterRemove),e.target.addEventListener("remove",this.onFormatterRemove)}onFormatterRemove(e){this.state.deleteFormatter(e.detail.name)}onValidationChange(e){this.state.upsertValidation(e.detail.name,e.detail.validation),e.target.removeEventListener("remove",this.onValidationRemove),e.target.addEventListener("remove",this.onValidationRemove)}onValidationRemove(e){this.state.deleteValidation(e.detail.name)}onAddRuleButtonClick(e,t,i){const s=this.state.getValidationByName(i.validation);i.template?.querySelectorAll("[data-field]")?.forEach((e=>{e.dataset.property?e[e.dataset.property]=null:e.value=""}));const n=Sy.fromBlueprint(i,s);this.state.addRuleToGroup(t,n),this._dispatchRuleOpenEvent(n)}onRuleCancelClick(e,t,i){if(e.stopPropagation(),!i.isSaved)return this.state.removeRule(i),void this._dispatchRuleCloseEvent(i);[...e.target.closest(".e-rule-builder__rule").querySelectorAll("[data-field]")].forEach((e=>{e.dataset.property?e[e.dataset.property]=i.fields[e.dataset.field]:e.value=i.fields[e.dataset.field]})),this.state.stopRuleEditing(i),this.state.removeGroupHoverState(t),this._dispatchRuleCloseEvent(i)}onRuleConfirmButtonClick(e,t,i){const s=[...e.target.closest(".e-rule-builder__rule").querySelectorAll("[data-field]")],n=this.collectFieldValues(s),a=this.collectFieldPropertiesForSummary(s,i);this.state.updateRuleFields(i,n,a),i.validate(),this.state.stopRuleEditing(i),this.state.removeGroupHoverState(t),this._dispatchRuleCloseEvent(i),this._dispatchRuleChangeEvent(i)}onRuleActionClick(e,t,i){e.stopPropagation(),t.dispatchEvent(new CustomEvent("trigger",{detail:{rule:i.toDTO()}}))}onRuleEditClick(e,t){this.state.hasEditedRule()||this.state.isReadonlyOrDisabled||(e.stopPropagation(),e.target.closest("button[disabled]")||(this.state.startRuleEditing(t),this._dispatchRuleOpenEvent(t)))}onRuleRemove(e,t){e.stopPropagation(),this.state.removeRule(t),this._dispatchChangeEvent()}onGroupLabelChange(e,t){this.state.updateGroupLabel(e.detail.value,t),this._dispatchGroupChangeEvent(t)}onGroupRelationChange(e,t){this.state.updateGroupRelation(e.detail.value,t),this._dispatchGroupChangeEvent(t)}onGroupVisibilityToggleClick(e){this.state.toggleGroupIsContentVisible(e),e.isContentVisible?this._dispatchGroupOpenEvent(e):this._dispatchGroupCloseEvent(e)}onAddSubgroup(e){const t=this.state.addGroup(e);this._dispatchGroupOpenEvent(t),this._dispatchGroupChangeEvent(t)}onGroupRemove(e){window.e.utils.openDestructiveConfirmationDialog({headline:'',content:'',confirm:{label:this.state.translations.groupDeleteDialogConfirm,callback:()=>{const t=this.state.removeGroup(e);this._dispatchChangeEvent(),t.isContentVisible&&this._dispatchGroupCloseEvent(t)}},cancel:{label:this.state.translations.groupDeleteDialogCancel}})}onGroupFocusEnter(e,t){e.stopPropagation(),this.state.updateGroupHasHoverState(t,!0)}onGroupFocusLeave(e,t){this.state.updateGroupHasHoverState(t,!1)}onRuleFocusEnter(e,t){e.stopPropagation(),this.state.updateRuleHasHoverState(t,!0)}onRuleFocusLeave(e,t){e.stopPropagation(),this.state.updateRuleHasHoverState(t,!1)}onDropdownStatusChange(e,t){["opened","closed"].includes(e.detail.status)&&(t.isDropdownOpen="opened"===e.detail.status)}onGroupEditLabelButtonClick(e){const t=e.target.closest(".e-rule-builder__group_header").querySelector(".e-rule-builder__group_header_label");t&&t.focus()}onConfigChange(){this.state.updateTranslations()}onAddExclusionButtonClick(){this.state.addMainExcludedGroup()}onMainExcludedGroupRemove(){this.state.removeMainExcludedGroup()}collectFieldValues(e){const t={};for(const i of e){const e=i.dataset.field;i.dataset.property?t[e]=i[i.dataset.property]:t[e]=i.value}return t}collectFieldPropertiesForSummary(e,t){const i=t.blueprint.summaryClone;if(!i)return{};const s={};for(const t of e){const e=t.dataset.field,n=`e-rule-blueprint-summary-value[type="field"][field="${e}"]`,a=[...i.querySelectorAll(n)].map((e=>e.getAttribute("property"))).filter((e=>Boolean(e)));s[e]={};for(const i of a)s[e][i]=t[i]}return s}_dispatchRuleOpenEvent(e){this.dispatchEvent(new CustomEvent("rule.open",{detail:{rule:e.toDTO()}}))}_dispatchRuleCloseEvent(e){this.dispatchEvent(new CustomEvent("rule.close",{detail:{rule:e.toDTO()}}))}_dispatchRuleChangeEvent(e){this.dispatchEvent(new CustomEvent("rule.change",{detail:{rule:e.toDTO()}}))}_dispatchGroupOpenEvent(e){this.dispatchEvent(new CustomEvent("group.open",{detail:{group:e.toDTO()}}))}_dispatchGroupCloseEvent(e){this.dispatchEvent(new CustomEvent("group.close",{detail:{group:e.toDTO()}}))}_dispatchGroupChangeEvent(e){this.dispatchEvent(new CustomEvent("group.change",{detail:{group:e.toDTO()}}))}_dispatchChangeEvent(){this.dispatchEvent(new CustomEvent("change",{detail:{value:{items:this.state.mainGroup.toDTO(),excludedItems:this.state.mainExcludedGroup?this.state.mainExcludedGroup.toDTO():null}}}))}}class Oy{constructor(e){this.refs=e.refs,this.state=e.state,this.events=e.events}createWrapper(){return Jr.node``}createElement(){return Jr`
${this.createMainGroups()}
${this.createAddExclusionButton()}
${this.createExclusionLabel()}
${this.createMainExclusionGroups()}
`}createMainGroups(){return Jr`
${this.createGroup(this.state.mainGroup)}
`}createMainExclusionGroups(){if(this.state.hasExcludedGroup)return Jr`
${this.createGroup(this.state.mainExcludedGroup)}
`}createGroup(e){const t=(e.depth-1)%3+1,i=Tl("e-rule-builder__group",{"e-rule-builder__group-main":e.isMainGroup}),s=Tl("e-rule-builder__group_wrapper",{[`e-rule-builder__group_wrapper-variant-${t}`]:!0,"e-rule-builder__group_wrapper-hover":e.hasHoverState&&!this.state.isReadonlyOrDisabled});return Jr`
${this.createGroupRelation(e)}
this.events.onGroupFocusEnter(t,e)}"
@mouseleave="${t=>this.events.onGroupFocusLeave(t,e)}"
>
${this.createGroupHeader(e)}
${this.createGroupContent(e)}
`}createGroupRelation(e){if(e.isMainGroup||e.parentGroup.items.length<=1)return;const t=this.state.getRelationByValue(e.parentGroup.relation);if(void 0===t||!t.label)return;const i=Tl("e-rule-builder__group_relation",{"e-rule-builder__group_relation-hidden":0===e.parentGroup.items.indexOf(e)});return Jr`
${t.label}
`}createGroupHeader(e){const t=!e.isContentVisible,i=Tl("e-rule-builder__group_header",{"e-rule-builder__group_header-closed":t});return Jr`
`}createInplaceeditor(e){if(!this.state.isGroupHeaderLabelHidden)return Jr`
`}createGroupHeaderRelation(e){const t=this.state.getRelationByValue(e.relation);if(!t)return;const i=this.state.relations.map((e=>this.createGroupHeaderRelationItem(e,e.value===t.value)));return Jr`
${this.createGroupHeaderRelationLabel()}
${this.createGroupHeaderRelationIcon(t.icon)}
this.events.onGroupRelationChange(t,e)}
>
${i}
`}createGroupHeaderRelationLabel(){if(this.state.groupHeaderRelationLabel)return Jr`${this.state.groupHeaderRelationLabel}`}createGroupHeaderRelationIcon(e){if(e)return Jr`
`}createGroupHeaderRelationItem(e,t){return Jr`
${e.description}
`}createGroupHeaderEditButton(e){if(!this.state.isGroupHeaderLabelHidden&&!this.state.isReadonlyOrDisabled)return Jr`
`}createGroupHeaderRemoveButton(e){if(this.state.isReadonlyOrDisabled)return;if(e.isMainGroup&&e!==this.state.mainExcludedGroup)return;return Jr`
`}createGroupHeaderToggleVisibilityButton(e){if(this.state.isGroupHeaderToggleHidden)return;const t=e.isContentVisible?"e-angle-up":"e-angle-down",i=e.isContentVisible?"collapseGroupTooltip":"expandGroupTooltip";return Jr`
`}createAutoLabel(e){if(this.state.autoLabel)return Jr``}createGroupContent(e){const t=Tl("e-rule-builder__group_content",{"e-rule-builder__group_content-hidden":!e.isContentVisible});return Jr`
${this.createGroupItems(e)}
${this.createGroupEmptyState(e)}
${this.createGroupActions(e)}
`}createGroupEmptyState(e){if(!e.isEmpty)return;const t=e.depth>=this.state.maxDepth,{title:i,text:s}=this.getEmptyStateLabels(t);return Jr`
${i}
${s}
${this.createEmptyStateGroupActions(e)}
`}createEmptyStateGroupActions(e){if(!this.state.isReadonlyOrDisabled)return Jr`
${this.createGroupActionButtons(e)}
`}createGroupActions(e){if(!e.isEmpty&&!this.state.isReadonlyOrDisabled)return Jr`
${this.createGroupActionButtons(e)}
`}createGroupActionButtons(e){return e.hasHoverState||e.isEmpty||e.isDropdownOpen?Jr`
${this.createAddRuleSection(e)}
${this.createAddSubgroupButton(e)}
`:Jr`
`}createAddSubgroupButton(e){if(e.depth>=this.state.maxDepth)return;const t=Tl("e-btn e-rule-builder__add_subgroup_button",{"e-btn-disabled":this.state.hasEditedRule()});return Jr`
${this.createSubgroupAutoLabel(e)}
`}createSubgroupAutoLabel(e){if(this.state.autoLabel&&!e.isEmpty)return Jr`
`}createGroupItems(e){return e.items.map((t=>Jr.for(t)`${this.createItem(e,t)}`))}createAddRuleSection(e){const t=!!this.state.addRuleButtonTooltip,i=this.state.isSingleBlueprint,s=t?this.state.addRuleButtonTooltip:this.state.translations.maxRuleCountReachedTooltip;return i?this.createAddSingleRuleButton(e,s):this.createAddRuleDropdown(e,s)}createAddRuleDropdown(e,t){return this.state.hasEditedRule()?Jr`
`:this.state.isMaxRuleCountReached()?Jr`
`:Jr`
this.events.onDropdownStatusChange(t,e)}"
>
${this.createAddRuleButtonText()}
${this.state.blueprints.map((t=>this.createAddRuleButton(e,t)))}
`}createAddSingleRuleButton(e,t){const i=this.state.blueprints[0];return this.state.hasEditedRule()?Jr`
`:this.state.isMaxRuleCountReached()?Jr`
`:Jr`
`}createAddRuleButtonText(){return this.state.addRuleButtonText?Jr`${this.state.addRuleButtonText}`:Jr``}createAddRuleButton(e,t){return Jr`
`}createItem(e,t){return"items"in t?this.createGroup(t):this.createRule(e,t)}createRule(e,t){const i=!!t.blueprint,s=e.items.indexOf(t),n=s>0?e.items[s-1]:null,a=!n||"items"in n,r=s
${this.createRuleRelation(e,t)}
${i?this.createRuleContent(e,t):this.createRuleErrorState(e,t)}
`}createRuleContent(e,t){const i=this.state.hasEditedRule()&&!t.isEditing,s=Tl("e-rule-builder__rule_header",{"e-rule-builder__rule_header-disabled":i||this.state.isReadonlyOrDisabled});return Jr`
this.events.onRuleEditClick(e,t)}
>
${this.createRuleHeader(t)}
${this.createEditRuleHeader(e,t)}
${this.createRuleEditor(e,t)}
`}createRuleErrorState(e,t){return Jr`
`}createRuleRelation(e,t){const i=this.state.getRelationByValue(e.relation);if(e.items.length<=1||void 0===i||!i.label)return;const s=Tl("e-rule-builder__rule_relation",{"e-rule-builder__rule_relation-hidden":0===e.items.indexOf(t)});return Jr`
`}createRuleHeader(e){if(e.isEditing)return;const t=this.state.hasEditedRule(),i=Tl("e-rule-builder__rule_header_summary",{"e-rule-builder__rule_header_summary-disabled":t||this.state.isDisabled});return Jr`
${this.createRuleSummaryAutoLabel(e)}
${this.createRuleSummaryDisplay(e)}
${this.createRuleErrorStateBadge(e)}
${this.createRuleHeaderActions(e,t)}
`}createRuleHeaderActions(e,t){if(this.state.isReadonlyOrDisabled)return;const i=Tl("e-rule-builder__rule_header_actions",{"e-rule-builder__rule_header_actions-show":e.hasHoverState});return Jr`
${this.createRuleActionButtons(e,t)}
${this.createRuleEditButton(e,t)}
${this.createRuleRemoveButton(e,t)}
`}createRuleSummaryDisplay(e){if(e.blueprint)return e.blueprint.summary?e.blueprint.summaryClone:Jr`
${e.fields?Object.values(e.fields).map((e=>Jr`
`)):""}`}createRuleErrorStateBadge(e){if(e.errorState)return Jr`
`}createRuleSummaryAutoLabel(e){if(!this.state.autoLabel)return;const t=`${e.parentGroup.getAutoLabel()}${e.parentGroup.rules.indexOf(e)+1}`;return Jr``}createRuleActionButtons(t,i){if(t.blueprint&&t.blueprint.actions.length)return t.blueprint.actions.map((s=>Jr`
`))}createRuleEditButton(e,t){if(e.hasTemplate)return Jr`