1import{K as T,a7 as m,a8 as h,aa as S,a3 as p,M as r,a4 as y,a5 as B,aE as b,Q as l,S as n,bo as c,bq as I,ay as v,bk as k,T as u,N as C,aD as F,a6 as H,aG as f,aF as w}from"./entry.nP9U-F0k.js";import{u as x}from"./use-focus-trap.w9ubXx0O.js";import{u as E}from"./id.yy5GmZwC.js";import{h as O}from"./chatbots-util.EGZUBzi-.js";import{i as q}from"./is-safari.Uj6n_Aoz.js";import{d as G,e as L}from"./body-scroll-lock.SFLxkBvS.js";import"./is-element-visible._LEGGY8N.js";import"./client-only.Moek3JsH.js";const M={name:"Modal",components:{GenericCloseButton:m(()=>h(()=>import("./generic-close-button.QmUpx52X.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),ItemBackButton:m(()=>h(()=>import("./item-back-button.aB8iAJJi.js"),__vite__mapDeps([5,2,3,1,4]),import.meta.url))},mixins:[q],props:{title:{type:String,required:!1,default:null},visible:{type:Boolean,required:!0},transitionContent:{type:Boolean,default:!1},disableScrollLock:{type:Boolean,required:!1,default:!1},showBack:{type:Boolean,required:!1,default:!1},disableHistoryPopup:{type:Boolean,required:!1,default:!0},isCentered:{type:Boolean,required:!1,default:!1},applyOnClickOutside:{type:Boolean,required:!1,default:!1},addIosClass:{type:Boolean,required:!1,default:!0},fullHeight:{type:Boolean,required:!1,default:!1},containerTypeInline:{type:Boolean,required:!1,default:!1},paddedBody:{type:Boolean,default:!1},overflowHidden:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},refreshFocusTrap:{type:Boolean,default:!1},contentMounted:{type:Boolean,default:!0},increaseHeaderZIndex:{type:Boolean,default:!1},disableFocusTrap:{type:Boolean,default:!1},useOverflowHidden:{type:Boolean,default:!1},bodyScrollable:{type:Boolean,default:!1}},emits:["update:visible","goBack","apply"],setup(){const{setFocusTrap:e,destroyFocusTrap:s,saveFocusedElement:t,restoreFocus:i}=x(),d=E("$RXmJDfFHIG");return{transitionDuration:400,setFocusTrap:e,destroyFocusTrap:s,saveFocusedElement:t,restoreFocus:i,uniqueId:d}},data(){return{startClickTarget:null,scrollPosition:0,previouslyFocusedElement:null}},computed:{...S({translate:"config/translate"}),lockScroll(){return this.visible&&!this.disableScrollLock},bodyClasses(){return{"inline-container":this.containerTypeInline,padded:this.paddedBody}},contentClasses(){return{"is-centered":this.isCentered,"is-full-height":this.fullHeight,"overflow-hidden":this.overflowHidden}},focusTrapTrigger(){return this.contentMounted&&this.visible&&!this.disableFocusTrap}},watch:{lockScroll(e){this.$nextTick(()=>{const s=this.bodyScrollable?this.$refs.modalBody:this.$refs.modalContent;e?G(s,null,this.isIOS&&!(this.useOverflowHidden||this.overflowHidden)):L(s,this.isIOS&&!(this.useOverflowHidden||this.overflowHidden))})},isIOS(e){e&&this.visible&&this.addIosClass&&document.body.classList.add("ios-class")},focusTrapTrigger(e){e&&this.setFocusTrap(this.$refs.modalContent,{targetForInitialElement:this.$refs.modalBody,refreshQuery:this.refreshFocusTrap})},visible:{immediate:!0,handler(e,s){if(!e&&this.isIOS&&this.$nextTick(()=>{document.body.classList.remove("ios-class")}),e){if(this.saveFocusedElement(),!this.disableHistoryPopup){const t=new URL(window.location);window.history.pushState(`popup-open${this._uid}`,null,t)}}else s===!0&&(this.destroyFocusTrap(),this.$nextTick(()=>this.restoreFocus())),history.state===`popup-open${this._uid}`&&!this.disableHistoryPopup&&window.history.back();O(this.$config.public.THEME_NAME,e),this.isMobile=window.innerWidth<this.$resizeObserver.getBreakPoint("LG")}}},mounted(){this.lockScroll&&document.body.classList.add("overflow-hidden"),window.addEventListener("popstate",this.handlePopState),this.$bus.$on("set-map-panel-scroll",({val:e,el:s})=>{if(!e)return;const t=s?.getBoundingClientRect()?.top;if(t+52+500>window.innerHeight){const i=this.$refs?.modalContent?.scrollTop,d=t+52+500-window.innerHeight;this.$refs.modalContent?.scrollTo({top:i+d})}})},beforeUnmount(){this.isIOS&&document.body.classList.remove("ios-class"),window.removeEventListener("popstate",this.handlePopState),document.body.classList.remove("overflow-hidden")},methods:{startClickBG(e){this.startClickTarget=e.target},clickBG(e){this.startClickTarget===e.target&&this.inside(!1),this.startClickTarget=null},inside(e){e||(this.applyOnClickOutside?this.$emit("apply"):this.close())},close(){this.isIOS&&document.body.classList.remove("ios-class"),this.$emit("update:visible",!1)},goBack(){this.$emit("goBack")},scrollToTop(){this.$refs?.modalContent?.scroll(0,0)},handlePopState(){this.close()}}},P=["id"],D={class:"modal-header__left d-flex align-items-start align-items-sm-center"},N={key:1,class:"d-flex align-items-center mr-4"},R=["id"],$={class:"text-right d-flex align-items-center"},A={key:0,class:"modal-footer"};function V(e,s,t,i,d,o){const _=p("ItemBackButton"),g=p("GenericCloseButton");return r(),y(k,{name:"modal-fade",duration:i.transitionDuration},{default:B(()=>
1[b(l("div",{id:`modal--${i.uniqueId}`,ref:"modal",class:n(["modal",t.visible?"d-block":""]),onMousedown:s[1]||(s[1]=c((...a)=>o.startClickBG&&o.startClickBG(...a),["self"])),onMouseup:s[2]||(s[2]=c((...a)=>o.clickBG&&o.clickBG(...a),["self"])),onKeydown:s[3]||(s[3]=I(c((...a)=>o.close&&o.close(...a),["exact"]),["esc"]))},[v(k,{duration:i.transitionDuration,name:t.transitionContent?"modalcontent":""},{default:B(()=>[b(l("div",{ref:"modalContent",class:n(["james-div-styles modal-content d-flex flex-column",o.contentClasses]),onClick:s[0]||(s[0]=a=>o.inside(!0))},[l("div",{class:n([{"modal-header--zindex":t.increaseHeaderZIndex},"modal-header d-flex justify-content-between align-items-start align-items-sm-center flex-shrink-0"])},[l("div",D,[t.showBack?(r(),y(_,{key:0,"custom-back":"",title:e.translate("button.modal.back","Go back"),class:"modal-header__left__back",onBack:o.goBack},null,8,["title","onBack"])):u("",!0),t.title?(r(),C("div",N,[l("h2",{id:`modalTitle--${i.uniqueId}`,class:n(["modal-title title-xs",{"d-flex":e.$slots.header}])},[F(H(t.title)+" ",1),f(e.$slots,"header",{},void 0,!0)],10,R)])):u("",!0)]),l("div",$,[v(g,{"test-id":"modalCloseBtn_55671098",title:t.title?e.translate("button.modal.close","Close modal",{"{title}":t.title}):e.translate("button.modal.close-alt","Close modal"),onClick:o.close},null,8,["title","onClick"])])],2),l("div",{ref:"modalBody","test-id":"modalBody_11676068",class:n(["modal-body flex-grow-1",o.bodyClasses]),"data-cy-modal-body":""},[f(e.$slots,"default",{},void 0,!0)],2),t.showFooter?(r(),C("div",A,[f(e.$slots,"footer",{},void 0,!0)])):u("",!0)],2),[[w,t.visible]])]),_:3},8,["duration","name"])],42,P),[[w,t.visible]])]),_:3},8,["duration"])}const X=T(M,[["render",V],["__scopeId","data-v-01b742f7"]]);export{X as default}; 2function __vite__mapDeps(indexes) { 3 if (!__vite__mapDeps.viteFileDeps) { 4 __vite__mapDeps.viteFileDeps = ["./generic-close-button.QmUpx52X.js","./navigation-button.1tQKI9mv.js","./entry.nP9U-F0k.js","./entry.O9KOVcsn.css","./navigation-button.x2ayvC3n.css","./item-back-button.aB8iAJJi.js"] 5 } 6 return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) 7}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.