@abi-software/mapintegratedvuer 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ContentMixin-CetX1ug9.js → ContentMixin-BTXCMWvE.js} +1 -1
- package/dist/{Flatmap-CfapnFQ6.js → Flatmap-BPYW-zJs.js} +3 -3
- package/dist/{Iframe-CPMsJHLL.js → Iframe-BZW4KSMI.js} +2 -2
- package/dist/{MultiFlatmap-C9YhGVTK.js → MultiFlatmap-DIlQi9RY.js} +3 -3
- package/dist/{Plot-B5oQVpfQ.js → Plot-BHrtko8L.js} +2 -2
- package/dist/{Scaffold-DH-cWyUN.js → Scaffold-D6q4r5RG.js} +161 -162
- package/dist/{Simulation-vQXlk9Mc.js → Simulation-DPVhTovy.js} +2 -2
- package/dist/{index-BzopGyiz.js → index-D_VgD-w_.js} +27 -17
- package/dist/mapintegratedvuer.js +1 -1
- package/dist/mapintegratedvuer.umd.cjs +2 -2
- package/dist/{style-CrjDxqUa.js → style-ZSZlDMUI.js} +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -3
- package/src/components/SplitFlow.vue +6 -1
- package/src/components/viewers/Scaffold.vue +1 -3
@@ -1864,7 +1864,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
|
|
1864
1864
|
`);return d+=`
|
1865
1865
|
`,d+=`<ul>${p}</ul>`,d}if((n=this.entry.origins)!=null&&n.length){const l="Origin",c=this.entry.origins,u=this.entry.originsWithDatasets,d=a(l,c,u);i.push(d)}if((r=this.entry.components)!=null&&r.length){const l="Components",c=this.entry.components,u=this.entry.componentsWithDatasets,d=a(l,c,u);i.push(d)}if((o=this.entry.destinations)!=null&&o.length){const l="Destination",c=this.entry.destinations,u=this.entry.destinationsWithDatasets,d=a(l,c,u);i.push(d)}return i.join(`
|
1866
1866
|
|
1867
|
-
<br>`)},toggleConnectivityTooltip:function(e,t){const n=[...this.entry.componentsWithDatasets,...this.entry.destinationsWithDatasets,...this.entry.originsWithDatasets],r=e.split(","),o=[];t&&r.forEach(i=>{o.push(n.find(a=>a.name.trim()===i.trim()))}),this.$emit("connectivity-component-click",o)}},mounted:function(){Lc.on("connectivity-graph-error",e=>{const t=this.$refs.connectivityGraphRef;t&&t.showErrorMessage(e)})}},tQ=e=>(s.pushScopeId("data-v-1fe36a0d"),e=e(),s.popScopeId(),e),qtr={key:0,class:"main"},Ztr={class:"connectivity-info-title"},Xtr={key:0,class:"block"},Ktr={class:"title"},Ytr={style:{"word-break":"keep-all"}},Jtr={key:0,class:"subtitle"},$tr={key:1,class:"block"},enr={class:"title"},tnr={key:2,class:"block"},nnr={class:"title-buttons"},rnr=tQ(()=>s.createElementVNode("span",null," Show connectivity on map ",-1)),onr={class:"content-container population-display"},inr=tQ(()=>s.createElementVNode("div",{class:"block attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Population Display")],-1)),anr={class:"block buttons-row"},snr={key:0,class:"content-container"},lnr={key:0,class:"block"},cnr={class:"attribute-title-container"},unr=tQ(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),dnr={style:{"word-break":"keep-all"}},hnr=tQ(()=>s.createElementVNode("i",null,"Origin",-1)),pnr=["origin-item-label","onMouseenter","onMouseleave"],fnr={key:1,class:"block"},mnr=tQ(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("div",{class:"attribute-title"},"Components")],-1)),gnr=["component-item-label","onMouseenter","onMouseleave"],ynr={key:2,class:"block"},vnr={class:"attribute-title-container"},Tnr=tQ(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),bnr=tQ(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),xnr=["destination-item-label","onMouseenter","onMouseleave"],wnr={class:"block"},Qnr={key:1,class:"content-container"};function _nr(e,t,n,r,o,i){const a=Yvn,l=Ds,c=x2e,u=Nrt,d=Gvn,h=Tp,p=s.resolveComponent("CopyToClipboard"),m=$Ue,f=s.resolveComponent("connectivity-graph"),g=GX;return n.entry?s.withDirectives((s.openBlock(),s.createElementBlock("div",qtr,[s.createElementVNode("div",Ztr,[s.createElementVNode("div",null,[n.entry.title?(s.openBlock(),s.createElementBlock("div",Xtr,[s.createElementVNode("div",Ktr,[s.createTextVNode(s.toDisplayString(i.capitalise(n.entry.title))+" ",1),n.entry.featuresAlert?(s.openBlock(),s.createBlock(c,{key:0,width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"alert"},{default:s.withCtx(()=>[s.createVNode(a)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",Ytr,s.toDisplayString(n.entry.featuresAlert),1)]),_:1})):s.createCommentVNode("",!0)]),n.entry.provenanceTaxonomyLabel&&n.entry.provenanceTaxonomyLabel.length>0?(s.openBlock(),s.createElementBlock("div",Jtr,s.toDisplayString(i.provSpeciesDescription),1)):s.createCommentVNode("",!0)])):(s.openBlock(),s.createElementBlock("div",$tr,[s.createElementVNode("div",enr,s.toDisplayString(n.entry.featureId),1)])),i.resources.length?(s.openBlock(),s.createElementBlock("div",tnr,[s.createVNode(u,{resources:i.resources},null,8,["resources"])])):s.createCommentVNode("",!0)]),s.createElementVNode("div",nnr,[s.createVNode(c,{width:"auto",trigger:"hover",teleported:!1,"popper-class":"popover-map-pin"},{reference:s.withCtx(()=>[s.createVNode(h,{class:"button-circle",circle:"",onClick:t[0]||(t[0]=v=>i.showConnectivity(n.entry))},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(d)]),_:1})]),_:1})]),default:s.withCtx(()=>[rnr]),_:1}),s.createVNode(p,{content:i.updatedCopyContent},null,8,["content"])])]),s.createElementVNode("div",onr,[inr,s.createElementVNode("div",anr,[s.createVNode(h,{class:s.normalizeClass(e.activeView==="listView"?"button":"el-button-secondary"),onClick:t[1]||(t[1]=v=>i.switchConnectivityView("listView"))},{default:s.withCtx(()=>[s.createTextVNode(" List view ")]),_:1},8,["class"]),s.createVNode(h,{class:s.normalizeClass(e.activeView==="graphView"?"button":"el-button-secondary"),onClick:t[2]||(t[2]=v=>i.switchConnectivityView("graphView"))},{default:s.withCtx(()=>[s.createTextVNode(" Graph view ")]),_:1},8,["class"])])]),e.activeView==="listView"?(s.openBlock(),s.createElementBlock("div",snr,[s.createTextVNode(s.toDisplayString(n.entry.paths)+" ",1),n.entry.origins&&n.entry.origins.length>0?(s.openBlock(),s.createElementBlock("div",lnr,[s.createElementVNode("div",cnr,[unr,s.createVNode(c,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"info"},{default:s.withCtx(()=>[s.createVNode(m)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",dnr,[hnr,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.entry.origins,(v,y)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","origin-item-label":v,key:v,onMouseenter:T=>i.toggleConnectivityTooltip(v,!0),onMouseleave:T=>i.toggleConnectivityTooltip(v,!1)},s.toDisplayString(i.capitalise(v)),41,pnr))),128)),s.withDirectives(s.createVNode(h,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,n.entry.originsWithDatasets&&n.entry.originsWithDatasets.length>0&&i.shouldShowExploreButton(n.entry.originsWithDatasets)]])])):s.createCommentVNode("",!0),n.entry.components&&n.entry.components.length>0?(s.openBlock(),s.createElementBlock("div",fnr,[mnr,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.entry.components,(v,y)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","component-item-label":v,key:v,onMouseenter:T=>i.toggleConnectivityTooltip(v,!0),onMouseleave:T=>i.toggleConnectivityTooltip(v,!1)},s.toDisplayString(i.capitalise(v)),41,gnr))),128))])):s.createCommentVNode("",!0),n.entry.destinations&&n.entry.destinations.length>0?(s.openBlock(),s.createElementBlock("div",ynr,[s.createElementVNode("div",vnr,[Tnr,s.createVNode(c,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"info"},{default:s.withCtx(()=>[s.createVNode(m)]),_:1})]),default:s.withCtx(()=>[bnr]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.entry.destinations,(v,y)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","destination-item-label":v,key:v,onMouseenter:T=>i.toggleConnectivityTooltip(v,!0),onMouseleave:T=>i.toggleConnectivityTooltip(v,!1)},s.toDisplayString(i.capitalise(v)),41,xnr))),128)),s.withDirectives(s.createVNode(h,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,n.entry.destinationsWithDatasets&&n.entry.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(n.entry.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",wnr,[s.createVNode(h,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,n.entry.componentsWithDatasets&&n.entry.componentsWithDatasets.length>0&&i.shouldShowExploreButton(n.entry.componentsWithDatasets)]])])):s.createCommentVNode("",!0),e.activeView==="graphView"?(s.openBlock(),s.createElementBlock("div",Qnr,[s.createVNode(f,{entry:n.entry.featureId[0],mapServer:n.envVars.FLATMAPAPI_LOCATION,onTapNode:i.onTapNode,ref:"connectivityGraphRef"},null,8,["entry","mapServer","onTapNode"])])):s.createCommentVNode("",!0)])),[[g,e.loading]]):s.createCommentVNode("",!0)}const Rrt=A3(Wtr,[["render",_nr],["__scopeId","data-v-1fe36a0d"]]),Snr={name:"Tabs",props:{tabTitles:{type:Array,default:()=>[]},activeId:{type:Number,default:1}},methods:{titleClicked:function(e,t){this.$emit("titleClicked",{id:e,type:t})},tabClose:function(e){this.$emit("tab-close",e)}}},knr=e=>(s.pushScopeId("data-v-ed1ce6dc"),e=e(),s.popScopeId(),e),Cnr={class:"tab-container"},Lnr=["onClick"],Enr={class:"title-text"},Mnr=knr(()=>s.createElementVNode("span",{class:"visually-hidden"},"Close",-1));function Anr(e,t,n,r,o,i){const a=Tp;return s.openBlock(),s.createElementBlock("div",Cnr,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.tabTitles,l=>(s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["title",{"active-tab":l.id==n.activeId}]),key:l.id},[s.createElementVNode("div",{class:s.normalizeClass(["title-text-table",{highlightText:l.id==n.activeId}]),onClick:c=>i.titleClicked(l.id,l.type)},[s.createElementVNode("div",Enr,s.toDisplayString(l.title),1)],10,Lnr),l.id>1?(s.openBlock(),s.createBlock(a,{key:0,onClick:c=>i.tabClose(l.id),class:"button-tab-close","aria-label":"Close"},{default:s.withCtx(()=>[s.createTextVNode(" × "),Mnr]),_:2},1032,["onClick"])):s.createCommentVNode("",!0)],2))),128))])}const Vrt=A3(Snr,[["render",Anr],["__scopeId","data-v-ed1ce6dc"]]),Onr={components:{SidebarContent:Prt,Tabs:Vrt,ElIconArrowLeft:Vfe,ElIconArrowRight:bX,Drawer:y2e,Icon:Ds,ConnectivityInfo:Rrt,AnnotationTool:Irt},name:"SideBar",props:{visible:{type:Boolean,default:!1},envVars:{type:Object,default:()=>{}},tabs:{type:Array,default:()=>[{id:1,title:"Search",type:"search"},{id:2,title:"Connectivity",type:"connectivity"},{id:3,title:"Annotation",type:"annotation"}]},activeTabId:{type:Number,default:1},openAtStart:{type:Boolean,default:!1},connectivityInfo:{type:Object,default:null},annotationEntry:{type:Object,default:null},createData:{type:Object,default:null}},data:function(){return{drawerOpen:!1,availableAnatomyFacets:[]}},methods:{hoverChanged:function(e){this.$emit("hover-changed",e)},showConnectivity:function(e){this.$emit("show-connectivity",e)},onConnectivityComponentClick:function(e){this.$emit("connectivity-component-click",e)},searchChanged:function(e,t){this.$emit("search-changed",{...t,id:e})},close:function(){this.drawerOpen=!1},toggleDrawer:function(){this.drawerOpen=!this.drawerOpen},openSearch:function(e,t){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch(e,t)})},getTabByIdAndType:function(e,t){const n=e||this.activeTabId,r=t||"search",o=this.tabs.find(a=>a.id===n&&a.type===r),i=this.tabs[0];return o||i},getTabRefId:function(e,t){let n="searchTab_";t==="connectivity"?n="connectivityTab_":t==="annotation"&&(n="annotationTab_");const r=this.getTabByIdAndType(e,t);return n+r.id},getSearchTabRefById:function(e){const t=e||1,n=this.getTabRefId(t,"search");return this.$refs[n][0]},addFilter:function(e){this.drawerOpen=!0,e.AND=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).addFilter(e)})},openNeuronSearch:function(e){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch("",void 0,"scicrunch-query-string/",{field:"*organ.curie",curie:e})})},getAlgoliaFacets:async function(){return await this.getSearchTabRefById(1).getAlgoliaFacets()},setDrawerOpen:function(e=!0){this.drawerOpen=e},tabClicked:function({id:e,type:t}){this.$emit("tabClicked",{id:e,type:t})},tabClose:function(e){this.$emit("tab-close",e)}},computed:{activeTabs:function(){const e=[{id:1,title:"Search",type:"search"}];return this.connectivityInfo&&e.push({id:2,title:"Connectivity",type:"connectivity"}),this.annotationEntry&&Object.keys(this.annotationEntry).length>0&&e.push({id:3,title:"Annotation",type:"annotation"}),e},updateConnectivityGraphError:function(e){Lc.emit("connectivity-graph-error",e)}},created:function(){this.drawerOpen=this.openAtStart},mounted:function(){Lc.on("PopoverActionClick",e=>{this.$emit("actionClick",e)}),Lc.on("number-of-datasets-for-anatomies",e=>{this.$emit("number-of-datasets-for-anatomies",e)}),Lc.on("anatomy-in-datasets",e=>{this.$emit("anatomy-in-datasets",e)}),Lc.on("contextUpdate",e=>{this.$emit("contextUpdate",e)}),Lc.on("datalink-clicked",e=>{this.$emit("datalink-clicked",e)}),Lc.on("onConnectivityActionClick",e=>{this.tabClicked({id:1,type:"search"}),this.$emit("actionClick",e)}),Lc.on("available-facets",e=>{this.availableAnatomyFacets=e.find(t=>t.label==="Anatomical Structure").children})}},Pnr={ref:"container"},Inr={class:"box-card"},Nnr={class:"sidebar-container"};function Rnr(e,t,n,r,o,i){const a=Vfe,l=Ds,c=bX,u=Vrt,d=Rrt,h=Irt,p=Prt,m=y2e;return s.openBlock(),s.createElementBlock("div",Pnr,[e.drawerOpen?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",{key:0,onClick:t[0]||(t[0]=(...f)=>i.toggleDrawer&&i.toggleDrawer(...f)),class:"open-tab"},[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(a)]),_:1})])),s.createVNode(m,{class:"side-bar my-drawer",modelValue:e.drawerOpen,"onUpdate:modelValue":t[7]||(t[7]=f=>e.drawerOpen=f),teleported:!1,"modal-append-to-body":!1,size:"584","with-header":!1,wrapperClosable:!1,modal:!1,"modal-class":"sidebar-body","z-index":10,"lock-scroll":!1},{default:s.withCtx(()=>[s.createElementVNode("div",Inr,[e.drawerOpen?(s.openBlock(),s.createElementBlock("div",{key:0,onClick:t[1]||(t[1]=(...f)=>i.close&&i.close(...f)),class:"close-tab"},[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(c)]),_:1})])):s.createCommentVNode("",!0),s.createElementVNode("div",Nnr,[i.activeTabs.length>1?(s.openBlock(),s.createBlock(u,{key:0,tabTitles:i.activeTabs,activeId:n.activeTabId,onTitleClicked:i.tabClicked,onTabClose:i.tabClose},null,8,["tabTitles","activeId","onTitleClicked","onTabClose"])):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.tabs,f=>(s.openBlock(),s.createElementBlock(s.Fragment,{key:"tab.id"},[f.type==="connectivity"&&n.connectivityInfo?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[f.id===n.activeTabId?(s.openBlock(),s.createBlock(d,{key:0,entry:n.connectivityInfo,availableAnatomyFacets:e.availableAnatomyFacets,envVars:n.envVars,ref_for:!0,ref:"connectivityTab_"+f.id,onShowConnectivity:i.showConnectivity,onConnectivityComponentClick:i.onConnectivityComponentClick},null,8,["entry","availableAnatomyFacets","envVars","onShowConnectivity","onConnectivityComponentClick"])):s.createCommentVNode("",!0)],64)):f.type==="annotation"?s.withDirectives((s.openBlock(),s.createBlock(h,{key:1,ref_for:!0,ref:"annotationTab_"+f.id,annotationEntry:n.annotationEntry,createData:n.createData,onAnnotation:t[2]||(t[2]=g=>e.$emit("annotation-submitted",g)),onConfirmCreate:t[3]||(t[3]=g=>e.$emit("confirm-create",g)),onCancelCreate:t[4]||(t[4]=g=>e.$emit("cancel-create")),onConfirmDelete:t[5]||(t[5]=g=>e.$emit("confirm-delete",g))},null,8,["annotationEntry","createData"])),[[s.vShow,f.id===n.activeTabId]]):s.withDirectives((s.openBlock(),s.createBlock(p,{key:2,class:"sidebar-content-container",contextCardEntry:f.contextCard,envVars:n.envVars,ref_for:!0,ref:"searchTab_"+f.id,onSearchChanged:g=>i.searchChanged(f.id,g),onHoverChanged:t[6]||(t[6]=g=>i.hoverChanged(g))},null,8,["contextCardEntry","envVars","onSearchChanged"])),[[s.vShow,f.id===n.activeTabId]])],64))),128))])])]),_:1},8,["modelValue"])],512)}const Vnr=A3(Onr,[["render",Rnr],["__scopeId","data-v-912b2215"]]);/*! js-cookie v3.0.5 | MIT */function yJ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var Bnr={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function K6e(e,t){function n(o,i,a){if(!(typeof document>"u")){a=yJ({},t,a),typeof a.expires=="number"&&(a.expires=new Date(Date.now()+a.expires*864e5)),a.expires&&(a.expires=a.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in a)a[c]&&(l+="; "+c,a[c]!==!0&&(l+="="+a[c].split(";")[0]));return document.cookie=o+"="+e.write(i,o)+l}}function r(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var i=document.cookie?document.cookie.split("; "):[],a={},l=0;l<i.length;l++){var c=i[l].split("="),u=c.slice(1).join("=");try{var d=decodeURIComponent(c[0]);if(a[d]=e.read(u,d),o===d)break}catch{}}return o?a[o]:a}}return Object.create({set:n,get:r,remove:function(o,i){n(o,"",yJ({},i,{expires:-1}))},withAttributes:function(o){return K6e(this.converter,yJ({},this.attributes,o))},withConverter:function(o){return K6e(yJ({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Y6e=K6e(Bnr,{path:"/"}),o5=function(e,t,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n},Il=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},v8,_B,i5,Ad,rv;const Hnr=1e4;class Dnr{constructor(t){v8.add(this),_B.set(this,void 0),i5.set(this,null),Ad.set(this,null),t.slice(-1)==="/"?o5(this,_B,t.slice(0,-1),"f"):o5(this,_B,t,"f")}get currentUser(){return Il(this,i5,"f")}get currentError(){return Il(this,Ad,"f")}async authenticate(t){o5(this,Ad,null,"f"),o5(this,i5,null,"f");const n=await Il(this,v8,"m",rv).call(this,t,"authenticate");return"error"in n?(Y6e.remove("annotation-key"),Promise.resolve(Il(this,Ad,"f"))):(Y6e.set("annotation-key",n.session,{secure:!0,expires:1}),o5(this,i5,n.data,"f"),Promise.resolve(Il(this,i5,"f")))}async unauthenticate(t){o5(this,Ad,null,"f"),o5(this,i5,null,"f");const n=await Il(this,v8,"m",rv).call(this,t,"unauthenticate");return"success"in n?Promise.resolve(n):Promise.resolve(Il(this,Ad,"f"))}async annotatedItemIds(t,n,r,o){const i={resource:n};r!==void 0&&(i.user=r),o!==void 0&&(i.participated=o);const a=await Il(this,v8,"m",rv).call(this,t,"items/","GET",i);return"error"in a?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(a)}async drawnFeatures(t,n,r){const o={resource:n};r!==void 0&&(o.items=r);const i=await Il(this,v8,"m",rv).call(this,t,"features/","GET",o);return"error"in i?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(i)}async itemAnnotations(t,n,r){const o=await Il(this,v8,"m",rv).call(this,t,"annotations/","GET",{resource:n,item:r});return"error"in o?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(o)}async annotation(t,n){const r=await Il(this,v8,"m",rv).call(this,t,"annotation/","GET",{annotation:n});return"error"in r?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(r)}async addAnnotation(t,n){if(Il(this,i5,"f")&&Il(this,i5,"f").canUpdate){const r=Object.assign({creator:Il(this,i5,"f"),created:new Date().toISOString()},n),o=await Il(this,v8,"m",rv).call(this,t,"annotation/","POST",{data:r});if(!("error"in o))return Promise.resolve(o);o5(this,Ad,o,"f")}else o5(this,Ad,{error:"user cannot add annotation"},"f");return Promise.resolve(Il(this,Ad,"f"))}}_B=new WeakMap,i5=new WeakMap,Ad=new WeakMap,v8=new WeakSet,rv=async function(t,n,r="GET",o={}){let i=!0;const a=new AbortController;setTimeout(()=>{i&&(console.log("Annotation server timeout..."),a.abort())},Hnr);const l={method:r,signal:a.signal};let c=`${Il(this,_B,"f")}/${n}`;const u=Y6e.get("annotation-key")||"";if(r==="GET"){const h=[];for(const[p,m]of Object.entries(o))h.push(`${p}=${encodeURIComponent(JSON.stringify(m))}`);h.push(`key=${encodeURIComponent(t)}`),h.push(`session=${encodeURIComponent(u)}`),c+="?"+h.join("&"),l.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(r==="POST"){const h=Object.assign({key:t,session:u},o);l.body=JSON.stringify(h),l.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const d=await fetch(c,l);return i=!1,d.ok?Promise.resolve(await d.json()):(o5(this,Ad,{error:`${d.status} ${d.statusText}`},"f"),Promise.resolve(Il(this,Ad,"f")))};const Fnr=Au.defineStore("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(e){return e.userProfile.token}},actions:{setUserToken(e){this.userProfile.token=e}}}),znr={name:"SplitFlow",components:{Container:uNe,Header:dNe,Main:hNe,DialogToolbarContent:Sje,SplitDialog:Qje,SideBar:Vnr},setup(){const e=Fnr();s.provide("userApiKey",e.userToken);const t=ew();let n=s.markRaw(new Dnr(`${t.flatmapAPI}annotator`));return s.provide("$annotator",n),{annotator:n}},props:{state:{type:Object,default:void 0}},data:function(){return{sideBarVisibility:!0,startUp:!0,search:"",activeDockedId:1,filterTriggered:!1,availableFacets:[],connectivityInfo:null,annotationEntry:{},annotationCallback:void 0,confirmCreateCallback:void 0,cancelCreateCallback:void 0,confirmDeleteCallback:void 0,createData:{}}},watch:{state:{handler:function(e){e&&(this._externalStateSet||this.setState(e),this._externalStateSet=!0)},immediate:!0}},methods:{actionClick:function(e){if(e)if(e.type=="Search")if(e.nervePath)this.openSearch([e.filter],e.label);else{this.openSearch([],e.term);const t=e.featuredDataset?"portal_maps_featured_dataset_search":"portal_maps_action_search";wd.sendEvent({event:"interaction_event",event_name:t,category:e.term||"filter",location:"map_location_pin"}),this.filterTriggered=!0}else if(e.type=="URL")window.open(e.resource,"_blank");else if(e.type=="Facet"){if(this.$refs.sideBar){this.closeConnectivityInfo(),this.$refs.sideBar.addFilter(e);const{facet:t}=e;wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_filter",category:t||"filter",location:"map_location_pin"}),this.filterTriggered=!0}}else if(e.type=="Facets"){const t=[];if(this.settingsStore.facets.species.forEach(n=>{t.push({facet:rX(n),term:"Species",facetPropPath:"organisms.primary.species.name"})}),t.length==0&&t.push({facet:"Show All",term:"Species",facetPropPath:"organisms.primary.species.name"}),t.push(...e.labels.map(n=>({facet:rX(n),term:"Anatomical structure",facetPropPath:"anatomy.organ.category.name"}))),this.$refs.sideBar){this.closeConnectivityInfo(),this.$refs.sideBar.openSearch(t,"");const r=imn(this.availableFacets,e.labels).join(", ");wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_filter",category:r||"filter",location:"map_popup_button"})}}else this.trackGalleryClick(e),this.createNewEntry(e)},trackGalleryClick:function(e){const t=[],{label:n,type:r,datasetId:o,discoverId:i,resource:a}=e;let l="",c=o||i;n&&t.push(n),r&&t.push(r),o&&t.push("("+c+")"),a&&(r==="Plot"?l=a.dataSource.url:l=typeof a=="string"?a:a.share_link),wd.sendEvent({event:"interaction_event",event_name:"portal_maps_gallery_click",category:t.join(" "),location:"map_sidebar_gallery",dataset_id:c?c+"":"",file_path:l})},onDisplaySearch:function(e){let t=!1,n=this.$refs.splitdialog;n&&n.getActiveContents().forEach(o=>{o.search(e.term)&&(t=!0)}),this.$refs.dialogToolbar.setFailedSearch(t?void 0:e.term),wd.sendEvent({event:"interaction_event",event_name:"portal_maps_display_search",category:e.term,location:"map_toolbar"})},fetchSuggestions:function(e){const t=[];this.$refs.splitdialog.getActiveContents().forEach(i=>i.searchSuggestions(e.data.term,t));const o=new Set(t);t.length=0;for(const i of o)t.push({value:'"'+i+'"'});e.data.cb(t)},onShowConnectivity:function(e){const t=this.splitFlowStore.getState(),n=(t==null?void 0:t.activeView)||"";wo.emit("show-connectivity",{featureIds:e,offset:n==="singlepanel"||n==="2horpanel"})},onConnectivityComponentClick:function(e){wo.emit("connectivity-component-click",{connectivityInfo:this.connectivityInfo,data:e})},hoverChanged:function(e){const t=e&&e.anatomy?e.anatomy:[],n=e&&e.organs?e.organs:[];this.settingsStore.updateHoverFeatures(t,n),wo.emit("hoverUpdate")},searchChanged:function(e){if(e&&e.type=="query-update"&&(this.search=e.value,this.search&&!this.filterTriggered&&wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_search",category:this.search,location:"map_sidebar_search"}),this.filterTriggered=!1),e&&e.type=="filter-update"){if(this.settingsStore.updateFacets(e.value),!this.filterTriggered){const{value:t}=e,r=t.filter(o=>o.facet&&o.facet.toLowerCase()!=="show all").map(o=>o.facet).join(", ");wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_filter",category:r||"filter",location:"map_sidebar_filter"})}this.filterTriggered=!1}},updateMarkers:function(e){this.settingsStore.updateMarkers(e),wo.emit("markerUpdate")},updateScaffoldMarkers:function(e){this.settingsStore.updateNumberOfDatasetsForFacets(e)},getNewEntryId:function(){return this.entries.length?this.entries[this.entries.length-1].id+1:1},activateSyncMap:function(e){let t={};return Object.assign(t,e),t.mode="normal",t.id=this.getNewEntryId(),t.state=void 0,t.type="Scaffold",t.discoverId=e.discoverId,t.rotation="free",e.layout=="2vertpanel"?t.rotation="horizontal":e.layout=="2horpanel"&&(t.rotation="vertical"),this.entriesStore.addNewEntry(t),this.splitFlowStore.setSyncMode({flag:!0,newId:t.id,layout:e.layout}),t.id},createNewEntry:function(e){let t={};return t.viewUrl=void 0,t.state=void 0,Object.assign(t,e),t.mode="normal",t.id=this.getNewEntryId(),t.discoverId=e.discoverId,this.entriesStore.addNewEntry(t),this.splitFlowStore.setIdToPrimaryPane(t.id),this.splitFlowStore.syncMode&&this.splitFlowStore.setSyncMode({flag:!1}),this.$refs.sideBar&&this.$refs.sideBar.setDrawerOpen(!1),t.id},openNewMap:async function(e){const t=await tmn(e,this.settingsStore.sparcApi);this.createNewEntry(t),t.contextCard&&wo.emit("contextUpdate",t.contextCard)},openSearch:function(e,t){this.search=t,this._facets=e,this.$refs&&this.$refs.sideBar&&(this.closeConnectivityInfo(),this.$refs.sideBar.openSearch(e,t)),this.startUp=!1},closeConnectivityInfo:function(){this.$el.querySelectorAll(".maplibregl-popup-close-button").forEach(t=>{t.click()})},onFullscreen:function(e){this.$emit("onFullscreen",e)},resetApp:function(){this.setState(cfe())},setIdToPrimaryPane:function(e){this.splitFlowStore.setIdToPrimaryPane(e)},setState:function(e){this.entriesStore.setAll(e.entries),e.splitFlow?this.splitFlowStore.setState(e.splitFlow):this.entries.forEach(t=>this.splitFlowStore.setIdToPrimaryPane(t.id))},getState:function(){let e=JSON.parse(JSON.stringify(this.entriesStore.$state)),n=this.$refs.splitdialog.getContentsState();if(e.entries.length===n.length)for(let r=0;r<n.length;r++){const o=e.entries[r];o.state=n[r],o.type==="Scaffold"&&"viewUrl"in o&&delete o.viewUrl,o.type==="MultiFlatmap"&&"uberonId"in o&&delete o.uberonId}return e.splitFlow=this.splitFlowStore.getState(),e},removeEntry:function(e){let t=this.entriesStore.findIndexOfId(e);this.entriesStore.destroyEntry(t)},resourceSelected:function(e){this.$emit("resource-selected",e),this.splitFlowStore.globalCallback&&this.$refs.splitdialog.sendSynchronisedEvent(e)},speciesChanged:function(e){this.$refs.sideBar&&this.$refs.sideBar.close()},tabClicked:function({id:e,type:t}){this.activeDockedId=e},toggleSyncMode:function(e){e&&(e.flag?e.action&&this.activateSyncMap(e.action):this.splitFlowStore.syncMode&&this.splitFlowStore.setSyncMode({flag:!1}))},contextUpdate:function(e){wo.emit("contextUpdate",e)},datalinkClicked:function(e){const t=e||"",n="datasets/",o=t.substring(t.indexOf(n)+n.length,t.indexOf("?type=dataset"));wd.sendEvent({event:"interaction_event",event_name:"portal_maps_gallery_click",category:t,location:"map_sidebar_gallery",dataset_id:o||""})},onAnnotationSubmitted:function(e){this.annotationCallback&&this.annotationCallback(e)},onConfirmCreate:function(e){this.confirmCreateCallback&&this.confirmCreateCallback(e)},onCancelCreate:function(){this.cancelCreateCallback&&this.cancelCreateCallback()},onConfirmDelete:function(e){this.confirmDeleteCallback&&this.confirmDeleteCallback(e)},onSidebarTabClose:function(e){e===2&&wo.emit("connectivity-info-close"),e===3&&wo.emit("annotation-close",{tabClose:!0})},resetActivePathways:function(){const t=this.$el.querySelector(".maplibregl-canvas");t&&t.click()}},created:function(){this._facets=[],this._externalStateSet=!1},mounted:function(){wo.on("RemoveEntryRequest",e=>{this.removeEntry(e)}),wo.on("SyncModeRequest",e=>{this.toggleSyncMode(e)}),wo.on("PopoverActionClick",e=>{this.actionClick(e)}),wo.on("annotation-open",e=>{this.annotationEntry=e.annotationEntry,this.annotationCallback=s.markRaw(e.commitCallback),e.createData?this.createData=s.markRaw(e.createData):this.createData=s.markRaw({}),this.confirmCreateCallback=s.markRaw(e.confirmCreate),this.cancelCreateCallback=s.markRaw(e.cancelCreate),this.confirmDeleteCallback=s.markRaw(e.confirmDelete),this.$refs.sideBar&&(this.tabClicked({id:3,type:"annotation"}),this.$refs.sideBar.setDrawerOpen(!0))}),wo.on("annotation-close",e=>{this.tabClicked({id:1,type:"search"}),this.annotationEntry={},this.createData={},this.$refs.sideBar&&this.$refs.sideBar.setDrawerOpen(!1)}),wo.on("connectivity-info-open",e=>{this.connectivityInfo=e,this.$refs.sideBar&&(this.tabClicked({id:2,type:"connectivity"}),this.$refs.sideBar.setDrawerOpen(!0))}),wo.on("connectivity-info-close",e=>{this.tabClicked({id:1,type:"search"}),this.connectivityInfo=null,this.resetActivePathways()}),wo.on("connectivity-graph-error",e=>{this.$refs.sideBar&&this.$refs.sideBar.updateConnectivityGraphError(e.data)}),wo.on("OpenNewMap",e=>{this.openNewMap(e)}),wo.on("startHelp",()=>{this.$refs.sideBar&&this.$refs.sideBar.close()}),this.$nextTick(()=>{this.search===""&&this._facets.length===0?(this.$refs.sideBar&&this.$refs.sideBar.close(),setTimeout(()=>{this.startUp=!1},2e3)):this.openSearch(this._facets,this.search)})},computed:{...Au.mapStores(oX,ew,h9),envVars:function(){return{API_LOCATION:this.settingsStore.sparcApi,ALGOLIA_INDEX:this.settingsStore.algoliaIndex,ALGOLIA_KEY:this.settingsStore.algoliaKey,ALGOLIA_ID:this.settingsStore.algoliaId,PENNSIEVE_API_LOCATION:this.settingsStore.pennsieveApi,NL_LINK_PREFIX:this.settingsStore.nlLinkPrefix,ROOT_URL:this.settingsStore.rootUrl,FLATMAPAPI_LOCATION:this.settingsStore.flatmapAPI2}},entries:function(){return this.entriesStore.entries}}},jnr={style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}};function Unr(e,t,n,r,o,i){const a=Sje,l=dNe,c=s.resolveComponent("SideBar"),u=Qje,d=hNe,h=uNe;return s.openBlock(),s.createBlock(h,{style:{height:"100%",background:"white"}},{default:s.withCtx(()=>[s.createVNode(l,{ref:"header",style:{"text-align":"left","font-size":"14px",padding:"0"},height:"32px",class:"dialog-header"},{default:s.withCtx(()=>[s.createVNode(a,{numberOfEntries:i.entries.length,onOnFullscreen:i.onFullscreen,onLocalSearch:i.onDisplaySearch,onFetchSuggestions:i.fetchSuggestions,ref:"dialogToolbar"},null,8,["numberOfEntries","onOnFullscreen","onLocalSearch","onFetchSuggestions"])]),_:1},512),s.createVNode(d,{class:"dialog-main"},{default:s.withCtx(()=>[s.createElementVNode("div",jnr,[s.createVNode(c,{ref:"sideBar",envVars:i.envVars,visible:e.sideBarVisibility,class:s.normalizeClass(["side-bar",{"start-up":e.startUp}]),activeTabId:e.activeDockedId,"open-at-start":e.startUp,annotationEntry:e.annotationEntry,createData:e.createData,connectivityInfo:e.connectivityInfo,onTabClose:i.onSidebarTabClose,onActionClick:i.actionClick,onTabClicked:i.tabClicked,onSearchChanged:t[0]||(t[0]=p=>i.searchChanged(p)),onAnatomyInDatasets:t[1]||(t[1]=p=>i.updateMarkers(p)),onAnnotationSubmitted:i.onAnnotationSubmitted,onConfirmCreate:i.onConfirmCreate,onCancelCreate:i.onCancelCreate,onConfirmDelete:i.onConfirmDelete,onNumberOfDatasetsForAnatomies:t[2]||(t[2]=p=>i.updateScaffoldMarkers(p)),onHoverChanged:t[3]||(t[3]=p=>i.hoverChanged(p)),onContextUpdate:t[4]||(t[4]=p=>i.contextUpdate(p)),onDatalinkClicked:t[5]||(t[5]=p=>i.datalinkClicked(p)),onShowConnectivity:i.onShowConnectivity,onConnectivityComponentClick:i.onConnectivityComponentClick},null,8,["envVars","visible","class","activeTabId","open-at-start","annotationEntry","createData","connectivityInfo","onTabClose","onActionClick","onTabClicked","onAnnotationSubmitted","onConfirmCreate","onCancelCreate","onConfirmDelete","onShowConnectivity","onConnectivityComponentClick"]),s.createVNode(u,{entries:i.entries,ref:"splitdialog",onResourceSelected:i.resourceSelected,onSpeciesChanged:i.speciesChanged},null,8,["entries","onResourceSelected","onSpeciesChanged"])])]),_:1})]),_:1})}const Brt=E1(znr,[["render",Unr],["__scopeId","data-v-4a486e05"]]),Gnr={name:"MapContent",components:{MapSvgSpriteColor:nX,Loading:wNe,SplitFlow:Brt},mixins:[{methods:{retrieveContextCardFromUrl:async function(e){const[t,n,r,o]=this.splitInfoFromUrl(e),i=await this.getContextFileFromScicrunch(t,r);if(!i.success)return{};const a=n+i.contextFile+o;return{s3uri:i.s3uri,contextCardUrl:a}},splitInfoFromUrl:function(e){let t=e.split("s3-resource")[1],n=e.split("files/")[0]+"files/",r=e.split("files/")[1].split("?")[0],o="?"+e.split("?")[1];const i=t.split("/");return i.shift(),[i[0],n,r,o]},getContextFileFromScicrunch:async function(e,t){return await fetch(`${this.settingsStore.sparcApi}/dataset_info/using_multiple_discoverIds/?discoverIds=${e}`).then(r=>r.json()).then(r=>{if(r.numberOfHits===1){const o=r.results[0]["abi-contextual-information"];if(o&&o.length===1)return{success:!0,contextFile:o[0],s3uri:r.results[0].s3uri};if(o&&o.length>1){let i=this.findContextInforForFilePath(r.results[0]["abi-context-file"],t);if(i)return{success:!0,contextFile:i,s3uri:r.results[0].s3uri}}}return{success:!1}}).catch(r=>(console.error("Error:",r),{success:!1}))},findContextInforForFilePath:function(e,t){var r;let n=e.find(o=>o.datacite.isDerivedFrom.path.includes(t));return(r=n==null?void 0:n.dataset)==null?void 0:r.path}}}],props:{shareLink:{type:String,default:void 0},state:{type:Object,default:void 0},options:{type:Object,default:()=>({}),required:!0},startingMap:{type:String,default:"AC"},useHelpModeDialog:{type:Boolean,default:!1},connectivityInfoSidebar:{type:Boolean,default:!0},annotationSidebar:{type:Boolean,default:!0}},data:function(){return{isReady:!1,initialState:void 0}},methods:{isFullscreen:function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},onFullscreen:function(e){e!==void 0?(e&&!this.isFullscreen()&&this.goFullscreen(),!e&&this.isFullscreen()&&this.leaveFullscreen()):this.isFullscreen()?this.leaveFullscreen():this.goFullscreen()},leaveFullscreen:function(){this.isFullscreen()&&(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen())},goFullscreen:function(){let e=this.$refs.MapApp;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():parent.msRequestFullscreen&&e.msRequestFullscreen()},setState:function(e){return this.$refs.flow.setState(e)},getState:function(){return this.$refs.flow.getState()},setCurrentEntry:async function(e){if(e&&e.type){if(e.type==="Scaffold"&&e.url){let t={type:e.type,label:e.label,region:e.region,resource:e.url,state:e.state,viewUrl:e.viewUrl};const n=await this.retrieveContextCardFromUrl(e.url);t={...t,...n},this.$refs.flow.createNewEntry(t)}else if(e.type==="MultiFlatmap"){const t=rmn(e);if(t){const n=this.getState();if(n&&n.entries)for(let r=0;r<n.entries.length;r++){const o=n.entries[r];if(o.type==="MultiFlatmap"){o.resource=t,o.state={species:t},(e.organ||e.uuid)&&(o.state.state={searchTerm:e.organ,uuid:e.uuid},e.uuid&&(o.state.state.entry=e.taxo)),this.$refs.flow.setState(n),this.$refs.flow.setIdToPrimaryPane(o.id);break}}}}else if(e.type==="Flatmap"){const t={type:e.type,resource:e.resource,state:e.state,label:e.label};this.$refs.flow.createNewEntry(t)}}},openSearch:function(e,t){return this.$refs.flow.openSearch(e,t)},flowMounted:function(){this._flowMounted=!0,this.$emit("isReady"),wd.sendEvent({event:"interaction_event",event_name:"portal_maps_page_view",category:this.startingMap})}},computed:{...Au.mapStores(ew,h9),stateToSet(){return this.state?this.state:this.initialState}},watch:{shareLink:{handler:function(e){this.settingsStore.updateShareLink(e)},immediate:!0}},beforeMount:function(){var e,t;this.options&&(this.options.sparcApi&&this.settingsStore.updateSparcAPI(this.options.sparcApi),this.options.algoliaIndex&&this.settingsStore.updateAlgoliaIndex(this.options.algoliaIndex),this.options.algoliaKey&&this.settingsStore.updateAlgoliaKey(this.options.algoliaKey),this.options.algoliaId&&this.settingsStore.updateAlgoliaId(this.options.algoliaId),this.options.pennsieveApi&&this.settingsStore.updatePennsieveApi(this.options.pennsieveApi),this.options.flatmapAPI&&this.settingsStore.updateFlatmapAPI(this.options.flatmapAPI),this.options.flatmapAPI2&&this.settingsStore.updateFlatmapAPI2(this.options.flatmapAPI2),this.options.nlLinkPrefix&&this.settingsStore.updateNLLinkPrefix(this.options.nlLinkPrefix),this.options.rootUrl&&this.settingsStore.updateRootUrl(this.options.rootUrl)),(e=this.splitFlowStore)==null||e.reset(),(t=this.splitFlowStore)==null||t.getAvailableTerms(this.settingsStore.sparcApi)},mounted:async function(){wo.on("updateShareLinkRequested",()=>{this.$emit("updateShareLinkRequested")}),wo.on("trackEvent",e=>{this.$emit("trackEvent",e)}),this.state||(this.initialState=await nmn(this.startingMap,this.options.sparcApi)),wo.on("mapLoaded",e=>{this.$emit("mapLoaded",e)}),this.isReady=!0,this.settingsStore.updateUseHelpModeDialog(this.useHelpModeDialog),this.settingsStore.updateConnectivityInfoSidebar(this.connectivityInfoSidebar),this.settingsStore.updateAnnotationSidebar(this.annotationSidebar)}},Wnr={ref:"MapApp",class:"mapcontent","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"};function qnr(e,t,n,r,o,i){const a=s.resolveComponent("map-svg-sprite-color"),l=Brt,c=Xk;return s.withDirectives((s.openBlock(),s.createElementBlock("div",Wnr,[s.createVNode(a),e.isReady?(s.openBlock(),s.createBlock(l,{key:0,onOnFullscreen:i.onFullscreen,state:i.stateToSet,ref:"flow",onVnodeMounted:i.flowMounted},null,8,["onOnFullscreen","state","onVnodeMounted"])):s.createCommentVNode("",!0)])),[[c,!e.isReady]])}const Znr=E1(Gnr,[["render",qnr],["__scopeId","data-v-c1341ff7"]]);let J6e=7,a5=5;const Xnr=[{id:"UBERON:0000948",name:"heart",showAtZoom:1},{id:"UBERON:0001759",name:"vagus nerve",showAtZoom:1},{id:"UBERON:0001155",name:"colon",showAtZoom:1},{id:"UBERON:0000945",name:"stomach",showAtZoom:1},{id:"UBERON:0001013",name:"adipose tissue",showAtZoom:1},{id:"UBERON:0001255",name:"urinary bladder",showAtZoom:1},{id:"UBERON:0001348",name:"brown adipose tissue",showAtZoom:6},{id:"UBERON:0002008",name:"cardiac nerve plexus",showAtZoom:1},{id:"UBERON:0002240",name:"spinal cord",showAtZoom:1},{id:"UBERON:0002005",name:"Enteric Nervous System",showAtZoom:4},{id:"UBERON:0013702",name:"body proper",showAtZoom:1},{id:"UBERON:0002298",name:"brainstem",showAtZoom:1},{id:"UBERON:0002439",name:"myenteric nerve plexus",showAtZoom:6},{id:"UBERON:0000010",name:"peripheral nervous system",showAtZoom:6},{id:"UBERON:0002048",name:"lung",showAtZoom:1},{id:"UBERON:0002410",name:"autonomic nervous system",showAtZoom:6},{id:"UBERON:0002441",name:"cervicothoracic ganglion",showAtZoom:6},{id:"UBERON:0005363",name:"inferior vagus X ganglion",showAtZoom:6},{id:"UBERON:0001264",name:"pancreas",showAtZoom:1},{id:"UBERON:0001884",name:"phrenic nerve",showAtZoom:6},{id:"UBERON:0002059",name:"submandibular ganglion",showAtZoom:7},{id:"UBERON:0001347",name:"white adipose tissue",showAtZoom:6},{id:"UBERON:0001556",name:"lower urinary tract",showAtZoom:1},{id:"UBERON:0002262",name:"celiac ganglion",showAtZoom:5},{id:"UBERON:0000955",name:"Brain",showAtZoom:1},{id:"UBERON:0000160",name:"intestine",showAtZoom:1},{id:"UBERON:0001322",name:"sciatic nerve",showAtZoom:1},{id:"UBERON:0001649",name:"glossopharyngeal nerve",showAtZoom:6},{id:"UBERON:0002063",name:"sinus venosus",showAtZoom:6},{id:"UBERON:0002107",name:"liver",showAtZoom:1},{id:"UBERON:0002113",name:"kidney",showAtZoom:1},{id:"UBERON:0002481",name:"bone tissue",showAtZoom:1},{id:"UBERON:0004907",name:"lower digestive tract",showAtZoom:4},{id:"UBERON:0000044",name:"Dorsal root ganglion",showAtZoom:5},{id:"UBERON:0001736",name:"Submandibular gland",showAtZoom:J6e,keyword:!0},{id:"UBERON:0001103",name:"Diaphragm",showAtZoom:a5,keyword:!0},{id:"UBERON:0001160",name:"Fundus of stomach",showAtZoom:a5,keyword:!0},{id:"UBERON:0000955",name:"Brain",showAtZoom:a5,keyword:!0},{id:"UBERON:0003708",name:"Carotid sinus",showAtZoom:J6e,keyword:!0},{id:"UBERON:0002079",name:"Left cardiac atrium",showAtZoom:a5,keyword:!0},{id:"ILX:0485722",name:"Nodose ganglion",showAtZoom:J6e,keyword:!0},{id:"UBERON:0002078",name:"Right cardiac atrium",showAtZoom:a5,keyword:!0},{id:"UBERON:0002084",name:"Heart left ventricle",showAtZoom:a5,keyword:!0},{id:"UBERON:0002080",name:"Heart right ventricle",showAtZoom:a5,keyword:!0},{id:"UBERON:0001508",name:"Arch of Aorta",showAtZoom:a5,keyword:!0},{id:"UBERON:0001738",name:"Thyroid cartilage",showAtZoom:a5,keyword:!0},{id:"UBERON:0000388",name:"Epiglottis",showAtZoom:a5,keyword:!0}];function Knr(e){return e[0].toUpperCase()+e.substring(1)}const iE={emits:["flatmap-provenance-ready","resource-selected","species-changed"],props:{entry:Object,visible:{type:Boolean,default:!0},mouseHovered:{type:Boolean,default:!1}},computed:{...Au.mapStores(ew,h9),idNamePair(){return this.splitFlowStore.idNamePair},syncMode(){return this.splitFlowStore.syncMode},useHelpModeDialog(){return this.settingsStore.useHelpModeDialog},connectivityInfoSidebar(){return this.settingsStore.connectivityInfoSidebar},annotationSidebar(){return this.settingsStore.annotationSidebar}},mounted:function(){wo.on("startHelp",()=>{this.startHelp()}),this.multiflatmapRef=this.$refs.multiflatmap,this.flatmapRef=this.$refs.flatmap,this.scaffoldRef=this.$refs.scaffold},methods:{toggleSyncMode:function(){},getState:function(){},openMap:function(e){e==="SYNC"?(this.toggleSyncMode(),this.trackOpenMap("toggle_map_sync_mode")):(wo.emit("OpenNewMap",e),this.trackOpenMap(`open_new_${e}_map`)),this.onConnectivityInfoClose()},trackOpenMap:function(e){wd.sendEvent({event:"interaction_event",event_name:"portal_maps_open_map",category:e,location:"open_new_map"})},updateWithViewUrl:function(){},search:function(){return!1},searchSuggestions:function(){},resourceSelected:function(e,t){var i,a,l;if(this.resourceHasAction(t)){wo.emit("PopoverActionClick",t);return}let n,r=!1;const o={paneIndex:this.entry.id,type:e,resource:t,internalName:void 0,eventType:void 0};if(e=="MultiFlatmap"||e=="Flatmap")if(o.internalName=this.idNamePair[t.feature.models],t.eventType=="click")if(o.eventType="selected",t.feature.type=="marker"){let c=this.idNamePair[t.feature.models],u=Xnr.filter(d=>d.id===t.feature.models);this.settingsStore.isFeaturedMarkerIdentifier(t.feature.id)?n={type:"Search",term:this.settingsStore.featuredMarkerDoi(t.feature.id),featuredDataset:!0}:u.filter(d=>d.keyword).length>0?n={type:"Search",term:"http://purl.obolibrary.org/obo/"+t.feature.models.replace(":","_")}:n={type:"Facet",facet:c,facetPropPath:"anatomy.organ.category.name",term:"Anatomical structure"},r=!0,e=="MultiFlatmap"&&this.$refs.multiflatmap.getCurrentFlatmap().mapImp.clearSearchResults()}else t.feature.type=="feature"&&this.syncMode&&(r=!0);else t.eventType=="mouseenter"&&(o.eventType="highlighted",r=!0);else e=="Scaffold"&&(t&&t[0]&&((((i=t[0].data)==null?void 0:i.id)===void 0||((a=t[0].data)==null?void 0:a.id)==="")&&(t[0].data.id=(l=t[0].data)==null?void 0:l.group),o.internalName=t[0].data.id,t[0].data.lastActionOnMarker===!0&&(n={type:"Facet",facet:Knr(t[0].data.id),facetPropPath:"anatomy.organ.category.name",term:"Anatomical structure"})),o.eventType="selected",r=!0);n&&wo.emit("PopoverActionClick",n),r&&this.$emit("resource-selected",o)},resourceHasAction:function(e){return e.type==="URL"||e.type==="Search"||e.type==="Neuron Search"||e.type=="Facet"||e.type=="Facets"},isVisible:function(){return this.splitFlowStore.getPaneNameById(this.entry.id)!==void 0},displayTooltip:function(){},getNameAndIdFromSyncData:async function(e){let t=e.internalName;t===void 0&&e.resource&&(t=e.resource.label);let n;if(e.resource&&e.resource.resource&&(n=e.resource.resource[0]),this.entry.type==="Scaffold"){if(this.$refs.scaffold.findObjectsWithGroupName(t).length===0){if(e.resource&&e.resource.feature){const i=mje(e.resource.feature.models);if(i.length>0)return i}let o=lmn(t);if(o)return o;if(n&&e.eventType==="selected")return fetch(`${this.apiLocation}get-related-terms/${n}`).then(i=>i.json()).then(i=>{if(i.uberon.array.length>0)return t=i.uberon.array[0].name.charAt(0).toUpperCase()+i.uberon.array[0].name.slice(1),n=i.uberon.array[0].id.toUpperCase(),{id:n,name:t}})}}else if(this.entry.type==="MultiFlatmap")if(t==="Bladder")t="Urinary Bladder";else{const r=mje(t);r.length>0&&(t=r[0])}return{id:n,name:t}},getDatasetAnatomyInfo:function(e){fetch(`${this.apiLocation}dataset_info/anatomy?identifier=${e}`).then(t=>t.json()).then(t=>{const n=t.result[0];let r;try{r=n.anatomy.organ[0].curie}catch{r=void 0}let o;try{o=n.item.curie}catch{o=void 0}let i;try{let a=0,l=!1;for(;!l&&a<n.organisms.subject.length;){const c=n.organisms.subject[a];c.species&&(i=c.species.name,l=!0),a+=1}}catch{i=void 0}this.settingsStore.updateFeaturedMarker({identifier:e,marker:r,doi:o,species:i})})},oldFeaturedDatasetApiHasInfo:async function(){let t=await(await fetch(`${this.apiLocation}get_featured_datasets_identifiers`)).json();return!t.identifiers||t.identifiers.length==0?!1:t.identifiers},newFeaturedDatasetApiHasInfo:async function(){let t=await(await fetch(`${this.apiLocation}get_featured_dataset`)).json();return!t.datasets||t.datasets.length==0?!1:t.datasets.map(n=>n.id)},getFeaturedDatasets:async function(){let e=[],t=await this.oldFeaturedDatasetApiHasInfo();if(t)e=t;else{let n=await this.newFeaturedDatasetApiHasInfo();n&&(e=n)}this.settingsStore.updateFeatured(e),e.forEach(n=>{this.getDatasetAnatomyInfo(n)})},zoomToFeatures:function(){},handleSyncMouseEvent:async function(e){let t=await this.getNameAndIdFromSyncData(e);e.eventType==="highlighted"?this.highlightFeatures(t):e.eventType==="selected"&&this.displayTooltip(t)},handleSyncPanZoomEvent:function(){},highlightFeatures:function(){},receiveSynchronisedEvent:async function(e){if(e.paneIndex!==this.entry.id)e.eventType=="panZoom"||this.handleSyncMouseEvent(e);else if(e.eventType=="selected"){let t=await this.getNameAndIdFromSyncData(e);this.zoomToFeatures(t,!1)}},requestSynchronisedEvent:function(){},flatmapMarkerUpdate(){},onResize:function(){},startHelp:function(){this.isInHelp===!1&&(this.helpMode=!0,window.addEventListener("mousedown",this.checkEndHelpMouseDown),this.isInHelp=!0)},endHelp:function(){window.removeEventListener("mousedown",this.checkEndHelpMouseDown),this.helpMode=!1,setTimeout(()=>{this.isInHelp=!1},200)},onHelpModeShowNext:function(){this.helpModeActiveItem+=1},onHelpModeLastItem:function(e){e&&(this.helpModeLastItem=!0)},onFinishHelpMode:function(){this.helpMode=!1,this.helpModeActiveItem=0,this.helpModeLastItem=!1},onTooltipShown:function(){this.$refs.multiflatmap&&this.$refs.multiflatmapHelp&&this.$refs.multiflatmapHelp.toggleTooltipHighlight(),this.$refs.flatmap&&this.$refs.flatmapHelp&&this.$refs.flatmapHelp.toggleTooltipHighlight(),this.$refs.scaffold&&this.$refs.scaffoldHelp&&this.$refs.scaffoldHelp.toggleTooltipHighlight()},onMapTooltipShown:function(){this.$refs.multiflatmap&&this.$refs.multiflatmapHelp&&this.$refs.multiflatmapHelp.toggleTooltipPinHighlight(),this.$refs.flatmap&&this.$refs.flatmapHelp&&this.$refs.flatmapHelp.toggleTooltipPinHighlight(),this.$refs.scaffold&&this.$refs.scaffoldHelp&&this.$refs.scaffoldHelp.toggleTooltipPinHighlight()},checkEndHelpMouseDown:function(e){e.target.closest(".help-mode-dialog")||this.endHelp()},mapHoverHighlight:function(e){if(this.visible){const t=this.settingsStore.hoverAnatomies,n=this.settingsStore.hoverOrgans;t.length||n.length?(clearTimeout(this.hoverDelay),this.multiflatmapRef||this.flatmapRef?e==null||e.zoomToFeatures(t,{noZoomIn:!0}):this.scaffoldRef&&(e==null||e.changeHighlightedByName(n,"",!1))):this.hoverDelay=setTimeout(()=>{this.multiflatmapRef||this.flatmapRef?e==null||e.clearSearchResults():this.scaffoldRef&&(e==null||e.changeHighlightedByName(n,"",!1))},500)}},onAnnotationOpen:function(e){wo.emit("annotation-open",e)},onAnnotationClose:function(){wo.emit("annotation-close")},onConnectivityInfoOpen:function(e){wo.emit("connectivity-info-open",e)},onConnectivityInfoClose:function(){wo.emit("connectivity-info-close")}},data:function(){return{apiLocation:void 0,activeSpecies:"Human Male",scaffoldCamera:void 0,mainStyle:{height:this.entry.datasetTitle?"calc(100% - 30px)":"100%",width:"100%",bottom:"0px"},helpMode:!1,helpModeActiveItem:0,helpModeLastItem:!1,multiflatmapRef:null,flatmapRef:null,scaffoldRef:null,scaffoldLoaded:!1,isInHelp:!1,hoverDelay:void 0}},created:function(){this.flatmapAPI=void 0,this.apiLocation=void 0,this.settingsStore.flatmapAPI&&(this.flatmapAPI=this.settingsStore.flatmapAPI),this.settingsStore.sparcApi&&(this.apiLocation=this.settingsStore.sparcApi)},watch:{helpMode:function(e){e||(this.helpModeActiveItem=0)}}},Ynr=function(e){return e?[...new Set(e.map(t=>JSON.stringify(t)))].map(t=>JSON.parse(t)):[]},Hrt={computed:{...Au.mapStores(ew)},methods:{flatmapPanZoomCallback:function(e){if(this.mouseHovered){const t={paneIndex:this.entry.id,eventType:"panZoom",payload:e,type:this.entry.type};this.$emit("resource-selected",t)}},flatmapMarkerUpdate(e){if(!this.flatmapReady)return;let t=e;if(t||(t=this.getFlatmapImp()),t){let n=this.settingsStore.markers;n=Ynr(n);let r=this.removeMarkersNotOnFlatmap(t,n);if(t.clearMarkers(),t.clearDatasetMarkers(),this.entry.resource==="FunctionalConnectivity"){let o=[];for(let i=0;i<r.length;i++)o=o.concat(r[i].terms);t.addMarkers(Array.from(new Set(o)),{className:"standard-marker",cluster:!1})}else t.addDatasetMarkers(r);this.entry.type==="MultiFlatmap"&&this.restoreFeaturedMarkers(t)}},removeMarkersNotOnFlatmap(e,t){let n=e.anatomicalIdentifiers,r=[];for(let o=0;o<t.length;o++){let i=t[o],a={id:i.id,terms:[]};for(let l=0;l<i.terms.length;l++)n.includes(i.terms[l])&&a.terms.push(i.terms[l]);r.push(a)}return r},flatmapReadyForMarkerUpdates:function(e){if(e){e.enablePanZoomEvents(!0),this.flatmapReady=!0;const t=e.mapImp;this.flatmapMarkerUpdate(t)}}}},T8=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{const o=e==null?void 0:e(r);if(n===!1||!o)return t==null?void 0:t(r)};var Drt;const Xl=typeof window<"u",Jnr=e=>typeof e=="string",Frt=()=>{},$6e=Xl&&((Drt=window==null?void 0:window.navigator)==null?void 0:Drt.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function e5e(e){return typeof e=="function"?e():s.unref(e)}function $nr(e){return e}function SB(e){return s.getCurrentScope()?(s.onScopeDispose(e),!0):!1}function err(e,t=!0){s.getCurrentInstance()?s.onMounted(e):t?e():s.nextTick(e)}function zrt(e,t,n={}){const{immediate:r=!0}=n,o=s.ref(!1);let i=null;function a(){i&&(clearTimeout(i),i=null)}function l(){o.value=!1,a()}function c(...u){a(),o.value=!0,i=setTimeout(()=>{o.value=!1,i=null,e(...u)},e5e(t))}return r&&(o.value=!0,Xl&&c()),SB(l),{isPending:s.readonly(o),start:c,stop:l}}function b8(e){var t;const n=e5e(e);return(t=n==null?void 0:n.$el)!=null?t:n}const vJ=Xl?window:void 0;function G3(...e){let t,n,r,o;if(Jnr(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=vJ):[t,n,r,o]=e,!t)return Frt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],a=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,p,m)=>(d.addEventListener(h,p,m),()=>d.removeEventListener(h,p,m)),c=s.watch(()=>[b8(t),e5e(o)],([d,h])=>{a(),d&&i.push(...n.flatMap(p=>r.map(m=>l(d,p,m,h))))},{immediate:!0,flush:"post"}),u=()=>{c(),a()};return SB(u),u}let jrt=!1;function trr(e,t,n={}){const{window:r=vJ,ignore:o=[],capture:i=!0,detectIframe:a=!1}=n;if(!r)return;$6e&&!jrt&&(jrt=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",Frt)));let l=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(p=>p===d.target||d.composedPath().includes(p));{const p=b8(h);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[G3(r,"click",d=>{const h=b8(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(l=!c(d)),!l){l=!0;return}t(d)}},{passive:!0,capture:i}),G3(r,"pointerdown",d=>{const h=b8(e);h&&(l=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),a&&G3(r,"blur",d=>{var h;const p=b8(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(p!=null&&p.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function Urt(e,t=!1){const n=s.ref(),r=()=>n.value=!!e();return r(),err(r,t),n}const Grt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Wrt="__vueuse_ssr_handlers__";Grt[Wrt]=Grt[Wrt]||{};var qrt=Object.getOwnPropertySymbols,nrr=Object.prototype.hasOwnProperty,rrr=Object.prototype.propertyIsEnumerable,orr=(e,t)=>{var n={};for(var r in e)nrr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&qrt)for(var r of qrt(e))t.indexOf(r)<0&&rrr.call(e,r)&&(n[r]=e[r]);return n};function ov(e,t,n={}){const r=n,{window:o=vJ}=r,i=orr(r,["window"]);let a;const l=Urt(()=>o&&"ResizeObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>b8(e),h=>{c(),l.value&&o&&h&&(a=new ResizeObserver(t),a.observe(h,i))},{immediate:!0,flush:"post"}),d=()=>{c(),u()};return SB(d),{isSupported:l,stop:d}}var Zrt=Object.getOwnPropertySymbols,irr=Object.prototype.hasOwnProperty,arr=Object.prototype.propertyIsEnumerable,srr=(e,t)=>{var n={};for(var r in e)irr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Zrt)for(var r of Zrt(e))t.indexOf(r)<0&&arr.call(e,r)&&(n[r]=e[r]);return n};function lrr(e,t,n={}){const r=n,{window:o=vJ}=r,i=srr(r,["window"]);let a;const l=Urt(()=>o&&"MutationObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>b8(e),h=>{c(),l.value&&o&&h&&(a=new MutationObserver(t),a.observe(h,i))},{immediate:!0}),d=()=>{c(),u()};return SB(d),{isSupported:l,stop:d}}var Xrt;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Xrt||(Xrt={}));var crr=Object.defineProperty,Krt=Object.getOwnPropertySymbols,urr=Object.prototype.hasOwnProperty,drr=Object.prototype.propertyIsEnumerable,Yrt=(e,t,n)=>t in e?crr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hrr=(e,t)=>{for(var n in t||(t={}))urr.call(t,n)&&Yrt(e,n,t[n]);if(Krt)for(var n of Krt(t))drr.call(t,n)&&Yrt(e,n,t[n]);return e};hrr({linear:$nr},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});/**
|
1867
|
+
<br>`)},toggleConnectivityTooltip:function(e,t){const n=[...this.entry.componentsWithDatasets,...this.entry.destinationsWithDatasets,...this.entry.originsWithDatasets],r=e.split(","),o=[];t&&r.forEach(i=>{o.push(n.find(a=>a.name.trim()===i.trim()))}),this.$emit("connectivity-component-click",o)}},mounted:function(){Lc.on("connectivity-graph-error",e=>{const t=this.$refs.connectivityGraphRef;t&&t.showErrorMessage(e)})}},tQ=e=>(s.pushScopeId("data-v-0dc2cb05"),e=e(),s.popScopeId(),e),qtr={key:0,class:"main"},Ztr={class:"connectivity-info-title"},Xtr={key:0,class:"block"},Ktr={class:"title"},Ytr={style:{"word-break":"keep-all"}},Jtr={key:0,class:"subtitle"},$tr={key:1,class:"block"},enr={class:"title"},tnr={key:2,class:"block"},nnr={class:"title-buttons"},rnr=tQ(()=>s.createElementVNode("span",null," Show connectivity on map ",-1)),onr={class:"content-container population-display"},inr=tQ(()=>s.createElementVNode("div",{class:"block attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Population Display")],-1)),anr={class:"block buttons-row"},snr={key:0,class:"content-container"},lnr={key:0,class:"block"},cnr={class:"attribute-title-container"},unr=tQ(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),dnr={style:{"word-break":"keep-all"}},hnr=tQ(()=>s.createElementVNode("i",null,"Origin",-1)),pnr=["origin-item-label","onMouseenter","onMouseleave"],fnr={key:1,class:"block"},mnr=tQ(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("div",{class:"attribute-title"},"Components")],-1)),gnr=["component-item-label","onMouseenter","onMouseleave"],ynr={key:2,class:"block"},vnr={class:"attribute-title-container"},Tnr=tQ(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),bnr=tQ(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),xnr=["destination-item-label","onMouseenter","onMouseleave"],wnr={class:"block"},Qnr={key:1,class:"content-container"};function _nr(e,t,n,r,o,i){const a=Yvn,l=Ds,c=x2e,u=Nrt,d=Gvn,h=Tp,p=s.resolveComponent("CopyToClipboard"),m=$Ue,f=s.resolveComponent("connectivity-graph"),g=GX;return n.entry?s.withDirectives((s.openBlock(),s.createElementBlock("div",qtr,[s.createElementVNode("div",Ztr,[s.createElementVNode("div",null,[n.entry.title?(s.openBlock(),s.createElementBlock("div",Xtr,[s.createElementVNode("div",Ktr,[s.createTextVNode(s.toDisplayString(i.capitalise(n.entry.title))+" ",1),n.entry.featuresAlert?(s.openBlock(),s.createBlock(c,{key:0,width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"alert"},{default:s.withCtx(()=>[s.createVNode(a)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",Ytr,s.toDisplayString(n.entry.featuresAlert),1)]),_:1})):s.createCommentVNode("",!0)]),n.entry.provenanceTaxonomyLabel&&n.entry.provenanceTaxonomyLabel.length>0?(s.openBlock(),s.createElementBlock("div",Jtr,s.toDisplayString(i.provSpeciesDescription),1)):s.createCommentVNode("",!0)])):(s.openBlock(),s.createElementBlock("div",$tr,[s.createElementVNode("div",enr,s.toDisplayString(n.entry.featureId),1)])),i.resources.length?(s.openBlock(),s.createElementBlock("div",tnr,[s.createVNode(u,{resources:i.resources},null,8,["resources"])])):s.createCommentVNode("",!0)]),s.createElementVNode("div",nnr,[s.createVNode(c,{width:"auto",trigger:"hover",teleported:!1,"popper-class":"popover-map-pin"},{reference:s.withCtx(()=>[s.createVNode(h,{class:"button-circle",circle:"",onClick:t[0]||(t[0]=v=>i.showConnectivity(n.entry))},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(d)]),_:1})]),_:1})]),default:s.withCtx(()=>[rnr]),_:1}),s.createVNode(p,{content:i.updatedCopyContent},null,8,["content"])])]),s.createElementVNode("div",onr,[inr,s.createElementVNode("div",anr,[s.createVNode(h,{class:s.normalizeClass(e.activeView==="listView"?"button":"el-button-secondary"),onClick:t[1]||(t[1]=v=>i.switchConnectivityView("listView"))},{default:s.withCtx(()=>[s.createTextVNode(" List view ")]),_:1},8,["class"]),s.createVNode(h,{class:s.normalizeClass(e.activeView==="graphView"?"button":"el-button-secondary"),onClick:t[2]||(t[2]=v=>i.switchConnectivityView("graphView"))},{default:s.withCtx(()=>[s.createTextVNode(" Graph view ")]),_:1},8,["class"])])]),e.activeView==="listView"?(s.openBlock(),s.createElementBlock("div",snr,[s.createTextVNode(s.toDisplayString(n.entry.paths)+" ",1),n.entry.origins&&n.entry.origins.length>0?(s.openBlock(),s.createElementBlock("div",lnr,[s.createElementVNode("div",cnr,[unr,s.createVNode(c,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"info"},{default:s.withCtx(()=>[s.createVNode(m)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",dnr,[hnr,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.entry.origins,(v,y)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","origin-item-label":v,key:v,onMouseenter:T=>i.toggleConnectivityTooltip(v,!0),onMouseleave:T=>i.toggleConnectivityTooltip(v,!1)},s.toDisplayString(i.capitalise(v)),41,pnr))),128)),s.withDirectives(s.createVNode(h,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,n.entry.originsWithDatasets&&n.entry.originsWithDatasets.length>0&&i.shouldShowExploreButton(n.entry.originsWithDatasets)]])])):s.createCommentVNode("",!0),n.entry.components&&n.entry.components.length>0?(s.openBlock(),s.createElementBlock("div",fnr,[mnr,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.entry.components,(v,y)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","component-item-label":v,key:v,onMouseenter:T=>i.toggleConnectivityTooltip(v,!0),onMouseleave:T=>i.toggleConnectivityTooltip(v,!1)},s.toDisplayString(i.capitalise(v)),41,gnr))),128))])):s.createCommentVNode("",!0),n.entry.destinations&&n.entry.destinations.length>0?(s.openBlock(),s.createElementBlock("div",ynr,[s.createElementVNode("div",vnr,[Tnr,s.createVNode(c,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"info"},{default:s.withCtx(()=>[s.createVNode(m)]),_:1})]),default:s.withCtx(()=>[bnr]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.entry.destinations,(v,y)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","destination-item-label":v,key:v,onMouseenter:T=>i.toggleConnectivityTooltip(v,!0),onMouseleave:T=>i.toggleConnectivityTooltip(v,!1)},s.toDisplayString(i.capitalise(v)),41,xnr))),128)),s.withDirectives(s.createVNode(h,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,n.entry.destinationsWithDatasets&&n.entry.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(n.entry.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",wnr,[s.createVNode(h,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,n.entry.componentsWithDatasets&&n.entry.componentsWithDatasets.length>0&&i.shouldShowExploreButton(n.entry.componentsWithDatasets)]])])):s.createCommentVNode("",!0),e.activeView==="graphView"?(s.openBlock(),s.createElementBlock("div",Qnr,[s.createVNode(f,{entry:n.entry.featureId[0],mapServer:n.envVars.FLATMAPAPI_LOCATION,onTapNode:i.onTapNode,ref:"connectivityGraphRef"},null,8,["entry","mapServer","onTapNode"])])):s.createCommentVNode("",!0)])),[[g,e.loading]]):s.createCommentVNode("",!0)}const Rrt=A3(Wtr,[["render",_nr],["__scopeId","data-v-0dc2cb05"]]),Snr={name:"Tabs",props:{tabTitles:{type:Array,default:()=>[]},activeId:{type:Number,default:1}},methods:{titleClicked:function(e,t){this.$emit("titleClicked",{id:e,type:t})},tabClose:function(e){this.$emit("tab-close",e)}}},knr=e=>(s.pushScopeId("data-v-ed1ce6dc"),e=e(),s.popScopeId(),e),Cnr={class:"tab-container"},Lnr=["onClick"],Enr={class:"title-text"},Mnr=knr(()=>s.createElementVNode("span",{class:"visually-hidden"},"Close",-1));function Anr(e,t,n,r,o,i){const a=Tp;return s.openBlock(),s.createElementBlock("div",Cnr,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.tabTitles,l=>(s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["title",{"active-tab":l.id==n.activeId}]),key:l.id},[s.createElementVNode("div",{class:s.normalizeClass(["title-text-table",{highlightText:l.id==n.activeId}]),onClick:c=>i.titleClicked(l.id,l.type)},[s.createElementVNode("div",Enr,s.toDisplayString(l.title),1)],10,Lnr),l.id>1?(s.openBlock(),s.createBlock(a,{key:0,onClick:c=>i.tabClose(l.id),class:"button-tab-close","aria-label":"Close"},{default:s.withCtx(()=>[s.createTextVNode(" × "),Mnr]),_:2},1032,["onClick"])):s.createCommentVNode("",!0)],2))),128))])}const Vrt=A3(Snr,[["render",Anr],["__scopeId","data-v-ed1ce6dc"]]),Onr={components:{SidebarContent:Prt,Tabs:Vrt,ElIconArrowLeft:Vfe,ElIconArrowRight:bX,Drawer:y2e,Icon:Ds,ConnectivityInfo:Rrt,AnnotationTool:Irt},name:"SideBar",props:{visible:{type:Boolean,default:!1},envVars:{type:Object,default:()=>{}},tabs:{type:Array,default:()=>[{id:1,title:"Search",type:"search"},{id:2,title:"Connectivity",type:"connectivity"},{id:3,title:"Annotation",type:"annotation"}]},activeTabId:{type:Number,default:1},openAtStart:{type:Boolean,default:!1},connectivityInfo:{type:Object,default:null},annotationEntry:{type:Object,default:null},createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}}},data:function(){return{drawerOpen:!1,availableAnatomyFacets:[]}},methods:{hoverChanged:function(e){this.$emit("hover-changed",e)},showConnectivity:function(e){this.$emit("show-connectivity",e)},onConnectivityComponentClick:function(e){this.$emit("connectivity-component-click",e)},searchChanged:function(e,t){this.$emit("search-changed",{...t,id:e})},close:function(){this.drawerOpen=!1},toggleDrawer:function(){this.drawerOpen=!this.drawerOpen},openSearch:function(e,t){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch(e,t)})},getTabByIdAndType:function(e,t){const n=e||this.activeTabId,r=t||"search",o=this.tabs.find(a=>a.id===n&&a.type===r),i=this.tabs[0];return o||i},getTabRefId:function(e,t){let n="searchTab_";t==="connectivity"?n="connectivityTab_":t==="annotation"&&(n="annotationTab_");const r=this.getTabByIdAndType(e,t);return n+r.id},getSearchTabRefById:function(e){const t=e||1,n=this.getTabRefId(t,"search");return this.$refs[n][0]},addFilter:function(e){this.drawerOpen=!0,e.AND=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).addFilter(e)})},openNeuronSearch:function(e){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch("",void 0,"scicrunch-query-string/",{field:"*organ.curie",curie:e})})},getAlgoliaFacets:async function(){return await this.getSearchTabRefById(1).getAlgoliaFacets()},setDrawerOpen:function(e=!0){this.drawerOpen=e},tabClicked:function({id:e,type:t}){this.$emit("tabClicked",{id:e,type:t})},tabClose:function(e){this.$emit("tab-close",e)},updateConnectivityGraphError:function(e){Lc.emit("connectivity-graph-error",e)}},computed:{activeTabs:function(){const e=[{id:1,title:"Search",type:"search"}];return this.connectivityInfo&&e.push({id:2,title:"Connectivity",type:"connectivity"}),this.annotationEntry&&Object.keys(this.annotationEntry).length>0&&e.push({id:3,title:"Annotation",type:"annotation"}),e}},created:function(){this.drawerOpen=this.openAtStart},mounted:function(){Lc.on("PopoverActionClick",e=>{this.$emit("actionClick",e)}),Lc.on("number-of-datasets-for-anatomies",e=>{this.$emit("number-of-datasets-for-anatomies",e)}),Lc.on("anatomy-in-datasets",e=>{this.$emit("anatomy-in-datasets",e)}),Lc.on("contextUpdate",e=>{this.$emit("contextUpdate",e)}),Lc.on("datalink-clicked",e=>{this.$emit("datalink-clicked",e)}),Lc.on("onConnectivityActionClick",e=>{this.tabClicked({id:1,type:"search"}),this.$emit("actionClick",e)}),Lc.on("available-facets",e=>{this.availableAnatomyFacets=e.find(t=>t.label==="Anatomical Structure").children})}},Pnr={ref:"container"},Inr={class:"box-card"},Nnr={class:"sidebar-container"};function Rnr(e,t,n,r,o,i){const a=Vfe,l=Ds,c=bX,u=Vrt,d=Rrt,h=Irt,p=Prt,m=y2e;return s.openBlock(),s.createElementBlock("div",Pnr,[e.drawerOpen?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",{key:0,onClick:t[0]||(t[0]=(...f)=>i.toggleDrawer&&i.toggleDrawer(...f)),class:"open-tab"},[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(a)]),_:1})])),s.createVNode(m,{class:"side-bar my-drawer",modelValue:e.drawerOpen,"onUpdate:modelValue":t[7]||(t[7]=f=>e.drawerOpen=f),teleported:!1,"modal-append-to-body":!1,size:"584","with-header":!1,wrapperClosable:!1,modal:!1,"modal-class":"sidebar-body","z-index":10,"lock-scroll":!1},{default:s.withCtx(()=>[s.createElementVNode("div",Inr,[e.drawerOpen?(s.openBlock(),s.createElementBlock("div",{key:0,onClick:t[1]||(t[1]=(...f)=>i.close&&i.close(...f)),class:"close-tab"},[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(c)]),_:1})])):s.createCommentVNode("",!0),s.createElementVNode("div",Nnr,[i.activeTabs.length>1?(s.openBlock(),s.createBlock(u,{key:0,tabTitles:i.activeTabs,activeId:n.activeTabId,onTitleClicked:i.tabClicked,onTabClose:i.tabClose},null,8,["tabTitles","activeId","onTitleClicked","onTabClose"])):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.tabs,f=>(s.openBlock(),s.createElementBlock(s.Fragment,{key:"tab.id"},[f.type==="connectivity"&&n.connectivityInfo?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[f.id===n.activeTabId?(s.openBlock(),s.createBlock(d,{key:0,entry:n.connectivityInfo,availableAnatomyFacets:e.availableAnatomyFacets,envVars:n.envVars,ref_for:!0,ref:"connectivityTab_"+f.id,onShowConnectivity:i.showConnectivity,onConnectivityComponentClick:i.onConnectivityComponentClick},null,8,["entry","availableAnatomyFacets","envVars","onShowConnectivity","onConnectivityComponentClick"])):s.createCommentVNode("",!0)],64)):f.type==="annotation"?s.withDirectives((s.openBlock(),s.createBlock(h,{key:1,ref_for:!0,ref:"annotationTab_"+f.id,annotationEntry:n.annotationEntry,createData:n.createData,onAnnotation:t[2]||(t[2]=g=>e.$emit("annotation-submitted",g)),onConfirmCreate:t[3]||(t[3]=g=>e.$emit("confirm-create",g)),onCancelCreate:t[4]||(t[4]=g=>e.$emit("cancel-create")),onConfirmDelete:t[5]||(t[5]=g=>e.$emit("confirm-delete",g))},null,8,["annotationEntry","createData"])),[[s.vShow,f.id===n.activeTabId]]):s.withDirectives((s.openBlock(),s.createBlock(p,{key:2,class:"sidebar-content-container",contextCardEntry:f.contextCard,envVars:n.envVars,ref_for:!0,ref:"searchTab_"+f.id,onSearchChanged:g=>i.searchChanged(f.id,g),onHoverChanged:t[6]||(t[6]=g=>i.hoverChanged(g))},null,8,["contextCardEntry","envVars","onSearchChanged"])),[[s.vShow,f.id===n.activeTabId]])],64))),128))])])]),_:1},8,["modelValue"])],512)}const Vnr=A3(Onr,[["render",Rnr],["__scopeId","data-v-4c7c2708"]]);/*! js-cookie v3.0.5 | MIT */function yJ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var Bnr={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function K6e(e,t){function n(o,i,a){if(!(typeof document>"u")){a=yJ({},t,a),typeof a.expires=="number"&&(a.expires=new Date(Date.now()+a.expires*864e5)),a.expires&&(a.expires=a.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in a)a[c]&&(l+="; "+c,a[c]!==!0&&(l+="="+a[c].split(";")[0]));return document.cookie=o+"="+e.write(i,o)+l}}function r(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var i=document.cookie?document.cookie.split("; "):[],a={},l=0;l<i.length;l++){var c=i[l].split("="),u=c.slice(1).join("=");try{var d=decodeURIComponent(c[0]);if(a[d]=e.read(u,d),o===d)break}catch{}}return o?a[o]:a}}return Object.create({set:n,get:r,remove:function(o,i){n(o,"",yJ({},i,{expires:-1}))},withAttributes:function(o){return K6e(this.converter,yJ({},this.attributes,o))},withConverter:function(o){return K6e(yJ({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Y6e=K6e(Bnr,{path:"/"}),o5=function(e,t,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n},Il=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},v8,_B,i5,Ad,rv;const Hnr=1e4;class Dnr{constructor(t){v8.add(this),_B.set(this,void 0),i5.set(this,null),Ad.set(this,null),t.slice(-1)==="/"?o5(this,_B,t.slice(0,-1),"f"):o5(this,_B,t,"f")}get currentUser(){return Il(this,i5,"f")}get currentError(){return Il(this,Ad,"f")}async authenticate(t){o5(this,Ad,null,"f"),o5(this,i5,null,"f");const n=await Il(this,v8,"m",rv).call(this,t,"authenticate");return"error"in n?(Y6e.remove("annotation-key"),Promise.resolve(Il(this,Ad,"f"))):(Y6e.set("annotation-key",n.session,{secure:!0,expires:1}),o5(this,i5,n.data,"f"),Promise.resolve(Il(this,i5,"f")))}async unauthenticate(t){o5(this,Ad,null,"f"),o5(this,i5,null,"f");const n=await Il(this,v8,"m",rv).call(this,t,"unauthenticate");return"success"in n?Promise.resolve(n):Promise.resolve(Il(this,Ad,"f"))}async annotatedItemIds(t,n,r,o){const i={resource:n};r!==void 0&&(i.user=r),o!==void 0&&(i.participated=o);const a=await Il(this,v8,"m",rv).call(this,t,"items/","GET",i);return"error"in a?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(a)}async drawnFeatures(t,n,r){const o={resource:n};r!==void 0&&(o.items=r);const i=await Il(this,v8,"m",rv).call(this,t,"features/","GET",o);return"error"in i?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(i)}async itemAnnotations(t,n,r){const o=await Il(this,v8,"m",rv).call(this,t,"annotations/","GET",{resource:n,item:r});return"error"in o?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(o)}async annotation(t,n){const r=await Il(this,v8,"m",rv).call(this,t,"annotation/","GET",{annotation:n});return"error"in r?Promise.resolve(Il(this,Ad,"f")):Promise.resolve(r)}async addAnnotation(t,n){if(Il(this,i5,"f")&&Il(this,i5,"f").canUpdate){const r=Object.assign({creator:Il(this,i5,"f"),created:new Date().toISOString()},n),o=await Il(this,v8,"m",rv).call(this,t,"annotation/","POST",{data:r});if(!("error"in o))return Promise.resolve(o);o5(this,Ad,o,"f")}else o5(this,Ad,{error:"user cannot add annotation"},"f");return Promise.resolve(Il(this,Ad,"f"))}}_B=new WeakMap,i5=new WeakMap,Ad=new WeakMap,v8=new WeakSet,rv=async function(t,n,r="GET",o={}){let i=!0;const a=new AbortController;setTimeout(()=>{i&&(console.log("Annotation server timeout..."),a.abort())},Hnr);const l={method:r,signal:a.signal};let c=`${Il(this,_B,"f")}/${n}`;const u=Y6e.get("annotation-key")||"";if(r==="GET"){const h=[];for(const[p,m]of Object.entries(o))h.push(`${p}=${encodeURIComponent(JSON.stringify(m))}`);h.push(`key=${encodeURIComponent(t)}`),h.push(`session=${encodeURIComponent(u)}`),c+="?"+h.join("&"),l.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(r==="POST"){const h=Object.assign({key:t,session:u},o);l.body=JSON.stringify(h),l.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const d=await fetch(c,l);return i=!1,d.ok?Promise.resolve(await d.json()):(o5(this,Ad,{error:`${d.status} ${d.statusText}`},"f"),Promise.resolve(Il(this,Ad,"f")))};const Fnr=Au.defineStore("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(e){return e.userProfile.token}},actions:{setUserToken(e){this.userProfile.token=e}}}),znr={name:"SplitFlow",components:{Container:uNe,Header:dNe,Main:hNe,DialogToolbarContent:Sje,SplitDialog:Qje,SideBar:Vnr},setup(){const e=Fnr();s.provide("userApiKey",e.userToken);const t=ew();let n=s.markRaw(new Dnr(`${t.flatmapAPI}annotator`));return s.provide("$annotator",n),{annotator:n}},props:{state:{type:Object,default:void 0}},data:function(){return{sideBarVisibility:!0,startUp:!0,search:"",activeDockedId:1,filterTriggered:!1,availableFacets:[],connectivityInfo:null,annotationEntry:{},annotationCallback:void 0,confirmCreateCallback:void 0,cancelCreateCallback:void 0,confirmDeleteCallback:void 0,createData:{}}},watch:{state:{handler:function(e){e&&(this._externalStateSet||this.setState(e),this._externalStateSet=!0)},immediate:!0}},methods:{actionClick:function(e){if(e)if(e.type=="Search")if(e.nervePath)this.openSearch([e.filter],e.label);else{this.openSearch([],e.term);const t=e.featuredDataset?"portal_maps_featured_dataset_search":"portal_maps_action_search";wd.sendEvent({event:"interaction_event",event_name:t,category:e.term||"filter",location:"map_location_pin"}),this.filterTriggered=!0}else if(e.type=="URL")window.open(e.resource,"_blank");else if(e.type=="Facet"){if(this.$refs.sideBar){this.closeConnectivityInfo(),this.$refs.sideBar.addFilter(e);const{facet:t}=e;wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_filter",category:t||"filter",location:"map_location_pin"}),this.filterTriggered=!0}}else if(e.type=="Facets"){const t=[];if(this.settingsStore.facets.species.forEach(n=>{t.push({facet:rX(n),term:"Species",facetPropPath:"organisms.primary.species.name"})}),t.length==0&&t.push({facet:"Show All",term:"Species",facetPropPath:"organisms.primary.species.name"}),t.push(...e.labels.map(n=>({facet:rX(n),term:"Anatomical structure",facetPropPath:"anatomy.organ.category.name"}))),this.$refs.sideBar){this.closeConnectivityInfo(),this.$refs.sideBar.openSearch(t,"");const r=imn(this.availableFacets,e.labels).join(", ");wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_filter",category:r||"filter",location:"map_popup_button"})}}else this.trackGalleryClick(e),this.createNewEntry(e)},trackGalleryClick:function(e){const t=[],{label:n,type:r,datasetId:o,discoverId:i,resource:a}=e;let l="",c=o||i;n&&t.push(n),r&&t.push(r),o&&t.push("("+c+")"),a&&(r==="Plot"?l=a.dataSource.url:l=typeof a=="string"?a:a.share_link),wd.sendEvent({event:"interaction_event",event_name:"portal_maps_gallery_click",category:t.join(" "),location:"map_sidebar_gallery",dataset_id:c?c+"":"",file_path:l})},onDisplaySearch:function(e){let t=!1,n=this.$refs.splitdialog;n&&n.getActiveContents().forEach(o=>{o.search(e.term)&&(t=!0)}),this.$refs.dialogToolbar.setFailedSearch(t?void 0:e.term),wd.sendEvent({event:"interaction_event",event_name:"portal_maps_display_search",category:e.term,location:"map_toolbar"})},fetchSuggestions:function(e){const t=[];this.$refs.splitdialog.getActiveContents().forEach(a=>a.searchSuggestions(e.data.term,t));const o=[];t.forEach(a=>{o.push(a.replaceAll('"',""))});const i=new Set(o);t.length=0;for(const a of i)t.push({value:'"'+a+'"'});e.data.cb(t)},onShowConnectivity:function(e){const t=this.splitFlowStore.getState(),n=(t==null?void 0:t.activeView)||"";wo.emit("show-connectivity",{featureIds:e,offset:n==="singlepanel"||n==="2horpanel"})},onConnectivityComponentClick:function(e){wo.emit("connectivity-component-click",{connectivityInfo:this.connectivityInfo,data:e})},hoverChanged:function(e){const t=e&&e.anatomy?e.anatomy:[],n=e&&e.organs?e.organs:[];this.settingsStore.updateHoverFeatures(t,n),wo.emit("hoverUpdate")},searchChanged:function(e){if(e&&e.type=="query-update"&&(this.search=e.value,this.search&&!this.filterTriggered&&wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_search",category:this.search,location:"map_sidebar_search"}),this.filterTriggered=!1),e&&e.type=="filter-update"){if(this.settingsStore.updateFacets(e.value),!this.filterTriggered){const{value:t}=e,r=t.filter(o=>o.facet&&o.facet.toLowerCase()!=="show all").map(o=>o.facet).join(", ");wd.sendEvent({event:"interaction_event",event_name:"portal_maps_action_filter",category:r||"filter",location:"map_sidebar_filter"})}this.filterTriggered=!1}},updateMarkers:function(e){this.settingsStore.updateMarkers(e),wo.emit("markerUpdate")},updateScaffoldMarkers:function(e){this.settingsStore.updateNumberOfDatasetsForFacets(e)},getNewEntryId:function(){return this.entries.length?this.entries[this.entries.length-1].id+1:1},activateSyncMap:function(e){let t={};return Object.assign(t,e),t.mode="normal",t.id=this.getNewEntryId(),t.state=void 0,t.type="Scaffold",t.discoverId=e.discoverId,t.rotation="free",e.layout=="2vertpanel"?t.rotation="horizontal":e.layout=="2horpanel"&&(t.rotation="vertical"),this.entriesStore.addNewEntry(t),this.splitFlowStore.setSyncMode({flag:!0,newId:t.id,layout:e.layout}),t.id},createNewEntry:function(e){let t={};return t.viewUrl=void 0,t.state=void 0,Object.assign(t,e),t.mode="normal",t.id=this.getNewEntryId(),t.discoverId=e.discoverId,this.entriesStore.addNewEntry(t),this.splitFlowStore.setIdToPrimaryPane(t.id),this.splitFlowStore.syncMode&&this.splitFlowStore.setSyncMode({flag:!1}),this.$refs.sideBar&&this.$refs.sideBar.setDrawerOpen(!1),t.id},openNewMap:async function(e){const t=await tmn(e,this.settingsStore.sparcApi);this.createNewEntry(t),t.contextCard&&wo.emit("contextUpdate",t.contextCard)},openSearch:function(e,t){this.search=t,this._facets=e,this.$refs&&this.$refs.sideBar&&(this.closeConnectivityInfo(),this.$refs.sideBar.openSearch(e,t)),this.startUp=!1},closeConnectivityInfo:function(){this.$el.querySelectorAll(".maplibregl-popup-close-button").forEach(t=>{t.click()})},onFullscreen:function(e){this.$emit("onFullscreen",e)},resetApp:function(){this.setState(cfe())},setIdToPrimaryPane:function(e){this.splitFlowStore.setIdToPrimaryPane(e)},setState:function(e){this.entriesStore.setAll(e.entries),e.splitFlow?this.splitFlowStore.setState(e.splitFlow):this.entries.forEach(t=>this.splitFlowStore.setIdToPrimaryPane(t.id))},getState:function(){let e=JSON.parse(JSON.stringify(this.entriesStore.$state)),n=this.$refs.splitdialog.getContentsState();if(e.entries.length===n.length)for(let r=0;r<n.length;r++){const o=e.entries[r];o.state=n[r],o.type==="Scaffold"&&"viewUrl"in o&&delete o.viewUrl,o.type==="MultiFlatmap"&&"uberonId"in o&&delete o.uberonId}return e.splitFlow=this.splitFlowStore.getState(),e},removeEntry:function(e){let t=this.entriesStore.findIndexOfId(e);this.entriesStore.destroyEntry(t)},resourceSelected:function(e){this.$emit("resource-selected",e),this.splitFlowStore.globalCallback&&this.$refs.splitdialog.sendSynchronisedEvent(e)},speciesChanged:function(e){this.$refs.sideBar&&this.$refs.sideBar.close()},tabClicked:function({id:e,type:t}){this.activeDockedId=e},toggleSyncMode:function(e){e&&(e.flag?e.action&&this.activateSyncMap(e.action):this.splitFlowStore.syncMode&&this.splitFlowStore.setSyncMode({flag:!1}))},contextUpdate:function(e){wo.emit("contextUpdate",e)},datalinkClicked:function(e){const t=e||"",n="datasets/",o=t.substring(t.indexOf(n)+n.length,t.indexOf("?type=dataset"));wd.sendEvent({event:"interaction_event",event_name:"portal_maps_gallery_click",category:t,location:"map_sidebar_gallery",dataset_id:o||""})},onAnnotationSubmitted:function(e){this.annotationCallback&&this.annotationCallback(e)},onConfirmCreate:function(e){this.confirmCreateCallback&&this.confirmCreateCallback(e)},onCancelCreate:function(){this.cancelCreateCallback&&this.cancelCreateCallback()},onConfirmDelete:function(e){this.confirmDeleteCallback&&this.confirmDeleteCallback(e)},onSidebarTabClose:function(e){e===2&&wo.emit("connectivity-info-close"),e===3&&wo.emit("annotation-close",{tabClose:!0})},resetActivePathways:function(){const t=this.$el.querySelector(".maplibregl-canvas");t&&t.click()}},created:function(){this._facets=[],this._externalStateSet=!1},mounted:function(){wo.on("RemoveEntryRequest",e=>{this.removeEntry(e)}),wo.on("SyncModeRequest",e=>{this.toggleSyncMode(e)}),wo.on("PopoverActionClick",e=>{this.actionClick(e)}),wo.on("annotation-open",e=>{this.annotationEntry=e.annotationEntry,this.annotationCallback=s.markRaw(e.commitCallback),e.createData?this.createData=s.markRaw(e.createData):this.createData=s.markRaw({}),this.confirmCreateCallback=s.markRaw(e.confirmCreate),this.cancelCreateCallback=s.markRaw(e.cancelCreate),this.confirmDeleteCallback=s.markRaw(e.confirmDelete),this.$refs.sideBar&&(this.tabClicked({id:3,type:"annotation"}),this.$refs.sideBar.setDrawerOpen(!0))}),wo.on("annotation-close",e=>{this.tabClicked({id:1,type:"search"}),this.annotationEntry={},this.createData={},this.$refs.sideBar&&this.$refs.sideBar.setDrawerOpen(!1)}),wo.on("connectivity-info-open",e=>{this.connectivityInfo=e,this.$refs.sideBar&&(this.tabClicked({id:2,type:"connectivity"}),this.$refs.sideBar.setDrawerOpen(!0))}),wo.on("connectivity-info-close",e=>{this.tabClicked({id:1,type:"search"}),this.connectivityInfo=null,this.resetActivePathways()}),wo.on("connectivity-graph-error",e=>{this.$refs.sideBar&&this.$refs.sideBar.updateConnectivityGraphError(e.data)}),wo.on("OpenNewMap",e=>{this.openNewMap(e)}),wo.on("startHelp",()=>{this.$refs.sideBar&&this.$refs.sideBar.close()}),this.$nextTick(()=>{this.search===""&&this._facets.length===0?(this.$refs.sideBar&&this.$refs.sideBar.close(),setTimeout(()=>{this.startUp=!1},2e3)):this.openSearch(this._facets,this.search)})},computed:{...Au.mapStores(oX,ew,h9),envVars:function(){return{API_LOCATION:this.settingsStore.sparcApi,ALGOLIA_INDEX:this.settingsStore.algoliaIndex,ALGOLIA_KEY:this.settingsStore.algoliaKey,ALGOLIA_ID:this.settingsStore.algoliaId,PENNSIEVE_API_LOCATION:this.settingsStore.pennsieveApi,NL_LINK_PREFIX:this.settingsStore.nlLinkPrefix,ROOT_URL:this.settingsStore.rootUrl,FLATMAPAPI_LOCATION:this.settingsStore.flatmapAPI2}},entries:function(){return this.entriesStore.entries}}},jnr={style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}};function Unr(e,t,n,r,o,i){const a=Sje,l=dNe,c=s.resolveComponent("SideBar"),u=Qje,d=hNe,h=uNe;return s.openBlock(),s.createBlock(h,{style:{height:"100%",background:"white"}},{default:s.withCtx(()=>[s.createVNode(l,{ref:"header",style:{"text-align":"left","font-size":"14px",padding:"0"},height:"32px",class:"dialog-header"},{default:s.withCtx(()=>[s.createVNode(a,{numberOfEntries:i.entries.length,onOnFullscreen:i.onFullscreen,onLocalSearch:i.onDisplaySearch,onFetchSuggestions:i.fetchSuggestions,ref:"dialogToolbar"},null,8,["numberOfEntries","onOnFullscreen","onLocalSearch","onFetchSuggestions"])]),_:1},512),s.createVNode(d,{class:"dialog-main"},{default:s.withCtx(()=>[s.createElementVNode("div",jnr,[s.createVNode(c,{ref:"sideBar",envVars:i.envVars,visible:e.sideBarVisibility,class:s.normalizeClass(["side-bar",{"start-up":e.startUp}]),activeTabId:e.activeDockedId,"open-at-start":e.startUp,annotationEntry:e.annotationEntry,createData:e.createData,connectivityInfo:e.connectivityInfo,onTabClose:i.onSidebarTabClose,onActionClick:i.actionClick,onTabClicked:i.tabClicked,onSearchChanged:t[0]||(t[0]=p=>i.searchChanged(p)),onAnatomyInDatasets:t[1]||(t[1]=p=>i.updateMarkers(p)),onAnnotationSubmitted:i.onAnnotationSubmitted,onConfirmCreate:i.onConfirmCreate,onCancelCreate:i.onCancelCreate,onConfirmDelete:i.onConfirmDelete,onNumberOfDatasetsForAnatomies:t[2]||(t[2]=p=>i.updateScaffoldMarkers(p)),onHoverChanged:t[3]||(t[3]=p=>i.hoverChanged(p)),onContextUpdate:t[4]||(t[4]=p=>i.contextUpdate(p)),onDatalinkClicked:t[5]||(t[5]=p=>i.datalinkClicked(p)),onShowConnectivity:i.onShowConnectivity,onConnectivityComponentClick:i.onConnectivityComponentClick},null,8,["envVars","visible","class","activeTabId","open-at-start","annotationEntry","createData","connectivityInfo","onTabClose","onActionClick","onTabClicked","onAnnotationSubmitted","onConfirmCreate","onCancelCreate","onConfirmDelete","onShowConnectivity","onConnectivityComponentClick"]),s.createVNode(u,{entries:i.entries,ref:"splitdialog",onResourceSelected:i.resourceSelected,onSpeciesChanged:i.speciesChanged},null,8,["entries","onResourceSelected","onSpeciesChanged"])])]),_:1})]),_:1})}const Brt=E1(znr,[["render",Unr],["__scopeId","data-v-84e332c8"]]),Gnr={name:"MapContent",components:{MapSvgSpriteColor:nX,Loading:wNe,SplitFlow:Brt},mixins:[{methods:{retrieveContextCardFromUrl:async function(e){const[t,n,r,o]=this.splitInfoFromUrl(e),i=await this.getContextFileFromScicrunch(t,r);if(!i.success)return{};const a=n+i.contextFile+o;return{s3uri:i.s3uri,contextCardUrl:a}},splitInfoFromUrl:function(e){let t=e.split("s3-resource")[1],n=e.split("files/")[0]+"files/",r=e.split("files/")[1].split("?")[0],o="?"+e.split("?")[1];const i=t.split("/");return i.shift(),[i[0],n,r,o]},getContextFileFromScicrunch:async function(e,t){return await fetch(`${this.settingsStore.sparcApi}/dataset_info/using_multiple_discoverIds/?discoverIds=${e}`).then(r=>r.json()).then(r=>{if(r.numberOfHits===1){const o=r.results[0]["abi-contextual-information"];if(o&&o.length===1)return{success:!0,contextFile:o[0],s3uri:r.results[0].s3uri};if(o&&o.length>1){let i=this.findContextInforForFilePath(r.results[0]["abi-context-file"],t);if(i)return{success:!0,contextFile:i,s3uri:r.results[0].s3uri}}}return{success:!1}}).catch(r=>(console.error("Error:",r),{success:!1}))},findContextInforForFilePath:function(e,t){var r;let n=e.find(o=>o.datacite.isDerivedFrom.path.includes(t));return(r=n==null?void 0:n.dataset)==null?void 0:r.path}}}],props:{shareLink:{type:String,default:void 0},state:{type:Object,default:void 0},options:{type:Object,default:()=>({}),required:!0},startingMap:{type:String,default:"AC"},useHelpModeDialog:{type:Boolean,default:!1},connectivityInfoSidebar:{type:Boolean,default:!0},annotationSidebar:{type:Boolean,default:!0}},data:function(){return{isReady:!1,initialState:void 0}},methods:{isFullscreen:function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},onFullscreen:function(e){e!==void 0?(e&&!this.isFullscreen()&&this.goFullscreen(),!e&&this.isFullscreen()&&this.leaveFullscreen()):this.isFullscreen()?this.leaveFullscreen():this.goFullscreen()},leaveFullscreen:function(){this.isFullscreen()&&(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen())},goFullscreen:function(){let e=this.$refs.MapApp;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():parent.msRequestFullscreen&&e.msRequestFullscreen()},setState:function(e){return this.$refs.flow.setState(e)},getState:function(){return this.$refs.flow.getState()},setCurrentEntry:async function(e){if(e&&e.type){if(e.type==="Scaffold"&&e.url){let t={type:e.type,label:e.label,region:e.region,resource:e.url,state:e.state,viewUrl:e.viewUrl};const n=await this.retrieveContextCardFromUrl(e.url);t={...t,...n},this.$refs.flow.createNewEntry(t)}else if(e.type==="MultiFlatmap"){const t=rmn(e);if(t){const n=this.getState();if(n&&n.entries)for(let r=0;r<n.entries.length;r++){const o=n.entries[r];if(o.type==="MultiFlatmap"){o.resource=t,o.state={species:t},(e.organ||e.uuid)&&(o.state.state={searchTerm:e.organ,uuid:e.uuid},e.uuid&&(o.state.state.entry=e.taxo)),this.$refs.flow.setState(n),this.$refs.flow.setIdToPrimaryPane(o.id);break}}}}else if(e.type==="Flatmap"){const t={type:e.type,resource:e.resource,state:e.state,label:e.label};this.$refs.flow.createNewEntry(t)}}},openSearch:function(e,t){return this.$refs.flow.openSearch(e,t)},flowMounted:function(){this._flowMounted=!0,this.$emit("isReady"),wd.sendEvent({event:"interaction_event",event_name:"portal_maps_page_view",category:this.startingMap})}},computed:{...Au.mapStores(ew,h9),stateToSet(){return this.state?this.state:this.initialState}},watch:{shareLink:{handler:function(e){this.settingsStore.updateShareLink(e)},immediate:!0}},beforeMount:function(){var e,t;this.options&&(this.options.sparcApi&&this.settingsStore.updateSparcAPI(this.options.sparcApi),this.options.algoliaIndex&&this.settingsStore.updateAlgoliaIndex(this.options.algoliaIndex),this.options.algoliaKey&&this.settingsStore.updateAlgoliaKey(this.options.algoliaKey),this.options.algoliaId&&this.settingsStore.updateAlgoliaId(this.options.algoliaId),this.options.pennsieveApi&&this.settingsStore.updatePennsieveApi(this.options.pennsieveApi),this.options.flatmapAPI&&this.settingsStore.updateFlatmapAPI(this.options.flatmapAPI),this.options.flatmapAPI2&&this.settingsStore.updateFlatmapAPI2(this.options.flatmapAPI2),this.options.nlLinkPrefix&&this.settingsStore.updateNLLinkPrefix(this.options.nlLinkPrefix),this.options.rootUrl&&this.settingsStore.updateRootUrl(this.options.rootUrl)),(e=this.splitFlowStore)==null||e.reset(),(t=this.splitFlowStore)==null||t.getAvailableTerms(this.settingsStore.sparcApi)},mounted:async function(){wo.on("updateShareLinkRequested",()=>{this.$emit("updateShareLinkRequested")}),wo.on("trackEvent",e=>{this.$emit("trackEvent",e)}),this.state||(this.initialState=await nmn(this.startingMap,this.options.sparcApi)),wo.on("mapLoaded",e=>{this.$emit("mapLoaded",e)}),this.isReady=!0,this.settingsStore.updateUseHelpModeDialog(this.useHelpModeDialog),this.settingsStore.updateConnectivityInfoSidebar(this.connectivityInfoSidebar),this.settingsStore.updateAnnotationSidebar(this.annotationSidebar)}},Wnr={ref:"MapApp",class:"mapcontent","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"};function qnr(e,t,n,r,o,i){const a=s.resolveComponent("map-svg-sprite-color"),l=Brt,c=Xk;return s.withDirectives((s.openBlock(),s.createElementBlock("div",Wnr,[s.createVNode(a),e.isReady?(s.openBlock(),s.createBlock(l,{key:0,onOnFullscreen:i.onFullscreen,state:i.stateToSet,ref:"flow",onVnodeMounted:i.flowMounted},null,8,["onOnFullscreen","state","onVnodeMounted"])):s.createCommentVNode("",!0)])),[[c,!e.isReady]])}const Znr=E1(Gnr,[["render",qnr],["__scopeId","data-v-c1341ff7"]]);let J6e=7,a5=5;const Xnr=[{id:"UBERON:0000948",name:"heart",showAtZoom:1},{id:"UBERON:0001759",name:"vagus nerve",showAtZoom:1},{id:"UBERON:0001155",name:"colon",showAtZoom:1},{id:"UBERON:0000945",name:"stomach",showAtZoom:1},{id:"UBERON:0001013",name:"adipose tissue",showAtZoom:1},{id:"UBERON:0001255",name:"urinary bladder",showAtZoom:1},{id:"UBERON:0001348",name:"brown adipose tissue",showAtZoom:6},{id:"UBERON:0002008",name:"cardiac nerve plexus",showAtZoom:1},{id:"UBERON:0002240",name:"spinal cord",showAtZoom:1},{id:"UBERON:0002005",name:"Enteric Nervous System",showAtZoom:4},{id:"UBERON:0013702",name:"body proper",showAtZoom:1},{id:"UBERON:0002298",name:"brainstem",showAtZoom:1},{id:"UBERON:0002439",name:"myenteric nerve plexus",showAtZoom:6},{id:"UBERON:0000010",name:"peripheral nervous system",showAtZoom:6},{id:"UBERON:0002048",name:"lung",showAtZoom:1},{id:"UBERON:0002410",name:"autonomic nervous system",showAtZoom:6},{id:"UBERON:0002441",name:"cervicothoracic ganglion",showAtZoom:6},{id:"UBERON:0005363",name:"inferior vagus X ganglion",showAtZoom:6},{id:"UBERON:0001264",name:"pancreas",showAtZoom:1},{id:"UBERON:0001884",name:"phrenic nerve",showAtZoom:6},{id:"UBERON:0002059",name:"submandibular ganglion",showAtZoom:7},{id:"UBERON:0001347",name:"white adipose tissue",showAtZoom:6},{id:"UBERON:0001556",name:"lower urinary tract",showAtZoom:1},{id:"UBERON:0002262",name:"celiac ganglion",showAtZoom:5},{id:"UBERON:0000955",name:"Brain",showAtZoom:1},{id:"UBERON:0000160",name:"intestine",showAtZoom:1},{id:"UBERON:0001322",name:"sciatic nerve",showAtZoom:1},{id:"UBERON:0001649",name:"glossopharyngeal nerve",showAtZoom:6},{id:"UBERON:0002063",name:"sinus venosus",showAtZoom:6},{id:"UBERON:0002107",name:"liver",showAtZoom:1},{id:"UBERON:0002113",name:"kidney",showAtZoom:1},{id:"UBERON:0002481",name:"bone tissue",showAtZoom:1},{id:"UBERON:0004907",name:"lower digestive tract",showAtZoom:4},{id:"UBERON:0000044",name:"Dorsal root ganglion",showAtZoom:5},{id:"UBERON:0001736",name:"Submandibular gland",showAtZoom:J6e,keyword:!0},{id:"UBERON:0001103",name:"Diaphragm",showAtZoom:a5,keyword:!0},{id:"UBERON:0001160",name:"Fundus of stomach",showAtZoom:a5,keyword:!0},{id:"UBERON:0000955",name:"Brain",showAtZoom:a5,keyword:!0},{id:"UBERON:0003708",name:"Carotid sinus",showAtZoom:J6e,keyword:!0},{id:"UBERON:0002079",name:"Left cardiac atrium",showAtZoom:a5,keyword:!0},{id:"ILX:0485722",name:"Nodose ganglion",showAtZoom:J6e,keyword:!0},{id:"UBERON:0002078",name:"Right cardiac atrium",showAtZoom:a5,keyword:!0},{id:"UBERON:0002084",name:"Heart left ventricle",showAtZoom:a5,keyword:!0},{id:"UBERON:0002080",name:"Heart right ventricle",showAtZoom:a5,keyword:!0},{id:"UBERON:0001508",name:"Arch of Aorta",showAtZoom:a5,keyword:!0},{id:"UBERON:0001738",name:"Thyroid cartilage",showAtZoom:a5,keyword:!0},{id:"UBERON:0000388",name:"Epiglottis",showAtZoom:a5,keyword:!0}];function Knr(e){return e[0].toUpperCase()+e.substring(1)}const iE={emits:["flatmap-provenance-ready","resource-selected","species-changed"],props:{entry:Object,visible:{type:Boolean,default:!0},mouseHovered:{type:Boolean,default:!1}},computed:{...Au.mapStores(ew,h9),idNamePair(){return this.splitFlowStore.idNamePair},syncMode(){return this.splitFlowStore.syncMode},useHelpModeDialog(){return this.settingsStore.useHelpModeDialog},connectivityInfoSidebar(){return this.settingsStore.connectivityInfoSidebar},annotationSidebar(){return this.settingsStore.annotationSidebar}},mounted:function(){wo.on("startHelp",()=>{this.startHelp()}),this.multiflatmapRef=this.$refs.multiflatmap,this.flatmapRef=this.$refs.flatmap,this.scaffoldRef=this.$refs.scaffold},methods:{toggleSyncMode:function(){},getState:function(){},openMap:function(e){e==="SYNC"?(this.toggleSyncMode(),this.trackOpenMap("toggle_map_sync_mode")):(wo.emit("OpenNewMap",e),this.trackOpenMap(`open_new_${e}_map`)),this.onConnectivityInfoClose()},trackOpenMap:function(e){wd.sendEvent({event:"interaction_event",event_name:"portal_maps_open_map",category:e,location:"open_new_map"})},updateWithViewUrl:function(){},search:function(){return!1},searchSuggestions:function(){},resourceSelected:function(e,t){var i,a,l;if(this.resourceHasAction(t)){wo.emit("PopoverActionClick",t);return}let n,r=!1;const o={paneIndex:this.entry.id,type:e,resource:t,internalName:void 0,eventType:void 0};if(e=="MultiFlatmap"||e=="Flatmap")if(o.internalName=this.idNamePair[t.feature.models],t.eventType=="click")if(o.eventType="selected",t.feature.type=="marker"){let c=this.idNamePair[t.feature.models],u=Xnr.filter(d=>d.id===t.feature.models);this.settingsStore.isFeaturedMarkerIdentifier(t.feature.id)?n={type:"Search",term:this.settingsStore.featuredMarkerDoi(t.feature.id),featuredDataset:!0}:u.filter(d=>d.keyword).length>0?n={type:"Search",term:"http://purl.obolibrary.org/obo/"+t.feature.models.replace(":","_")}:n={type:"Facet",facet:c,facetPropPath:"anatomy.organ.category.name",term:"Anatomical structure"},r=!0,e=="MultiFlatmap"&&this.$refs.multiflatmap.getCurrentFlatmap().mapImp.clearSearchResults()}else t.feature.type=="feature"&&this.syncMode&&(r=!0);else t.eventType=="mouseenter"&&(o.eventType="highlighted",r=!0);else e=="Scaffold"&&(t&&t[0]&&((((i=t[0].data)==null?void 0:i.id)===void 0||((a=t[0].data)==null?void 0:a.id)==="")&&(t[0].data.id=(l=t[0].data)==null?void 0:l.group),o.internalName=t[0].data.id,t[0].data.lastActionOnMarker===!0&&(n={type:"Facet",facet:Knr(t[0].data.id),facetPropPath:"anatomy.organ.category.name",term:"Anatomical structure"})),o.eventType="selected",r=!0);n&&wo.emit("PopoverActionClick",n),r&&this.$emit("resource-selected",o)},resourceHasAction:function(e){return e.type==="URL"||e.type==="Search"||e.type==="Neuron Search"||e.type=="Facet"||e.type=="Facets"},isVisible:function(){return this.splitFlowStore.getPaneNameById(this.entry.id)!==void 0},displayTooltip:function(){},getNameAndIdFromSyncData:async function(e){let t=e.internalName;t===void 0&&e.resource&&(t=e.resource.label);let n;if(e.resource&&e.resource.resource&&(n=e.resource.resource[0]),this.entry.type==="Scaffold"){if(this.$refs.scaffold.findObjectsWithGroupName(t).length===0){if(e.resource&&e.resource.feature){const i=mje(e.resource.feature.models);if(i.length>0)return i}let o=lmn(t);if(o)return o;if(n&&e.eventType==="selected")return fetch(`${this.apiLocation}get-related-terms/${n}`).then(i=>i.json()).then(i=>{if(i.uberon.array.length>0)return t=i.uberon.array[0].name.charAt(0).toUpperCase()+i.uberon.array[0].name.slice(1),n=i.uberon.array[0].id.toUpperCase(),{id:n,name:t}})}}else if(this.entry.type==="MultiFlatmap")if(t==="Bladder")t="Urinary Bladder";else{const r=mje(t);r.length>0&&(t=r[0])}return{id:n,name:t}},getDatasetAnatomyInfo:function(e){fetch(`${this.apiLocation}dataset_info/anatomy?identifier=${e}`).then(t=>t.json()).then(t=>{const n=t.result[0];let r;try{r=n.anatomy.organ[0].curie}catch{r=void 0}let o;try{o=n.item.curie}catch{o=void 0}let i;try{let a=0,l=!1;for(;!l&&a<n.organisms.subject.length;){const c=n.organisms.subject[a];c.species&&(i=c.species.name,l=!0),a+=1}}catch{i=void 0}this.settingsStore.updateFeaturedMarker({identifier:e,marker:r,doi:o,species:i})})},oldFeaturedDatasetApiHasInfo:async function(){let t=await(await fetch(`${this.apiLocation}get_featured_datasets_identifiers`)).json();return!t.identifiers||t.identifiers.length==0?!1:t.identifiers},newFeaturedDatasetApiHasInfo:async function(){let t=await(await fetch(`${this.apiLocation}get_featured_dataset`)).json();return!t.datasets||t.datasets.length==0?!1:t.datasets.map(n=>n.id)},getFeaturedDatasets:async function(){let e=[],t=await this.oldFeaturedDatasetApiHasInfo();if(t)e=t;else{let n=await this.newFeaturedDatasetApiHasInfo();n&&(e=n)}this.settingsStore.updateFeatured(e),e.forEach(n=>{this.getDatasetAnatomyInfo(n)})},zoomToFeatures:function(){},handleSyncMouseEvent:async function(e){let t=await this.getNameAndIdFromSyncData(e);e.eventType==="highlighted"?this.highlightFeatures(t):e.eventType==="selected"&&this.displayTooltip(t)},handleSyncPanZoomEvent:function(){},highlightFeatures:function(){},receiveSynchronisedEvent:async function(e){if(e.paneIndex!==this.entry.id)e.eventType=="panZoom"||this.handleSyncMouseEvent(e);else if(e.eventType=="selected"){let t=await this.getNameAndIdFromSyncData(e);this.zoomToFeatures(t,!1)}},requestSynchronisedEvent:function(){},flatmapMarkerUpdate(){},onResize:function(){},startHelp:function(){this.isInHelp===!1&&(this.helpMode=!0,window.addEventListener("mousedown",this.checkEndHelpMouseDown),this.isInHelp=!0)},endHelp:function(){window.removeEventListener("mousedown",this.checkEndHelpMouseDown),this.helpMode=!1,setTimeout(()=>{this.isInHelp=!1},200)},onHelpModeShowNext:function(){this.helpModeActiveItem+=1},onHelpModeLastItem:function(e){e&&(this.helpModeLastItem=!0)},onFinishHelpMode:function(){this.helpMode=!1,this.helpModeActiveItem=0,this.helpModeLastItem=!1},onTooltipShown:function(){this.$refs.multiflatmap&&this.$refs.multiflatmapHelp&&this.$refs.multiflatmapHelp.toggleTooltipHighlight(),this.$refs.flatmap&&this.$refs.flatmapHelp&&this.$refs.flatmapHelp.toggleTooltipHighlight(),this.$refs.scaffold&&this.$refs.scaffoldHelp&&this.$refs.scaffoldHelp.toggleTooltipHighlight()},onMapTooltipShown:function(){this.$refs.multiflatmap&&this.$refs.multiflatmapHelp&&this.$refs.multiflatmapHelp.toggleTooltipPinHighlight(),this.$refs.flatmap&&this.$refs.flatmapHelp&&this.$refs.flatmapHelp.toggleTooltipPinHighlight(),this.$refs.scaffold&&this.$refs.scaffoldHelp&&this.$refs.scaffoldHelp.toggleTooltipPinHighlight()},checkEndHelpMouseDown:function(e){e.target.closest(".help-mode-dialog")||this.endHelp()},mapHoverHighlight:function(e){if(this.visible){const t=this.settingsStore.hoverAnatomies,n=this.settingsStore.hoverOrgans;t.length||n.length?(clearTimeout(this.hoverDelay),this.multiflatmapRef||this.flatmapRef?e==null||e.zoomToFeatures(t,{noZoomIn:!0}):this.scaffoldRef&&(e==null||e.changeHighlightedByName(n,"",!1))):this.hoverDelay=setTimeout(()=>{this.multiflatmapRef||this.flatmapRef?e==null||e.clearSearchResults():this.scaffoldRef&&(e==null||e.changeHighlightedByName(n,"",!1))},500)}},onAnnotationOpen:function(e){wo.emit("annotation-open",e)},onAnnotationClose:function(){wo.emit("annotation-close")},onConnectivityInfoOpen:function(e){wo.emit("connectivity-info-open",e)},onConnectivityInfoClose:function(){wo.emit("connectivity-info-close")}},data:function(){return{apiLocation:void 0,activeSpecies:"Human Male",scaffoldCamera:void 0,mainStyle:{height:this.entry.datasetTitle?"calc(100% - 30px)":"100%",width:"100%",bottom:"0px"},helpMode:!1,helpModeActiveItem:0,helpModeLastItem:!1,multiflatmapRef:null,flatmapRef:null,scaffoldRef:null,scaffoldLoaded:!1,isInHelp:!1,hoverDelay:void 0}},created:function(){this.flatmapAPI=void 0,this.apiLocation=void 0,this.settingsStore.flatmapAPI&&(this.flatmapAPI=this.settingsStore.flatmapAPI),this.settingsStore.sparcApi&&(this.apiLocation=this.settingsStore.sparcApi)},watch:{helpMode:function(e){e||(this.helpModeActiveItem=0)}}},Ynr=function(e){return e?[...new Set(e.map(t=>JSON.stringify(t)))].map(t=>JSON.parse(t)):[]},Hrt={computed:{...Au.mapStores(ew)},methods:{flatmapPanZoomCallback:function(e){if(this.mouseHovered){const t={paneIndex:this.entry.id,eventType:"panZoom",payload:e,type:this.entry.type};this.$emit("resource-selected",t)}},flatmapMarkerUpdate(e){if(!this.flatmapReady)return;let t=e;if(t||(t=this.getFlatmapImp()),t){let n=this.settingsStore.markers;n=Ynr(n);let r=this.removeMarkersNotOnFlatmap(t,n);if(t.clearMarkers(),t.clearDatasetMarkers(),this.entry.resource==="FunctionalConnectivity"){let o=[];for(let i=0;i<r.length;i++)o=o.concat(r[i].terms);t.addMarkers(Array.from(new Set(o)),{className:"standard-marker",cluster:!1})}else t.addDatasetMarkers(r);this.entry.type==="MultiFlatmap"&&this.restoreFeaturedMarkers(t)}},removeMarkersNotOnFlatmap(e,t){let n=e.anatomicalIdentifiers,r=[];for(let o=0;o<t.length;o++){let i=t[o],a={id:i.id,terms:[]};for(let l=0;l<i.terms.length;l++)n.includes(i.terms[l])&&a.terms.push(i.terms[l]);r.push(a)}return r},flatmapReadyForMarkerUpdates:function(e){if(e){e.enablePanZoomEvents(!0),this.flatmapReady=!0;const t=e.mapImp;this.flatmapMarkerUpdate(t)}}}},T8=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{const o=e==null?void 0:e(r);if(n===!1||!o)return t==null?void 0:t(r)};var Drt;const Xl=typeof window<"u",Jnr=e=>typeof e=="string",Frt=()=>{},$6e=Xl&&((Drt=window==null?void 0:window.navigator)==null?void 0:Drt.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function e5e(e){return typeof e=="function"?e():s.unref(e)}function $nr(e){return e}function SB(e){return s.getCurrentScope()?(s.onScopeDispose(e),!0):!1}function err(e,t=!0){s.getCurrentInstance()?s.onMounted(e):t?e():s.nextTick(e)}function zrt(e,t,n={}){const{immediate:r=!0}=n,o=s.ref(!1);let i=null;function a(){i&&(clearTimeout(i),i=null)}function l(){o.value=!1,a()}function c(...u){a(),o.value=!0,i=setTimeout(()=>{o.value=!1,i=null,e(...u)},e5e(t))}return r&&(o.value=!0,Xl&&c()),SB(l),{isPending:s.readonly(o),start:c,stop:l}}function b8(e){var t;const n=e5e(e);return(t=n==null?void 0:n.$el)!=null?t:n}const vJ=Xl?window:void 0;function G3(...e){let t,n,r,o;if(Jnr(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=vJ):[t,n,r,o]=e,!t)return Frt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],a=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,p,m)=>(d.addEventListener(h,p,m),()=>d.removeEventListener(h,p,m)),c=s.watch(()=>[b8(t),e5e(o)],([d,h])=>{a(),d&&i.push(...n.flatMap(p=>r.map(m=>l(d,p,m,h))))},{immediate:!0,flush:"post"}),u=()=>{c(),a()};return SB(u),u}let jrt=!1;function trr(e,t,n={}){const{window:r=vJ,ignore:o=[],capture:i=!0,detectIframe:a=!1}=n;if(!r)return;$6e&&!jrt&&(jrt=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",Frt)));let l=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(p=>p===d.target||d.composedPath().includes(p));{const p=b8(h);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[G3(r,"click",d=>{const h=b8(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(l=!c(d)),!l){l=!0;return}t(d)}},{passive:!0,capture:i}),G3(r,"pointerdown",d=>{const h=b8(e);h&&(l=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),a&&G3(r,"blur",d=>{var h;const p=b8(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(p!=null&&p.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function Urt(e,t=!1){const n=s.ref(),r=()=>n.value=!!e();return r(),err(r,t),n}const Grt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Wrt="__vueuse_ssr_handlers__";Grt[Wrt]=Grt[Wrt]||{};var qrt=Object.getOwnPropertySymbols,nrr=Object.prototype.hasOwnProperty,rrr=Object.prototype.propertyIsEnumerable,orr=(e,t)=>{var n={};for(var r in e)nrr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&qrt)for(var r of qrt(e))t.indexOf(r)<0&&rrr.call(e,r)&&(n[r]=e[r]);return n};function ov(e,t,n={}){const r=n,{window:o=vJ}=r,i=orr(r,["window"]);let a;const l=Urt(()=>o&&"ResizeObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>b8(e),h=>{c(),l.value&&o&&h&&(a=new ResizeObserver(t),a.observe(h,i))},{immediate:!0,flush:"post"}),d=()=>{c(),u()};return SB(d),{isSupported:l,stop:d}}var Zrt=Object.getOwnPropertySymbols,irr=Object.prototype.hasOwnProperty,arr=Object.prototype.propertyIsEnumerable,srr=(e,t)=>{var n={};for(var r in e)irr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Zrt)for(var r of Zrt(e))t.indexOf(r)<0&&arr.call(e,r)&&(n[r]=e[r]);return n};function lrr(e,t,n={}){const r=n,{window:o=vJ}=r,i=srr(r,["window"]);let a;const l=Urt(()=>o&&"MutationObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>b8(e),h=>{c(),l.value&&o&&h&&(a=new MutationObserver(t),a.observe(h,i))},{immediate:!0}),d=()=>{c(),u()};return SB(d),{isSupported:l,stop:d}}var Xrt;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Xrt||(Xrt={}));var crr=Object.defineProperty,Krt=Object.getOwnPropertySymbols,urr=Object.prototype.hasOwnProperty,drr=Object.prototype.propertyIsEnumerable,Yrt=(e,t,n)=>t in e?crr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hrr=(e,t)=>{for(var n in t||(t={}))urr.call(t,n)&&Yrt(e,n,t[n]);if(Krt)for(var n of Krt(t))drr.call(t,n)&&Yrt(e,n,t[n]);return e};hrr({linear:$nr},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});/**
|
1868
1868
|
* @vue/shared v3.4.27
|
1869
1869
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
1870
1870
|
* @license MIT
|
@@ -7489,7 +7489,7 @@ void main() {
|
|
7489
7489
|
state: () => new MyClass()
|
7490
7490
|
Found in store "${_.$id}".`),f&&i&&n.hydrate&&n.hydrate(_.$state,f),u=!0,d=!0,_}function mRo(e,t,n){let r,o;const i=typeof t=="function";r=e,o=i?n:t;function a(l,c){const u=s.hasInjectionContext();if(l=(process.env.NODE_ENV==="test"&&MG&&MG._testing?null:l)||(u?s.inject(dRo,null):null),l&&Q1e(l),process.env.NODE_ENV!=="production"&&!MG)throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
|
7491
7491
|
See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
|
7492
|
-
This will fail in production.`);l=MG,l._s.has(r)||(i?PEe(r,t,o,l):hVt(r,o,l),process.env.NODE_ENV!=="production"&&(a._pinia=l));const d=l._s.get(r);if(process.env.NODE_ENV!=="production"&&c){const h="__hot:"+r,p=i?PEe(h,t,o,l,!0):hVt(h,z2({},o),l,!0);c._hotUpdate(p),delete l.state.value[h],l._s.delete(h)}if(process.env.NODE_ENV!=="production"&&OG){const h=s.getCurrentInstance();if(h&&h.proxy&&!c){const p=h.proxy,m="_pStores"in p?p._pStores:p._pStores={};m[r]=d}}return d}return a.$id=r,a}function pVt(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const o=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,o):o[i]},n),{})}const fVt=mRo("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(e){return e.userProfile.token}},actions:{setUserToken(e){this.userProfile.token=e}}}),gRo={name:"ScaffoldTooltip",components:{Col:H4,CreateTooltipContent:Mun,ElIconDelete:wce,Icon:Ql,Popover:Uce,Row:Nm,Tooltip:KFe},props:{createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}},label:{type:String,default:""},annotationDisplay:{type:Boolean,default:!1},region:{type:String,default:""},visible:{type:Boolean,default:!1},x:{type:Number,default:200},y:{type:Number,default:200}},inject:["scaffoldUrl"],provide(){return{userApiKey:this.userToken}},data:function(){return{display:!1,annotationEntry:{},ElIconDelete:s.shallowRef(wce)}},computed:{...pVt(fVt,["userToken"]),position:function(){let e=40;return this.region&&(e=55),{left:this.x-40+"px",top:this.y-e+"px"}}},methods:{checkForDisplay:function(){if(this.visible&&this.label&&this.label!==""){if(this.display=!0,this.annotationDisplay){const e=this.region?this.region+"/":"";this.annotationEntry={featureId:e+this.label,resourceId:this.scaffoldUrl,resource:this.scaffoldUrl}}}else this.display=!1,this.annotationEntry={}},hideTriggered:function(){this.$emit("tooltip-hide")}},watch:{label:{handler:function(){this.checkForDisplay()},immediate:!0},visible:{handler:function(){this.checkForDisplay()},immediate:!0},annotationDisplay:{handler:function(){this.checkForDisplay()},immediate:!0}}},yRo={class:"tooltip-text"},vRo={key:0,class:"tooltip-text"},TRo={key:1,class:"delete-container"};function bRo(e,t,n,r,o,i){const a=s.resolveComponent("CreateTooltipContent"),l=s.resolveComponent("Tooltip"),c=H4,u=hP,d=Nm,h=Uce;return s.openBlock(),s.createElementBlock("div",{style:s.normalizeStyle(i.position),class:"region-tooltip"},[s.createVNode(h,{ref:"tooltip",visible:n.visible,placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tooltip-popper non-selectable","virtual-triggering":"",onHide:i.hideTriggered},{default:s.withCtx(()=>[s.createElementVNode("div",yRo,s.toDisplayString(n.label),1),n.region?(s.openBlock(),s.createElementBlock("div",vRo,"Region: "+s.toDisplayString(n.region),1)):s.createCommentVNode("",!0),s.withDirectives(s.createVNode(a,{createData:n.createData,onConfirmCreate:t[0]||(t[0]=p=>e.$emit("confirm-create",p)),onCancelCreate:t[1]||(t[1]=p=>e.$emit("cancel-create"))},null,8,["createData"]),[[s.vShow,n.createData.toBeConfirmed]]),s.withDirectives(s.createVNode(l,{class:"p-tooltip",ref:"annotationTooltip",annotationDisplay:!0,annotationEntry:e.annotationEntry},null,8,["annotationEntry"]),[[s.vShow,n.annotationDisplay&&!n.createData.toBeConfirmed]]),n.createData.toBeDeleted?(s.openBlock(),s.createElementBlock("div",TRo,[s.createVNode(d,null,{default:s.withCtx(()=>[s.createVNode(c,{span:10},{default:s.withCtx(()=>[s.createTextVNode("Delete this feature?")]),_:1}),s.createVNode(c,{span:7},{default:s.withCtx(()=>[s.createVNode(u,{class:"delete-button",icon:e.ElIconDelete,onClick:t[2]||(t[2]=p=>e.$emit("confirm-delete"))},{default:s.withCtx(()=>[s.createTextVNode(" Delete ")]),_:1},8,["icon"])]),_:1}),s.createVNode(c,{span:6},{default:s.withCtx(()=>[s.createVNode(u,{class:"delete-button",onClick:t[3]||(t[3]=p=>e.$emit("cancel-create"))},{default:s.withCtx(()=>[s.createTextVNode(" Dismiss ")]),_:1})]),_:1})]),_:1})])):s.createCommentVNode("",!0)]),_:1},8,["visible","onHide"])],4)}const mVt=oy(gRo,[["render",bRo],["__scopeId","data-v-e665391a"]]);/*! js-cookie v3.0.5 | MIT */function _1e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var xRo={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function IEe(e,t){function n(o,i,a){if(!(typeof document>"u")){a=_1e({},t,a),typeof a.expires=="number"&&(a.expires=new Date(Date.now()+a.expires*864e5)),a.expires&&(a.expires=a.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in a)a[c]&&(l+="; "+c,a[c]!==!0&&(l+="="+a[c].split(";")[0]));return document.cookie=o+"="+e.write(i,o)+l}}function r(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var i=document.cookie?document.cookie.split("; "):[],a={},l=0;l<i.length;l++){var c=i[l].split("="),u=c.slice(1).join("=");try{var d=decodeURIComponent(c[0]);if(a[d]=e.read(u,d),o===d)break}catch{}}return o?a[o]:a}}return Object.create({set:n,get:r,remove:function(o,i){n(o,"",_1e({},i,{expires:-1}))},withAttributes:function(o){return IEe(this.converter,_1e({},this.attributes,o))},withConverter:function(o){return IEe(_1e({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var NEe=IEe(xRo,{path:"/"}),jm=function(e,t,n,r,o){if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n},Gl=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},iy,PG,Um,qd,Ib;const wRo=1e4;class QRo{constructor(t){iy.add(this),PG.set(this,void 0),Um.set(this,null),qd.set(this,null),t.slice(-1)==="/"?jm(this,PG,t.slice(0,-1)):jm(this,PG,t)}get currentUser(){return Gl(this,Um,"f")}get currentError(){return Gl(this,qd,"f")}async authenticate(t){jm(this,qd,null),jm(this,Um,null);const n=await Gl(this,iy,"m",Ib).call(this,t,"authenticate");return"error"in n?(NEe.remove("annotation-key"),Promise.resolve(Gl(this,qd,"f"))):(NEe.set("annotation-key",n.session,{secure:!0,expires:1}),jm(this,Um,n.data),Promise.resolve(Gl(this,Um,"f")))}async unauthenticate(t){jm(this,qd,null),jm(this,Um,null);const n=await Gl(this,iy,"m",Ib).call(this,t,"unauthenticate");return"success"in n?Promise.resolve(n):Promise.resolve(Gl(this,qd,"f"))}async annotatedItemIds(t,n,r,o){const i={resource:n};r!==void 0&&(i.user=r),o!==void 0&&(i.participated=o);const a=await Gl(this,iy,"m",Ib).call(this,t,"items/","GET",i);return"error"in a?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(a)}async drawnFeatures(t,n,r){const o={resource:n};r!==void 0&&(o.items=r);const i=await Gl(this,iy,"m",Ib).call(this,t,"features/","GET",o);return"error"in i?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(i)}async itemAnnotations(t,n,r){const o=await Gl(this,iy,"m",Ib).call(this,t,"annotations/","GET",{resource:n,item:r});return"error"in o?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(o)}async annotation(t,n){const r=await Gl(this,iy,"m",Ib).call(this,t,"annotation/","GET",{annotation:n});return"error"in r?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(r)}async addAnnotation(t,n){if(Gl(this,Um,"f")&&Gl(this,Um,"f").canUpdate){const r=Object.assign({creator:Gl(this,Um,"f"),created:new Date().toISOString()},n),o=await Gl(this,iy,"m",Ib).call(this,t,"annotation/","POST",{data:r});if(!("error"in o))return Promise.resolve(o);jm(this,qd,o)}else jm(this,qd,{error:"user cannot add annotation"});return Promise.resolve(Gl(this,qd,"f"))}}PG=new WeakMap,Um=new WeakMap,qd=new WeakMap,iy=new WeakSet,Ib=async function(e,t,n="GET",r={}){let o=!0;const i=new AbortController;setTimeout(()=>{o&&(console.log("Annotation server timeout..."),i.abort())},wRo);const a={method:n,signal:i.signal};let l=`${Gl(this,PG,"f")}/${t}`;const c=NEe.get("annotation-key")||"";if(n==="GET"){const d=[];for(const[h,p]of Object.entries(r))d.push(`${h}=${encodeURIComponent(JSON.stringify(p))}`);d.push(`key=${encodeURIComponent(e)}`),d.push(`session=${encodeURIComponent(c)}`),l+="?"+d.join("&"),a.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(n==="POST"){const d=Object.assign({key:e,session:c},r);a.body=JSON.stringify(d),a.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const u=await fetch(l,a);return o=!1,u.ok?Promise.resolve(await u.json()):(jm(this,qd,{error:`${u.status} ${u.statusText}`}),Promise.resolve(Gl(this,qd,"f")))};const IG={ALL:0,SELECTED:1,HIGHLIGHTED:2,MOVE:3},_Ro=function(e,t,n){this.eventType=e,this.identifiers=t,this.zincObjects=n},SRo=function(e,t,n){this.targetedID=[];const r=e,o=t;this.targetEventType=n;const i=this;n===void 0&&(this.targetEventType=IG.ALL),this.getEventType=function(){return n},this.notify=function(a,l,c,u){if(a!==r&&(i.targetEventType===IG.ALL||i.targetEventType===l)){const d=new _Ro(l,c,u);o(d)}}},kRo=function(){const e=[];this.publish=function(t,n,r,o){for(let i=0;i<e.length;i++)e[i].notify(t,n,r,o)},this.subscribe=function(t,n,r){if(typeof n=="function"){const o=new SRo(t,n,r);return e.push(o),o}},this.unsubscribe=function(t){for(let n=0;n<e.length;n++)if(t===e[n]){e.splice(n,1);return}}},gVt={isWebGLAvailable:function(){try{var e=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(e.getContext("webgl")||e.getContext("experimental-webgl")))}catch{return!1}},isWebGL2Available:function(){try{var e=document.createElement("canvas");return!!(window.WebGL2RenderingContext&&e.getContext("webgl2"))}catch{return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(e){var t={1:"WebGL",2:"WebGL 2"},n={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},r='This module requires <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#008">$1</a> support but your $0 does not seem to support it.',o=document.createElement("div");return o.id="webglmessage",o.style.fontFamily="monospace",o.style.fontSize="20px",o.style.fontWeight="normal",o.style.textAlign="center",o.style.background="#fff",o.style.color="#000",o.style.padding="1.5em",o.style.width="400px",o.style.margin="5em auto 0",n[e]?r=r.replace("$0","graphics card"):r=r.replace("$0","browser"),r=r.replace("$1",t[e]),o.innerHTML=r,o}},REe={ALL:0,DESTROYED:1,NAME_CHANGED:2,SETTINGS_CHANGED:3},nf=function(){this.typeName="Base Module",this.instanceName="default",this.onChangedCallbacks=[],this.eventNotifiers=[]};nf.prototype.setName=function(e){if(e&&this.instanceName!==e){this.instanceName=e;const t=this.onChangedCallbacks.slice();for(let n=0;n<t.length;n++)t[n](this,REe.NAME_CHANGED)}},nf.prototype.settingsChanged=function(){const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,REe.SETTINGS_CHANGED)},nf.prototype.exportSettings=function(){const e={};return e.dialog=this.typeName,e.name=this.instanceName,e},nf.prototype.importSettings=function(e){return e.dialog==this.typeName?(this.setName(e.name),!0):!1},nf.prototype.publishChanges=function(e,t,n){for(let r=0;r<this.eventNotifiers.length;r++)this.eventNotifiers[r].publish(this,t,e,n)},nf.prototype.getName=function(){return this.instanceName},nf.prototype.destroy=function(){const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,REe.DESTROYED);delete this},nf.prototype.addChangedCallback=function(e){this.onChangedCallbacks.includes(e)==!1&&this.onChangedCallbacks.push(e)},nf.prototype.removeChangedCallback=function(e){const t=this.onChangedCallbacks.indexOf(e);t>-1&&this.onChangedCallbacks.splice(t,1)},nf.prototype.addNotifier=function(e){this.eventNotifiers.push(e)};const S1e=(e,t,n)=>{for(let r=0;r<e.length;r++)if(e[r]&&e[r].material&&e[r].material.emissive){let o=e[r].userData;o&&o.isZincObject?o.setEmissiveRGB(t):e[r].material&&e[r].material.emissive&&e[r].material.emissive.setRGB(...t),n&&e[r].material.depthFunc&&(e[r].material.depthFunc=Pb.THREE.LessEqualDepth),e[r].children.forEach(i=>{const a=i.userData;a&&a.isZincObject&&i.material&&i.material.emissive&&i.material.emissive.setRGB(...t)})}},CRo=function(){let e=[],t=[];this.highlightColour=[1,0,0],this.selectColour=[0,1,0],this.originalColour=[0,0,0];const n=[],r=[],o=this,i=function(c,u){if(c.length==0&&u.length==0)return!1;for(let d=0;d<c.length;d++){let h=!1;for(let p=0;p<u.length;p++)c[d]===u[p]&&(h=!0);if(!h)return!0}for(let d=0;d<u.length;d++){let h=!1;for(let p=0;p<c.length;p++)u[d]===c[p]&&(h=!0);if(!h)return!0}return!1},a=function(c,u){if(n.length=0,u.length==0)return c;for(let d=0;d<c.length;d++){let h=!1;for(let p=0;p<u.length;p++)c[d]===u[p]&&(h=!0);h||n.push(c[d])}return n};this.setHighlighted=function(c){const u=[...e];o.resetHighlighted();const d=a(c,t),h=l(d);return S1e(h,o.highlightColour,!1),e=d,i(e,u)},this.setSelected=function(c){const u=[...t];o.resetHighlighted(),o.resetSelected();const d=l(c);return S1e(d,o.selectColour,!1),t=c,i(t,u)};const l=function(c){r.length=0;for(let u=0;u<c.length;u++)c[u].material&&r.push(c[u]);return r};this.resetHighlighted=function(){const c=l(e);S1e(c,o.originalColour,!0),e=[]},this.resetSelected=function(){const c=l(t);S1e(c,o.originalColour,!0),t=[]},this.getSelected=function(){return t},this.reset=function(){o.resetSelected(),o.resetHighlighted()}},VEe=b1e.THREE,LRo=function(){const e=document.createElement("div");let t;if(e.style.height="100%",gVt.isWebGLAvailable())t=new b1e.Renderer(e,window),b1e.defaultMaterialColor=16777116,t.initialiseVisualisation(),t.playAnimation=!1;else{const n=gVt.getWebGLErrorMessage();e.appendChild(n)}return{Zinc:b1e,renderer:t,container:e}},Wl=function(){nf.call(this),this.scene=void 0,this.rendererContainer=void 0,this.displayArea=void 0,this.graphicsHighlight=new CRo,this.selectObjectOnPick=!0,this.zincRenderer=null,this.selectedScreenCoordinates=new VEe.Vector3,this.selectedCenter=void 0,this.liveUpdatesObjects=void 0,this.ignorePreviousSelected=!1};Wl.prototype=Object.create(nf.prototype),Wl.prototype.getIntersectedObject=function(e){if(e){const t=e.map(r=>{if(r&&r.object&&r.object.userData){if(r.object.userData.isMarker)return 1;if(r.object.name&&r.object.userData.isZincObject)return 2}return 0});let n=t.indexOf(1);return n=n>-1?n:t.indexOf(2),e[n]}},Wl.prototype.getAnnotationsFromObjects=function(e){const t=[];for(var n=0;n<e.length;n++){const r=e[n].userData;let o;if(r){if(r.isGlyph||r.isGlyphset){let i=r;r.isGlyph&&(i=r.getGlyphset()),o=i.userData?i.userData.annotation:void 0,o&&o.data&&(e[n].name&&e[n].name!=""?o.data.id=e[n].name:o.data.id=i.groupName)}else o=r.userData?r.userData.annotation:void 0,o&&o.data&&(o.data.id=e[n].name);o&&(o.data.zincObject=r)}o&&t.push(o)}return t},Wl.prototype.setHighlightedByObjects=function(e,t,n,r){const o=this.graphicsHighlight.setHighlighted(e),i=this.objectsToZincObjects(e);if(r){let a=IG.MOVE;o&&(a=IG.HIGHLIGHTED);const l=this.getAnnotationsFromObjects(e);l.length>0&&(l[0].coords=t,l[0].extraData=n),this.publishChanges(l,a,i)}return o},Wl.prototype.setHighlightedByZincObjects=function(e,t,n,r){let o=[];return e&&e.forEach(i=>{i&&i.getMorph()&&o.push(i.getMorph())}),this.setHighlightedByObjects(o,t,n,r)},Wl.prototype.setupLiveCoordinates=function(e){if(this.liveUpdatesObjects=e,e&&e.length>0){const t=this.scene.getBoundingBoxOfZincObjects(e);let n=new VEe.Vector3;t?(t.getCenter(n),this.selectedCenter==null?this.selectedCenter=n:this.selectedCenter.copy(n)):this.selectedCenter=void 0}else this.selectedCenter=void 0},Wl.prototype.objectsToZincObjects=function(e){const t=[];for(let n=0;n<e.length;n++){let r=e[n].userData;if(r)if(r.isGlyph||r.isGlyphset){let o=r;r.isGlyph&&(o=r.getGlyphset()),t.push(o)}else t.push(r)}return t},Wl.prototype.setSelectedByObjects=function(e,t,n,r){let o=!1;if(this.selectObjectOnPick?o=this.graphicsHighlight.setSelected(e):o=!0,o||this.ignorePreviousSelected){const i=this.objectsToZincObjects(e);if(this.selectObjectOnPick&&this.setupLiveCoordinates(i),r){const a=IG.SELECTED,l=this.getAnnotationsFromObjects(e);l.length>0&&(l[0].coords=t,l[0].extraData=n),this.publishChanges(l,a,i)}}return o},Wl.prototype.setSelectedByZincObjects=function(e,t,n,r){let o=[];return e&&e.forEach(i=>{if(i){const a=i.getMorph();a&&o.push(a)}}),this.setSelectedByObjects(o,t,n,r)},Wl.prototype.findObjectsByGroupName=function(e){return this.scene.findObjectsWithGroupName(e)},Wl.prototype.setHighlightedByGroupName=function(e,t){const n=this.findObjectsByGroupName(e);return this.setHighlightedByObjects(n,void 0,{},t)},Wl.prototype.setSelectedByGroupName=function(e,t){const n=this.findObjectsByGroupName(e);return this.setSelectedByObjects(n,void 0,{},t)},Wl.prototype.changeBackgroundColour=function(e){const t=new VEe.Color(e);this.zincRenderer&&this.zincRenderer.getThreeJSRenderer().setClearColor(t,1)},Wl.prototype.resetView=function(){this.zincRenderer&&this.zincRenderer.resetView()},Wl.prototype.viewAll=function(){this.zincRenderer&&this.zincRenderer.viewAll()},Wl.prototype.playAnimation=function(e){this.zincRenderer&&(this.zincRenderer.playAnimation=e)},Wl.prototype.setPlayRate=function(e){this.zincRenderer&&this.zincRenderer.setPlayRate(e)},Wl.prototype.getPlayRate=function(e){return this.zincRenderer?this.zincRenderer.getPlayRate():0},Wl.prototype.initialiseRenderer=function(e){if(this.zincRenderer===void 0||this.rendererContainer===void 0){let t=LRo();this.Zinc=t.Zinc,this.zincRenderer=t.renderer,this.rendererContainer=t.container}e&&(this.displayArea=e,this.displayArea.appendChild(this.rendererContainer),this.zincRenderer&&this.zincRenderer.animate())},Wl.prototype.destroy=function(){this.zincRenderer&&(this.zincRenderer.dispose(),this.zincRenderer.getThreeJSRenderer().dispose(),this.zincRenderer=void 0),nf.prototype.destroy.call(this)};const ERo=function(){this.type="anatomical",this.data=void 0,this.isAnnotation=!0},MRo=function(){this.currentName="",this.currentSystem="",this.currentPart="",this.currentSpecies="",this.metaURL="",this.viewURL="",this.timeVarying=!1,this.currentTime=0},yVt=function(e){Wl.call(this);const t=this;let n;this.sceneData=new MRo;const r=new Array,o=new Array,i=new Array,a=new Array;let l;const c=e;this.NDCCameraControl=void 0,t.typeName="Organ Viewer",this.getSceneData=function(){return t.sceneData},this.updateTime=function(_){let C=6e3;t.scene&&(C=t.scene.getDuration());const L=_/100*C;t.sceneData.nerveMapIsActive||t.scene&&t.scene.setMorphsTime(L),t.sceneData.currentTime=_};const u=function(){let _=3e3;t.scene&&(_=t.scene.getDuration());const C=t.zincRenderer.getCurrentTime();for(let L=0;L<r.length;L++)r[L](C);!t.sceneData.nerveMapIsActive&&n&&n.setMorphsTime(C),t.sceneData.nerveMap&&t.sceneData.nerveMap.additionalReader&&t.sceneData.nerveMap.additionalReader.setTime(C/_),t.sceneData.currentTime=C/_*100};this.getCurrentTime=function(){return t.sceneData.currentTime},this.toggleSyncControl=(_,C)=>{let L=this.scene.getZincCameraControls();_?(L.resetView(),this.NDCCameraControl=L.enableSyncControl(),L.setRotationMode(C)):(L.disableSyncControl(),this.NDCCameraControl=void 0,L.setRotationMode("free"))},this.isSyncControl=()=>this.NDCCameraControl!==void 0,this.setSyncControlZoomToBox=_=>{this.NDCCameraControl&&this.NDCCameraControl.zoomToBox(_,2)},this.setSyncControlCallback=_=>{this.NDCCameraControl&&this.NDCCameraControl.setEventCallback(_)},this.setSyncControlCenterZoom=(_,C)=>{this.NDCCameraControl&&this.NDCCameraControl.setCenterZoom(_,C)};const d=function(){if(t.zincRenderer.playAnimation&&t.liveUpdatesObjects&&t.setupLiveCoordinates(t.liveUpdatesObjects),t.selectedCenter){const _=new Pb.THREE.Vector3;_.copy(t.selectedCenter);const C=t.scene.vectorToScreenXY(_);t.selectedScreenCoordinates.x=C.x,t.selectedScreenCoordinates.y=C.y}},h=function(){return function(){u()}},p=function(){return function(){d()}};this.addTimeChangedCallback=function(_){r.push(_)},this.setTexturePos=function(_){t.sceneData.nerveMap&&t.sceneData.nerveMap.additionalReader&&t.sceneData.nerveMap.additionalReader.setSliderPos(_)},this.addSceneChangedCallback=function(_){o.push(_)},this.addOrganPartAddedCallback=function(_){i.push(_)},this.addOrganPartRemovedCallback=function(_){a.push(_)},this.setFinishDownloadCallback=function(_){l=_},this.unsetFinishDownloadCallback=function(){l=void 0},this.getNamedObjectsToScreenCoordinates=function(_,C){const L=new Pb.THREE.Vector3;L.setFromMatrixPosition(obj.matrixWorld);const M=width/2,O=height/2;return L.project(C),L.x=L.x*M+M,L.y=-(L.y*O)+O,L};const m=function(_){let C,L;if(_!==void 0){let M=!1;_.object.userData&&_.object.userData.isMarker?(M=!0,L=_.object.userData.parent.getMorph()):L=_.object;try{L.userData.userData.annotation.data.lastActionOnMarker=M}finally{}if(L)if(L.name)C=L.name;else{const O=t.getAnnotationsFromObjects([L]);O&&O[0]&&(C=O[0].data.group)}}return{id:C,object:L}},f=function(){return function(_,C,L){var M;const O=t.getIntersectedObject(_),I=m(O),R={worldCoords:[O?O.point.x:0,O?O.point.y:0,O?O.point.z:0],intersected:O,intersects:_},V={x:C,y:L};if(I.id){R.threeID=(M=I.object)==null?void 0:M.id,I.object.userData.isGlyph?I.object.name?t.setSelectedByObjects([I.object],V,R,!0):t.setSelectedByZincObjects(I.object.userData.getGlyphset(),V,R,!0):t.setSelectedByObjects([I.object],V,R,!0);return}else t.setSelectedByObjects([],V,R,!0)}},g=function(){return function(_,C,L){var M;const O=t.getIntersectedObject(_),I=m(O),R={worldCoords:[O?O.point.x:0,O?O.point.y:0,O?O.point.z:0]},V={x:C,y:L};if(I.id){R.threeID=(M=I.object)==null?void 0:M.id,t.displayArea.style.cursor="pointer",t.setHighlightedByObjects([I.object],V,R,!0);return}else t.displayArea.style.cursor="auto",t.setHighlightedByObjects([],V,R,!0)}},v=function(_,C,L,M){if(M=="all"||M=="geometries"){const O=_.findGeometriesWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}if(M=="all"||M=="glyphsets"){const O=_.findGlyphsetsWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}if(M=="all"||M=="pointsets"){const O=_.findPointsetsWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}if(M=="all"||M=="lines"){const O=_.findLinesWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}};this.changeGeometriesVisibility=function(_,C){v(t.scene,_,C,"geometries")},this.changeGlyphsetsVisibility=function(_,C){v(t.scene,_,C,"glyphsets")},this.changeLinesVisibility=function(_,C){v(t.scene,_,C,"lines")},this.changePointsetsVisibility=function(_,C){v(t.scene,_,C,"pointsets")},this.changeOrganPartsVisibility=function(_,C,L){let M="all";L!==void 0&&(M=L),v(t.scene,_,C,M)},this.changeOrganPartsVisibilityCallback=function(_){return function(C){t.changeOrganPartsVisibility(_,C)}},this.changeBackgroundColour=function(_){const C=new Pb.THREE.Color(_);t.zincRenderer&&t.zincRenderer.getThreeJSRenderer().setClearColor(C,1)};const y=function(_,C,L,M){for(let R=0;R<i.length;R++)i[R](M,t.scene.isTimeVarying());const O=new ERo,I=M.region.getFullPath();O.data={species:t.sceneData.currentSpecies,system:_,part:C,group:M.groupName,region:I,uuid:M.uuid,lastActionOnMarker:!1},M.userData.annotation=O},T=function(_,C,L,M){for(let O=0;O<a.length;O++)a[O](M)},b=function(_,C,L){return function(M){y(_,C,L,M)}},x=function(_,C,L){return function(M){T(_,C,L,M)}},w=function(){return function(){t.settingsChanged(),t.sceneData.timeVarying=t.scene.isTimeVarying(),l&&l()}};this.updateFieldvisibility=function(_,C){for(let L=0;L<_.length;L++)if(C!=L){const M=_[L].PartName;t.changeOrganPartsVisibility(M,!1)}if(C>-1){const L=_[C].PartName;if(t.scene.findGeometriesWithGroupName(L).length>0||t.scene.findGlyphsetsWithGroupName(L).length>0)t.changeOrganPartsVisibility(L,!0);else{const M=getOrganDetails(_[C].SystemName,L);M!=null&&t.scene.loadMetadataURL(c.getOrgansDirectoryPrefix()+"/"+M.meta)}}},this.getAvailableSpecies=function(_,C,L){const M=new Array;M.push("none");const O=Object.keys(organsFileMap);for(index in O){const I=O[index];I!=_&&organsFileMap[I].hasOwnProperty(C)&&organsFileMap[I][C].hasOwnProperty(L)&&M.push(I)}return M},this.getCentreAndSize=function(){const _=new Pb.THREE.Vector3,C=this.scene.getBoundingBox();C.getCenter(_);const L=[_.x,_.y,_.z];C.getSize(_);const M=[_.x,_.y,_.z];return{centre:L,size:M}};const Q=function(_,C,L,M){t.sceneData.nerveMapIsActive=!1,t.sceneData.nerveMap=void 0,t.sceneData.metaURL="",t.sceneData.viewURL="",t.sceneData.currentSpecies=_,t.sceneData.currentSystem=C,t.sceneData.currentPart=L,t.sceneData.currentTime=0,t.sceneData.timeVarying=!1;let O="";_&&(O=_+"/"),C&&(O=C+"/"),L&&(O=L),t.sceneData.currentName=O};this.loadOrgansFromURL=function(_,C,L,M,O,I){if(t.zincRenderer&&M&&t.sceneData.metaURL!==_){Q(C,L,M);const R=t.sceneData.currentName;let V=t.zincRenderer.getSceneByName(R);V?I&&V.clearAll():V=t.zincRenderer.createScene(R),t.selectObjectOnPick=!0;for(let P=0;P<o.length;P++)o[P](t.sceneData);O&&O!=""?(t.sceneData.viewURL=O,V.loadViewURL(t.sceneData.viewURL)):t.sceneData.viewURL=void 0,t.sceneData.metaURL=_,V.addZincObjectAddedCallbacks(b(L,M,!1)),V.addZincObjectRemovedCallbacks(x(void 0,M,!1)),V.loadMetadataURL(_,void 0,w()),t.scene=V,t.zincRenderer.setCurrentScene(V),t.graphicsHighlight.reset();const D=V.getZincCameraControls();D.enableRaycaster(V,f(),g()),D.setMouseButtonAction("AUXILIARY","ZOOM"),D.setMouseButtonAction("SECONDARY","PAN")}},this.loadGLTFFromURL=function(_,C,L){if(t.zincRenderer&&C&&t.sceneData.metaURL!==_){Q(void 0,void 0,C);const M=t.sceneData.currentName;let O=t.zincRenderer.getSceneByName(M);O?L&&O.clearAll():O=t.zincRenderer.createScene(M);for(let R=0;R<o.length;R++)o[R](t.sceneData);t.sceneData.viewURL=void 0,t.sceneData.metaURL=_,O.addZincObjectAddedCallbacks(b(void 0,C,!1)),O.addZincObjectRemovedCallbacks(x(void 0,C,!1)),O.loadGLTF(_,void 0,w()),t.scene=O,t.zincRenderer.setCurrentScene(O),t.graphicsHighlight.reset();const I=O.getZincCameraControls();I.enableRaycaster(O,f(),g()),I.setMouseButtonAction("AUXILIARY","ZOOM"),I.setMouseButtonAction("SECONDARY","PAN")}},this.alignCameraWithSelectedObject=function(_){const C=t.graphicsHighlight.getSelected();C&&C[0]&&C[0].userData&&t.scene.alignObjectToCameraView(C[0].userData,_)},this.exportSettings=function(){const _={};return _.name=t.instanceName,t.sceneData.currentSystem&&(_.system=t.sceneData.currentSystem),t.sceneData.currentSpecies&&(_.species=t.sceneData.currentSpecies),t.sceneData.currentPart&&(_.part=t.sceneData.currentPart),_.metaURL=t.sceneData.metaURL,t.sceneData.viewURL&&(_.viewURL=t.sceneData.viewURL),_.dialog="Organ Viewer",_},this.importSettings=function(_){return _&&_.dialog==this.typeName?(t.setName(_.name),_.metaURL!==void 0&&_.metaURL!=""?t.loadOrgansFromURL(_.metaURL,_.species,_.system,_.part,_.viewURL,!0):t.loadOrgans(_.species,_.system,_.part),!0):!1},function(){t.initialiseRenderer(void 0),t.zincRenderer&&(t.zincRenderer.addPreRenderCallbackFunction(h()),t.zincRenderer.addPostRenderCallbackFunction(p()))}()};yVt.prototype=Object.create(Wl.prototype);var Os=function(){return Os=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Os.apply(this,arguments)};function ARo(e,t,n,r){function o(i){return i instanceof n?i:new n(function(a){a(i)})}return new(n||(n=Promise))(function(i,a){function l(d){try{u(r.next(d))}catch(h){a(h)}}function c(d){try{u(r.throw(d))}catch(h){a(h)}}function u(d){d.done?i(d.value):o(d.value).then(l,c)}u((r=r.apply(e,[])).next())})}function ORo(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(u){return function(d){return c([u,d])}}function c(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(i=u[0]&2?o.return:u[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,u[1])).done)return i;switch(o=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){n.label=u[1];break}if(u[0]===6&&n.label<i[1]){n.label=i[1],i=u;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(u);break}i[2]&&n.ops.pop(),n.trys.pop();continue}u=t.call(e,n)}catch(d){u=[6,d],o=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function _i(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function uc(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,i=[],a;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(l){a={error:l}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}var PRo="ENTRIES",vVt="KEYS",TVt="VALUES",id="",BEe=function(){function e(t,n){var r=t._tree,o=Array.from(r.keys());this.set=t,this._type=n,this._path=o.length>0?[{node:r,keys:o}]:[]}return e.prototype.next=function(){var t=this.dive();return this.backtrack(),t},e.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var t=aI(this._path),n=t.node,r=t.keys;if(aI(r)===id)return{done:!1,value:this.result()};var o=n.get(aI(r));return this._path.push({node:o,keys:Array.from(o.keys())}),this.dive()},e.prototype.backtrack=function(){if(this._path.length!==0){var t=aI(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}},e.prototype.key=function(){return this.set._prefix+this._path.map(function(t){var n=t.keys;return aI(n)}).filter(function(t){return t!==id}).join("")},e.prototype.value=function(){return aI(this._path).node.get(id)},e.prototype.result=function(){switch(this._type){case TVt:return this.value();case vVt:return this.key();default:return[this.key(),this.value()]}},e.prototype[Symbol.iterator]=function(){return this},e}(),aI=function(e){return e[e.length-1]},IRo=function(e,t,n){var r=new Map;if(t===void 0)return r;for(var o=t.length+1,i=o+n,a=new Uint8Array(i*o).fill(n+1),l=0;l<o;++l)a[l]=l;for(var c=1;c<i;++c)a[c*o]=c;return bVt(e,t,n,r,a,1,o,""),r},bVt=function(e,t,n,r,o,i,a,l){var c,u,d=i*a;try{e:for(var h=_i(e.keys()),p=h.next();!p.done;p=h.next()){var m=p.value;if(m===id){var f=o[d-1];f<=n&&r.set(l,[e.get(m),f])}else{for(var g=i,v=0;v<m.length;++v,++g){for(var y=m[v],T=a*g,b=T-a,x=o[T],w=Math.max(0,g-n-1),Q=Math.min(a-1,g+n),_=w;_<Q;++_){var C=y!==t[_],L=o[b+_]+ +C,M=o[b+_+1]+1,O=o[T+_]+1,I=o[T+_+1]=Math.min(L,M,O);I<x&&(x=I)}if(x>n)continue e}bVt(e.get(m),t,n,r,o,g,a,l+m)}}}catch(R){c={error:R}}finally{try{p&&!p.done&&(u=h.return)&&u.call(h)}finally{if(c)throw c.error}}},HEe=function(){function e(t,n){t===void 0&&(t=new Map),n===void 0&&(n=""),this._size=void 0,this._tree=t,this._prefix=n}return e.prototype.atPrefix=function(t){var n,r;if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");var o=uc(k1e(this._tree,t.slice(this._prefix.length)),2),i=o[0],a=o[1];if(i===void 0){var l=uc(zEe(a),2),c=l[0],u=l[1];try{for(var d=_i(c.keys()),h=d.next();!h.done;h=d.next()){var p=h.value;if(p!==id&&p.startsWith(u)){var m=new Map;return m.set(p.slice(u.length),c.get(p)),new e(m,t)}}}catch(f){n={error:f}}finally{try{h&&!h.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}}return new e(i,t)},e.prototype.clear=function(){this._size=void 0,this._tree.clear()},e.prototype.delete=function(t){return this._size=void 0,NRo(this._tree,t)},e.prototype.entries=function(){return new BEe(this,PRo)},e.prototype.forEach=function(t){var n,r;try{for(var o=_i(this),i=o.next();!i.done;i=o.next()){var a=uc(i.value,2),l=a[0],c=a[1];t(l,c,this)}}catch(u){n={error:u}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.fuzzyGet=function(t,n){return IRo(this._tree,t,n)},e.prototype.get=function(t){var n=DEe(this._tree,t);return n!==void 0?n.get(id):void 0},e.prototype.has=function(t){var n=DEe(this._tree,t);return n!==void 0&&n.has(id)},e.prototype.keys=function(){return new BEe(this,vVt)},e.prototype.set=function(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;var r=FEe(this._tree,t);return r.set(id,n),this},Object.defineProperty(e.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var t=this.entries();!t.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),e.prototype.update=function(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;var r=FEe(this._tree,t);return r.set(id,n(r.get(id))),this},e.prototype.fetch=function(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;var r=FEe(this._tree,t),o=r.get(id);return o===void 0&&r.set(id,o=n()),o},e.prototype.values=function(){return new BEe(this,TVt)},e.prototype[Symbol.iterator]=function(){return this.entries()},e.from=function(t){var n,r,o=new e;try{for(var i=_i(t),a=i.next();!a.done;a=i.next()){var l=uc(a.value,2),c=l[0],u=l[1];o.set(c,u)}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return o},e.fromObject=function(t){return e.from(Object.entries(t))},e}(),k1e=function(e,t,n){var r,o;if(n===void 0&&(n=[]),t.length===0||e==null)return[e,n];try{for(var i=_i(e.keys()),a=i.next();!a.done;a=i.next()){var l=a.value;if(l!==id&&t.startsWith(l))return n.push([e,l]),k1e(e.get(l),t.slice(l.length),n)}}catch(c){r={error:c}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(r)throw r.error}}return n.push([e,t]),k1e(void 0,"",n)},DEe=function(e,t){var n,r;if(t.length===0||e==null)return e;try{for(var o=_i(e.keys()),i=o.next();!i.done;i=o.next()){var a=i.value;if(a!==id&&t.startsWith(a))return DEe(e.get(a),t.slice(a.length))}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},FEe=function(e,t){var n,r,o=t.length;e:for(var i=0;e&&i<o;){try{for(var a=(n=void 0,_i(e.keys())),l=a.next();!l.done;l=a.next()){var c=l.value;if(c!==id&&t[i]===c[0]){for(var u=Math.min(o-i,c.length),d=1;d<u&&t[i+d]===c[d];)++d;var h=e.get(c);if(d===c.length)e=h;else{var p=new Map;p.set(c.slice(d),h),e.set(t.slice(i,i+d),p),e.delete(c),e=p}i+=d;continue e}}}catch(f){n={error:f}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}var m=new Map;return e.set(t.slice(i),m),m}return e},NRo=function(e,t){var n=uc(k1e(e,t),2),r=n[0],o=n[1];if(r!==void 0){if(r.delete(id),r.size===0)xVt(o);else if(r.size===1){var i=uc(r.entries().next().value,2),a=i[0],l=i[1];wVt(o,a,l)}}},xVt=function(e){if(e.length!==0){var t=uc(zEe(e),2),n=t[0],r=t[1];if(n.delete(r),n.size===0)xVt(e.slice(0,-1));else if(n.size===1){var o=uc(n.entries().next().value,2),i=o[0],a=o[1];i!==id&&wVt(e.slice(0,-1),i,a)}}},wVt=function(e,t,n){if(e.length!==0){var r=uc(zEe(e),2),o=r[0],i=r[1];o.set(i+t,n),o.delete(i)}},zEe=function(e){return e[e.length-1]},NG,jEe="or",QVt="and",RRo="and_not",VRo=function(){function e(t){if((t==null?void 0:t.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');var n=t.autoVacuum==null||t.autoVacuum===!0?ZEe:t.autoVacuum;this._options=Os(Os(Os({},GEe),t),{autoVacuum:n,searchOptions:Os(Os({},_Vt),t.searchOptions||{}),autoSuggestOptions:Os(Os({},zRo),t.autoSuggestOptions||{})}),this._index=new HEe,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=qEe,this.addFields(this._options.fields)}return e.prototype.add=function(t){var n,r,o,i,a,l,c=this._options,u=c.extractField,d=c.tokenize,h=c.processTerm,p=c.fields,m=c.idField,f=u(t,m);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(m,'"'));if(this._idToShortId.has(f))throw new Error("MiniSearch: duplicate ID ".concat(f));var g=this.addDocumentId(f);this.saveStoredFields(g,t);try{for(var v=_i(p),y=v.next();!y.done;y=v.next()){var T=y.value,b=u(t,T);if(b!=null){var x=d(b.toString(),T),w=this._fieldIds[T],Q=new Set(x).size;this.addFieldLength(g,w,this._documentCount-1,Q);try{for(var _=(o=void 0,_i(x)),C=_.next();!C.done;C=_.next()){var L=C.value,M=h(L,T);if(Array.isArray(M))try{for(var O=(a=void 0,_i(M)),I=O.next();!I.done;I=O.next()){var R=I.value;this.addTerm(w,g,R)}}catch(V){a={error:V}}finally{try{I&&!I.done&&(l=O.return)&&l.call(O)}finally{if(a)throw a.error}}else M&&this.addTerm(w,g,M)}}catch(V){o={error:V}}finally{try{C&&!C.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}}}catch(V){n={error:V}}finally{try{y&&!y.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}},e.prototype.addAll=function(t){var n,r;try{for(var o=_i(t),i=o.next();!i.done;i=o.next()){var a=i.value;this.add(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.addAllAsync=function(t,n){var r=this;n===void 0&&(n={});var o=n.chunkSize,i=o===void 0?10:o,a={chunk:[],promise:Promise.resolve()},l=t.reduce(function(d,h,p){var m=d.chunk,f=d.promise;return m.push(h),(p+1)%i===0?{chunk:[],promise:f.then(function(){return new Promise(function(g){return setTimeout(g,0)})}).then(function(){return r.addAll(m)})}:{chunk:m,promise:f}},a),c=l.chunk,u=l.promise;return u.then(function(){return r.addAll(c)})},e.prototype.remove=function(t){var n,r,o,i,a,l,c=this._options,u=c.tokenize,d=c.processTerm,h=c.extractField,p=c.fields,m=c.idField,f=h(t,m);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(m,'"'));var g=this._idToShortId.get(f);if(g==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(f,": it is not in the index"));try{for(var v=_i(p),y=v.next();!y.done;y=v.next()){var T=y.value,b=h(t,T);if(b!=null){var x=u(b.toString(),T),w=this._fieldIds[T],Q=new Set(x).size;this.removeFieldLength(g,w,this._documentCount,Q);try{for(var _=(o=void 0,_i(x)),C=_.next();!C.done;C=_.next()){var L=C.value,M=d(L,T);if(Array.isArray(M))try{for(var O=(a=void 0,_i(M)),I=O.next();!I.done;I=O.next()){var R=I.value;this.removeTerm(w,g,R)}}catch(V){a={error:V}}finally{try{I&&!I.done&&(l=O.return)&&l.call(O)}finally{if(a)throw a.error}}else M&&this.removeTerm(w,g,M)}}catch(V){o={error:V}}finally{try{C&&!C.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}}}catch(V){n={error:V}}finally{try{y&&!y.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}this._storedFields.delete(g),this._documentIds.delete(g),this._idToShortId.delete(f),this._fieldLength.delete(g),this._documentCount-=1},e.prototype.removeAll=function(t){var n,r;if(t)try{for(var o=_i(t),i=o.next();!i.done;i=o.next()){var a=i.value;this.remove(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new HEe,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},e.prototype.discard=function(t){var n=this,r=this._idToShortId.get(t);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(t,": it is not in the index"));this._idToShortId.delete(t),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(o,i){n.removeFieldLength(r,i,n._documentCount,o)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},e.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var t=this._options.autoVacuum,n=t.minDirtFactor,r=t.minDirtCount,o=t.batchSize,i=t.batchWait;this.conditionalVacuum({batchSize:o,batchWait:i},{minDirtCount:r,minDirtFactor:n})}},e.prototype.discardAll=function(t){var n,r,o=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var i=_i(t),a=i.next();!a.done;a=i.next()){var l=a.value;this.discard(l)}}catch(c){n={error:c}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}finally{this._options.autoVacuum=o}this.maybeAutoVacuum()},e.prototype.replace=function(t){var n=this._options,r=n.idField,o=n.extractField,i=o(t,r);this.discard(i),this.add(t)},e.prototype.vacuum=function(t){return t===void 0&&(t={}),this.conditionalVacuum(t)},e.prototype.conditionalVacuum=function(t,n){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&n,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var o=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=qEe,r.performVacuuming(t,o)}),this._enqueuedVacuum)):this.vacuumConditionsMet(n)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)},e.prototype.performVacuuming=function(t,n){return ARo(this,void 0,void 0,function(){var r,o,i,a,l,c,u,d,h,p,m,f,g,v,y,T,b,x,w,Q,_,C,L,M,O;return ORo(this,function(I){switch(I.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(n))return[3,10];o=t.batchSize||WEe.batchSize,i=t.batchWait||WEe.batchWait,a=1,I.label=1;case 1:I.trys.push([1,7,8,9]),l=_i(this._index),c=l.next(),I.label=2;case 2:if(c.done)return[3,6];u=uc(c.value,2),d=u[0],h=u[1];try{for(p=(C=void 0,_i(h)),m=p.next();!m.done;m=p.next()){f=uc(m.value,2),g=f[0],v=f[1];try{for(y=(M=void 0,_i(v)),T=y.next();!T.done;T=y.next())b=uc(T.value,1),x=b[0],!this._documentIds.has(x)&&(v.size<=1?h.delete(g):v.delete(x))}catch(R){M={error:R}}finally{try{T&&!T.done&&(O=y.return)&&O.call(y)}finally{if(M)throw M.error}}}}catch(R){C={error:R}}finally{try{m&&!m.done&&(L=p.return)&&L.call(p)}finally{if(C)throw C.error}}return this._index.get(d).size===0&&this._index.delete(d),a%o!==0?[3,4]:[4,new Promise(function(R){return setTimeout(R,i)})];case 3:I.sent(),I.label=4;case 4:a+=1,I.label=5;case 5:return c=l.next(),[3,2];case 6:return[3,9];case 7:return w=I.sent(),Q={error:w},[3,9];case 8:try{c&&!c.done&&(_=l.return)&&_.call(l)}finally{if(Q)throw Q.error}return[7];case 9:this._dirtCount-=r,I.label=10;case 10:return[4,null];case 11:return I.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},e.prototype.vacuumConditionsMet=function(t){if(t==null)return!0;var n=t.minDirtCount,r=t.minDirtFactor;return n=n||ZEe.minDirtCount,r=r||ZEe.minDirtFactor,this.dirtCount>=n&&this.dirtFactor>=r},Object.defineProperty(e.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),e.prototype.has=function(t){return this._idToShortId.has(t)},e.prototype.getStoredFields=function(t){var n=this._idToShortId.get(t);if(n!=null)return this._storedFields.get(n)},e.prototype.search=function(t,n){var r,o;n===void 0&&(n={});var i=this.executeQuery(t,n),a=[];try{for(var l=_i(i),c=l.next();!c.done;c=l.next()){var u=uc(c.value,2),d=u[0],h=u[1],p=h.score,m=h.terms,f=h.match,g=m.length||1,v={id:this._documentIds.get(d),score:p*g,terms:Object.keys(f),queryTerms:m,match:f};Object.assign(v,this._storedFields.get(d)),(n.filter==null||n.filter(v))&&a.push(v)}}catch(y){r={error:y}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(r)throw r.error}}return t===e.wildcard&&n.boostDocument==null&&this._options.searchOptions.boostDocument==null||a.sort(kVt),a},e.prototype.autoSuggest=function(t,n){var r,o,i,a;n===void 0&&(n={}),n=Os(Os({},this._options.autoSuggestOptions),n);var l=new Map;try{for(var c=_i(this.search(t,n)),u=c.next();!u.done;u=c.next()){var d=u.value,h=d.score,p=d.terms,m=p.join(" "),f=l.get(m);f!=null?(f.score+=h,f.count+=1):l.set(m,{score:h,terms:p,count:1})}}catch(w){r={error:w}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(r)throw r.error}}var g=[];try{for(var v=_i(l),y=v.next();!y.done;y=v.next()){var T=uc(y.value,2),f=T[0],b=T[1],h=b.score,p=b.terms,x=b.count;g.push({suggestion:f,terms:p,score:h/x})}}catch(w){i={error:w}}finally{try{y&&!y.done&&(a=v.return)&&a.call(v)}finally{if(i)throw i.error}}return g.sort(kVt),g},Object.defineProperty(e.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),e.loadJSON=function(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),n)},e.getDefault=function(t){if(GEe.hasOwnProperty(t))return UEe(GEe,t);throw new Error('MiniSearch: unknown option "'.concat(t,'"'))},e.loadJS=function(t,n){var r,o,i,a,l,c,u=t.index,d=t.documentCount,h=t.nextId,p=t.documentIds,m=t.fieldIds,f=t.fieldLength,g=t.averageFieldLength,v=t.storedFields,y=t.dirtCount,T=t.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var b=new e(n);b._documentCount=d,b._nextId=h,b._documentIds=C1e(p),b._idToShortId=new Map,b._fieldIds=m,b._fieldLength=C1e(f),b._avgFieldLength=g,b._storedFields=C1e(v),b._dirtCount=y||0,b._index=new HEe;try{for(var x=_i(b._documentIds),w=x.next();!w.done;w=x.next()){var Q=uc(w.value,2),_=Q[0],C=Q[1];b._idToShortId.set(C,_)}}catch(z){r={error:z}}finally{try{w&&!w.done&&(o=x.return)&&o.call(x)}finally{if(r)throw r.error}}try{for(var L=_i(u),M=L.next();!M.done;M=L.next()){var O=uc(M.value,2),I=O[0],R=O[1],V=new Map;try{for(var D=(l=void 0,_i(Object.keys(R))),P=D.next();!P.done;P=D.next()){var H=P.value,F=R[H];T===1&&(F=F.ds),V.set(parseInt(H,10),C1e(F))}}catch(z){l={error:z}}finally{try{P&&!P.done&&(c=D.return)&&c.call(D)}finally{if(l)throw l.error}}b._index.set(I,V)}}catch(z){i={error:z}}finally{try{M&&!M.done&&(a=L.return)&&a.call(L)}finally{if(i)throw i.error}}return b},e.prototype.executeQuery=function(t,n){var r=this;if(n===void 0&&(n={}),t===e.wildcard)return this.executeWildcardQuery(n);if(typeof t!="string"){var o=Os(Os(Os({},n),t),{queries:void 0}),i=t.queries.map(function(v){return r.executeQuery(v,o)});return this.combineResults(i,o.combineWith)}var a=this._options,l=a.tokenize,c=a.processTerm,u=a.searchOptions,d=Os(Os({tokenize:l,processTerm:c},u),n),h=d.tokenize,p=d.processTerm,m=h(t).flatMap(function(v){return p(v)}).filter(function(v){return!!v}),f=m.map(FRo(d)),g=f.map(function(v){return r.executeQuerySpec(v,d)});return this.combineResults(g,d.combineWith)},e.prototype.executeQuerySpec=function(t,n){var r,o,i,a,l=Os(Os({},this._options.searchOptions),n),c=(l.fields||this._options.fields).reduce(function(H,F){var z;return Os(Os({},H),(z={},z[F]=UEe(l.boost,F)||1,z))},{}),u=l.boostDocument,d=l.weights,h=l.maxFuzzy,p=l.bm25,m=Os(Os({},_Vt.weights),d),f=m.fuzzy,g=m.prefix,v=this._index.get(t.term),y=this.termResults(t.term,t.term,1,v,c,u,p),T,b;if(t.prefix&&(T=this._index.atPrefix(t.term)),t.fuzzy){var x=t.fuzzy===!0?.2:t.fuzzy,w=x<1?Math.min(h,Math.round(t.term.length*x)):x;w&&(b=this._index.fuzzyGet(t.term,w))}if(T)try{for(var Q=_i(T),_=Q.next();!_.done;_=Q.next()){var C=uc(_.value,2),L=C[0],M=C[1],O=L.length-t.term.length;if(O){b==null||b.delete(L);var I=g*L.length/(L.length+.3*O);this.termResults(t.term,L,I,M,c,u,p,y)}}}catch(H){r={error:H}}finally{try{_&&!_.done&&(o=Q.return)&&o.call(Q)}finally{if(r)throw r.error}}if(b)try{for(var R=_i(b.keys()),V=R.next();!V.done;V=R.next()){var L=V.value,D=uc(b.get(L),2),P=D[0],O=D[1];if(O){var I=f*L.length/(L.length+O);this.termResults(t.term,L,I,P,c,u,p,y)}}}catch(H){i={error:H}}finally{try{V&&!V.done&&(a=R.return)&&a.call(R)}finally{if(i)throw i.error}}return y},e.prototype.executeWildcardQuery=function(t){var n,r,o=new Map,i=Os(Os({},this._options.searchOptions),t);try{for(var a=_i(this._documentIds),l=a.next();!l.done;l=a.next()){var c=uc(l.value,2),u=c[0],d=c[1],h=i.boostDocument?i.boostDocument(d,"",this._storedFields.get(u)):1;o.set(u,{score:h,terms:[],match:{}})}}catch(p){n={error:p}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return o},e.prototype.combineResults=function(t,n){if(n===void 0&&(n=jEe),t.length===0)return new Map;var r=n.toLowerCase();return t.reduce(BRo[r])||new Map},e.prototype.toJSON=function(){var t,n,r,o,i=[];try{for(var a=_i(this._index),l=a.next();!l.done;l=a.next()){var c=uc(l.value,2),u=c[0],d=c[1],h={};try{for(var p=(r=void 0,_i(d)),m=p.next();!m.done;m=p.next()){var f=uc(m.value,2),g=f[0],v=f[1];h[g]=Object.fromEntries(v)}}catch(y){r={error:y}}finally{try{m&&!m.done&&(o=p.return)&&o.call(p)}finally{if(r)throw r.error}}i.push([u,h])}}catch(y){t={error:y}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:i,serializationVersion:2}},e.prototype.termResults=function(t,n,r,o,i,a,l,c){var u,d,h,p,m;if(c===void 0&&(c=new Map),o==null)return c;try{for(var f=_i(Object.keys(i)),g=f.next();!g.done;g=f.next()){var v=g.value,y=i[v],T=this._fieldIds[v],b=o.get(T);if(b!=null){var x=b.size,w=this._avgFieldLength[T];try{for(var Q=(h=void 0,_i(b.keys())),_=Q.next();!_.done;_=Q.next()){var C=_.value;if(!this._documentIds.has(C)){this.removeTerm(T,C,n),x-=1;continue}var L=a?a(this._documentIds.get(C),n,this._storedFields.get(C)):1;if(L){var M=b.get(C),O=this._fieldLength.get(C)[T],I=DRo(M,x,this._documentCount,O,w,l),R=r*y*L*I,V=c.get(C);if(V){V.score+=R,jRo(V.terms,t);var D=UEe(V.match,n);D?D.push(v):V.match[n]=[v]}else c.set(C,{score:R,terms:[t],match:(m={},m[n]=[v],m)})}}}catch(P){h={error:P}}finally{try{_&&!_.done&&(p=Q.return)&&p.call(Q)}finally{if(h)throw h.error}}}}}catch(P){u={error:P}}finally{try{g&&!g.done&&(d=f.return)&&d.call(f)}finally{if(u)throw u.error}}return c},e.prototype.addTerm=function(t,n,r){var o=this._index.fetch(r,CVt),i=o.get(t);if(i==null)i=new Map,i.set(n,1),o.set(t,i);else{var a=i.get(n);i.set(n,(a||0)+1)}},e.prototype.removeTerm=function(t,n,r){if(!this._index.has(r)){this.warnDocumentChanged(n,t,r);return}var o=this._index.fetch(r,CVt),i=o.get(t);i==null||i.get(n)==null?this.warnDocumentChanged(n,t,r):i.get(n)<=1?i.size<=1?o.delete(t):i.delete(n):i.set(n,i.get(n)-1),this._index.get(r).size===0&&this._index.delete(r)},e.prototype.warnDocumentChanged=function(t,n,r){var o,i;try{for(var a=_i(Object.keys(this._fieldIds)),l=a.next();!l.done;l=a.next()){var c=l.value;if(this._fieldIds[c]===n){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(t),' has changed before removal: term "').concat(r,'" was not present in field "').concat(c,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){o={error:u}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},e.prototype.addDocumentId=function(t){var n=this._nextId;return this._idToShortId.set(t,n),this._documentIds.set(n,t),this._documentCount+=1,this._nextId+=1,n},e.prototype.addFields=function(t){for(var n=0;n<t.length;n++)this._fieldIds[t[n]]=n},e.prototype.addFieldLength=function(t,n,r,o){var i=this._fieldLength.get(t);i==null&&this._fieldLength.set(t,i=[]),i[n]=o;var a=this._avgFieldLength[n]||0,l=a*r+o;this._avgFieldLength[n]=l/(r+1)},e.prototype.removeFieldLength=function(t,n,r,o){if(r===1){this._avgFieldLength[n]=0;return}var i=this._avgFieldLength[n]*r-o;this._avgFieldLength[n]=i/(r-1)},e.prototype.saveStoredFields=function(t,n){var r,o,i=this._options,a=i.storeFields,l=i.extractField;if(!(a==null||a.length===0)){var c=this._storedFields.get(t);c==null&&this._storedFields.set(t,c={});try{for(var u=_i(a),d=u.next();!d.done;d=u.next()){var h=d.value,p=l(n,h);p!==void 0&&(c[h]=p)}}catch(m){r={error:m}}finally{try{d&&!d.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}}},e.wildcard=Symbol("*"),e}(),UEe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0},BRo=(NG={},NG[jEe]=function(e,t){var n,r;try{for(var o=_i(t.keys()),i=o.next();!i.done;i=o.next()){var a=i.value,l=e.get(a);if(l==null)e.set(a,t.get(a));else{var c=t.get(a),u=c.score,d=c.terms,h=c.match;l.score=l.score+u,l.match=Object.assign(l.match,h),SVt(l.terms,d)}}}catch(p){n={error:p}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return e},NG[QVt]=function(e,t){var n,r,o=new Map;try{for(var i=_i(t.keys()),a=i.next();!a.done;a=i.next()){var l=a.value,c=e.get(l);if(c!=null){var u=t.get(l),d=u.score,h=u.terms,p=u.match;SVt(c.terms,h),o.set(l,{score:c.score+d,terms:c.terms,match:Object.assign(c.match,p)})}}}catch(m){n={error:m}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return o},NG[RRo]=function(e,t){var n,r;try{for(var o=_i(t.keys()),i=o.next();!i.done;i=o.next()){var a=i.value;e.delete(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return e},NG),HRo={k:1.2,b:.7,d:.5},DRo=function(e,t,n,r,o,i){var a=i.k,l=i.b,c=i.d,u=Math.log(1+(n-t+.5)/(t+.5));return u*(c+e*(a+1)/(e+a*(1-l+l*r/o)))},FRo=function(e){return function(t,n,r){var o=typeof e.fuzzy=="function"?e.fuzzy(t,n,r):e.fuzzy||!1,i=typeof e.prefix=="function"?e.prefix(t,n,r):e.prefix===!0;return{term:t,fuzzy:o,prefix:i}}},GEe={idField:"id",extractField:function(e,t){return e[t]},tokenize:function(e){return e.split(URo)},processTerm:function(e){return e.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(e,t){typeof(console==null?void 0:console[e])=="function"&&console[e](t)},autoVacuum:!0},_Vt={combineWith:jEe,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:HRo},zRo={combineWith:QVt,prefix:function(e,t,n){return t===n.length-1}},WEe={batchSize:1e3,batchWait:10},qEe={minDirtFactor:.1,minDirtCount:20},ZEe=Os(Os({},WEe),qEe),jRo=function(e,t){e.includes(t)||e.push(t)},SVt=function(e,t){var n,r;try{for(var o=_i(t),i=o.next();!i.done;i=o.next()){var a=i.value;e.includes(a)||e.push(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},kVt=function(e,t){var n=e.score,r=t.score;return r-n},CVt=function(){return new Map},C1e=function(e){var t,n,r=new Map;try{for(var o=_i(Object.keys(e)),i=o.next();!i.done;i=o.next()){var a=i.value;r.set(parseInt(a,10),e[a])}}catch(l){t={error:l}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}return r},URo=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;class GRo{constructor(){this._searchEngine=new VRo({fields:["path","name"],storeFields:["path"],tokenize:(t,n)=>t.split(/[\s/]+/)}),this.idMaps={}}addZincObject(t,n){const r=t.getRegion().getFullPath();let o=t.groupName,i=r?`${r}/${t.groupName}`:t.groupName;o=o.replaceAll('"',""),i=i.replaceAll('"',"");const a={path:i,name:o,id:n};this._searchEngine.add(a),this.idMaps[n]={path:i,zincObject:t}}removeZincObject(t,n){const r=t.getRegion().getFullPath();let o=t.groupName,i=r?`${r}/${t.groupName}`:t.groupName;o=o.replaceAll('"',""),i=i.replaceAll('"',"");const a={path:i,name:o,id:n};this._searchEngine.remove(a),delete this.idMaps[n]}addRegion(t,n){let r=t.getFullPath(),o=t.getName();r=r.replaceAll('"',""),o=o.replaceAll('"',"");const i={path:r,name:o,id:n};this._searchEngine.add(i),this.idMaps[n]={path:r,zincObject:t}}clearResults(){this._}removeAll(){this._searchEngine.removeAll(),this.idMaps={}}auto_suggest(t){let n=[];t.length>2&&["'",'"'].includes(t.slice(0,1))?(t=t.replaceAll(t.slice(0,1),""),n=this._searchEngine.search(t,{prefix:!0,combineWith:"AND"})):t.length>1&&(n=this._searchEngine.search(t,{prefix:!0}));const r=[];n.forEach(a=>{a.id in this.idMaps&&r.push(this.idMaps[a.id].path)});const o=[...new Set(r)],i=[];return o.forEach(a=>i.push({suggestion:'"'+a+'"'})),i}processResults(t,n){const r={regionPath:void 0,label:'Search Results for "'};return Array.isArray(n)?r.label+=",".join(n):r.label+=n,r.label+='"',t.length===1&&(t[0].isRegion?r.regionPath=t[0].getFullPath():t[0].isZincObject&&(r.regionPath=t[0].getRegion().getFullPath(),r.label=t[0].groupName)),r.zincObjects=jNo(t),r}search(t){let n;t.length>2&&["'",'"'].includes(t.slice(0,1))?(t=t.replaceAll(t.slice(0,1),""),n=this._searchEngine.search(t,{prefix:!0,combineWith:"AND"})):t.length>1&&(n=this._searchEngine.search(t,{prefix:!0}));const r=[];return n.forEach(o=>{o.id in this.idMaps&&r.push(this.idMaps[o.id].zincObject)}),r}searchTerms(t){let n=[];return t.forEach(r=>{const o=this.search(r);n.push(...o)}),n}searchAndProcessResult(t){let n=[];return Array.isArray(t)?n=this.searchTerms(t):n=this.search(t),this.processResults(n,t)}}const WRo={name:"ScaffoldVuer",components:{Button:hP,Col:H4,Loading:_Co,Option:fP,Popover:Uce,Row:Nm,Select:pP,Slider:D2,TabPane:pOt,Tabs:hOt,MapSvgIcon:QR,MapSvgSpriteColor:nX,PrimitiveControls:iVt,ScaffoldTooltip:mVt,ElIconWarningFilled:MMt,ElIconArrowDown:Ske,ElIconArrowLeft:$T,DrawToolbar:XFe,ScaffoldTreeControls:aVt},setup(e){let t=s.inject("$annotator");return t||(t=s.markRaw(new QRo(`${e.flatmapAPI}annotator`)),s.provide("$annotator",t)),{annotator:t}},props:{annotationSidebar:{type:Boolean,default:!1},url:{type:String,default:""},showColourPicker:{type:Boolean,default:!1},displayUI:{type:Boolean,default:!0},displayAtStartUp:{type:Boolean,default:!0},helpMode:{type:Boolean,default:!1},helpModeActiveItem:{type:Number,default:0},helpModeDialog:{type:Boolean,default:!1},helpModeLastItem:{type:Boolean,default:!1},helpModeInitialIndex:{type:Number,default:0},displayWarning:{type:Boolean,default:!0},warningMessage:{type:String,default:"Beta feature - under active development"},displayLatestChanges:{type:Boolean,default:!1},latestChangesMessage:{type:String,default:"New feature - Local search is now available"},displayMarkers:{type:Boolean,default:!1},markerCluster:{type:Boolean,default:!1},markerLabels:{type:Object,default:function(){return{}}},displayMinimap:{type:Boolean,default:!1},format:{type:String,default:"metadata"},minimapSettings:{type:Object,default:function(){return{x_offset:16,y_offset:16,width:128,height:128,align:"top-right"}}},enableOpenMapUI:{type:Boolean,default:!1},openMapOptions:{type:Array,default:function(){return[{display:"Open AC Map",key:"AC"},{display:"Open FC Map",key:"FC"},{display:"Open 3D Human Map",key:"3D"}]}},state:{type:Object,default:void 0},region:{type:String,default:""},viewURL:{type:String,default:""},render:{type:Boolean,default:!0},flatmapAPI:{type:String,default:"https://mapcore-demo.org/current/flatmap/v3/"},enableLocalAnnotations:{type:Boolean,default:!1}},provide(){return{flatmapAPI:this.flatmapAPI,scaffoldUrl:this.url,boundingDims:this.boundingDims}},data:function(){return{annotator:void 0,createData:{drawingBox:!1,toBeConfirmed:!1,points:[],shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1},currentTime:0,timeVarying:!1,isPlaying:!1,isReady:!1,isTransitioning:!1,tooltipAppendToBody:!1,hoverVisibilities:[{value:!1,ref:"zoomInPopover"},{value:!1,ref:"zoomOutPopover"},{value:!1,ref:"zoomFitPopover"},{value:!1,ref:"openMapPopover"},{value:!1,ref:"settingsPopover"},{value:!1,ref:"sliderPopover"},{value:!1,ref:"regionVisibilityPopover"},{value:!1,ref:"warningPopover"},{value:!1,ref:"whatsNewPopover"},{value:!1,refs:"toolbarPopover",ref:"editPopover"},{value:!1,refs:"toolbarPopover",ref:"pointPopover"},{value:!1,refs:"toolbarPopover",ref:"lineStringPopover"},{value:!1,refs:"toolbarPopover",ref:"deletePopover"}],inHelp:!1,helpModeActiveIndex:this.helpModeInitialIndex,loading:!1,duration:3e3,drawerOpen:!0,currentBackground:"white",availableBackground:["white","lightskyblue","black"],minimisedSlider:!1,sliderPosition:"",timeMax:100,orginalDuration:"",animateDuration:"6secs",playSpeed:[{value:.1,label:"0.1x"},{value:.5,label:"0.5x"},{value:1,label:"1x"},{value:2,label:"2x"},{value:5,label:"5x"},{value:10,label:"10x"}],currentSpeed:1,timeStamps:{},defaultCheckedKeys:[],tData:{label:"",region:"",visible:!1,x:200,y:200,active:!1},fileFormat:"metadata",previousMarkerLabels:s.markRaw({}),viewingMode:"Exploration",viewingModes:{Exploration:"View and explore detailed visualization of 3D scaffolds",Annotation:"View internal identifiers of features"},openMapRef:void 0,backgroundIconRef:void 0,userInformation:void 0,toolbarOptions:["Delete","Edit","Point","LineString"],activeDrawTool:void 0,activeDrawMode:void 0,localAnnotationsList:s.markRaw([]),boundingDims:{centre:[0,0,0],size:[1,1,1]},lastSelected:s.markRaw({region:"",group:"",isSearch:!1})}},watch:{format:{handler:function(e){this.fileFormat=e},immediate:!0},url:{handler:function(e){(this.state===void 0||this.state.url===void 0)&&this.setURL(e)},immediate:!0},region:{handler:function(e){this.state||this.viewURL||this.setFocusedRegion(e)},immediate:!0},state:{handler:function(e){this.setState(e)},immediate:!0,deep:!0},viewURL:{handler:function(e){this.updateViewURL(e)},immediate:!0},helpMode:function(e,t){e!==t&&this.setHelpMode(e)},helpModeActiveItem:function(){this.helpMode&&(this.helpModeActiveIndex+=1,this.setHelpMode(this.helpMode))},displayMarkers:function(e){this.$module.scene.displayMarkers=e,this.$module.scene.forcePickableObjectsUpdate=!0},displayMinimap:function(e){this.$module.scene.displayMinimap=e},currentTime:{handler:function(){this.$emit("timeChanged",this.currentTime)}},duration:function(){this.$module.scene.setDuration(this.duration)},minimapSettings:{deep:!0,handler:"updateMinimapScissor"},render:function(e){this.toggleRendering(e)},markerCluster:{handler:function(e){this.$module.scene.enableMarkerCluster(e)},immediate:!0},markerLabels:function(e){for(const[t,n]of Object.entries(this.previousMarkerLabels))this.setMarkerModeForObjectsWithName(t,n,"off");for(const[t,n]of Object.entries(e))this.setMarkerModeForObjectsWithName(t,n,"on");this.previousMarkerLabels=s.markRaw({...e})},annotationDisplay:function(e){if(this.annotationSidebar)if(e){const t={featureId:(this.tData.region?this.tData.region+"/":"")+this.tData.label,resourceId:this.url,resource:this.url};this.$emit("annotation-open",{annotationEntry:t,commitCallback:this.commitAnnotationEvent})}else(!this.createData.toBeConfirmed||!this.createData.toBeDeleted)&&this.$emit("annotation-close")}},beforeCreate:function(){this.$module=new yVt,this.selectedObjects=[],this.hoveredObjects=[],this.currentBackground="white",this._currentURL=void 0,this.availableBackground=["white","black","lightskyblue"],this.$_searchIndex=new GRo},mounted:function(){this.openMapRef=s.shallowRef(this.$refs.openMapRef),this.backgroundIconRef=s.shallowRef(this.$refs.backgroundIconRef),this.$refs.scaffoldTreeControls.setModule(this.$module);let e=new kRo;e.subscribe(this,this.eventNotifierCallback),this.$module.addNotifier(e),this.$module.addOrganPartAddedCallback(this.zincObjectAdded),this.$module.addOrganPartRemovedCallback(this.zincObjectRemoved),this.$module.initialiseRenderer(this.$refs.display),this.toggleRendering(this.render),this.ro=new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer),this.helpTextWait=[],this.helpTextWait.length=this.hoverVisibilities.length,this.defaultRate=this.$module.getPlayRate(),this.$module.zincRenderer.addPreRenderCallbackFunction(()=>{this.currentTime=this.$module.getCurrentTime()})},beforeUnmount:function(){this.ro&&this.ro.disconnect(),this.$module.destroy(),this.$module=void 0},computed:{...pVt(fVt,["userToken"]),annotationDisplay:function(){return this.viewingMode==="Annotation"&&this.tData.active===!0&&this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"}},methods:{addZincObject:function(e){this.$module.scene&&this.$module.scene.addZincObject(e)},zincObjectAdded:function(e){this.loading=!1,this.$_searchIndex.addZincObject(e,e.uuid),this.timeVarying===!1&&e.isTimeVarying()&&(this.timeVarying=!0),this.$emit("zinc-object-added",e)},removeFromLocalAnnotationList:function(e,t){for(let n=0;n<this.localAnnotationsList.length;n++){const r=this.localAnnotationsList[n];if(r.region===e&&r.group===t){this.localAnnotationsList.splice(n,1);return}}},zincObjectRemoved:function(e){if(this.$module.scene){const t=e.region.getFullPath(),n=e.groupName;e.region.findObjectsWithGroupName(n,!1).length===0&&(this.$_searchIndex.removeZincObject(e,e.uuid),this.removeFromLocalAnnotationList(t,n))}},addRegionsToSearchIndex:function(){this.$module.scene.getRootRegion().getChildRegions(!0).forEach(e=>{this.$_searchIndex.addRegion(e,e.uuid)})},backgroundChangeCallback:function(e){this.currentBackground=e,this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground,1)},captureScreenshotCallback:function(){this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);let e=this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL("image/png"),t=document.createElement("a");document.body.append(t),this.captureFilename?t.download=this.captureFilename:t.download="screenshot.png",t.href=e,t.click(),t.remove()},captureScreenshot:function(e){this.captureFilename=e,this.captureID=this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback)},clearScene:function(){this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.$_searchIndex&&this.$_searchIndex.removeAll(),this.$module.scene&&this.$module.scene.clearAll()},addAndEditAnnotations:function(e,t,n,r){const o=JRt(this.annotator,this.userToken,n,e,t,this.url,r);if(this.enableLocalAnnotations){o.group=t;let i=e;i.slice(-1)==="/"&&(i=i.slice(0,-1)),o.region=i,this.removeFromLocalAnnotationList(i,t),this.localAnnotationsList.push(o)}this.$emit("userPrimitivesUpdated",{region:e,group:t,zincObject:n})},primitivesUpdated:function(e){if(e.isZincObject&&e.isEditable){const t=e.groupName,n=e.region.getFullPath();this.addAndEditAnnotations(n,t,e,"Position Updated")}},confirmCreate:function(e){if(e){let t;if(e.shape==="Point")t=this.$module.scene.createPoints(e.region,e.group,this.createData.points,e.group,8942);else if(e.shape==="LineString")t=this.$module.scene.createLines(e.region,e.group,[this.createData.points[0],this.createData.points[1]],60962);else if(e.editingIndex>-1&&this._editingZincObject){this._editingZincObject.editVertices([this.createData.points[1]],e.editingIndex);const n=this._editingZincObject.region.getFullPath()+"/",r=this._editingZincObject.groupName;this.addAndEditAnnotations(n,r,this._editingZincObject,"Position Updated")}t&&(this.addAndEditAnnotations(e.region,e.group,t.zincObject,"Create"),t.zincObject.isEditable=!0,this.tData.region=e.region,this.tData.label=e.group,this.changeActiveByName([e.group],e.region,!1))}this.cancelCreate()},cancelCreate:function(){this.createData.points.length=0,this.createData.toBeConfirmed=!1,this._editingZincObject=void 0,this.createData.editingIndex=-1,this.createData.faceIndex=-1,this.tData.visible=!1,this.createData.toBeDeleted=!1,this._tempLine&&(this.$module.scene.removeTemporaryPrimitive(this._tempLine),this._tempLine=void 0),this._tempPoint&&(this.$module.scene.removeTemporaryPrimitive(this._tempPoint),this._tempPoint=void 0),this.annotationSidebar&&this.$emit("annotation-close")},confirmDelete:function(){var e;if((e=this._editingZincObject)!=null&&e.isEditable){const t=this._editingZincObject.region.getFullPath()+"/",n=this._editingZincObject.groupName;JRt(this.annotator,this.userToken,this._editingZincObject,t,n,this.url,"Deleted")&&this.$module.scene.getRootRegion().findChildFromPath(t).removeZincObject(this._editingZincObject)}this.cancelCreate()},onTooltipHide:function(){this.createData.toBeConfirmed&&!this.annotationSidebar&&this.cancelCreate()},formatTooltip(e){if(this.timeMax>=1e3&&e){let t=(e%6e4/1e3).toFixed(2)+"s";return(e>6e4?(e/6e4).toFixed(0)+"m ":"")+t}return e?e.toFixed(2)+" ms":"0 ms"},fitWindow:function(){if(this.$module.scene){let e=!1;this._boundingBoxGeo&&(e=this._boundingBoxGeo.getVisibility(),this._boundingBoxGeo.setVisibility(!1)),this.$module.scene.viewAll(),this._boundingBoxGeo&&(FNo(this._boundingBoxGeo,this.$module.scene),this._boundingBoxGeo.setVisibility(e))}},zoomIn:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(-1)},zoomOut:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(1)},speedChanged:function(e){this.currentSpeed=e,this.$module.setPlayRate(this.defaultRate*this.currentSpeed)},stopFreeSpin:function(){this.$module.scene.getZincCameraControls().stopAutoTumble(),this.isTransitioning=!1},findObjectsWithGroupName:function(e){let t=[];return e&&e!=""&&this.$module.scene&&(t=this.$module.scene.findObjectsWithGroupName(e)),t},toggleDrawing:function(e,t){this.createData.toBeDeleted=!1,e==="mode"?(this.cancelCreate(),this.activeDrawMode=t,this.createData.shape="",this.$module.selectObjectOnPick=!0):e==="tool"&&(this.activeDrawTool=t,this.createData.shape=this.activeDrawTool?this.activeDrawTool:"",this.$module.selectObjectOnPick=!1)},toggleDrawingBox:function(){this.createData.drawingBox=!this.createData.drawingBox},viewRegion:function(e){const t=this.$module.scene.getRootRegion(),n=Array.isArray(e)?e:[e],r=oI(t,n,"",!0);let o=this.$module.scene.getBoundingBoxOfZincObjects(r);if(o){if(this.$module.isSyncControl())this.$module.setSyncControlZoomToBox(o);else{const i=this.$module.scene.camera.far-this.$module.scene.camera.near;this.$module.scene.viewAllWithBoundingBox(o),this.$module.scene.camera.far=this.$module.scene.camera.near+i,this.$module.scene.camera.updateProjectionMatrix()}return!0}return!1},setFocusedRegion:function(e){e&&(this.isReady?this.viewRegion(e):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({region:e})))},updateViewURL:function(e){if(e)if(this.isReady){const t=new URL(e,this.url);this.$module.scene.loadViewURL(t)}else this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewURL:e}))},createEditTemporaryLines:function(e){const t=e[0].extraData.worldCoords;if(t&&(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.createData.points.length===1)if(this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this._tempLine){const n=this._tempLine.geometry.getAttribute("position");n.setXYZ(1,t[0],t[1],t[2]),n.needsUpdate=!0}else this._tempLine=this.$module.scene.addTemporaryLines([this.createData.points[0],t],65535)},draw:function(e){e&&e.length>0&&e[0].data.group&&e[0].extraData.worldCoords&&(this.createData.shape==="Point"?this.drawPoint(e[0].extraData.worldCoords,e):(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.drawLine(e[0].extraData.worldCoords,e))},drawPoint:function(e,t){this.createData.toBeConfirmed===!1&&(this.createData.points.length=0,this.createData.points.push(e),this.createData.toBeConfirmed=!0,this.showRegionTooltipWithAnnotations(t,!0,!1),this.tData.x=50,this.tData.y=200,this._tempPoint=this.$module.scene.addTemporaryPoints([e],16776960))},drawLine:function(e,t){this.createData.toBeConfirmed===!1&&(this.createData.points.length===1?(this.createData.points.push(e),this.createData.toBeConfirmed=!0,this.showRegionTooltipWithAnnotations(t,!0,!1),this.tData.x=50,this.tData.y=200):(this._tempPoint=this.$module.scene.addTemporaryPoints([e],16776960),this.createData.points.push(e)))},getRendererInfo:function(){if(this.$module.zincRenderer)return this.$module.zincRenderer.getThreeJSRenderer().info},freeSpin:function(){if(this.$module.scene){let e=this.$module.scene.getZincCameraControls();this.isTransitioning=!0,e.enableAutoTumble(),e.autoTumble([1,0],Math.PI,!0),setTimeout(this.stopFreeSpin,4e3)}},activateAnnotationMode:function(e,t){if(this.userInformation||this.enableLocalAnnotations)if(this.createData.toBeDeleted=!1,this.createData.shape!==""||this.createData.editingIndex>-1)e.length>0&&t.identifiers[0].coords&&(this.createData.x=t.identifiers[0].coords.x,this.createData.y=t.identifiers[0].coords.y,this.draw(t.identifiers));else{if(this.activeDrawMode==="Edit"){const n=BNo(t);n&&this.activateEditingMode(n.zincObject,n.faceIndex,n.vertexIndex,n.point)}else if(this.activeDrawMode==="Delete"){const n=HNo(t);n&&(this.createData.toBeDeleted=!0,this._editingZincObject=n)}this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"?this.showRegionTooltipWithAnnotations(t.identifiers,!0,!1):this.showRegionTooltipWithAnnotations(t.identifiers,!0,!0)}else this.showRegionTooltipWithAnnotations(t.identifiers,!0,!0)},activateEditingMode:function(e,t,n,r){this._editingZincObject=e,this.createData.faceIndex=t,this.createData.editingIndex=n,this.drawLine(r,void 0)},eventNotifierCallback:function(e){if(!(this.createData.toBeConfirmed||this.createData.toBeDeleted)){const t=[];let n=[];(e.eventType==1||e.eventType==2)&&(e.identifiers.forEach(i=>{if(i){let a=i.data.id?i.data.id:i.data.group;t.push(a)}}),n=e.zincObjects);let r,o;if(e.identifiers.length>0&&e.identifiers[0]&&(r=e.identifiers[0].data.id?e.identifiers[0].data.id:e.identifiers[0].data.group,e.identifiers[0].data.region&&(o=e.identifiers[0].data.region)),e.eventType==1)this.viewingMode==="Annotation"?(this.tData.label=r,this.tData.region=o,this.activateAnnotationMode(t,e)):(this.$refs.scaffoldTreeControls&&(t.length>0?(this.$refs.scaffoldTreeControls.updateActiveUI(n),this.updatePrimitiveControls(n)):(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls.removeActive(!1))),e.identifiers.length===1?(this.lastSelected.isSearch=!1,this.lastSelected.region=o,this.lastSelected.group=e.identifiers[0].data.group):e.identifiers.length===0&&(this.lastSelected.isSearch=!1,this.lastSelected.region="",this.lastSelected.group=""),this.$emit("scaffold-selected",e.identifiers));else if(e.eventType==2)this.selectedObjects.length===0&&(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls&&(t.length>0?this.$refs.scaffoldTreeControls.updateHoverUI(n):this.$refs.scaffoldTreeControls.removeHover(!0)),e.identifiers.length>0&&e.identifiers[0]&&e.identifiers[0].coords&&(this.tData.active=!1,(!this.viewingMode!=="Annotation"||!this.annotationSidebar)&&(this.tData.visible=!0),this.tData.label=r,this.tData.region=o,this.tData.x=e.identifiers[0].coords.x,this.tData.y=e.identifiers[0].coords.y,this.createEditTemporaryLines(e.identifiers)),this.$emit("scaffold-highlighted",e.identifiers));else if(e.eventType==3&&e.identifiers.length>0&&e.identifiers[0]){if(e.identifiers[0].coords){const i=this.$refs.scaffoldContainer.getBoundingClientRect();this.tData.x=e.identifiers[0].coords.x-i.left,this.tData.y=e.identifiers[0].coords.y-i.top}this.createEditTemporaryLines(e.identifiers)}}},getCoordinatesOfSelected:function(){if(this.selectedObjects&&this.selectedObjects.length>0)return this.$module.scene.getObjectsScreenXY(this.selectedObjects)},getDynamicSelectedCoordinates:function(){return this.$module.selectedScreenCoordinates},timeChange:function(e){let t=e/this.timeMax*100;t!=this.currentTime&&this.$module.updateTime(t)},updatePrimitiveControls:function(e){this.selectedObjects=e,this.selectedObjects&&this.selectedObjects.length>0?this.$refs.primitiveControls.setObject(this.selectedObjects[0]):this.$refs.primitiveControls.setObject(void 0)},objectSelected:function(e,t){this.updatePrimitiveControls(e),this.$module.setSelectedByZincObjects(e,void 0,{},t)},objectHovered:function(e,t){this.hoveredObjects=e,this.$module.setHighlightedByZincObjects(e,void 0,{},t)},changeActiveByName:function(e,t,n){const r=Array.isArray(e);if(e===void 0||r&&e.length===0)this.$refs.scaffoldTreeControls.removeActive(n);else{let o=e;r||(o=[o]),this.$refs.scaffoldTreeControls.changeActiveByNames(o,t,n)}},changeHighlightedByName:function(e,t,n){const r=Array.isArray(e);if(e===void 0||r&&e.length===0)this.$refs.scaffoldTreeControls.removeHover(n);else{let o=e;r||(o=[o]),this.$refs.scaffoldTreeControls.changeHoverByNames(o,t,n)}},play:function(e){this.$module.playAnimation(e),this.isPlaying=e},setHelpMode:function(e){const t=this.hoverVisibilities.length,n=t-1,r=this.hoverVisibilities[this.helpModeActiveIndex];if(r){const o=r==null?void 0:r.refs,i=r==null?void 0:r.ref;this.$refs[o||i]||(this.helpModeActiveIndex+=1)}e||(this.helpModeActiveIndex=this.helpModeInitialIndex),e&&this.helpModeActiveIndex>=n&&this.$emit("help-mode-last-item",!0),e&&!this.helpModeDialog?(this.inHelp=!0,this.hoverVisibilities.forEach(o=>{o.value=!0})):e&&this.helpModeDialog&&t>this.helpModeActiveIndex?this.helpModeActiveIndex>-1&&setTimeout(()=>{this.inHelp=!1,this.hoverVisibilities.forEach(o=>{o.value=!1}),this.showHelpText(this.helpModeActiveIndex,200)},300):(this.inHelp=!1,this.hoverVisibilities.forEach(o=>{o.value=!1}))},displayTooltipOfObjectsCallback:function(e,t,n,r,o){const i=this;return function(){i.$module.zincRenderer.removePostRenderCallbackFunction(i.$_regionTooltipCallback),i.$_regionTooltipCallback=void 0,i.displayTooltipOfObjects(e,t,n,r,o)}},liveUpdateTooltipPosition:function(){this.$module.selectedCenter&&(this.tData.x=this.$module.selectedScreenCoordinates.x,this.tData.y=this.$module.selectedScreenCoordinates.y)},displayTooltipOfObjects:function(e,t,n,r,o){if(t.length>0){let i=t[0].getClosestVertexDOMElementCoords(this.$module.scene);if(i)return i.inView?(e.includes("Search Results for")?this.tData.active=!1:this.tData.active=!0,this.tData.visible=!0,this.tData.label=e,this.tData.x=i.position.x,this.tData.y=i.position.y,this.tData.region=n,this.$_liveCoordinatesUpdated&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),o&&(this.$module.setupLiveCoordinates(t),this.$_liveCoordinatesUpdated=this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition))):(this.hideRegionTooltip(),r&&(this.$module.scene.viewAll(),this.$_regionTooltipCallback&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback),this.$_regionTooltipCallback=this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(e,t,n,r,o)))),!0}return this.hideRegionTooltip(),!1},showRegionTooltipWithObjects:function(e,t,n,r,o){return e&&t&&t.length>0&&this.$module.scene?this.displayTooltipOfObjects(e,t,n,r,o):(this.hideRegionTooltip(),!1)},showRegionTooltip:function(e,t,n){if(e&&this.$module.scene){const r=this.$module.scene.getRootRegion(),o=oI(r,[e],"",!0);let i;return o&&o.length>0&&(i=o[0].getRegion().getFullPath()),this.showRegionTooltipWithObjects(e,o,i,t,n)}return this.hideRegionTooltip(),!1},showRegionTooltipWithAnnotations:function(e,t,n){if(this.$module.scene){const r=YRt(this.$module.scene,e);if(r&&r.objects.length>0)if(this.annotationSidebar){const o={featureId:(this.tData.region?this.tData.region+"/":"")+this.tData.label,resourceId:this.url,resource:this.url};this.$emit("annotation-open",{annotationEntry:o,createData:this.createData,confirmCreate:this.confirmCreate,cancelCreate:this.cancelCreate,confirmDelete:this.confirmDelete});return}else return this.showRegionTooltipWithObjects(r.label,r.objects,r.regionPath,t,n)}return this.hideRegionTooltip(),!1},changeViewingMode:function(e){if(this.$module){if(e&&(this.viewingMode=e),this.viewingMode==="Annotation"){let t=!1;this.userInformation&&(t=!0),this.userInformation=void 0,this.annotator.authenticate(this.userToken).then(n=>{n.name&&n.email&&n.canUpdate&&(this.userInformation=n,t||($Rt(this.annotator,this.userToken,this.url).then(r=>{r&&r.features&&EEe(this.$module.scene,r.features)}),$Rt(this.annotator,this.userToken,encodeURIComponent(this.url)).then(r=>{r&&r.features&&EEe(this.$module.scene,r.features)})))})}else this.viewingMode==="Exploration"&&(this.activeDrawTool=void 0,this.activeDrawMode=void 0,this.createData.shape="");this.viewingMode==="Exploration"||this.viewingMode==="Annotation"&&this.createData.shape===""?this.$module.selectObjectOnPick=!0:this.$module.selectObjectOnPick=!1,this.cancelCreate()}},hideRegionTooltip:function(){this.$_liveCoordinatesUpdated&&(this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),this.$module.setupLiveCoordinates(void 0)),this.tData.active=!1,this.tData.visible=!1,this.tData.region=void 0},setMarkerModeForObjectsWithName:function(e,t,n){if(e&&this.$module.scene){let r=t;typeof t=="number"&&(r={number:t,imgURL:void 0});const o=this.$module.scene.getRootRegion();oI(o,[e],"",!0).forEach(i=>i.setMarkerMode(n,r))}},setMarkerModeWithAnnotations:function(e,t){if(this.$module.scene){const n=YRt(this.$module.scene,e);n&&n.objects.length>0&&n.objects.forEach(r=>r.setMarkerMode(t))}},showHelpText:function(e,t=500){this.inHelp||(clearTimeout(this.helpTextWait[e]),this.helpTextWait[e]=setTimeout(()=>{this.hoverVisibilities[e].value=!0,this.$emit("shown-tooltip")},t))},hideHelpText:function(e,t=500){this.inHelp||(clearTimeout(this.helpTextWait[e]),this.helpTextWait[e]=setTimeout(()=>{this.hoverVisibilities[e].value=!1},t))},search:function(e,t){if(this.$_searchIndex){if(e===void 0||e===""||Array.isArray(e)&&e.length===0)return this.lastSelected.region="",this.lastSelected.group="",this.lastSelected.isSearch=!0,this.objectSelected([],!0),!1;{this.lastSelected.region="",this.lastSelected.group=e,this.lastSelected.isSearch=!0;const n=this.$_searchIndex.searchAndProcessResult(e),r=n.zincObjects;if(r.length>0){if(this.objectSelected(r,!0),t)for(let o=0;o<r.length;o++)r[o]&&r[o].groupName&&this.showRegionTooltipWithObjects(n.label,r,n.regionPath,!0,!0);return!0}else this.objectSelected([],!0)}}return!1},fetchSuggestions:function(e){return this.$_searchIndex===void 0?[]:this.$_searchIndex.auto_suggest(e)},updateMinimapScissor:function(){Object.keys(this.minimapSettings).forEach(e=>{this.$module.scene.minimapScissor[e]=this.minimapSettings[e]}),this.$module.scene.minimapScissor.updateRequired=!0},updateSettingsfromScene:function(){this.currentSpeed=1,this.$module.setPlayRate(this.defaultRate),this.orginalDuration=this.$module.scene.getMetadataTag("OriginalDuration"),this.animateDuration=this.$module.scene.getMetadataTag("Duration");let e=this.$module.scene.getMetadataTag("TimeStamps");this.timeStamps={};for(const t in e)this.timeStamps[e[t]]=t;this.timeMax=this.$module.scene.getDuration()},restoreSettings:function(e){if(e){if(e.viewport)this.$module.scene.getZincCameraControls().setCurrentCameraSettings(e.viewport);else if(e.viewURL&&e.viewURL!==""){const n=new URL(e.viewURL,this.url);this.$module.scene.loadViewURL(n)}else e.region&&e.region!==""&&this.viewRegion(e.region);e.visibility&&this.$nextTick(()=>{this.$refs.scaffoldTreeControls.setState(e.visibility)}),e.background&&this.backgroundChangeCallback(e.background),e.viewingMode&&this.changeViewingMode(e.viewingMode);const t=e.search;t&&t.group&&(t.isSearch?this.search(t.group,!0):this.changeActiveByName(t.group,t.region,!0))}},setURLFinishCallback:function(e){return()=>{this.localAnnotationsList.length=0,this.updateSettingsfromScene(),this.$module.updateTime(.01),this.$module.updateTime(0),this.$module.unsetFinishDownloadCallback(),this.addRegionsToSearchIndex(),this.$emit("on-ready"),this.setMarkers(),this._boundingBoxGeo=this.$module.scene.addBoundingBoxPrimitive("_helper","boundingBox",4251856,.15),this._slides=this.$module.scene.addSlicesPrimitive("_helper",["x-plane","y-plane","z-plane"],[16733525,5635925,5592575],.5);const{centre:t,size:n}=this.$module.getCentreAndSize();this.boundingDims.centre=t,this.boundingDims.size=n,this.$nextTick(()=>this.restoreSettings(e)),this.isReady=!0}},getState:function(){let e={format:this.fileFormat,url:this._currentURL,viewport:void 0,visibility:void 0,background:this.currentBackground,viewingMode:this.viewingMode};if(this.$refs.scaffoldTreeControls&&(e.visibility=this.$refs.scaffoldTreeControls.getState()),this.$module.scene){let t=this.$module.scene.getZincCameraControls();e.viewport=t.getCurrentViewport()}return this.lastSelected&&this.lastSelected.group&&(e.search={...this.lastSelected}),e},setState:function(e){e&&(e.url&&e.url!==this._currentURL?this.setURLAndState(e.url,{fileFormat:e.fileFormat,viewport:e.viewport,visibility:e.visibility,background:e.background,viewingMode:this.viewingMode,search:e.search}):(e.background||e.search||e.viewport||e.viewingMode||e.visibility)&&(this.isReady&&this.$module.scene?this.restoreSettings(e):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({background:e.background,viewingMode:e.viewingMode,viewport:e.viewport,visibility:e.visibility,search:e.search}))))},exportGLTF:function(e){return this.$module.scene.exportGLTF(e)},getLocalAnnotations:function(){return[...this.localAnnotationsList]},importLocalAnnotations:function(e){if(this.enableLocalAnnotations){e.forEach(n=>{const r=n.group,o=n.region;let i=o.slice(-1)==="/"?o:o+"/";const a=i.slice(0,-1);n.region=a,i=i+r;const l=i;n.item.id=l,n.feature.id=l});const t=e.map(n=>n.feature);EEe(this.$module.scene,t),e.forEach(n=>{this.localAnnotationsList.push({...n})})}},setURLAndState:function(e,t){e!=this._currentURL&&(t!=null&&t.format&&(this.fileFormat=t.format),this._currentURL=e,this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.loading=!0,this.timeVarying=!1,this.isReady=!1,this.$_searchIndex.removeAll(),this.hideRegionTooltip(),this.$module.setFinishDownloadCallback(this.setURLFinishCallback({background:t==null?void 0:t.background,region:this.region,search:t==null?void 0:t.search,viewingMode:t==null?void 0:t.viewingMode,viewURL:this.viewURL,viewport:t==null?void 0:t.viewport,visibility:t==null?void 0:t.visibility})),this.fileFormat==="gltf"?this.$module.loadGLTFFromURL(e,"scene",!0):this.$module.loadOrgansFromURL(e,void 0,void 0,"scene",void 0,!0),this.$module&&this.$module.scene&&(this.$module.scene.displayMarkers=this.displayMarkers,this.$module.scene.forcePickableObjectsUpdate=!0,this.$module.scene.displayMinimap=this.displayMinimap,this.updateMinimapScissor()))},setURL:function(e){this.setURLAndState(e,void 0)},drawerToggled:function(e){this.drawerOpen=e,this.adjustLayout()},adjustLayout:function(){if(this.$refs.scaffoldContainer){let e=this.$refs.scaffoldContainer.clientWidth;this.minimisedSlider=e<812,this.minimisedSlider?this.sliderPosition=this.drawerOpen?"right":"left":this.sliderPosition=""}},toggleRendering:function(e){this.$module.zincRenderer&&(e?this.$module.zincRenderer.animate():this.$module.zincRenderer.stopAnimate())},forceResize:function(){this.$module.zincRenderer&&this.$module.zincRenderer.onWindowResize()},syncControlCallback:function(){const e=this.$module.NDCCameraControl.getPanZoom();this.tData.visible&&this.showRegionTooltip(this.tData.label,!0,!0),this.$emit("scaffold-navigated",e)},toggleSyncControl:function(e,t){this.$module.toggleSyncControl(e,t),this.$module.setSyncControlCallback(this.syncControlCallback)},setMarkers:function(){for(const[e,t]of Object.entries(this.markerLabels))this.setMarkerModeForObjectsWithName(e,t,"on")}}},XEe=e=>(s.pushScopeId("data-v-421c0aa2"),e=e(),s.popScopeId(),e),qRo={ref:"scaffoldContainer",class:"scaffold-container","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"},ZRo=XEe(()=>s.createElementVNode("span",{class:"message-text"},"Beta",-1)),XRo=XEe(()=>s.createElementVNode("span",{class:"message-text"},"What's new?",-1)),KRo={class:"primitive-controls-box"},YRo={class:"animation-data"},JRo={class:"purple"},$Ro={class:"animation-data"},eVo={class:"purple"},tVo={class:"animation-data"},nVo={class:"bottom-right-control"},rVo=XEe(()=>s.createElementVNode("div",null,[s.createTextVNode(" Fit to "),s.createElementVNode("br"),s.createTextVNode(" window ")],-1)),oVo={style:{"margin-bottom":"2px"}},iVo={key:0,class:"viewing-mode-title"},aVo=["onClick"],sVo=["onClick"];function lVo(e,t,n,r,o,i){const a=s.resolveComponent("map-svg-sprite-color"),l=mVt,c=s.resolveComponent("DrawToolbar"),u=MMt,d=Ql,h=Uce,p=aVt,m=iVt,f=s.resolveComponent("map-svg-icon"),g=D2,v=Nm,y=pOt,T=fP,b=pP,x=hOt,w=hP,Q=uCe;return s.withDirectives((s.openBlock(),s.createElementBlock("div",qRo,[s.createVNode(a),s.createVNode(l,{createData:e.createData,label:e.tData.label,region:e.tData.region,visible:e.tData.visible,x:e.tData.x,y:e.tData.y,annotationDisplay:i.annotationDisplay,onConfirmCreate:t[0]||(t[0]=_=>i.confirmCreate(_)),onCancelCreate:t[1]||(t[1]=_=>i.cancelCreate()),onConfirmDelete:t[2]||(t[2]=_=>i.confirmDelete()),onTooltipHide:t[3]||(t[3]=_=>i.onTooltipHide())},null,8,["createData","label","region","visible","x","y","annotationDisplay"]),s.createElementVNode("div",{id:"organsDisplayArea",ref:"display",tabindex:"-1",style:{height:"100%",width:"100%"},onKeydown:t[4]||(t[4]=s.withKeys((..._)=>i.backgroundChangeCallback&&i.backgroundChangeCallback(..._),["66"]))},null,544),s.withDirectives(s.createElementVNode("div",null,[e.viewingMode==="Annotation"&&(e.userInformation||n.enableLocalAnnotations)?(s.openBlock(),s.createBlock(c,{key:0,toolbarOptions:e.toolbarOptions,activeDrawTool:e.activeDrawTool,activeDrawMode:e.activeDrawMode,hoverVisibilities:e.hoverVisibilities,onClickToolbar:i.toggleDrawing,onShowTooltip:i.showHelpText,onHideTooltip:i.hideHelpText,ref:"toolbarPopover"},null,8,["toolbarOptions","activeDrawTool","activeDrawMode","hoverVisibilities","onClickToolbar","onShowTooltip","onHideTooltip"])):s.createCommentVNode("",!0),n.displayWarning?(s.openBlock(),s.createBlock(h,{key:1,ref:"warningPopover",visible:e.hoverVisibilities[7].value,content:n.warningMessage,placement:"right",width:"max-content",teleported:!1,"popper-class":"scaffold-popper message-popper right-popper non-selectable"},{reference:s.withCtx(()=>[n.displayWarning?(s.openBlock(),s.createElementBlock("div",{key:0,class:"message-icon warning-icon",onMouseover:t[5]||(t[5]=_=>i.showHelpText(7)),onMouseout:t[6]||(t[6]=_=>i.hideHelpText(7))},[s.createVNode(d,null,{default:s.withCtx(()=>[s.createVNode(u)]),_:1}),ZRo],32)):s.createCommentVNode("",!0)]),_:1},8,["visible","content"])):s.createCommentVNode("",!0),n.displayLatestChanges?(s.openBlock(),s.createBlock(h,{key:2,visible:e.hoverVisibilities[8].value,content:n.latestChangesMessage,placement:"right",teleported:!1,trigger:"manual","popper-class":"scaffold-popper message-popper right-popper non-selectable",ref:"whatsNewPopover"},{reference:s.withCtx(()=>[n.displayLatestChanges&&n.latestChangesMessage?(s.openBlock(),s.createElementBlock("div",{key:0,class:"el-icon-warning message-icon latest-changesicon",onMouseover:t[7]||(t[7]=_=>i.showHelpText(8)),onMouseout:t[8]||(t[8]=_=>i.hideHelpText(8))},[s.createVNode(d,null,{default:s.withCtx(()=>[s.createVNode(u)]),_:1}),XRo],32)):s.createCommentVNode("",!0)]),_:1},8,["visible","content"])):s.createCommentVNode("",!0),s.createVNode(h,{visible:e.hoverVisibilities[6].value,content:"Change region visibility",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"regionVisibilityPopover"},{reference:s.withCtx(()=>[s.createVNode(p,{ref:"scaffoldTreeControls",isReady:e.isReady,"show-colour-picker":n.showColourPicker,onObjectSelected:i.objectSelected,onObjectHovered:i.objectHovered,onDrawerToggled:i.drawerToggled},null,8,["isReady","show-colour-picker","onObjectSelected","onObjectHovered","onDrawerToggled"])]),_:1},8,["visible"]),s.createElementVNode("div",KRo,[s.createVNode(m,{ref:"primitiveControls",createData:e.createData,onPrimitivesUpdated:i.primitivesUpdated},null,8,["createData","onPrimitivesUpdated"])]),e.timeVarying?(s.openBlock(),s.createBlock(h,{key:3,ref:"sliderPopover",width:"max-content",visible:e.hoverVisibilities[5].value,content:"Move the slider to animate the region",placement:"top",teleported:!1,trigger:"manual","popper-class":"scaffold-popper top-popper non-selectable"},{reference:s.withCtx(()=>[e.timeVarying?(s.openBlock(),s.createElementBlock("div",{key:0,class:s.normalizeClass(["time-slider-container",[e.minimisedSlider?"minimised":"",e.sliderPosition]])},[s.createVNode(x,{type:"card"},{default:s.withCtx(()=>[s.createVNode(y,{label:"Animate scaffold"},{default:s.withCtx(()=>[s.createVNode(v,{class:"tab-content"},{default:s.withCtx(()=>[e.isPlaying?(s.openBlock(),s.createBlock(f,{key:0,icon:"pause",class:"icon-button video-button",onClick:t[9]||(t[9]=_=>i.play(!1))})):(s.openBlock(),s.createBlock(f,{key:1,icon:"play",class:"video-button icon-button",onClick:t[10]||(t[10]=_=>i.play(!0))})),s.createVNode(g,{min:0,max:e.timeMax,"model-value":e.currentTime/100*e.timeMax,step:.1,"tooltip-class":"time-slider-tooltip",class:"slider","format-tooltip":i.formatTooltip,marks:e.timeStamps,onInput:t[11]||(t[11]=_=>i.timeChange(_))},null,8,["max","model-value","format-tooltip","marks"])]),_:1})]),_:1}),s.createVNode(y,{label:"Animation data"},{default:s.withCtx(()=>[s.createVNode(v,{class:"tab-content"},{default:s.withCtx(()=>[s.createElementVNode("div",YRo,[s.createTextVNode(" Original duration: "),s.createElementVNode("div",JRo,s.toDisplayString(e.orginalDuration),1)]),s.createElementVNode("div",$Ro,[s.createTextVNode(" Animation duration: "),s.createElementVNode("div",eVo,s.toDisplayString(e.animateDuration),1)]),s.createElementVNode("div",tVo,[s.createTextVNode(" Playback speed "),s.createVNode(b,{teleported:!0,"model-value":e.currentSpeed,placeholder:"Select",class:"scaffold-select-box speed","popper-class":"scaffold_viewer_dropdown",onChange:t[12]||(t[12]=_=>i.speedChanged(_))},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.playSpeed,_=>(s.openBlock(),s.createBlock(T,{key:_.value,label:_.label,value:_.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"])])]),_:1})]),_:1})]),_:1})],2)):s.createCommentVNode("",!0)]),_:1},8,["visible"])):s.createCommentVNode("",!0),s.createElementVNode("div",nVo,[s.createVNode(h,{visible:e.hoverVisibilities[0].value,content:"Zoom in",width:"max-content",placement:"left",teleported:!1,trigger:"manual","popper-class":"scaffold-popper left-popper non-selectable",ref:"zoomInPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{icon:"zoomIn",class:"icon-button zoomIn",onClick:t[13]||(t[13]=_=>i.zoomIn()),onMouseover:t[14]||(t[14]=_=>i.showHelpText(0)),onMouseout:t[15]||(t[15]=_=>i.hideHelpText(0))})]),_:1},8,["visible"]),s.createVNode(h,{visible:e.hoverVisibilities[1].value,content:"Zoom out",placement:"top-end",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper popper-zoomout non-selectable",ref:"zoomOutPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{icon:"zoomOut",class:"icon-button zoomOut",onClick:t[16]||(t[16]=_=>i.zoomOut()),onMouseover:t[17]||(t[17]=_=>i.showHelpText(1)),onMouseout:t[18]||(t[18]=_=>i.hideHelpText(1))})]),_:1},8,["visible"]),s.createVNode(h,{visible:e.hoverVisibilities[2].value,placement:"top",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper non-selectable",ref:"zoomFitPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{icon:"fitWindow",class:"icon-button fitWindow",onClick:t[19]||(t[19]=_=>i.fitWindow()),onMouseover:t[20]||(t[20]=_=>i.showHelpText(2)),onMouseout:t[21]||(t[21]=_=>i.hideHelpText(2))})]),default:s.withCtx(()=>[rVo]),_:1},8,["visible"])]),e.openMapRef?(s.openBlock(),s.createBlock(h,{key:4,ref:"open-map-popover","virtual-ref":e.openMapRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"open-map-popper","virtual-triggering":""},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.openMapOptions,_=>(s.openBlock(),s.createBlock(v,{key:_.key},{default:s.withCtx(()=>[s.createVNode(w,{type:"primary",plain:"",onClick:C=>e.$emit("open-map",_.key)},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(_.display),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1},8,["virtual-ref"])):s.createCommentVNode("",!0),s.createVNode(h,{ref:"backgroundPopover","virtual-ref":e.backgroundIconRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"background-popper non-selectable h-auto","virtual-triggering":""},{default:s.withCtx(()=>[s.createElementVNode("div",null,[s.createVNode(v,{class:"backgroundText"},{default:s.withCtx(()=>[s.createTextVNode("Viewing Mode")]),_:1}),s.createVNode(v,{class:"backgroundControl"},{default:s.withCtx(()=>[s.createElementVNode("div",oVo,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.viewingModes,(_,C,L)=>(s.openBlock(),s.createElementBlock(s.Fragment,{key:C},[C===e.viewingMode?(s.openBlock(),s.createElementBlock("span",iVo,[s.createElementVNode("b",null,s.toDisplayString(C),1)])):(s.openBlock(),s.createElementBlock("span",{key:1,class:"viewing-mode-unselected",onClick:M=>i.changeViewingMode(C)},s.toDisplayString(C),9,aVo))],64))),128))]),s.createVNode(v,{class:"viewing-mode-description"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(e.viewingModes[e.viewingMode]),1)]),_:1})]),_:1}),s.createVNode(v,{class:"backgroundSpacer"}),s.createVNode(v,{class:"backgroundText"},{default:s.withCtx(()=>[s.createTextVNode(" Change background ")]),_:1}),s.createVNode(v,{class:"backgroundChooser"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.availableBackground,_=>(s.openBlock(),s.createElementBlock("div",{key:_,class:s.normalizeClass(["backgroundChoice",_,_==e.currentBackground?"active":""]),onClick:C=>i.backgroundChangeCallback(_)},null,10,sVo))),128))]),_:1})])]),_:1},8,["virtual-ref"]),s.createElementVNode("div",{class:s.normalizeClass(["settings-group",{open:e.drawerOpen,close:!e.drawerOpen}])},[s.createVNode(v,null,{default:s.withCtx(()=>[s.createVNode(h,{visible:e.hoverVisibilities[3].value,content:"Open new map",placement:"right",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper right-popper non-selectable",ref:"openMapPopover"},{reference:s.withCtx(()=>[n.enableOpenMapUI&&n.openMapOptions.length>0?(s.openBlock(),s.createBlock(f,{key:0,ref:"openMapRef",icon:"openMap",class:"icon-button open-map-button",onMouseover:t[22]||(t[22]=_=>i.showHelpText(3)),onMouseout:t[23]||(t[23]=_=>i.hideHelpText(3))},null,512)):s.createCommentVNode("",!0)]),_:1},8,["visible"])]),_:1}),s.createVNode(v,null,{default:s.withCtx(()=>[s.createVNode(h,{visible:e.hoverVisibilities[4].value,content:"Change background color",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"settingsPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{ref:"backgroundIconRef",icon:"changeBckgd",class:"icon-button",onMouseover:t[24]||(t[24]=_=>i.showHelpText(4)),onMouseout:t[25]||(t[25]=_=>i.hideHelpText(4))},null,512)]),_:1},8,["visible"])]),_:1})],2)],512),[[s.vShow,n.displayUI&&!e.isTransitioning]])])),[[Q,e.loading]])}const cVo={name:"Scaffold",mixins:[iE],components:{ScaffoldVuer:oy(WRo,[["render",lVo],["__scopeId","data-v-421c0aa2"]]),HelpModeDialog:efe},methods:{onResize:function(){this.scaffoldCamera.onResize()},getState:function(){return this.$refs.scaffold.getState()},search:function(e){const t=e.replace(/(^"|"$)/g,"");return this.$refs.scaffold.search(t,!0)},searchSuggestions:function(e,t){if(e===""||!this.$refs.scaffold)return t;this.$refs.scaffold.fetchSuggestions(e).forEach(r=>{r.suggestion&&t.push(r.suggestion)})},handleSyncPanZoomEvent:function(e){if(!this.mouseHovered&&e.type!==this.entry.type){const t=e.payload.origin,n=e.payload.size,r=[t[0]+n[0]/2,t[1]+n[1]/2],o=[(r[0]-.5)*2,(.5-r[1])*2],i=1/Math.max(n[0],n[1]);this.$refs.scaffold.$module.setSyncControlCenterZoom(o,i)}},displayTooltip:function(e){let t;e&&(t=e.name),t?this.$refs.scaffold.search(t,!0):this.$refs.scaffold.hideRegionTooltip()},zoomToFeatures:function(e,t){let n;Array.isArray(e)?n=e:n=[e.name],t&&this.$refs.scaffold.changeActiveByName(n,"",!1),this.$refs.scaffold.viewRegion(n)},highlightFeatures:function(e){let t;Array.isArray(e)?t=e:t=[e.name],this.$refs.scaffold.changeHighlightedByName(t,"",!1)},scaffoldIsReady:function(){if(this.scaffoldLoaded=!0,this.$refs.scaffold.$module.graphicsHighlight.highlightColour=[1,0,1],this.isVisible()){let e="free";this.entry.rotation&&(e=this.entry.rotation),this.$refs.scaffold.toggleSyncControl(this.splitFlowStore.globalCallback,e),this.splitFlowStore.syncMode&&this.$refs.scaffold.fitWindow()}wo.emit("mapLoaded",this.$refs.scaffold)},requestSynchronisedEvent:function(e){if(this.scaffoldLoaded){let t="free";this.entry.rotation&&(t=this.entry.rotation),this.$refs.scaffold.toggleSyncControl(e,t)}},scaffoldHighlighted:function(e,t){var r,o,i;const n={paneIndex:this.entry.id,type:e,resource:t,internalName:void 0};t&&t[0]&&((((r=t[0].data)==null?void 0:r.id)===void 0||((o=t[0].data)==null?void 0:o.id)==="")&&(t[0].data.id=(i=t[0].data)==null?void 0:i.group),n.internalName=t[0].data.id,n.eventType="highlighted"),this.$emit("resource-selected",n)},scaffoldNavigated:function(e,t){if(this.mouseHovered){const n={paneIndex:this.entry.id,eventType:"panZoom",payload:t,type:e};this.$emit("resource-selected",n)}},updateWithViewUrl:function(e){this.$refs.scaffold.updateViewURL(e)},changeViewingMode:function(e){this.$refs.scaffold.changeViewingMode(e)}},computed:{warningMessage:function(){return this.entry.isBodyScaffold?"This map displays the anatomical location and connectivity of nerves, through which the neuron populations from the ApiNATOMY models available in SCKAN can be routed.":"Under active development"},markerLabels:function(){return this.settingsStore.numberOfDatasetsForFacets}},data:function(){return{apiLocation:process.env.VUE_APP_API_LOCATION,scaffoldCamera:void 0,scaffoldLoaded:!1}},mounted:function(){this.scaffoldCamera=this.$refs.scaffold.$module.scene.getZincCameraControls(),wo.on("startHelp",()=>{this.startHelp()}),wo.on("hoverUpdate",()=>{this.scaffoldLoaded&&this.mapHoverHighlight(this.$refs.scaffold)})}},uVo={class:"viewer-container"};function dVo(e,t,n,r,o,i){const a=s.resolveComponent("ScaffoldVuer"),l=s.resolveComponent("HelpModeDialog");return s.openBlock(),s.createElementBlock("div",uVo,[s.createVNode(a,{state:e.entry.state,url:e.entry.resource,region:e.entry.region,onScaffoldSelected:t[0]||(t[0]=c=>e.resourceSelected(e.entry.type,c,!0)),onScaffoldHighlighted:t[1]||(t[1]=c=>i.scaffoldHighlighted(e.entry.type,c)),onScaffoldNavigated:t[2]||(t[2]=c=>i.scaffoldNavigated(e.entry.type,c)),onOnReady:i.scaffoldIsReady,onOpenMap:e.openMap,ref:"scaffold","background-toggle":!0,traditional:!0,helpMode:e.helpMode,helpModeActiveItem:e.helpModeActiveItem,helpModeDialog:e.useHelpModeDialog,onAnnotationOpen:e.onAnnotationOpen,onAnnotationClose:e.onAnnotationClose,annotationSidebar:e.annotationSidebar,onHelpModeLastItem:e.onHelpModeLastItem,onShownTooltip:e.onTooltipShown,onShownMapTooltip:e.onMapTooltipShown,render:e.visible,"display-latest-message":!0,"warning-message":i.warningMessage,"display-minimap":!1,"display-markers":!1,enableOpenMapUI:!0,"view-u-r-l":e.entry.viewUrl,markerCluster:!0,markerLabels:i.markerLabels,flatmapAPI:e.flatmapAPI},null,8,["state","url","region","onOnReady","onOpenMap","helpMode","helpModeActiveItem","helpModeDialog","onAnnotationOpen","onAnnotationClose","annotationSidebar","onHelpModeLastItem","onShownTooltip","onShownMapTooltip","render","warning-message","view-u-r-l","markerLabels","flatmapAPI"]),e.helpMode&&e.useHelpModeDialog?(s.openBlock(),s.createBlock(l,{key:0,ref:"scaffoldHelp",scaffoldRef:e.scaffoldRef,lastItem:e.helpModeLastItem,onShowNext:e.onHelpModeShowNext,onFinishHelpMode:e.onFinishHelpMode},null,8,["scaffoldRef","lastItem","onShowNext","onFinishHelpMode"])):s.createCommentVNode("",!0)])}const hVo=Object.freeze(Object.defineProperty({__proto__:null,default:E1(cVo,[["render",dVo],["__scopeId","data-v-642b0feb"]])},Symbol.toStringTag,{value:"Module"})),ay=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{const o=e==null?void 0:e(r);if(n===!1||!o)return t==null?void 0:t(r)};var LVt;const Qu=typeof window<"u",pVo=e=>typeof e=="string",EVt=()=>{},KEe=Qu&&((LVt=window==null?void 0:window.navigator)==null?void 0:LVt.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function MVt(e){return typeof e=="function"?e():s.unref(e)}function fVo(e){return e}function L1e(e){return s.getCurrentScope()?(s.onScopeDispose(e),!0):!1}function mVo(e,t=!0){s.getCurrentInstance()?s.onMounted(e):t?e():s.nextTick(e)}function sy(e){var t;const n=MVt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const E1e=Qu?window:void 0;function F0(...e){let t,n,r,o;if(pVo(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=E1e):[t,n,r,o]=e,!t)return EVt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],a=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,p,m)=>(d.addEventListener(h,p,m),()=>d.removeEventListener(h,p,m)),c=s.watch(()=>[sy(t),MVt(o)],([d,h])=>{a(),d&&i.push(...n.flatMap(p=>r.map(m=>l(d,p,m,h))))},{immediate:!0,flush:"post"}),u=()=>{c(),a()};return L1e(u),u}let AVt=!1;function gVo(e,t,n={}){const{window:r=E1e,ignore:o=[],capture:i=!0,detectIframe:a=!1}=n;if(!r)return;KEe&&!AVt&&(AVt=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",EVt)));let l=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(p=>p===d.target||d.composedPath().includes(p));{const p=sy(h);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[F0(r,"click",d=>{const h=sy(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(l=!c(d)),!l){l=!0;return}t(d)}},{passive:!0,capture:i}),F0(r,"pointerdown",d=>{const h=sy(e);h&&(l=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),a&&F0(r,"blur",d=>{var h;const p=sy(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(p!=null&&p.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function OVt(e,t=!1){const n=s.ref(),r=()=>n.value=!!e();return r(),mVo(r,t),n}const PVt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},IVt="__vueuse_ssr_handlers__";PVt[IVt]=PVt[IVt]||{};var NVt=Object.getOwnPropertySymbols,yVo=Object.prototype.hasOwnProperty,vVo=Object.prototype.propertyIsEnumerable,TVo=(e,t)=>{var n={};for(var r in e)yVo.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&NVt)for(var r of NVt(e))t.indexOf(r)<0&&vVo.call(e,r)&&(n[r]=e[r]);return n};function ly(e,t,n={}){const r=n,{window:o=E1e}=r,i=TVo(r,["window"]);let a;const l=OVt(()=>o&&"ResizeObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>sy(e),h=>{c(),l.value&&o&&h&&(a=new ResizeObserver(t),a.observe(h,i))},{immediate:!0,flush:"post"}),d=()=>{c(),u()};return L1e(d),{isSupported:l,stop:d}}var RVt=Object.getOwnPropertySymbols,bVo=Object.prototype.hasOwnProperty,xVo=Object.prototype.propertyIsEnumerable,wVo=(e,t)=>{var n={};for(var r in e)bVo.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&RVt)for(var r of RVt(e))t.indexOf(r)<0&&xVo.call(e,r)&&(n[r]=e[r]);return n};function QVo(e,t,n={}){const r=n,{window:o=E1e}=r,i=wVo(r,["window"]);let a;const l=OVt(()=>o&&"MutationObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>sy(e),h=>{c(),l.value&&o&&h&&(a=new MutationObserver(t),a.observe(h,i))},{immediate:!0}),d=()=>{c(),u()};return L1e(d),{isSupported:l,stop:d}}var VVt;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(VVt||(VVt={}));var _Vo=Object.defineProperty,BVt=Object.getOwnPropertySymbols,SVo=Object.prototype.hasOwnProperty,kVo=Object.prototype.propertyIsEnumerable,HVt=(e,t,n)=>t in e?_Vo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,CVo=(e,t)=>{for(var n in t||(t={}))SVo.call(t,n)&&HVt(e,n,t[n]);if(BVt)for(var n of BVt(t))kVo.call(t,n)&&HVt(e,n,t[n]);return e};CVo({linear:fVo},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const LVo=()=>Qu&&/firefox/i.test(window.navigator.userAgent);/**
|
7492
|
+
This will fail in production.`);l=MG,l._s.has(r)||(i?PEe(r,t,o,l):hVt(r,o,l),process.env.NODE_ENV!=="production"&&(a._pinia=l));const d=l._s.get(r);if(process.env.NODE_ENV!=="production"&&c){const h="__hot:"+r,p=i?PEe(h,t,o,l,!0):hVt(h,z2({},o),l,!0);c._hotUpdate(p),delete l.state.value[h],l._s.delete(h)}if(process.env.NODE_ENV!=="production"&&OG){const h=s.getCurrentInstance();if(h&&h.proxy&&!c){const p=h.proxy,m="_pStores"in p?p._pStores:p._pStores={};m[r]=d}}return d}return a.$id=r,a}function pVt(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const o=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,o):o[i]},n),{})}const fVt=mRo("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(e){return e.userProfile.token}},actions:{setUserToken(e){this.userProfile.token=e}}}),gRo={name:"ScaffoldTooltip",components:{Col:H4,CreateTooltipContent:Mun,ElIconDelete:wce,Icon:Ql,Popover:Uce,Row:Nm,Tooltip:KFe},props:{createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}},label:{type:String,default:""},annotationDisplay:{type:Boolean,default:!1},region:{type:String,default:""},visible:{type:Boolean,default:!1},x:{type:Number,default:200},y:{type:Number,default:200}},inject:["scaffoldUrl"],provide(){return{userApiKey:this.userToken}},data:function(){return{display:!1,annotationEntry:{},ElIconDelete:s.shallowRef(wce)}},computed:{...pVt(fVt,["userToken"]),position:function(){let e=40;return this.region&&(e=55),{left:this.x-40+"px",top:this.y-e+"px"}}},methods:{checkForDisplay:function(){if(this.visible&&this.label&&this.label!==""){if(this.display=!0,this.annotationDisplay){const e=this.region?this.region+"/":"";this.annotationEntry={featureId:e+this.label,resourceId:this.scaffoldUrl,resource:this.scaffoldUrl}}}else this.display=!1,this.annotationEntry={}},hideTriggered:function(){this.$emit("tooltip-hide")}},watch:{label:{handler:function(){this.checkForDisplay()},immediate:!0},visible:{handler:function(){this.checkForDisplay()},immediate:!0},annotationDisplay:{handler:function(){this.checkForDisplay()},immediate:!0}}},yRo={class:"tooltip-text"},vRo={key:0,class:"tooltip-text"},TRo={key:1,class:"delete-container"};function bRo(e,t,n,r,o,i){const a=s.resolveComponent("CreateTooltipContent"),l=s.resolveComponent("Tooltip"),c=H4,u=hP,d=Nm,h=Uce;return s.openBlock(),s.createElementBlock("div",{style:s.normalizeStyle(i.position),class:"region-tooltip"},[s.createVNode(h,{ref:"tooltip",visible:n.visible,placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tooltip-popper non-selectable","virtual-triggering":"",onHide:i.hideTriggered},{default:s.withCtx(()=>[s.createElementVNode("div",yRo,s.toDisplayString(n.label),1),n.region?(s.openBlock(),s.createElementBlock("div",vRo,"Region: "+s.toDisplayString(n.region),1)):s.createCommentVNode("",!0),s.withDirectives(s.createVNode(a,{createData:n.createData,onConfirmCreate:t[0]||(t[0]=p=>e.$emit("confirm-create",p)),onCancelCreate:t[1]||(t[1]=p=>e.$emit("cancel-create"))},null,8,["createData"]),[[s.vShow,n.createData.toBeConfirmed]]),s.withDirectives(s.createVNode(l,{class:"p-tooltip",ref:"annotationTooltip",annotationDisplay:!0,annotationEntry:e.annotationEntry},null,8,["annotationEntry"]),[[s.vShow,n.annotationDisplay&&!n.createData.toBeConfirmed]]),n.createData.toBeDeleted?(s.openBlock(),s.createElementBlock("div",TRo,[s.createVNode(d,null,{default:s.withCtx(()=>[s.createVNode(c,{span:10},{default:s.withCtx(()=>[s.createTextVNode("Delete this feature?")]),_:1}),s.createVNode(c,{span:7},{default:s.withCtx(()=>[s.createVNode(u,{class:"delete-button",icon:e.ElIconDelete,onClick:t[2]||(t[2]=p=>e.$emit("confirm-delete"))},{default:s.withCtx(()=>[s.createTextVNode(" Delete ")]),_:1},8,["icon"])]),_:1}),s.createVNode(c,{span:6},{default:s.withCtx(()=>[s.createVNode(u,{class:"delete-button",onClick:t[3]||(t[3]=p=>e.$emit("cancel-create"))},{default:s.withCtx(()=>[s.createTextVNode(" Dismiss ")]),_:1})]),_:1})]),_:1})])):s.createCommentVNode("",!0)]),_:1},8,["visible","onHide"])],4)}const mVt=oy(gRo,[["render",bRo],["__scopeId","data-v-e665391a"]]);/*! js-cookie v3.0.5 | MIT */function _1e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var xRo={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function IEe(e,t){function n(o,i,a){if(!(typeof document>"u")){a=_1e({},t,a),typeof a.expires=="number"&&(a.expires=new Date(Date.now()+a.expires*864e5)),a.expires&&(a.expires=a.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in a)a[c]&&(l+="; "+c,a[c]!==!0&&(l+="="+a[c].split(";")[0]));return document.cookie=o+"="+e.write(i,o)+l}}function r(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var i=document.cookie?document.cookie.split("; "):[],a={},l=0;l<i.length;l++){var c=i[l].split("="),u=c.slice(1).join("=");try{var d=decodeURIComponent(c[0]);if(a[d]=e.read(u,d),o===d)break}catch{}}return o?a[o]:a}}return Object.create({set:n,get:r,remove:function(o,i){n(o,"",_1e({},i,{expires:-1}))},withAttributes:function(o){return IEe(this.converter,_1e({},this.attributes,o))},withConverter:function(o){return IEe(_1e({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var NEe=IEe(xRo,{path:"/"}),jm=function(e,t,n,r,o){if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n},Gl=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},iy,PG,Um,qd,Ib;const wRo=1e4;class QRo{constructor(t){iy.add(this),PG.set(this,void 0),Um.set(this,null),qd.set(this,null),t.slice(-1)==="/"?jm(this,PG,t.slice(0,-1)):jm(this,PG,t)}get currentUser(){return Gl(this,Um,"f")}get currentError(){return Gl(this,qd,"f")}async authenticate(t){jm(this,qd,null),jm(this,Um,null);const n=await Gl(this,iy,"m",Ib).call(this,t,"authenticate");return"error"in n?(NEe.remove("annotation-key"),Promise.resolve(Gl(this,qd,"f"))):(NEe.set("annotation-key",n.session,{secure:!0,expires:1}),jm(this,Um,n.data),Promise.resolve(Gl(this,Um,"f")))}async unauthenticate(t){jm(this,qd,null),jm(this,Um,null);const n=await Gl(this,iy,"m",Ib).call(this,t,"unauthenticate");return"success"in n?Promise.resolve(n):Promise.resolve(Gl(this,qd,"f"))}async annotatedItemIds(t,n,r,o){const i={resource:n};r!==void 0&&(i.user=r),o!==void 0&&(i.participated=o);const a=await Gl(this,iy,"m",Ib).call(this,t,"items/","GET",i);return"error"in a?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(a)}async drawnFeatures(t,n,r){const o={resource:n};r!==void 0&&(o.items=r);const i=await Gl(this,iy,"m",Ib).call(this,t,"features/","GET",o);return"error"in i?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(i)}async itemAnnotations(t,n,r){const o=await Gl(this,iy,"m",Ib).call(this,t,"annotations/","GET",{resource:n,item:r});return"error"in o?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(o)}async annotation(t,n){const r=await Gl(this,iy,"m",Ib).call(this,t,"annotation/","GET",{annotation:n});return"error"in r?Promise.resolve(Gl(this,qd,"f")):Promise.resolve(r)}async addAnnotation(t,n){if(Gl(this,Um,"f")&&Gl(this,Um,"f").canUpdate){const r=Object.assign({creator:Gl(this,Um,"f"),created:new Date().toISOString()},n),o=await Gl(this,iy,"m",Ib).call(this,t,"annotation/","POST",{data:r});if(!("error"in o))return Promise.resolve(o);jm(this,qd,o)}else jm(this,qd,{error:"user cannot add annotation"});return Promise.resolve(Gl(this,qd,"f"))}}PG=new WeakMap,Um=new WeakMap,qd=new WeakMap,iy=new WeakSet,Ib=async function(e,t,n="GET",r={}){let o=!0;const i=new AbortController;setTimeout(()=>{o&&(console.log("Annotation server timeout..."),i.abort())},wRo);const a={method:n,signal:i.signal};let l=`${Gl(this,PG,"f")}/${t}`;const c=NEe.get("annotation-key")||"";if(n==="GET"){const d=[];for(const[h,p]of Object.entries(r))d.push(`${h}=${encodeURIComponent(JSON.stringify(p))}`);d.push(`key=${encodeURIComponent(e)}`),d.push(`session=${encodeURIComponent(c)}`),l+="?"+d.join("&"),a.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(n==="POST"){const d=Object.assign({key:e,session:c},r);a.body=JSON.stringify(d),a.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const u=await fetch(l,a);return o=!1,u.ok?Promise.resolve(await u.json()):(jm(this,qd,{error:`${u.status} ${u.statusText}`}),Promise.resolve(Gl(this,qd,"f")))};const IG={ALL:0,SELECTED:1,HIGHLIGHTED:2,MOVE:3},_Ro=function(e,t,n){this.eventType=e,this.identifiers=t,this.zincObjects=n},SRo=function(e,t,n){this.targetedID=[];const r=e,o=t;this.targetEventType=n;const i=this;n===void 0&&(this.targetEventType=IG.ALL),this.getEventType=function(){return n},this.notify=function(a,l,c,u){if(a!==r&&(i.targetEventType===IG.ALL||i.targetEventType===l)){const d=new _Ro(l,c,u);o(d)}}},kRo=function(){const e=[];this.publish=function(t,n,r,o){for(let i=0;i<e.length;i++)e[i].notify(t,n,r,o)},this.subscribe=function(t,n,r){if(typeof n=="function"){const o=new SRo(t,n,r);return e.push(o),o}},this.unsubscribe=function(t){for(let n=0;n<e.length;n++)if(t===e[n]){e.splice(n,1);return}}},gVt={isWebGLAvailable:function(){try{var e=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(e.getContext("webgl")||e.getContext("experimental-webgl")))}catch{return!1}},isWebGL2Available:function(){try{var e=document.createElement("canvas");return!!(window.WebGL2RenderingContext&&e.getContext("webgl2"))}catch{return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(e){var t={1:"WebGL",2:"WebGL 2"},n={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},r='This module requires <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#008">$1</a> support but your $0 does not seem to support it.',o=document.createElement("div");return o.id="webglmessage",o.style.fontFamily="monospace",o.style.fontSize="20px",o.style.fontWeight="normal",o.style.textAlign="center",o.style.background="#fff",o.style.color="#000",o.style.padding="1.5em",o.style.width="400px",o.style.margin="5em auto 0",n[e]?r=r.replace("$0","graphics card"):r=r.replace("$0","browser"),r=r.replace("$1",t[e]),o.innerHTML=r,o}},REe={ALL:0,DESTROYED:1,NAME_CHANGED:2,SETTINGS_CHANGED:3},nf=function(){this.typeName="Base Module",this.instanceName="default",this.onChangedCallbacks=[],this.eventNotifiers=[]};nf.prototype.setName=function(e){if(e&&this.instanceName!==e){this.instanceName=e;const t=this.onChangedCallbacks.slice();for(let n=0;n<t.length;n++)t[n](this,REe.NAME_CHANGED)}},nf.prototype.settingsChanged=function(){const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,REe.SETTINGS_CHANGED)},nf.prototype.exportSettings=function(){const e={};return e.dialog=this.typeName,e.name=this.instanceName,e},nf.prototype.importSettings=function(e){return e.dialog==this.typeName?(this.setName(e.name),!0):!1},nf.prototype.publishChanges=function(e,t,n){for(let r=0;r<this.eventNotifiers.length;r++)this.eventNotifiers[r].publish(this,t,e,n)},nf.prototype.getName=function(){return this.instanceName},nf.prototype.destroy=function(){const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,REe.DESTROYED);delete this},nf.prototype.addChangedCallback=function(e){this.onChangedCallbacks.includes(e)==!1&&this.onChangedCallbacks.push(e)},nf.prototype.removeChangedCallback=function(e){const t=this.onChangedCallbacks.indexOf(e);t>-1&&this.onChangedCallbacks.splice(t,1)},nf.prototype.addNotifier=function(e){this.eventNotifiers.push(e)};const S1e=(e,t,n)=>{for(let r=0;r<e.length;r++)if(e[r]&&e[r].material&&e[r].material.emissive){let o=e[r].userData;o&&o.isZincObject?o.setEmissiveRGB(t):e[r].material&&e[r].material.emissive&&e[r].material.emissive.setRGB(...t),n&&e[r].material.depthFunc&&(e[r].material.depthFunc=Pb.THREE.LessEqualDepth),e[r].children.forEach(i=>{const a=i.userData;a&&a.isZincObject&&i.material&&i.material.emissive&&i.material.emissive.setRGB(...t)})}},CRo=function(){let e=[],t=[];this.highlightColour=[1,0,0],this.selectColour=[0,1,0],this.originalColour=[0,0,0];const n=[],r=[],o=this,i=function(c,u){if(c.length==0&&u.length==0)return!1;for(let d=0;d<c.length;d++){let h=!1;for(let p=0;p<u.length;p++)c[d]===u[p]&&(h=!0);if(!h)return!0}for(let d=0;d<u.length;d++){let h=!1;for(let p=0;p<c.length;p++)u[d]===c[p]&&(h=!0);if(!h)return!0}return!1},a=function(c,u){if(n.length=0,u.length==0)return c;for(let d=0;d<c.length;d++){let h=!1;for(let p=0;p<u.length;p++)c[d]===u[p]&&(h=!0);h||n.push(c[d])}return n};this.setHighlighted=function(c){const u=[...e];o.resetHighlighted();const d=a(c,t),h=l(d);return S1e(h,o.highlightColour,!1),e=d,i(e,u)},this.setSelected=function(c){const u=[...t];o.resetHighlighted(),o.resetSelected();const d=l(c);return S1e(d,o.selectColour,!1),t=c,i(t,u)};const l=function(c){r.length=0;for(let u=0;u<c.length;u++)c[u].material&&r.push(c[u]);return r};this.resetHighlighted=function(){const c=l(e);S1e(c,o.originalColour,!0),e=[]},this.resetSelected=function(){const c=l(t);S1e(c,o.originalColour,!0),t=[]},this.getSelected=function(){return t},this.reset=function(){o.resetSelected(),o.resetHighlighted()}},VEe=b1e.THREE,LRo=function(){const e=document.createElement("div");let t;if(e.style.height="100%",gVt.isWebGLAvailable())t=new b1e.Renderer(e,window),b1e.defaultMaterialColor=16777116,t.initialiseVisualisation(),t.playAnimation=!1;else{const n=gVt.getWebGLErrorMessage();e.appendChild(n)}return{Zinc:b1e,renderer:t,container:e}},Wl=function(){nf.call(this),this.scene=void 0,this.rendererContainer=void 0,this.displayArea=void 0,this.graphicsHighlight=new CRo,this.selectObjectOnPick=!0,this.zincRenderer=null,this.selectedScreenCoordinates=new VEe.Vector3,this.selectedCenter=void 0,this.liveUpdatesObjects=void 0,this.ignorePreviousSelected=!1};Wl.prototype=Object.create(nf.prototype),Wl.prototype.getIntersectedObject=function(e){if(e){const t=e.map(r=>{if(r&&r.object&&r.object.userData){if(r.object.userData.isMarker)return 1;if(r.object.name&&r.object.userData.isZincObject)return 2}return 0});let n=t.indexOf(1);return n=n>-1?n:t.indexOf(2),e[n]}},Wl.prototype.getAnnotationsFromObjects=function(e){const t=[];for(var n=0;n<e.length;n++){const r=e[n].userData;let o;if(r){if(r.isGlyph||r.isGlyphset){let i=r;r.isGlyph&&(i=r.getGlyphset()),o=i.userData?i.userData.annotation:void 0,o&&o.data&&(e[n].name&&e[n].name!=""?o.data.id=e[n].name:o.data.id=i.groupName)}else o=r.userData?r.userData.annotation:void 0,o&&o.data&&(o.data.id=e[n].name);o&&(o.data.zincObject=r)}o&&t.push(o)}return t},Wl.prototype.setHighlightedByObjects=function(e,t,n,r){const o=this.graphicsHighlight.setHighlighted(e),i=this.objectsToZincObjects(e);if(r){let a=IG.MOVE;o&&(a=IG.HIGHLIGHTED);const l=this.getAnnotationsFromObjects(e);l.length>0&&(l[0].coords=t,l[0].extraData=n),this.publishChanges(l,a,i)}return o},Wl.prototype.setHighlightedByZincObjects=function(e,t,n,r){let o=[];return e&&e.forEach(i=>{i&&i.getMorph()&&o.push(i.getMorph())}),this.setHighlightedByObjects(o,t,n,r)},Wl.prototype.setupLiveCoordinates=function(e){if(this.liveUpdatesObjects=e,e&&e.length>0){const t=this.scene.getBoundingBoxOfZincObjects(e);let n=new VEe.Vector3;t?(t.getCenter(n),this.selectedCenter==null?this.selectedCenter=n:this.selectedCenter.copy(n)):this.selectedCenter=void 0}else this.selectedCenter=void 0},Wl.prototype.objectsToZincObjects=function(e){const t=[];for(let n=0;n<e.length;n++){let r=e[n].userData;if(r)if(r.isGlyph||r.isGlyphset){let o=r;r.isGlyph&&(o=r.getGlyphset()),t.push(o)}else t.push(r)}return t},Wl.prototype.setSelectedByObjects=function(e,t,n,r){let o=!1;if(this.selectObjectOnPick?o=this.graphicsHighlight.setSelected(e):o=!0,o||this.ignorePreviousSelected){const i=this.objectsToZincObjects(e);if(this.selectObjectOnPick&&this.setupLiveCoordinates(i),r){const a=IG.SELECTED,l=this.getAnnotationsFromObjects(e);l.length>0&&(l[0].coords=t,l[0].extraData=n),this.publishChanges(l,a,i)}}return o},Wl.prototype.setSelectedByZincObjects=function(e,t,n,r){let o=[];return e&&e.forEach(i=>{if(i){const a=i.getMorph();a&&o.push(a)}}),this.setSelectedByObjects(o,t,n,r)},Wl.prototype.findObjectsByGroupName=function(e){return this.scene.findObjectsWithGroupName(e)},Wl.prototype.setHighlightedByGroupName=function(e,t){const n=this.findObjectsByGroupName(e);return this.setHighlightedByObjects(n,void 0,{},t)},Wl.prototype.setSelectedByGroupName=function(e,t){const n=this.findObjectsByGroupName(e);return this.setSelectedByObjects(n,void 0,{},t)},Wl.prototype.changeBackgroundColour=function(e){const t=new VEe.Color(e);this.zincRenderer&&this.zincRenderer.getThreeJSRenderer().setClearColor(t,1)},Wl.prototype.resetView=function(){this.zincRenderer&&this.zincRenderer.resetView()},Wl.prototype.viewAll=function(){this.zincRenderer&&this.zincRenderer.viewAll()},Wl.prototype.playAnimation=function(e){this.zincRenderer&&(this.zincRenderer.playAnimation=e)},Wl.prototype.setPlayRate=function(e){this.zincRenderer&&this.zincRenderer.setPlayRate(e)},Wl.prototype.getPlayRate=function(e){return this.zincRenderer?this.zincRenderer.getPlayRate():0},Wl.prototype.initialiseRenderer=function(e){if(this.zincRenderer===void 0||this.rendererContainer===void 0){let t=LRo();this.Zinc=t.Zinc,this.zincRenderer=t.renderer,this.rendererContainer=t.container}e&&(this.displayArea=e,this.displayArea.appendChild(this.rendererContainer),this.zincRenderer&&this.zincRenderer.animate())},Wl.prototype.destroy=function(){this.zincRenderer&&(this.zincRenderer.dispose(),this.zincRenderer.getThreeJSRenderer().dispose(),this.zincRenderer=void 0),nf.prototype.destroy.call(this)};const ERo=function(){this.type="anatomical",this.data=void 0,this.isAnnotation=!0},MRo=function(){this.currentName="",this.currentSystem="",this.currentPart="",this.currentSpecies="",this.metaURL="",this.viewURL="",this.timeVarying=!1,this.currentTime=0},yVt=function(e){Wl.call(this);const t=this;let n;this.sceneData=new MRo;const r=new Array,o=new Array,i=new Array,a=new Array;let l;const c=e;this.NDCCameraControl=void 0,t.typeName="Organ Viewer",this.getSceneData=function(){return t.sceneData},this.updateTime=function(_){let C=6e3;t.scene&&(C=t.scene.getDuration());const L=_/100*C;t.sceneData.nerveMapIsActive||t.scene&&t.scene.setMorphsTime(L),t.sceneData.currentTime=_};const u=function(){let _=3e3;t.scene&&(_=t.scene.getDuration());const C=t.zincRenderer.getCurrentTime();for(let L=0;L<r.length;L++)r[L](C);!t.sceneData.nerveMapIsActive&&n&&n.setMorphsTime(C),t.sceneData.nerveMap&&t.sceneData.nerveMap.additionalReader&&t.sceneData.nerveMap.additionalReader.setTime(C/_),t.sceneData.currentTime=C/_*100};this.getCurrentTime=function(){return t.sceneData.currentTime},this.toggleSyncControl=(_,C)=>{let L=this.scene.getZincCameraControls();_?(L.resetView(),this.NDCCameraControl=L.enableSyncControl(),L.setRotationMode(C)):(L.disableSyncControl(),this.NDCCameraControl=void 0,L.setRotationMode("free"))},this.isSyncControl=()=>this.NDCCameraControl!==void 0,this.setSyncControlZoomToBox=_=>{this.NDCCameraControl&&this.NDCCameraControl.zoomToBox(_,2)},this.setSyncControlCallback=_=>{this.NDCCameraControl&&this.NDCCameraControl.setEventCallback(_)},this.setSyncControlCenterZoom=(_,C)=>{this.NDCCameraControl&&this.NDCCameraControl.setCenterZoom(_,C)};const d=function(){if(t.zincRenderer.playAnimation&&t.liveUpdatesObjects&&t.setupLiveCoordinates(t.liveUpdatesObjects),t.selectedCenter){const _=new Pb.THREE.Vector3;_.copy(t.selectedCenter);const C=t.scene.vectorToScreenXY(_);t.selectedScreenCoordinates.x=C.x,t.selectedScreenCoordinates.y=C.y}},h=function(){return function(){u()}},p=function(){return function(){d()}};this.addTimeChangedCallback=function(_){r.push(_)},this.setTexturePos=function(_){t.sceneData.nerveMap&&t.sceneData.nerveMap.additionalReader&&t.sceneData.nerveMap.additionalReader.setSliderPos(_)},this.addSceneChangedCallback=function(_){o.push(_)},this.addOrganPartAddedCallback=function(_){i.push(_)},this.addOrganPartRemovedCallback=function(_){a.push(_)},this.setFinishDownloadCallback=function(_){l=_},this.unsetFinishDownloadCallback=function(){l=void 0},this.getNamedObjectsToScreenCoordinates=function(_,C){const L=new Pb.THREE.Vector3;L.setFromMatrixPosition(obj.matrixWorld);const M=width/2,O=height/2;return L.project(C),L.x=L.x*M+M,L.y=-(L.y*O)+O,L};const m=function(_){let C,L;if(_!==void 0){let M=!1;_.object.userData&&_.object.userData.isMarker?(M=!0,L=_.object.userData.parent.getMorph()):L=_.object;try{L.userData.userData.annotation.data.lastActionOnMarker=M}finally{}if(L)if(L.name)C=L.name;else{const O=t.getAnnotationsFromObjects([L]);O&&O[0]&&(C=O[0].data.group)}}return{id:C,object:L}},f=function(){return function(_,C,L){var M;const O=t.getIntersectedObject(_),I=m(O),R={worldCoords:[O?O.point.x:0,O?O.point.y:0,O?O.point.z:0],intersected:O,intersects:_},V={x:C,y:L};if(I.id){R.threeID=(M=I.object)==null?void 0:M.id,I.object.userData.isGlyph?I.object.name?t.setSelectedByObjects([I.object],V,R,!0):t.setSelectedByZincObjects(I.object.userData.getGlyphset(),V,R,!0):t.setSelectedByObjects([I.object],V,R,!0);return}else t.setSelectedByObjects([],V,R,!0)}},g=function(){return function(_,C,L){var M;const O=t.getIntersectedObject(_),I=m(O),R={worldCoords:[O?O.point.x:0,O?O.point.y:0,O?O.point.z:0]},V={x:C,y:L};if(I.id){R.threeID=(M=I.object)==null?void 0:M.id,t.displayArea.style.cursor="pointer",t.setHighlightedByObjects([I.object],V,R,!0);return}else t.displayArea.style.cursor="auto",t.setHighlightedByObjects([],V,R,!0)}},v=function(_,C,L,M){if(M=="all"||M=="geometries"){const O=_.findGeometriesWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}if(M=="all"||M=="glyphsets"){const O=_.findGlyphsetsWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}if(M=="all"||M=="pointsets"){const O=_.findPointsetsWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}if(M=="all"||M=="lines"){const O=_.findLinesWithGroupName(C);for(let I=0;I<O.length;I++)O[I].setVisibility(L)}};this.changeGeometriesVisibility=function(_,C){v(t.scene,_,C,"geometries")},this.changeGlyphsetsVisibility=function(_,C){v(t.scene,_,C,"glyphsets")},this.changeLinesVisibility=function(_,C){v(t.scene,_,C,"lines")},this.changePointsetsVisibility=function(_,C){v(t.scene,_,C,"pointsets")},this.changeOrganPartsVisibility=function(_,C,L){let M="all";L!==void 0&&(M=L),v(t.scene,_,C,M)},this.changeOrganPartsVisibilityCallback=function(_){return function(C){t.changeOrganPartsVisibility(_,C)}},this.changeBackgroundColour=function(_){const C=new Pb.THREE.Color(_);t.zincRenderer&&t.zincRenderer.getThreeJSRenderer().setClearColor(C,1)};const y=function(_,C,L,M){for(let R=0;R<i.length;R++)i[R](M,t.scene.isTimeVarying());const O=new ERo,I=M.region.getFullPath();O.data={species:t.sceneData.currentSpecies,system:_,part:C,group:M.groupName,region:I,uuid:M.uuid,lastActionOnMarker:!1},M.userData.annotation=O},T=function(_,C,L,M){for(let O=0;O<a.length;O++)a[O](M)},b=function(_,C,L){return function(M){y(_,C,L,M)}},x=function(_,C,L){return function(M){T(_,C,L,M)}},w=function(){return function(){t.settingsChanged(),t.sceneData.timeVarying=t.scene.isTimeVarying(),l&&l()}};this.updateFieldvisibility=function(_,C){for(let L=0;L<_.length;L++)if(C!=L){const M=_[L].PartName;t.changeOrganPartsVisibility(M,!1)}if(C>-1){const L=_[C].PartName;if(t.scene.findGeometriesWithGroupName(L).length>0||t.scene.findGlyphsetsWithGroupName(L).length>0)t.changeOrganPartsVisibility(L,!0);else{const M=getOrganDetails(_[C].SystemName,L);M!=null&&t.scene.loadMetadataURL(c.getOrgansDirectoryPrefix()+"/"+M.meta)}}},this.getAvailableSpecies=function(_,C,L){const M=new Array;M.push("none");const O=Object.keys(organsFileMap);for(index in O){const I=O[index];I!=_&&organsFileMap[I].hasOwnProperty(C)&&organsFileMap[I][C].hasOwnProperty(L)&&M.push(I)}return M},this.getCentreAndSize=function(){const _=new Pb.THREE.Vector3,C=this.scene.getBoundingBox();C.getCenter(_);const L=[_.x,_.y,_.z];C.getSize(_);const M=[_.x,_.y,_.z];return{centre:L,size:M}};const Q=function(_,C,L,M){t.sceneData.nerveMapIsActive=!1,t.sceneData.nerveMap=void 0,t.sceneData.metaURL="",t.sceneData.viewURL="",t.sceneData.currentSpecies=_,t.sceneData.currentSystem=C,t.sceneData.currentPart=L,t.sceneData.currentTime=0,t.sceneData.timeVarying=!1;let O="";_&&(O=_+"/"),C&&(O=C+"/"),L&&(O=L),t.sceneData.currentName=O};this.loadOrgansFromURL=function(_,C,L,M,O,I){if(t.zincRenderer&&M&&t.sceneData.metaURL!==_){Q(C,L,M);const R=t.sceneData.currentName;let V=t.zincRenderer.getSceneByName(R);V?I&&V.clearAll():V=t.zincRenderer.createScene(R),t.selectObjectOnPick=!0;for(let P=0;P<o.length;P++)o[P](t.sceneData);O&&O!=""?(t.sceneData.viewURL=O,V.loadViewURL(t.sceneData.viewURL)):t.sceneData.viewURL=void 0,t.sceneData.metaURL=_,V.addZincObjectAddedCallbacks(b(L,M,!1)),V.addZincObjectRemovedCallbacks(x(void 0,M,!1)),V.loadMetadataURL(_,void 0,w()),t.scene=V,t.zincRenderer.setCurrentScene(V),t.graphicsHighlight.reset();const D=V.getZincCameraControls();D.enableRaycaster(V,f(),g()),D.setMouseButtonAction("AUXILIARY","ZOOM"),D.setMouseButtonAction("SECONDARY","PAN")}},this.loadGLTFFromURL=function(_,C,L){if(t.zincRenderer&&C&&t.sceneData.metaURL!==_){Q(void 0,void 0,C);const M=t.sceneData.currentName;let O=t.zincRenderer.getSceneByName(M);O?L&&O.clearAll():O=t.zincRenderer.createScene(M);for(let R=0;R<o.length;R++)o[R](t.sceneData);t.sceneData.viewURL=void 0,t.sceneData.metaURL=_,O.addZincObjectAddedCallbacks(b(void 0,C,!1)),O.addZincObjectRemovedCallbacks(x(void 0,C,!1)),O.loadGLTF(_,void 0,w()),t.scene=O,t.zincRenderer.setCurrentScene(O),t.graphicsHighlight.reset();const I=O.getZincCameraControls();I.enableRaycaster(O,f(),g()),I.setMouseButtonAction("AUXILIARY","ZOOM"),I.setMouseButtonAction("SECONDARY","PAN")}},this.alignCameraWithSelectedObject=function(_){const C=t.graphicsHighlight.getSelected();C&&C[0]&&C[0].userData&&t.scene.alignObjectToCameraView(C[0].userData,_)},this.exportSettings=function(){const _={};return _.name=t.instanceName,t.sceneData.currentSystem&&(_.system=t.sceneData.currentSystem),t.sceneData.currentSpecies&&(_.species=t.sceneData.currentSpecies),t.sceneData.currentPart&&(_.part=t.sceneData.currentPart),_.metaURL=t.sceneData.metaURL,t.sceneData.viewURL&&(_.viewURL=t.sceneData.viewURL),_.dialog="Organ Viewer",_},this.importSettings=function(_){return _&&_.dialog==this.typeName?(t.setName(_.name),_.metaURL!==void 0&&_.metaURL!=""?t.loadOrgansFromURL(_.metaURL,_.species,_.system,_.part,_.viewURL,!0):t.loadOrgans(_.species,_.system,_.part),!0):!1},function(){t.initialiseRenderer(void 0),t.zincRenderer&&(t.zincRenderer.addPreRenderCallbackFunction(h()),t.zincRenderer.addPostRenderCallbackFunction(p()))}()};yVt.prototype=Object.create(Wl.prototype);var Os=function(){return Os=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Os.apply(this,arguments)};function ARo(e,t,n,r){function o(i){return i instanceof n?i:new n(function(a){a(i)})}return new(n||(n=Promise))(function(i,a){function l(d){try{u(r.next(d))}catch(h){a(h)}}function c(d){try{u(r.throw(d))}catch(h){a(h)}}function u(d){d.done?i(d.value):o(d.value).then(l,c)}u((r=r.apply(e,[])).next())})}function ORo(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(u){return function(d){return c([u,d])}}function c(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(i=u[0]&2?o.return:u[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,u[1])).done)return i;switch(o=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){n.label=u[1];break}if(u[0]===6&&n.label<i[1]){n.label=i[1],i=u;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(u);break}i[2]&&n.ops.pop(),n.trys.pop();continue}u=t.call(e,n)}catch(d){u=[6,d],o=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function _i(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function uc(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,i=[],a;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(l){a={error:l}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}var PRo="ENTRIES",vVt="KEYS",TVt="VALUES",id="",BEe=function(){function e(t,n){var r=t._tree,o=Array.from(r.keys());this.set=t,this._type=n,this._path=o.length>0?[{node:r,keys:o}]:[]}return e.prototype.next=function(){var t=this.dive();return this.backtrack(),t},e.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var t=aI(this._path),n=t.node,r=t.keys;if(aI(r)===id)return{done:!1,value:this.result()};var o=n.get(aI(r));return this._path.push({node:o,keys:Array.from(o.keys())}),this.dive()},e.prototype.backtrack=function(){if(this._path.length!==0){var t=aI(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}},e.prototype.key=function(){return this.set._prefix+this._path.map(function(t){var n=t.keys;return aI(n)}).filter(function(t){return t!==id}).join("")},e.prototype.value=function(){return aI(this._path).node.get(id)},e.prototype.result=function(){switch(this._type){case TVt:return this.value();case vVt:return this.key();default:return[this.key(),this.value()]}},e.prototype[Symbol.iterator]=function(){return this},e}(),aI=function(e){return e[e.length-1]},IRo=function(e,t,n){var r=new Map;if(t===void 0)return r;for(var o=t.length+1,i=o+n,a=new Uint8Array(i*o).fill(n+1),l=0;l<o;++l)a[l]=l;for(var c=1;c<i;++c)a[c*o]=c;return bVt(e,t,n,r,a,1,o,""),r},bVt=function(e,t,n,r,o,i,a,l){var c,u,d=i*a;try{e:for(var h=_i(e.keys()),p=h.next();!p.done;p=h.next()){var m=p.value;if(m===id){var f=o[d-1];f<=n&&r.set(l,[e.get(m),f])}else{for(var g=i,v=0;v<m.length;++v,++g){for(var y=m[v],T=a*g,b=T-a,x=o[T],w=Math.max(0,g-n-1),Q=Math.min(a-1,g+n),_=w;_<Q;++_){var C=y!==t[_],L=o[b+_]+ +C,M=o[b+_+1]+1,O=o[T+_]+1,I=o[T+_+1]=Math.min(L,M,O);I<x&&(x=I)}if(x>n)continue e}bVt(e.get(m),t,n,r,o,g,a,l+m)}}}catch(R){c={error:R}}finally{try{p&&!p.done&&(u=h.return)&&u.call(h)}finally{if(c)throw c.error}}},HEe=function(){function e(t,n){t===void 0&&(t=new Map),n===void 0&&(n=""),this._size=void 0,this._tree=t,this._prefix=n}return e.prototype.atPrefix=function(t){var n,r;if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");var o=uc(k1e(this._tree,t.slice(this._prefix.length)),2),i=o[0],a=o[1];if(i===void 0){var l=uc(zEe(a),2),c=l[0],u=l[1];try{for(var d=_i(c.keys()),h=d.next();!h.done;h=d.next()){var p=h.value;if(p!==id&&p.startsWith(u)){var m=new Map;return m.set(p.slice(u.length),c.get(p)),new e(m,t)}}}catch(f){n={error:f}}finally{try{h&&!h.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}}return new e(i,t)},e.prototype.clear=function(){this._size=void 0,this._tree.clear()},e.prototype.delete=function(t){return this._size=void 0,NRo(this._tree,t)},e.prototype.entries=function(){return new BEe(this,PRo)},e.prototype.forEach=function(t){var n,r;try{for(var o=_i(this),i=o.next();!i.done;i=o.next()){var a=uc(i.value,2),l=a[0],c=a[1];t(l,c,this)}}catch(u){n={error:u}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.fuzzyGet=function(t,n){return IRo(this._tree,t,n)},e.prototype.get=function(t){var n=DEe(this._tree,t);return n!==void 0?n.get(id):void 0},e.prototype.has=function(t){var n=DEe(this._tree,t);return n!==void 0&&n.has(id)},e.prototype.keys=function(){return new BEe(this,vVt)},e.prototype.set=function(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;var r=FEe(this._tree,t);return r.set(id,n),this},Object.defineProperty(e.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var t=this.entries();!t.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),e.prototype.update=function(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;var r=FEe(this._tree,t);return r.set(id,n(r.get(id))),this},e.prototype.fetch=function(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;var r=FEe(this._tree,t),o=r.get(id);return o===void 0&&r.set(id,o=n()),o},e.prototype.values=function(){return new BEe(this,TVt)},e.prototype[Symbol.iterator]=function(){return this.entries()},e.from=function(t){var n,r,o=new e;try{for(var i=_i(t),a=i.next();!a.done;a=i.next()){var l=uc(a.value,2),c=l[0],u=l[1];o.set(c,u)}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return o},e.fromObject=function(t){return e.from(Object.entries(t))},e}(),k1e=function(e,t,n){var r,o;if(n===void 0&&(n=[]),t.length===0||e==null)return[e,n];try{for(var i=_i(e.keys()),a=i.next();!a.done;a=i.next()){var l=a.value;if(l!==id&&t.startsWith(l))return n.push([e,l]),k1e(e.get(l),t.slice(l.length),n)}}catch(c){r={error:c}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(r)throw r.error}}return n.push([e,t]),k1e(void 0,"",n)},DEe=function(e,t){var n,r;if(t.length===0||e==null)return e;try{for(var o=_i(e.keys()),i=o.next();!i.done;i=o.next()){var a=i.value;if(a!==id&&t.startsWith(a))return DEe(e.get(a),t.slice(a.length))}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},FEe=function(e,t){var n,r,o=t.length;e:for(var i=0;e&&i<o;){try{for(var a=(n=void 0,_i(e.keys())),l=a.next();!l.done;l=a.next()){var c=l.value;if(c!==id&&t[i]===c[0]){for(var u=Math.min(o-i,c.length),d=1;d<u&&t[i+d]===c[d];)++d;var h=e.get(c);if(d===c.length)e=h;else{var p=new Map;p.set(c.slice(d),h),e.set(t.slice(i,i+d),p),e.delete(c),e=p}i+=d;continue e}}}catch(f){n={error:f}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}var m=new Map;return e.set(t.slice(i),m),m}return e},NRo=function(e,t){var n=uc(k1e(e,t),2),r=n[0],o=n[1];if(r!==void 0){if(r.delete(id),r.size===0)xVt(o);else if(r.size===1){var i=uc(r.entries().next().value,2),a=i[0],l=i[1];wVt(o,a,l)}}},xVt=function(e){if(e.length!==0){var t=uc(zEe(e),2),n=t[0],r=t[1];if(n.delete(r),n.size===0)xVt(e.slice(0,-1));else if(n.size===1){var o=uc(n.entries().next().value,2),i=o[0],a=o[1];i!==id&&wVt(e.slice(0,-1),i,a)}}},wVt=function(e,t,n){if(e.length!==0){var r=uc(zEe(e),2),o=r[0],i=r[1];o.set(i+t,n),o.delete(i)}},zEe=function(e){return e[e.length-1]},NG,jEe="or",QVt="and",RRo="and_not",VRo=function(){function e(t){if((t==null?void 0:t.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');var n=t.autoVacuum==null||t.autoVacuum===!0?ZEe:t.autoVacuum;this._options=Os(Os(Os({},GEe),t),{autoVacuum:n,searchOptions:Os(Os({},_Vt),t.searchOptions||{}),autoSuggestOptions:Os(Os({},zRo),t.autoSuggestOptions||{})}),this._index=new HEe,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=qEe,this.addFields(this._options.fields)}return e.prototype.add=function(t){var n,r,o,i,a,l,c=this._options,u=c.extractField,d=c.tokenize,h=c.processTerm,p=c.fields,m=c.idField,f=u(t,m);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(m,'"'));if(this._idToShortId.has(f))throw new Error("MiniSearch: duplicate ID ".concat(f));var g=this.addDocumentId(f);this.saveStoredFields(g,t);try{for(var v=_i(p),y=v.next();!y.done;y=v.next()){var T=y.value,b=u(t,T);if(b!=null){var x=d(b.toString(),T),w=this._fieldIds[T],Q=new Set(x).size;this.addFieldLength(g,w,this._documentCount-1,Q);try{for(var _=(o=void 0,_i(x)),C=_.next();!C.done;C=_.next()){var L=C.value,M=h(L,T);if(Array.isArray(M))try{for(var O=(a=void 0,_i(M)),I=O.next();!I.done;I=O.next()){var R=I.value;this.addTerm(w,g,R)}}catch(V){a={error:V}}finally{try{I&&!I.done&&(l=O.return)&&l.call(O)}finally{if(a)throw a.error}}else M&&this.addTerm(w,g,M)}}catch(V){o={error:V}}finally{try{C&&!C.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}}}catch(V){n={error:V}}finally{try{y&&!y.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}},e.prototype.addAll=function(t){var n,r;try{for(var o=_i(t),i=o.next();!i.done;i=o.next()){var a=i.value;this.add(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.addAllAsync=function(t,n){var r=this;n===void 0&&(n={});var o=n.chunkSize,i=o===void 0?10:o,a={chunk:[],promise:Promise.resolve()},l=t.reduce(function(d,h,p){var m=d.chunk,f=d.promise;return m.push(h),(p+1)%i===0?{chunk:[],promise:f.then(function(){return new Promise(function(g){return setTimeout(g,0)})}).then(function(){return r.addAll(m)})}:{chunk:m,promise:f}},a),c=l.chunk,u=l.promise;return u.then(function(){return r.addAll(c)})},e.prototype.remove=function(t){var n,r,o,i,a,l,c=this._options,u=c.tokenize,d=c.processTerm,h=c.extractField,p=c.fields,m=c.idField,f=h(t,m);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(m,'"'));var g=this._idToShortId.get(f);if(g==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(f,": it is not in the index"));try{for(var v=_i(p),y=v.next();!y.done;y=v.next()){var T=y.value,b=h(t,T);if(b!=null){var x=u(b.toString(),T),w=this._fieldIds[T],Q=new Set(x).size;this.removeFieldLength(g,w,this._documentCount,Q);try{for(var _=(o=void 0,_i(x)),C=_.next();!C.done;C=_.next()){var L=C.value,M=d(L,T);if(Array.isArray(M))try{for(var O=(a=void 0,_i(M)),I=O.next();!I.done;I=O.next()){var R=I.value;this.removeTerm(w,g,R)}}catch(V){a={error:V}}finally{try{I&&!I.done&&(l=O.return)&&l.call(O)}finally{if(a)throw a.error}}else M&&this.removeTerm(w,g,M)}}catch(V){o={error:V}}finally{try{C&&!C.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}}}catch(V){n={error:V}}finally{try{y&&!y.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}this._storedFields.delete(g),this._documentIds.delete(g),this._idToShortId.delete(f),this._fieldLength.delete(g),this._documentCount-=1},e.prototype.removeAll=function(t){var n,r;if(t)try{for(var o=_i(t),i=o.next();!i.done;i=o.next()){var a=i.value;this.remove(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new HEe,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},e.prototype.discard=function(t){var n=this,r=this._idToShortId.get(t);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(t,": it is not in the index"));this._idToShortId.delete(t),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(o,i){n.removeFieldLength(r,i,n._documentCount,o)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},e.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var t=this._options.autoVacuum,n=t.minDirtFactor,r=t.minDirtCount,o=t.batchSize,i=t.batchWait;this.conditionalVacuum({batchSize:o,batchWait:i},{minDirtCount:r,minDirtFactor:n})}},e.prototype.discardAll=function(t){var n,r,o=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var i=_i(t),a=i.next();!a.done;a=i.next()){var l=a.value;this.discard(l)}}catch(c){n={error:c}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}finally{this._options.autoVacuum=o}this.maybeAutoVacuum()},e.prototype.replace=function(t){var n=this._options,r=n.idField,o=n.extractField,i=o(t,r);this.discard(i),this.add(t)},e.prototype.vacuum=function(t){return t===void 0&&(t={}),this.conditionalVacuum(t)},e.prototype.conditionalVacuum=function(t,n){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&n,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var o=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=qEe,r.performVacuuming(t,o)}),this._enqueuedVacuum)):this.vacuumConditionsMet(n)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)},e.prototype.performVacuuming=function(t,n){return ARo(this,void 0,void 0,function(){var r,o,i,a,l,c,u,d,h,p,m,f,g,v,y,T,b,x,w,Q,_,C,L,M,O;return ORo(this,function(I){switch(I.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(n))return[3,10];o=t.batchSize||WEe.batchSize,i=t.batchWait||WEe.batchWait,a=1,I.label=1;case 1:I.trys.push([1,7,8,9]),l=_i(this._index),c=l.next(),I.label=2;case 2:if(c.done)return[3,6];u=uc(c.value,2),d=u[0],h=u[1];try{for(p=(C=void 0,_i(h)),m=p.next();!m.done;m=p.next()){f=uc(m.value,2),g=f[0],v=f[1];try{for(y=(M=void 0,_i(v)),T=y.next();!T.done;T=y.next())b=uc(T.value,1),x=b[0],!this._documentIds.has(x)&&(v.size<=1?h.delete(g):v.delete(x))}catch(R){M={error:R}}finally{try{T&&!T.done&&(O=y.return)&&O.call(y)}finally{if(M)throw M.error}}}}catch(R){C={error:R}}finally{try{m&&!m.done&&(L=p.return)&&L.call(p)}finally{if(C)throw C.error}}return this._index.get(d).size===0&&this._index.delete(d),a%o!==0?[3,4]:[4,new Promise(function(R){return setTimeout(R,i)})];case 3:I.sent(),I.label=4;case 4:a+=1,I.label=5;case 5:return c=l.next(),[3,2];case 6:return[3,9];case 7:return w=I.sent(),Q={error:w},[3,9];case 8:try{c&&!c.done&&(_=l.return)&&_.call(l)}finally{if(Q)throw Q.error}return[7];case 9:this._dirtCount-=r,I.label=10;case 10:return[4,null];case 11:return I.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},e.prototype.vacuumConditionsMet=function(t){if(t==null)return!0;var n=t.minDirtCount,r=t.minDirtFactor;return n=n||ZEe.minDirtCount,r=r||ZEe.minDirtFactor,this.dirtCount>=n&&this.dirtFactor>=r},Object.defineProperty(e.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),e.prototype.has=function(t){return this._idToShortId.has(t)},e.prototype.getStoredFields=function(t){var n=this._idToShortId.get(t);if(n!=null)return this._storedFields.get(n)},e.prototype.search=function(t,n){var r,o;n===void 0&&(n={});var i=this.executeQuery(t,n),a=[];try{for(var l=_i(i),c=l.next();!c.done;c=l.next()){var u=uc(c.value,2),d=u[0],h=u[1],p=h.score,m=h.terms,f=h.match,g=m.length||1,v={id:this._documentIds.get(d),score:p*g,terms:Object.keys(f),queryTerms:m,match:f};Object.assign(v,this._storedFields.get(d)),(n.filter==null||n.filter(v))&&a.push(v)}}catch(y){r={error:y}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(r)throw r.error}}return t===e.wildcard&&n.boostDocument==null&&this._options.searchOptions.boostDocument==null||a.sort(kVt),a},e.prototype.autoSuggest=function(t,n){var r,o,i,a;n===void 0&&(n={}),n=Os(Os({},this._options.autoSuggestOptions),n);var l=new Map;try{for(var c=_i(this.search(t,n)),u=c.next();!u.done;u=c.next()){var d=u.value,h=d.score,p=d.terms,m=p.join(" "),f=l.get(m);f!=null?(f.score+=h,f.count+=1):l.set(m,{score:h,terms:p,count:1})}}catch(w){r={error:w}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(r)throw r.error}}var g=[];try{for(var v=_i(l),y=v.next();!y.done;y=v.next()){var T=uc(y.value,2),f=T[0],b=T[1],h=b.score,p=b.terms,x=b.count;g.push({suggestion:f,terms:p,score:h/x})}}catch(w){i={error:w}}finally{try{y&&!y.done&&(a=v.return)&&a.call(v)}finally{if(i)throw i.error}}return g.sort(kVt),g},Object.defineProperty(e.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),e.loadJSON=function(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),n)},e.getDefault=function(t){if(GEe.hasOwnProperty(t))return UEe(GEe,t);throw new Error('MiniSearch: unknown option "'.concat(t,'"'))},e.loadJS=function(t,n){var r,o,i,a,l,c,u=t.index,d=t.documentCount,h=t.nextId,p=t.documentIds,m=t.fieldIds,f=t.fieldLength,g=t.averageFieldLength,v=t.storedFields,y=t.dirtCount,T=t.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var b=new e(n);b._documentCount=d,b._nextId=h,b._documentIds=C1e(p),b._idToShortId=new Map,b._fieldIds=m,b._fieldLength=C1e(f),b._avgFieldLength=g,b._storedFields=C1e(v),b._dirtCount=y||0,b._index=new HEe;try{for(var x=_i(b._documentIds),w=x.next();!w.done;w=x.next()){var Q=uc(w.value,2),_=Q[0],C=Q[1];b._idToShortId.set(C,_)}}catch(z){r={error:z}}finally{try{w&&!w.done&&(o=x.return)&&o.call(x)}finally{if(r)throw r.error}}try{for(var L=_i(u),M=L.next();!M.done;M=L.next()){var O=uc(M.value,2),I=O[0],R=O[1],V=new Map;try{for(var D=(l=void 0,_i(Object.keys(R))),P=D.next();!P.done;P=D.next()){var H=P.value,F=R[H];T===1&&(F=F.ds),V.set(parseInt(H,10),C1e(F))}}catch(z){l={error:z}}finally{try{P&&!P.done&&(c=D.return)&&c.call(D)}finally{if(l)throw l.error}}b._index.set(I,V)}}catch(z){i={error:z}}finally{try{M&&!M.done&&(a=L.return)&&a.call(L)}finally{if(i)throw i.error}}return b},e.prototype.executeQuery=function(t,n){var r=this;if(n===void 0&&(n={}),t===e.wildcard)return this.executeWildcardQuery(n);if(typeof t!="string"){var o=Os(Os(Os({},n),t),{queries:void 0}),i=t.queries.map(function(v){return r.executeQuery(v,o)});return this.combineResults(i,o.combineWith)}var a=this._options,l=a.tokenize,c=a.processTerm,u=a.searchOptions,d=Os(Os({tokenize:l,processTerm:c},u),n),h=d.tokenize,p=d.processTerm,m=h(t).flatMap(function(v){return p(v)}).filter(function(v){return!!v}),f=m.map(FRo(d)),g=f.map(function(v){return r.executeQuerySpec(v,d)});return this.combineResults(g,d.combineWith)},e.prototype.executeQuerySpec=function(t,n){var r,o,i,a,l=Os(Os({},this._options.searchOptions),n),c=(l.fields||this._options.fields).reduce(function(H,F){var z;return Os(Os({},H),(z={},z[F]=UEe(l.boost,F)||1,z))},{}),u=l.boostDocument,d=l.weights,h=l.maxFuzzy,p=l.bm25,m=Os(Os({},_Vt.weights),d),f=m.fuzzy,g=m.prefix,v=this._index.get(t.term),y=this.termResults(t.term,t.term,1,v,c,u,p),T,b;if(t.prefix&&(T=this._index.atPrefix(t.term)),t.fuzzy){var x=t.fuzzy===!0?.2:t.fuzzy,w=x<1?Math.min(h,Math.round(t.term.length*x)):x;w&&(b=this._index.fuzzyGet(t.term,w))}if(T)try{for(var Q=_i(T),_=Q.next();!_.done;_=Q.next()){var C=uc(_.value,2),L=C[0],M=C[1],O=L.length-t.term.length;if(O){b==null||b.delete(L);var I=g*L.length/(L.length+.3*O);this.termResults(t.term,L,I,M,c,u,p,y)}}}catch(H){r={error:H}}finally{try{_&&!_.done&&(o=Q.return)&&o.call(Q)}finally{if(r)throw r.error}}if(b)try{for(var R=_i(b.keys()),V=R.next();!V.done;V=R.next()){var L=V.value,D=uc(b.get(L),2),P=D[0],O=D[1];if(O){var I=f*L.length/(L.length+O);this.termResults(t.term,L,I,P,c,u,p,y)}}}catch(H){i={error:H}}finally{try{V&&!V.done&&(a=R.return)&&a.call(R)}finally{if(i)throw i.error}}return y},e.prototype.executeWildcardQuery=function(t){var n,r,o=new Map,i=Os(Os({},this._options.searchOptions),t);try{for(var a=_i(this._documentIds),l=a.next();!l.done;l=a.next()){var c=uc(l.value,2),u=c[0],d=c[1],h=i.boostDocument?i.boostDocument(d,"",this._storedFields.get(u)):1;o.set(u,{score:h,terms:[],match:{}})}}catch(p){n={error:p}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return o},e.prototype.combineResults=function(t,n){if(n===void 0&&(n=jEe),t.length===0)return new Map;var r=n.toLowerCase();return t.reduce(BRo[r])||new Map},e.prototype.toJSON=function(){var t,n,r,o,i=[];try{for(var a=_i(this._index),l=a.next();!l.done;l=a.next()){var c=uc(l.value,2),u=c[0],d=c[1],h={};try{for(var p=(r=void 0,_i(d)),m=p.next();!m.done;m=p.next()){var f=uc(m.value,2),g=f[0],v=f[1];h[g]=Object.fromEntries(v)}}catch(y){r={error:y}}finally{try{m&&!m.done&&(o=p.return)&&o.call(p)}finally{if(r)throw r.error}}i.push([u,h])}}catch(y){t={error:y}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:i,serializationVersion:2}},e.prototype.termResults=function(t,n,r,o,i,a,l,c){var u,d,h,p,m;if(c===void 0&&(c=new Map),o==null)return c;try{for(var f=_i(Object.keys(i)),g=f.next();!g.done;g=f.next()){var v=g.value,y=i[v],T=this._fieldIds[v],b=o.get(T);if(b!=null){var x=b.size,w=this._avgFieldLength[T];try{for(var Q=(h=void 0,_i(b.keys())),_=Q.next();!_.done;_=Q.next()){var C=_.value;if(!this._documentIds.has(C)){this.removeTerm(T,C,n),x-=1;continue}var L=a?a(this._documentIds.get(C),n,this._storedFields.get(C)):1;if(L){var M=b.get(C),O=this._fieldLength.get(C)[T],I=DRo(M,x,this._documentCount,O,w,l),R=r*y*L*I,V=c.get(C);if(V){V.score+=R,jRo(V.terms,t);var D=UEe(V.match,n);D?D.push(v):V.match[n]=[v]}else c.set(C,{score:R,terms:[t],match:(m={},m[n]=[v],m)})}}}catch(P){h={error:P}}finally{try{_&&!_.done&&(p=Q.return)&&p.call(Q)}finally{if(h)throw h.error}}}}}catch(P){u={error:P}}finally{try{g&&!g.done&&(d=f.return)&&d.call(f)}finally{if(u)throw u.error}}return c},e.prototype.addTerm=function(t,n,r){var o=this._index.fetch(r,CVt),i=o.get(t);if(i==null)i=new Map,i.set(n,1),o.set(t,i);else{var a=i.get(n);i.set(n,(a||0)+1)}},e.prototype.removeTerm=function(t,n,r){if(!this._index.has(r)){this.warnDocumentChanged(n,t,r);return}var o=this._index.fetch(r,CVt),i=o.get(t);i==null||i.get(n)==null?this.warnDocumentChanged(n,t,r):i.get(n)<=1?i.size<=1?o.delete(t):i.delete(n):i.set(n,i.get(n)-1),this._index.get(r).size===0&&this._index.delete(r)},e.prototype.warnDocumentChanged=function(t,n,r){var o,i;try{for(var a=_i(Object.keys(this._fieldIds)),l=a.next();!l.done;l=a.next()){var c=l.value;if(this._fieldIds[c]===n){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(t),' has changed before removal: term "').concat(r,'" was not present in field "').concat(c,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){o={error:u}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},e.prototype.addDocumentId=function(t){var n=this._nextId;return this._idToShortId.set(t,n),this._documentIds.set(n,t),this._documentCount+=1,this._nextId+=1,n},e.prototype.addFields=function(t){for(var n=0;n<t.length;n++)this._fieldIds[t[n]]=n},e.prototype.addFieldLength=function(t,n,r,o){var i=this._fieldLength.get(t);i==null&&this._fieldLength.set(t,i=[]),i[n]=o;var a=this._avgFieldLength[n]||0,l=a*r+o;this._avgFieldLength[n]=l/(r+1)},e.prototype.removeFieldLength=function(t,n,r,o){if(r===1){this._avgFieldLength[n]=0;return}var i=this._avgFieldLength[n]*r-o;this._avgFieldLength[n]=i/(r-1)},e.prototype.saveStoredFields=function(t,n){var r,o,i=this._options,a=i.storeFields,l=i.extractField;if(!(a==null||a.length===0)){var c=this._storedFields.get(t);c==null&&this._storedFields.set(t,c={});try{for(var u=_i(a),d=u.next();!d.done;d=u.next()){var h=d.value,p=l(n,h);p!==void 0&&(c[h]=p)}}catch(m){r={error:m}}finally{try{d&&!d.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}}},e.wildcard=Symbol("*"),e}(),UEe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0},BRo=(NG={},NG[jEe]=function(e,t){var n,r;try{for(var o=_i(t.keys()),i=o.next();!i.done;i=o.next()){var a=i.value,l=e.get(a);if(l==null)e.set(a,t.get(a));else{var c=t.get(a),u=c.score,d=c.terms,h=c.match;l.score=l.score+u,l.match=Object.assign(l.match,h),SVt(l.terms,d)}}}catch(p){n={error:p}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return e},NG[QVt]=function(e,t){var n,r,o=new Map;try{for(var i=_i(t.keys()),a=i.next();!a.done;a=i.next()){var l=a.value,c=e.get(l);if(c!=null){var u=t.get(l),d=u.score,h=u.terms,p=u.match;SVt(c.terms,h),o.set(l,{score:c.score+d,terms:c.terms,match:Object.assign(c.match,p)})}}}catch(m){n={error:m}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return o},NG[RRo]=function(e,t){var n,r;try{for(var o=_i(t.keys()),i=o.next();!i.done;i=o.next()){var a=i.value;e.delete(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return e},NG),HRo={k:1.2,b:.7,d:.5},DRo=function(e,t,n,r,o,i){var a=i.k,l=i.b,c=i.d,u=Math.log(1+(n-t+.5)/(t+.5));return u*(c+e*(a+1)/(e+a*(1-l+l*r/o)))},FRo=function(e){return function(t,n,r){var o=typeof e.fuzzy=="function"?e.fuzzy(t,n,r):e.fuzzy||!1,i=typeof e.prefix=="function"?e.prefix(t,n,r):e.prefix===!0;return{term:t,fuzzy:o,prefix:i}}},GEe={idField:"id",extractField:function(e,t){return e[t]},tokenize:function(e){return e.split(URo)},processTerm:function(e){return e.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(e,t){typeof(console==null?void 0:console[e])=="function"&&console[e](t)},autoVacuum:!0},_Vt={combineWith:jEe,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:HRo},zRo={combineWith:QVt,prefix:function(e,t,n){return t===n.length-1}},WEe={batchSize:1e3,batchWait:10},qEe={minDirtFactor:.1,minDirtCount:20},ZEe=Os(Os({},WEe),qEe),jRo=function(e,t){e.includes(t)||e.push(t)},SVt=function(e,t){var n,r;try{for(var o=_i(t),i=o.next();!i.done;i=o.next()){var a=i.value;e.includes(a)||e.push(a)}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},kVt=function(e,t){var n=e.score,r=t.score;return r-n},CVt=function(){return new Map},C1e=function(e){var t,n,r=new Map;try{for(var o=_i(Object.keys(e)),i=o.next();!i.done;i=o.next()){var a=i.value;r.set(parseInt(a,10),e[a])}}catch(l){t={error:l}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}return r},URo=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;class GRo{constructor(){this._searchEngine=new VRo({fields:["path","name"],storeFields:["path"],tokenize:(t,n)=>t.split(/[\s/]+/)}),this.idMaps={}}addZincObject(t,n){const r=t.getRegion().getFullPath();let o=t.groupName,i=r?`${r}/${t.groupName}`:t.groupName;o=o.replaceAll('"',""),i=i.replaceAll('"',"");const a={path:i,name:o,id:n};this._searchEngine.add(a),this.idMaps[n]={path:i,zincObject:t}}removeZincObject(t,n){const r=t.getRegion().getFullPath();let o=t.groupName,i=r?`${r}/${t.groupName}`:t.groupName;o=o.replaceAll('"',""),i=i.replaceAll('"',"");const a={path:i,name:o,id:n};this._searchEngine.remove(a),delete this.idMaps[n]}addRegion(t,n){let r=t.getFullPath(),o=t.getName();r=r.replaceAll('"',""),o=o.replaceAll('"',"");const i={path:r,name:o,id:n};this._searchEngine.add(i),this.idMaps[n]={path:r,zincObject:t}}clearResults(){this._}removeAll(){this._searchEngine.removeAll(),this.idMaps={}}auto_suggest(t){let n=[];t.length>2&&["'",'"'].includes(t.slice(0,1))?(t=t.replaceAll(t.slice(0,1),""),n=this._searchEngine.search(t,{prefix:!0,combineWith:"AND"})):t.length>1&&(n=this._searchEngine.search(t,{prefix:!0}));const r=[];n.forEach(a=>{a.id in this.idMaps&&r.push(this.idMaps[a.id].path)});const o=[...new Set(r)],i=[];return o.forEach(a=>i.push({suggestion:'"'+a+'"'})),i}processResults(t,n){const r={regionPath:void 0,label:'Search Results for "'};return Array.isArray(n)?r.label+=",".join(n):r.label+=n,r.label+='"',t.length===1&&(t[0].isRegion?r.regionPath=t[0].getFullPath():t[0].isZincObject&&(r.regionPath=t[0].getRegion().getFullPath(),r.label=t[0].groupName)),r.zincObjects=jNo(t),r}search(t){let n;t.length>2&&["'",'"'].includes(t.slice(0,1))?(t=t.replaceAll(t.slice(0,1),""),n=this._searchEngine.search(t,{prefix:!0,combineWith:"AND"})):t.length>1&&(n=this._searchEngine.search(t,{prefix:!0}));const r=[];return n.forEach(o=>{o.id in this.idMaps&&r.push(this.idMaps[o.id].zincObject)}),r}searchTerms(t){let n=[];return t.forEach(r=>{const o=this.search(r);n.push(...o)}),n}searchAndProcessResult(t){let n=[];return Array.isArray(t)?n=this.searchTerms(t):n=this.search(t),this.processResults(n,t)}}const WRo={name:"ScaffoldVuer",components:{Button:hP,Col:H4,Loading:_Co,Option:fP,Popover:Uce,Row:Nm,Select:pP,Slider:D2,TabPane:pOt,Tabs:hOt,MapSvgIcon:QR,MapSvgSpriteColor:nX,PrimitiveControls:iVt,ScaffoldTooltip:mVt,ElIconWarningFilled:MMt,ElIconArrowDown:Ske,ElIconArrowLeft:$T,DrawToolbar:XFe,ScaffoldTreeControls:aVt},setup(e){let t=s.inject("$annotator");return t||(t=s.markRaw(new QRo(`${e.flatmapAPI}annotator`)),s.provide("$annotator",t)),{annotator:t}},props:{annotationSidebar:{type:Boolean,default:!1},url:{type:String,default:""},showColourPicker:{type:Boolean,default:!1},displayUI:{type:Boolean,default:!0},displayAtStartUp:{type:Boolean,default:!0},helpMode:{type:Boolean,default:!1},helpModeActiveItem:{type:Number,default:0},helpModeDialog:{type:Boolean,default:!1},helpModeLastItem:{type:Boolean,default:!1},helpModeInitialIndex:{type:Number,default:0},displayWarning:{type:Boolean,default:!0},warningMessage:{type:String,default:"Beta feature - under active development"},displayLatestChanges:{type:Boolean,default:!1},latestChangesMessage:{type:String,default:"New feature - Local search is now available"},displayMarkers:{type:Boolean,default:!1},markerCluster:{type:Boolean,default:!1},markerLabels:{type:Object,default:function(){return{}}},displayMinimap:{type:Boolean,default:!1},format:{type:String,default:"metadata"},minimapSettings:{type:Object,default:function(){return{x_offset:16,y_offset:16,width:128,height:128,align:"top-right"}}},enableOpenMapUI:{type:Boolean,default:!1},openMapOptions:{type:Array,default:function(){return[{display:"Open AC Map",key:"AC"},{display:"Open FC Map",key:"FC"},{display:"Open 3D Human Map",key:"3D"}]}},state:{type:Object,default:void 0},region:{type:String,default:""},viewURL:{type:String,default:""},render:{type:Boolean,default:!0},flatmapAPI:{type:String,default:"https://mapcore-demo.org/current/flatmap/v3/"},enableLocalAnnotations:{type:Boolean,default:!1}},provide(){return{flatmapAPI:this.flatmapAPI,scaffoldUrl:this.url,boundingDims:this.boundingDims}},data:function(){return{annotator:void 0,createData:{drawingBox:!1,toBeConfirmed:!1,points:[],shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1},currentTime:0,timeVarying:!1,isPlaying:!1,isReady:!1,isTransitioning:!1,tooltipAppendToBody:!1,hoverVisibilities:[{value:!1,ref:"zoomInPopover"},{value:!1,ref:"zoomOutPopover"},{value:!1,ref:"zoomFitPopover"},{value:!1,ref:"openMapPopover"},{value:!1,ref:"settingsPopover"},{value:!1,ref:"sliderPopover"},{value:!1,ref:"regionVisibilityPopover"},{value:!1,ref:"warningPopover"},{value:!1,ref:"whatsNewPopover"},{value:!1,refs:"toolbarPopover",ref:"editPopover"},{value:!1,refs:"toolbarPopover",ref:"pointPopover"},{value:!1,refs:"toolbarPopover",ref:"lineStringPopover"},{value:!1,refs:"toolbarPopover",ref:"deletePopover"}],inHelp:!1,helpModeActiveIndex:this.helpModeInitialIndex,loading:!1,duration:3e3,drawerOpen:!0,currentBackground:"white",availableBackground:["white","lightskyblue","black"],minimisedSlider:!1,sliderPosition:"",timeMax:100,orginalDuration:"",animateDuration:"6secs",playSpeed:[{value:.1,label:"0.1x"},{value:.5,label:"0.5x"},{value:1,label:"1x"},{value:2,label:"2x"},{value:5,label:"5x"},{value:10,label:"10x"}],currentSpeed:1,timeStamps:{},defaultCheckedKeys:[],tData:{label:"",region:"",visible:!1,x:200,y:200,active:!1},fileFormat:"metadata",previousMarkerLabels:s.markRaw({}),viewingMode:"Exploration",viewingModes:{Exploration:"View and explore detailed visualization of 3D scaffolds",Annotation:"View internal identifiers of features"},openMapRef:void 0,backgroundIconRef:void 0,userInformation:void 0,toolbarOptions:["Delete","Edit","Point","LineString"],activeDrawTool:void 0,activeDrawMode:void 0,localAnnotationsList:s.markRaw([]),boundingDims:{centre:[0,0,0],size:[1,1,1]},lastSelected:s.markRaw({region:"",group:"",isSearch:!1})}},watch:{format:{handler:function(e){this.fileFormat=e},immediate:!0},url:{handler:function(e){(this.state===void 0||this.state.url===void 0)&&this.setURL(e)},immediate:!0},region:{handler:function(e){this.state||this.viewURL||this.setFocusedRegion(e)},immediate:!0},state:{handler:function(e){this.setState(e)},immediate:!0,deep:!0},viewURL:{handler:function(e){this.updateViewURL(e)},immediate:!0},helpMode:function(e,t){e!==t&&this.setHelpMode(e)},helpModeActiveItem:function(){this.helpMode&&(this.helpModeActiveIndex+=1,this.setHelpMode(this.helpMode))},displayMarkers:function(e){this.$module.scene.displayMarkers=e,this.$module.scene.forcePickableObjectsUpdate=!0},displayMinimap:function(e){this.$module.scene.displayMinimap=e},currentTime:{handler:function(){this.$emit("timeChanged",this.currentTime)}},duration:function(){this.$module.scene.setDuration(this.duration)},minimapSettings:{deep:!0,handler:"updateMinimapScissor"},render:function(e){this.toggleRendering(e)},markerCluster:{handler:function(e){this.$module.scene.enableMarkerCluster(e)},immediate:!0},markerLabels:function(e){for(const[t,n]of Object.entries(this.previousMarkerLabels))this.setMarkerModeForObjectsWithName(t,n,"off");for(const[t,n]of Object.entries(e))this.setMarkerModeForObjectsWithName(t,n,"on");this.previousMarkerLabels=s.markRaw({...e})},annotationDisplay:function(e){if(this.annotationSidebar)if(e){const t={featureId:(this.tData.region?this.tData.region+"/":"")+this.tData.label,resourceId:this.url,resource:this.url};this.$emit("annotation-open",{annotationEntry:t,commitCallback:this.commitAnnotationEvent})}else(!this.createData.toBeConfirmed||!this.createData.toBeDeleted)&&this.$emit("annotation-close")}},beforeCreate:function(){this.$module=new yVt,this.selectedObjects=[],this.hoveredObjects=[],this.currentBackground="white",this._currentURL=void 0,this.availableBackground=["white","black","lightskyblue"],this.$_searchIndex=new GRo},mounted:function(){this.openMapRef=s.shallowRef(this.$refs.openMapRef),this.backgroundIconRef=s.shallowRef(this.$refs.backgroundIconRef),this.$refs.scaffoldTreeControls.setModule(this.$module);let e=new kRo;e.subscribe(this,this.eventNotifierCallback),this.$module.addNotifier(e),this.$module.addOrganPartAddedCallback(this.zincObjectAdded),this.$module.addOrganPartRemovedCallback(this.zincObjectRemoved),this.$module.initialiseRenderer(this.$refs.display),this.toggleRendering(this.render),this.ro=new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer),this.helpTextWait=[],this.helpTextWait.length=this.hoverVisibilities.length,this.defaultRate=this.$module.getPlayRate(),this.$module.zincRenderer.addPreRenderCallbackFunction(()=>{this.currentTime=this.$module.getCurrentTime()})},beforeUnmount:function(){this.ro&&this.ro.disconnect(),this.$module.destroy(),this.$module=void 0},computed:{...pVt(fVt,["userToken"]),annotationDisplay:function(){return this.viewingMode==="Annotation"&&this.tData.active===!0&&this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"}},methods:{addZincObject:function(e){this.$module.scene&&this.$module.scene.addZincObject(e)},zincObjectAdded:function(e){this.loading=!1,this.$_searchIndex.addZincObject(e,e.uuid),this.timeVarying===!1&&e.isTimeVarying()&&(this.timeVarying=!0),this.$emit("zinc-object-added",e)},removeFromLocalAnnotationList:function(e,t){for(let n=0;n<this.localAnnotationsList.length;n++){const r=this.localAnnotationsList[n];if(r.region===e&&r.group===t){this.localAnnotationsList.splice(n,1);return}}},zincObjectRemoved:function(e){if(this.$module.scene){const t=e.region.getFullPath(),n=e.groupName;e.region.findObjectsWithGroupName(n,!1).length===0&&(this.$_searchIndex.removeZincObject(e,e.uuid),this.removeFromLocalAnnotationList(t,n))}},addRegionsToSearchIndex:function(){this.$module.scene.getRootRegion().getChildRegions(!0).forEach(e=>{this.$_searchIndex.addRegion(e,e.uuid)})},backgroundChangeCallback:function(e){this.currentBackground=e,this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground,1)},captureScreenshotCallback:function(){this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);let e=this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL("image/png"),t=document.createElement("a");document.body.append(t),this.captureFilename?t.download=this.captureFilename:t.download="screenshot.png",t.href=e,t.click(),t.remove()},captureScreenshot:function(e){this.captureFilename=e,this.captureID=this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback)},clearScene:function(){this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.$_searchIndex&&this.$_searchIndex.removeAll(),this.$module.scene&&this.$module.scene.clearAll()},addAndEditAnnotations:function(e,t,n,r){const o=JRt(this.annotator,this.userToken,n,e,t,this.url,r);if(this.enableLocalAnnotations){o.group=t;let i=e;i.slice(-1)==="/"&&(i=i.slice(0,-1)),o.region=i,this.removeFromLocalAnnotationList(i,t),this.localAnnotationsList.push(o)}this.$emit("userPrimitivesUpdated",{region:e,group:t,zincObject:n})},primitivesUpdated:function(e){if(e.isZincObject&&e.isEditable){const t=e.groupName,n=e.region.getFullPath();this.addAndEditAnnotations(n,t,e,"Position Updated")}},confirmCreate:function(e){if(e){let t;if(e.shape==="Point")t=this.$module.scene.createPoints(e.region,e.group,this.createData.points,e.group,8942);else if(e.shape==="LineString")t=this.$module.scene.createLines(e.region,e.group,[this.createData.points[0],this.createData.points[1]],60962);else if(e.editingIndex>-1&&this._editingZincObject){this._editingZincObject.editVertices([this.createData.points[1]],e.editingIndex);const n=this._editingZincObject.region.getFullPath()+"/",r=this._editingZincObject.groupName;this.addAndEditAnnotations(n,r,this._editingZincObject,"Position Updated")}t&&(this.addAndEditAnnotations(e.region,e.group,t.zincObject,"Create"),t.zincObject.isEditable=!0,this.tData.region=e.region,this.tData.label=e.group,this.changeActiveByName([e.group],e.region,!1))}this.cancelCreate()},cancelCreate:function(){this.createData.points.length=0,this.createData.toBeConfirmed=!1,this._editingZincObject=void 0,this.createData.editingIndex=-1,this.createData.faceIndex=-1,this.tData.visible=!1,this.createData.toBeDeleted=!1,this._tempLine&&(this.$module.scene.removeTemporaryPrimitive(this._tempLine),this._tempLine=void 0),this._tempPoint&&(this.$module.scene.removeTemporaryPrimitive(this._tempPoint),this._tempPoint=void 0),this.annotationSidebar&&this.$emit("annotation-close")},confirmDelete:function(){var e;if((e=this._editingZincObject)!=null&&e.isEditable){const t=this._editingZincObject.region.getFullPath()+"/",n=this._editingZincObject.groupName;JRt(this.annotator,this.userToken,this._editingZincObject,t,n,this.url,"Deleted")&&this.$module.scene.getRootRegion().findChildFromPath(t).removeZincObject(this._editingZincObject)}this.cancelCreate()},onTooltipHide:function(){this.createData.toBeConfirmed&&!this.annotationSidebar&&this.cancelCreate()},formatTooltip(e){if(this.timeMax>=1e3&&e){let t=(e%6e4/1e3).toFixed(2)+"s";return(e>6e4?(e/6e4).toFixed(0)+"m ":"")+t}return e?e.toFixed(2)+" ms":"0 ms"},fitWindow:function(){if(this.$module.scene){let e=!1;this._boundingBoxGeo&&(e=this._boundingBoxGeo.getVisibility(),this._boundingBoxGeo.setVisibility(!1)),this.$module.scene.viewAll(),this._boundingBoxGeo&&(FNo(this._boundingBoxGeo,this.$module.scene),this._boundingBoxGeo.setVisibility(e))}},zoomIn:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(-1)},zoomOut:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(1)},speedChanged:function(e){this.currentSpeed=e,this.$module.setPlayRate(this.defaultRate*this.currentSpeed)},stopFreeSpin:function(){this.$module.scene.getZincCameraControls().stopAutoTumble(),this.isTransitioning=!1},findObjectsWithGroupName:function(e){let t=[];return e&&e!=""&&this.$module.scene&&(t=this.$module.scene.findObjectsWithGroupName(e)),t},toggleDrawing:function(e,t){this.createData.toBeDeleted=!1,e==="mode"?(this.cancelCreate(),this.activeDrawMode=t,this.createData.shape="",this.$module.selectObjectOnPick=!0):e==="tool"&&(this.activeDrawTool=t,this.createData.shape=this.activeDrawTool?this.activeDrawTool:"",this.$module.selectObjectOnPick=!1)},toggleDrawingBox:function(){this.createData.drawingBox=!this.createData.drawingBox},viewRegion:function(e){const t=this.$module.scene.getRootRegion(),n=Array.isArray(e)?e:[e],r=oI(t,n,"",!0);let o=this.$module.scene.getBoundingBoxOfZincObjects(r);if(o){if(this.$module.isSyncControl())this.$module.setSyncControlZoomToBox(o);else{const i=this.$module.scene.camera.far-this.$module.scene.camera.near;this.$module.scene.viewAllWithBoundingBox(o),this.$module.scene.camera.far=this.$module.scene.camera.near+i,this.$module.scene.camera.updateProjectionMatrix()}return!0}return!1},setFocusedRegion:function(e){e&&(this.isReady?this.viewRegion(e):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({region:e})))},updateViewURL:function(e){if(e)if(this.isReady){const t=new URL(e,this.url);this.$module.scene.loadViewURL(t)}else this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewURL:e}))},createEditTemporaryLines:function(e){const t=e[0].extraData.worldCoords;if(t&&(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.createData.points.length===1)if(this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this._tempLine){const n=this._tempLine.geometry.getAttribute("position");n.setXYZ(1,t[0],t[1],t[2]),n.needsUpdate=!0}else this._tempLine=this.$module.scene.addTemporaryLines([this.createData.points[0],t],65535)},draw:function(e){e&&e.length>0&&e[0].data.group&&e[0].extraData.worldCoords&&(this.createData.shape==="Point"?this.drawPoint(e[0].extraData.worldCoords,e):(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.drawLine(e[0].extraData.worldCoords,e))},drawPoint:function(e,t){this.createData.toBeConfirmed===!1&&(this.createData.points.length=0,this.createData.points.push(e),this.createData.toBeConfirmed=!0,this.showRegionTooltipWithAnnotations(t,!0,!1),this.tData.x=50,this.tData.y=200,this._tempPoint=this.$module.scene.addTemporaryPoints([e],16776960))},drawLine:function(e,t){this.createData.toBeConfirmed===!1&&(this.createData.points.length===1?(this.createData.points.push(e),this.createData.toBeConfirmed=!0,this.showRegionTooltipWithAnnotations(t,!0,!1),this.tData.x=50,this.tData.y=200):(this._tempPoint=this.$module.scene.addTemporaryPoints([e],16776960),this.createData.points.push(e)))},getRendererInfo:function(){if(this.$module.zincRenderer)return this.$module.zincRenderer.getThreeJSRenderer().info},freeSpin:function(){if(this.$module.scene){let e=this.$module.scene.getZincCameraControls();this.isTransitioning=!0,e.enableAutoTumble(),e.autoTumble([1,0],Math.PI,!0),setTimeout(this.stopFreeSpin,4e3)}},activateAnnotationMode:function(e,t){if(this.userInformation||this.enableLocalAnnotations)if(this.createData.toBeDeleted=!1,this.createData.shape!==""||this.createData.editingIndex>-1)e.length>0&&t.identifiers[0].coords&&(this.createData.x=t.identifiers[0].coords.x,this.createData.y=t.identifiers[0].coords.y,this.draw(t.identifiers));else{if(this.activeDrawMode==="Edit"){const n=BNo(t);n&&this.activateEditingMode(n.zincObject,n.faceIndex,n.vertexIndex,n.point)}else if(this.activeDrawMode==="Delete"){const n=HNo(t);n&&(this.createData.toBeDeleted=!0,this._editingZincObject=n)}this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"?this.showRegionTooltipWithAnnotations(t.identifiers,!0,!1):this.showRegionTooltipWithAnnotations(t.identifiers,!0,!0)}else this.showRegionTooltipWithAnnotations(t.identifiers,!0,!0)},activateEditingMode:function(e,t,n,r){this._editingZincObject=e,this.createData.faceIndex=t,this.createData.editingIndex=n,this.drawLine(r,void 0)},eventNotifierCallback:function(e){if(!(this.createData.toBeConfirmed||this.createData.toBeDeleted)){const t=[];let n=[];(e.eventType==1||e.eventType==2)&&(e.identifiers.forEach(i=>{if(i){let a=i.data.id?i.data.id:i.data.group;t.push(a)}}),n=e.zincObjects);let r,o;if(e.identifiers.length>0&&e.identifiers[0]&&(r=e.identifiers[0].data.id?e.identifiers[0].data.id:e.identifiers[0].data.group,e.identifiers[0].data.region&&(o=e.identifiers[0].data.region)),e.eventType==1)this.viewingMode==="Annotation"?(this.tData.label=r,this.tData.region=o,this.activateAnnotationMode(t,e)):(this.$refs.scaffoldTreeControls&&(t.length>0?(this.$refs.scaffoldTreeControls.updateActiveUI(n),this.updatePrimitiveControls(n)):(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls.removeActive(!1))),e.identifiers.length===1?(this.lastSelected.isSearch=!1,this.lastSelected.region=o,this.lastSelected.group=e.identifiers[0].data.group):e.identifiers.length===0&&(this.lastSelected.isSearch=!1,this.lastSelected.region="",this.lastSelected.group=""),this.$emit("scaffold-selected",e.identifiers));else if(e.eventType==2)this.selectedObjects.length===0&&(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls&&(t.length>0?this.$refs.scaffoldTreeControls.updateHoverUI(n):this.$refs.scaffoldTreeControls.removeHover(!0)),e.identifiers.length>0&&e.identifiers[0]&&e.identifiers[0].coords&&(this.tData.active=!1,(this.viewingMode!=="Annotation"||!this.annotationSidebar)&&(this.tData.visible=!0),this.tData.label=r,this.tData.region=o,this.tData.x=e.identifiers[0].coords.x,this.tData.y=e.identifiers[0].coords.y,this.createEditTemporaryLines(e.identifiers)),this.$emit("scaffold-highlighted",e.identifiers));else if(e.eventType==3&&e.identifiers.length>0&&e.identifiers[0]){if(e.identifiers[0].coords){const i=this.$refs.scaffoldContainer.getBoundingClientRect();this.tData.x=e.identifiers[0].coords.x-i.left,this.tData.y=e.identifiers[0].coords.y-i.top}this.createEditTemporaryLines(e.identifiers)}}},getCoordinatesOfSelected:function(){if(this.selectedObjects&&this.selectedObjects.length>0)return this.$module.scene.getObjectsScreenXY(this.selectedObjects)},getDynamicSelectedCoordinates:function(){return this.$module.selectedScreenCoordinates},timeChange:function(e){let t=e/this.timeMax*100;t!=this.currentTime&&this.$module.updateTime(t)},updatePrimitiveControls:function(e){this.selectedObjects=e,this.selectedObjects&&this.selectedObjects.length>0?this.$refs.primitiveControls.setObject(this.selectedObjects[0]):this.$refs.primitiveControls.setObject(void 0)},objectSelected:function(e,t){this.updatePrimitiveControls(e),this.$module.setSelectedByZincObjects(e,void 0,{},t)},objectHovered:function(e,t){this.hoveredObjects=e,this.$module.setHighlightedByZincObjects(e,void 0,{},t)},changeActiveByName:function(e,t,n){const r=Array.isArray(e);if(e===void 0||r&&e.length===0)this.$refs.scaffoldTreeControls.removeActive(n);else{let o=e;r||(o=[o]),this.$refs.scaffoldTreeControls.changeActiveByNames(o,t,n)}},changeHighlightedByName:function(e,t,n){const r=Array.isArray(e);if(e===void 0||r&&e.length===0)this.$refs.scaffoldTreeControls.removeHover(n);else{let o=e;r||(o=[o]),this.$refs.scaffoldTreeControls.changeHoverByNames(o,t,n)}},play:function(e){this.$module.playAnimation(e),this.isPlaying=e},setHelpMode:function(e){const t=this.hoverVisibilities.length,n=t-1,r=this.hoverVisibilities[this.helpModeActiveIndex];if(r){const o=r==null?void 0:r.refs,i=r==null?void 0:r.ref;this.$refs[o||i]||(this.helpModeActiveIndex+=1)}e||(this.helpModeActiveIndex=this.helpModeInitialIndex),e&&this.helpModeActiveIndex>=n&&this.$emit("help-mode-last-item",!0),e&&!this.helpModeDialog?(this.inHelp=!0,this.hoverVisibilities.forEach(o=>{o.value=!0})):e&&this.helpModeDialog&&t>this.helpModeActiveIndex?this.helpModeActiveIndex>-1&&setTimeout(()=>{this.inHelp=!1,this.hoverVisibilities.forEach(o=>{o.value=!1}),this.showHelpText(this.helpModeActiveIndex,200)},300):(this.inHelp=!1,this.hoverVisibilities.forEach(o=>{o.value=!1}))},displayTooltipOfObjectsCallback:function(e,t,n,r,o){const i=this;return function(){i.$module.zincRenderer.removePostRenderCallbackFunction(i.$_regionTooltipCallback),i.$_regionTooltipCallback=void 0,i.displayTooltipOfObjects(e,t,n,r,o)}},liveUpdateTooltipPosition:function(){this.$module.selectedCenter&&(this.tData.x=this.$module.selectedScreenCoordinates.x,this.tData.y=this.$module.selectedScreenCoordinates.y)},displayTooltipOfObjects:function(e,t,n,r,o){if(t.length>0){let i=t[0].getClosestVertexDOMElementCoords(this.$module.scene);if(i)return i.inView?(e.includes("Search Results for")?this.tData.active=!1:this.tData.active=!0,this.tData.visible=!0,this.tData.label=e,this.tData.x=i.position.x,this.tData.y=i.position.y,this.tData.region=n,this.$_liveCoordinatesUpdated&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),o&&(this.$module.setupLiveCoordinates(t),this.$_liveCoordinatesUpdated=this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition))):(this.hideRegionTooltip(),r&&(this.$module.scene.viewAll(),this.$_regionTooltipCallback&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback),this.$_regionTooltipCallback=this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(e,t,n,r,o)))),!0}return this.hideRegionTooltip(),!1},showRegionTooltipWithObjects:function(e,t,n,r,o){return e&&t&&t.length>0&&this.$module.scene?this.displayTooltipOfObjects(e,t,n,r,o):(this.hideRegionTooltip(),!1)},showRegionTooltip:function(e,t,n){if(e&&this.$module.scene){const r=this.$module.scene.getRootRegion(),o=oI(r,[e],"",!0);let i;return o&&o.length>0&&(i=o[0].getRegion().getFullPath()),this.showRegionTooltipWithObjects(e,o,i,t,n)}return this.hideRegionTooltip(),!1},showRegionTooltipWithAnnotations:function(e,t,n){if(this.$module.scene){const r=YRt(this.$module.scene,e);if(r&&r.objects.length>0)if(this.annotationSidebar){const o={featureId:(this.tData.region?this.tData.region+"/":"")+this.tData.label,resourceId:this.url,resource:this.url};this.$emit("annotation-open",{annotationEntry:o,createData:this.createData,confirmCreate:this.confirmCreate,cancelCreate:this.cancelCreate,confirmDelete:this.confirmDelete});return}else return this.showRegionTooltipWithObjects(r.label,r.objects,r.regionPath,t,n)}return this.hideRegionTooltip(),!1},changeViewingMode:function(e){if(this.$module){if(e&&(this.viewingMode=e),this.viewingMode==="Annotation"){let t=!1;this.userInformation&&(t=!0),this.userInformation=void 0,this.annotator.authenticate(this.userToken).then(n=>{n.name&&n.email&&n.canUpdate&&(this.userInformation=n,t||($Rt(this.annotator,this.userToken,this.url).then(r=>{r&&r.features&&EEe(this.$module.scene,r.features)}),$Rt(this.annotator,this.userToken,encodeURIComponent(this.url)).then(r=>{r&&r.features&&EEe(this.$module.scene,r.features)})))})}else this.viewingMode==="Exploration"&&(this.activeDrawTool=void 0,this.activeDrawMode=void 0,this.createData.shape="");this.viewingMode==="Exploration"||this.viewingMode==="Annotation"&&this.createData.shape===""?this.$module.selectObjectOnPick=!0:this.$module.selectObjectOnPick=!1,this.cancelCreate()}},hideRegionTooltip:function(){this.$_liveCoordinatesUpdated&&(this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),this.$module.setupLiveCoordinates(void 0)),this.tData.active=!1,this.tData.visible=!1,this.tData.region=void 0},setMarkerModeForObjectsWithName:function(e,t,n){if(e&&this.$module.scene){let r=t;typeof t=="number"&&(r={number:t,imgURL:void 0});const o=this.$module.scene.getRootRegion();oI(o,[e],"",!0).forEach(i=>i.setMarkerMode(n,r))}},setMarkerModeWithAnnotations:function(e,t){if(this.$module.scene){const n=YRt(this.$module.scene,e);n&&n.objects.length>0&&n.objects.forEach(r=>r.setMarkerMode(t))}},showHelpText:function(e,t=500){this.inHelp||(clearTimeout(this.helpTextWait[e]),this.helpTextWait[e]=setTimeout(()=>{this.hoverVisibilities[e].value=!0,this.$emit("shown-tooltip")},t))},hideHelpText:function(e,t=500){this.inHelp||(clearTimeout(this.helpTextWait[e]),this.helpTextWait[e]=setTimeout(()=>{this.hoverVisibilities[e].value=!1},t))},search:function(e,t){if(this.$_searchIndex){if(e===void 0||e===""||Array.isArray(e)&&e.length===0)return this.lastSelected.region="",this.lastSelected.group="",this.lastSelected.isSearch=!0,this.objectSelected([],!0),!1;{this.lastSelected.region="",this.lastSelected.group=e,this.lastSelected.isSearch=!0;const n=this.$_searchIndex.searchAndProcessResult(e),r=n.zincObjects;if(r.length>0){if(this.objectSelected(r,!0),t)for(let o=0;o<r.length;o++)r[o]&&r[o].groupName&&this.showRegionTooltipWithObjects(n.label,r,n.regionPath,!0,!0);return!0}else this.objectSelected([],!0)}}return!1},fetchSuggestions:function(e){return this.$_searchIndex===void 0?[]:this.$_searchIndex.auto_suggest(e)},updateMinimapScissor:function(){Object.keys(this.minimapSettings).forEach(e=>{this.$module.scene.minimapScissor[e]=this.minimapSettings[e]}),this.$module.scene.minimapScissor.updateRequired=!0},updateSettingsfromScene:function(){this.currentSpeed=1,this.$module.setPlayRate(this.defaultRate),this.orginalDuration=this.$module.scene.getMetadataTag("OriginalDuration"),this.animateDuration=this.$module.scene.getMetadataTag("Duration");let e=this.$module.scene.getMetadataTag("TimeStamps");this.timeStamps={};for(const t in e)this.timeStamps[e[t]]=t;this.timeMax=this.$module.scene.getDuration()},restoreSettings:function(e){if(e){if(e.viewport)this.$module.scene.getZincCameraControls().setCurrentCameraSettings(e.viewport);else if(e.viewURL&&e.viewURL!==""){const n=new URL(e.viewURL,this.url);this.$module.scene.loadViewURL(n)}else e.region&&e.region!==""&&this.viewRegion(e.region);e.visibility&&this.$nextTick(()=>{this.$refs.scaffoldTreeControls.setState(e.visibility)}),e.background&&this.backgroundChangeCallback(e.background),e.viewingMode&&this.changeViewingMode(e.viewingMode);const t=e.search;t&&t.group&&(t.isSearch?this.search(t.group,!0):this.changeActiveByName(t.group,t.region,!0))}},setURLFinishCallback:function(e){return()=>{this.localAnnotationsList.length=0,this.updateSettingsfromScene(),this.$module.updateTime(.01),this.$module.updateTime(0),this.$module.unsetFinishDownloadCallback(),this.addRegionsToSearchIndex(),this.$emit("on-ready"),this.setMarkers(),this._boundingBoxGeo=this.$module.scene.addBoundingBoxPrimitive("_helper","boundingBox",4251856,.15),this._slides=this.$module.scene.addSlicesPrimitive("_helper",["x-plane","y-plane","z-plane"],[16733525,5635925,5592575],.5);const{centre:t,size:n}=this.$module.getCentreAndSize();this.boundingDims.centre=t,this.boundingDims.size=n,this.$nextTick(()=>this.restoreSettings(e)),this.isReady=!0}},getState:function(){let e={format:this.fileFormat,url:this._currentURL,viewport:void 0,visibility:void 0,background:this.currentBackground,viewingMode:this.viewingMode};if(this.$refs.scaffoldTreeControls&&(e.visibility=this.$refs.scaffoldTreeControls.getState()),this.$module.scene){let t=this.$module.scene.getZincCameraControls();e.viewport=t.getCurrentViewport()}return this.lastSelected&&this.lastSelected.group&&(e.search={...this.lastSelected}),e},setState:function(e){e&&(e.url&&e.url!==this._currentURL?this.setURLAndState(e.url,{fileFormat:e.fileFormat,viewport:e.viewport,visibility:e.visibility,background:e.background,viewingMode:this.viewingMode,search:e.search}):(e.background||e.search||e.viewport||e.viewingMode||e.visibility)&&(this.isReady&&this.$module.scene?this.restoreSettings(e):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({background:e.background,viewingMode:e.viewingMode,viewport:e.viewport,visibility:e.visibility,search:e.search}))))},exportGLTF:function(e){return this.$module.scene.exportGLTF(e)},getLocalAnnotations:function(){return[...this.localAnnotationsList]},importLocalAnnotations:function(e){if(this.enableLocalAnnotations){e.forEach(n=>{const r=n.group,o=n.region;let i=o.slice(-1)==="/"?o:o+"/";const a=i.slice(0,-1);n.region=a,i=i+r;const l=i;n.item.id=l,n.feature.id=l});const t=e.map(n=>n.feature);EEe(this.$module.scene,t),e.forEach(n=>{this.localAnnotationsList.push({...n})})}},setURLAndState:function(e,t){e!=this._currentURL&&(t!=null&&t.format&&(this.fileFormat=t.format),this._currentURL=e,this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.loading=!0,this.timeVarying=!1,this.isReady=!1,this.$_searchIndex.removeAll(),this.hideRegionTooltip(),this.$module.setFinishDownloadCallback(this.setURLFinishCallback({background:t==null?void 0:t.background,region:this.region,search:t==null?void 0:t.search,viewingMode:t==null?void 0:t.viewingMode,viewURL:this.viewURL,viewport:t==null?void 0:t.viewport,visibility:t==null?void 0:t.visibility})),this.fileFormat==="gltf"?this.$module.loadGLTFFromURL(e,"scene",!0):this.$module.loadOrgansFromURL(e,void 0,void 0,"scene",void 0,!0),this.$module&&this.$module.scene&&(this.$module.scene.displayMarkers=this.displayMarkers,this.$module.scene.forcePickableObjectsUpdate=!0,this.$module.scene.displayMinimap=this.displayMinimap,this.updateMinimapScissor()))},setURL:function(e){this.setURLAndState(e,void 0)},drawerToggled:function(e){this.drawerOpen=e,this.adjustLayout()},adjustLayout:function(){if(this.$refs.scaffoldContainer){let e=this.$refs.scaffoldContainer.clientWidth;this.minimisedSlider=e<812,this.minimisedSlider?this.sliderPosition=this.drawerOpen?"right":"left":this.sliderPosition=""}},toggleRendering:function(e){this.$module.zincRenderer&&(e?this.$module.zincRenderer.animate():this.$module.zincRenderer.stopAnimate())},forceResize:function(){this.$module.zincRenderer&&this.$module.zincRenderer.onWindowResize()},syncControlCallback:function(){const e=this.$module.NDCCameraControl.getPanZoom();this.tData.visible&&this.showRegionTooltip(this.tData.label,!0,!0),this.$emit("scaffold-navigated",e)},toggleSyncControl:function(e,t){this.$module.toggleSyncControl(e,t),this.$module.setSyncControlCallback(this.syncControlCallback)},setMarkers:function(){for(const[e,t]of Object.entries(this.markerLabels))this.setMarkerModeForObjectsWithName(e,t,"on")}}},XEe=e=>(s.pushScopeId("data-v-3a5a2c2d"),e=e(),s.popScopeId(),e),qRo={ref:"scaffoldContainer",class:"scaffold-container","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"},ZRo=XEe(()=>s.createElementVNode("span",{class:"message-text"},"Beta",-1)),XRo=XEe(()=>s.createElementVNode("span",{class:"message-text"},"What's new?",-1)),KRo={class:"primitive-controls-box"},YRo={class:"animation-data"},JRo={class:"purple"},$Ro={class:"animation-data"},eVo={class:"purple"},tVo={class:"animation-data"},nVo={class:"bottom-right-control"},rVo=XEe(()=>s.createElementVNode("div",null,[s.createTextVNode(" Fit to "),s.createElementVNode("br"),s.createTextVNode(" window ")],-1)),oVo={style:{"margin-bottom":"2px"}},iVo={key:0,class:"viewing-mode-title"},aVo=["onClick"],sVo=["onClick"];function lVo(e,t,n,r,o,i){const a=s.resolveComponent("map-svg-sprite-color"),l=mVt,c=s.resolveComponent("DrawToolbar"),u=MMt,d=Ql,h=Uce,p=aVt,m=iVt,f=s.resolveComponent("map-svg-icon"),g=D2,v=Nm,y=pOt,T=fP,b=pP,x=hOt,w=hP,Q=uCe;return s.withDirectives((s.openBlock(),s.createElementBlock("div",qRo,[s.createVNode(a),s.createVNode(l,{createData:e.createData,label:e.tData.label,region:e.tData.region,visible:e.tData.visible,x:e.tData.x,y:e.tData.y,annotationDisplay:i.annotationDisplay,onConfirmCreate:t[0]||(t[0]=_=>i.confirmCreate(_)),onCancelCreate:t[1]||(t[1]=_=>i.cancelCreate()),onConfirmDelete:t[2]||(t[2]=_=>i.confirmDelete()),onTooltipHide:t[3]||(t[3]=_=>i.onTooltipHide())},null,8,["createData","label","region","visible","x","y","annotationDisplay"]),s.createElementVNode("div",{id:"organsDisplayArea",ref:"display",tabindex:"-1",style:{height:"100%",width:"100%"},onKeydown:t[4]||(t[4]=s.withKeys((..._)=>i.backgroundChangeCallback&&i.backgroundChangeCallback(..._),["66"]))},null,544),s.withDirectives(s.createElementVNode("div",null,[e.viewingMode==="Annotation"&&(e.userInformation||n.enableLocalAnnotations)?(s.openBlock(),s.createBlock(c,{key:0,toolbarOptions:e.toolbarOptions,activeDrawTool:e.activeDrawTool,activeDrawMode:e.activeDrawMode,hoverVisibilities:e.hoverVisibilities,onClickToolbar:i.toggleDrawing,onShowTooltip:i.showHelpText,onHideTooltip:i.hideHelpText,ref:"toolbarPopover"},null,8,["toolbarOptions","activeDrawTool","activeDrawMode","hoverVisibilities","onClickToolbar","onShowTooltip","onHideTooltip"])):s.createCommentVNode("",!0),n.displayWarning?(s.openBlock(),s.createBlock(h,{key:1,ref:"warningPopover",visible:e.hoverVisibilities[7].value,content:n.warningMessage,placement:"right",width:"max-content",teleported:!1,"popper-class":"scaffold-popper message-popper right-popper non-selectable"},{reference:s.withCtx(()=>[n.displayWarning?(s.openBlock(),s.createElementBlock("div",{key:0,class:"message-icon warning-icon",onMouseover:t[5]||(t[5]=_=>i.showHelpText(7)),onMouseout:t[6]||(t[6]=_=>i.hideHelpText(7))},[s.createVNode(d,null,{default:s.withCtx(()=>[s.createVNode(u)]),_:1}),ZRo],32)):s.createCommentVNode("",!0)]),_:1},8,["visible","content"])):s.createCommentVNode("",!0),n.displayLatestChanges?(s.openBlock(),s.createBlock(h,{key:2,visible:e.hoverVisibilities[8].value,content:n.latestChangesMessage,placement:"right",teleported:!1,trigger:"manual","popper-class":"scaffold-popper message-popper right-popper non-selectable",ref:"whatsNewPopover"},{reference:s.withCtx(()=>[n.displayLatestChanges&&n.latestChangesMessage?(s.openBlock(),s.createElementBlock("div",{key:0,class:"el-icon-warning message-icon latest-changesicon",onMouseover:t[7]||(t[7]=_=>i.showHelpText(8)),onMouseout:t[8]||(t[8]=_=>i.hideHelpText(8))},[s.createVNode(d,null,{default:s.withCtx(()=>[s.createVNode(u)]),_:1}),XRo],32)):s.createCommentVNode("",!0)]),_:1},8,["visible","content"])):s.createCommentVNode("",!0),s.createVNode(h,{visible:e.hoverVisibilities[6].value,content:"Change region visibility",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"regionVisibilityPopover"},{reference:s.withCtx(()=>[s.createVNode(p,{ref:"scaffoldTreeControls",isReady:e.isReady,"show-colour-picker":n.showColourPicker,onObjectSelected:i.objectSelected,onObjectHovered:i.objectHovered,onDrawerToggled:i.drawerToggled},null,8,["isReady","show-colour-picker","onObjectSelected","onObjectHovered","onDrawerToggled"])]),_:1},8,["visible"]),s.createElementVNode("div",KRo,[s.createVNode(m,{ref:"primitiveControls",createData:e.createData,onPrimitivesUpdated:i.primitivesUpdated},null,8,["createData","onPrimitivesUpdated"])]),e.timeVarying?(s.openBlock(),s.createBlock(h,{key:3,ref:"sliderPopover",width:"max-content",visible:e.hoverVisibilities[5].value,content:"Move the slider to animate the region",placement:"top",teleported:!1,trigger:"manual","popper-class":"scaffold-popper top-popper non-selectable"},{reference:s.withCtx(()=>[e.timeVarying?(s.openBlock(),s.createElementBlock("div",{key:0,class:s.normalizeClass(["time-slider-container",[e.minimisedSlider?"minimised":"",e.sliderPosition]])},[s.createVNode(x,{type:"card"},{default:s.withCtx(()=>[s.createVNode(y,{label:"Animate scaffold"},{default:s.withCtx(()=>[s.createVNode(v,{class:"tab-content"},{default:s.withCtx(()=>[e.isPlaying?(s.openBlock(),s.createBlock(f,{key:0,icon:"pause",class:"icon-button video-button",onClick:t[9]||(t[9]=_=>i.play(!1))})):(s.openBlock(),s.createBlock(f,{key:1,icon:"play",class:"video-button icon-button",onClick:t[10]||(t[10]=_=>i.play(!0))})),s.createVNode(g,{min:0,max:e.timeMax,"model-value":e.currentTime/100*e.timeMax,step:.1,"tooltip-class":"time-slider-tooltip",class:"slider","format-tooltip":i.formatTooltip,marks:e.timeStamps,onInput:t[11]||(t[11]=_=>i.timeChange(_))},null,8,["max","model-value","format-tooltip","marks"])]),_:1})]),_:1}),s.createVNode(y,{label:"Animation data"},{default:s.withCtx(()=>[s.createVNode(v,{class:"tab-content"},{default:s.withCtx(()=>[s.createElementVNode("div",YRo,[s.createTextVNode(" Original duration: "),s.createElementVNode("div",JRo,s.toDisplayString(e.orginalDuration),1)]),s.createElementVNode("div",$Ro,[s.createTextVNode(" Animation duration: "),s.createElementVNode("div",eVo,s.toDisplayString(e.animateDuration),1)]),s.createElementVNode("div",tVo,[s.createTextVNode(" Playback speed "),s.createVNode(b,{teleported:!0,"model-value":e.currentSpeed,placeholder:"Select",class:"scaffold-select-box speed","popper-class":"scaffold_viewer_dropdown",onChange:t[12]||(t[12]=_=>i.speedChanged(_))},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.playSpeed,_=>(s.openBlock(),s.createBlock(T,{key:_.value,label:_.label,value:_.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"])])]),_:1})]),_:1})]),_:1})],2)):s.createCommentVNode("",!0)]),_:1},8,["visible"])):s.createCommentVNode("",!0),s.createElementVNode("div",nVo,[s.createVNode(h,{visible:e.hoverVisibilities[0].value,content:"Zoom in",width:"max-content",placement:"left",teleported:!1,trigger:"manual","popper-class":"scaffold-popper left-popper non-selectable",ref:"zoomInPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{icon:"zoomIn",class:"icon-button zoomIn",onClick:t[13]||(t[13]=_=>i.zoomIn()),onMouseover:t[14]||(t[14]=_=>i.showHelpText(0)),onMouseout:t[15]||(t[15]=_=>i.hideHelpText(0))})]),_:1},8,["visible"]),s.createVNode(h,{visible:e.hoverVisibilities[1].value,content:"Zoom out",placement:"top-end",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper popper-zoomout non-selectable",ref:"zoomOutPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{icon:"zoomOut",class:"icon-button zoomOut",onClick:t[16]||(t[16]=_=>i.zoomOut()),onMouseover:t[17]||(t[17]=_=>i.showHelpText(1)),onMouseout:t[18]||(t[18]=_=>i.hideHelpText(1))})]),_:1},8,["visible"]),s.createVNode(h,{visible:e.hoverVisibilities[2].value,placement:"top",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper non-selectable",ref:"zoomFitPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{icon:"fitWindow",class:"icon-button fitWindow",onClick:t[19]||(t[19]=_=>i.fitWindow()),onMouseover:t[20]||(t[20]=_=>i.showHelpText(2)),onMouseout:t[21]||(t[21]=_=>i.hideHelpText(2))})]),default:s.withCtx(()=>[rVo]),_:1},8,["visible"])]),e.openMapRef?(s.openBlock(),s.createBlock(h,{key:4,ref:"open-map-popover","virtual-ref":e.openMapRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"open-map-popper","virtual-triggering":""},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.openMapOptions,_=>(s.openBlock(),s.createBlock(v,{key:_.key},{default:s.withCtx(()=>[s.createVNode(w,{type:"primary",plain:"",onClick:C=>e.$emit("open-map",_.key)},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(_.display),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1},8,["virtual-ref"])):s.createCommentVNode("",!0),s.createVNode(h,{ref:"backgroundPopover","virtual-ref":e.backgroundIconRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"background-popper non-selectable h-auto","virtual-triggering":""},{default:s.withCtx(()=>[s.createElementVNode("div",null,[s.createVNode(v,{class:"backgroundText"},{default:s.withCtx(()=>[s.createTextVNode("Viewing Mode")]),_:1}),s.createVNode(v,{class:"backgroundControl"},{default:s.withCtx(()=>[s.createElementVNode("div",oVo,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.viewingModes,(_,C,L)=>(s.openBlock(),s.createElementBlock(s.Fragment,{key:C},[C===e.viewingMode?(s.openBlock(),s.createElementBlock("span",iVo,[s.createElementVNode("b",null,s.toDisplayString(C),1)])):(s.openBlock(),s.createElementBlock("span",{key:1,class:"viewing-mode-unselected",onClick:M=>i.changeViewingMode(C)},s.toDisplayString(C),9,aVo))],64))),128))]),s.createVNode(v,{class:"viewing-mode-description"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(e.viewingModes[e.viewingMode]),1)]),_:1})]),_:1}),s.createVNode(v,{class:"backgroundSpacer"}),s.createVNode(v,{class:"backgroundText"},{default:s.withCtx(()=>[s.createTextVNode(" Change background ")]),_:1}),s.createVNode(v,{class:"backgroundChooser"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.availableBackground,_=>(s.openBlock(),s.createElementBlock("div",{key:_,class:s.normalizeClass(["backgroundChoice",_,_==e.currentBackground?"active":""]),onClick:C=>i.backgroundChangeCallback(_)},null,10,sVo))),128))]),_:1})])]),_:1},8,["virtual-ref"]),s.createElementVNode("div",{class:s.normalizeClass(["settings-group",{open:e.drawerOpen,close:!e.drawerOpen}])},[s.createVNode(v,null,{default:s.withCtx(()=>[s.createVNode(h,{visible:e.hoverVisibilities[3].value,content:"Open new map",placement:"right",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper right-popper non-selectable",ref:"openMapPopover"},{reference:s.withCtx(()=>[n.enableOpenMapUI&&n.openMapOptions.length>0?(s.openBlock(),s.createBlock(f,{key:0,ref:"openMapRef",icon:"openMap",class:"icon-button open-map-button",onMouseover:t[22]||(t[22]=_=>i.showHelpText(3)),onMouseout:t[23]||(t[23]=_=>i.hideHelpText(3))},null,512)):s.createCommentVNode("",!0)]),_:1},8,["visible"])]),_:1}),s.createVNode(v,null,{default:s.withCtx(()=>[s.createVNode(h,{visible:e.hoverVisibilities[4].value,content:"Change background color",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"settingsPopover"},{reference:s.withCtx(()=>[s.createVNode(f,{ref:"backgroundIconRef",icon:"changeBckgd",class:"icon-button",onMouseover:t[24]||(t[24]=_=>i.showHelpText(4)),onMouseout:t[25]||(t[25]=_=>i.hideHelpText(4))},null,512)]),_:1},8,["visible"])]),_:1})],2)],512),[[s.vShow,n.displayUI&&!e.isTransitioning]])])),[[Q,e.loading]])}const cVo={name:"Scaffold",mixins:[iE],components:{ScaffoldVuer:oy(WRo,[["render",lVo],["__scopeId","data-v-3a5a2c2d"]]),HelpModeDialog:efe},methods:{onResize:function(){this.scaffoldCamera.onResize()},getState:function(){return this.$refs.scaffold.getState()},search:function(e){return this.$refs.scaffold.search(e,!0)},searchSuggestions:function(e,t){if(e===""||!this.$refs.scaffold)return t;this.$refs.scaffold.fetchSuggestions(e).forEach(r=>{r.suggestion&&t.push(r.suggestion)})},handleSyncPanZoomEvent:function(e){if(!this.mouseHovered&&e.type!==this.entry.type){const t=e.payload.origin,n=e.payload.size,r=[t[0]+n[0]/2,t[1]+n[1]/2],o=[(r[0]-.5)*2,(.5-r[1])*2],i=1/Math.max(n[0],n[1]);this.$refs.scaffold.$module.setSyncControlCenterZoom(o,i)}},displayTooltip:function(e){let t;e&&(t=e.name),t?this.$refs.scaffold.search(t,!0):this.$refs.scaffold.hideRegionTooltip()},zoomToFeatures:function(e,t){let n;Array.isArray(e)?n=e:n=[e.name],t&&this.$refs.scaffold.changeActiveByName(n,"",!1),this.$refs.scaffold.viewRegion(n)},highlightFeatures:function(e){let t;Array.isArray(e)?t=e:t=[e.name],this.$refs.scaffold.changeHighlightedByName(t,"",!1)},scaffoldIsReady:function(){if(this.scaffoldLoaded=!0,this.$refs.scaffold.$module.graphicsHighlight.highlightColour=[1,0,1],this.isVisible()){let e="free";this.entry.rotation&&(e=this.entry.rotation),this.$refs.scaffold.toggleSyncControl(this.splitFlowStore.globalCallback,e),this.splitFlowStore.syncMode&&this.$refs.scaffold.fitWindow()}wo.emit("mapLoaded",this.$refs.scaffold)},requestSynchronisedEvent:function(e){if(this.scaffoldLoaded){let t="free";this.entry.rotation&&(t=this.entry.rotation),this.$refs.scaffold.toggleSyncControl(e,t)}},scaffoldHighlighted:function(e,t){var r,o,i;const n={paneIndex:this.entry.id,type:e,resource:t,internalName:void 0};t&&t[0]&&((((r=t[0].data)==null?void 0:r.id)===void 0||((o=t[0].data)==null?void 0:o.id)==="")&&(t[0].data.id=(i=t[0].data)==null?void 0:i.group),n.internalName=t[0].data.id,n.eventType="highlighted"),this.$emit("resource-selected",n)},scaffoldNavigated:function(e,t){if(this.mouseHovered){const n={paneIndex:this.entry.id,eventType:"panZoom",payload:t,type:e};this.$emit("resource-selected",n)}},updateWithViewUrl:function(e){this.$refs.scaffold.updateViewURL(e)},changeViewingMode:function(e){this.$refs.scaffold.changeViewingMode(e)}},computed:{warningMessage:function(){return this.entry.isBodyScaffold?"This map displays the anatomical location and connectivity of nerves, through which the neuron populations from the ApiNATOMY models available in SCKAN can be routed.":"Under active development"},markerLabels:function(){return this.settingsStore.numberOfDatasetsForFacets}},data:function(){return{apiLocation:process.env.VUE_APP_API_LOCATION,scaffoldCamera:void 0,scaffoldLoaded:!1}},mounted:function(){this.scaffoldCamera=this.$refs.scaffold.$module.scene.getZincCameraControls(),wo.on("startHelp",()=>{this.startHelp()}),wo.on("hoverUpdate",()=>{this.scaffoldLoaded&&this.mapHoverHighlight(this.$refs.scaffold)})}},uVo={class:"viewer-container"};function dVo(e,t,n,r,o,i){const a=s.resolveComponent("ScaffoldVuer"),l=s.resolveComponent("HelpModeDialog");return s.openBlock(),s.createElementBlock("div",uVo,[s.createVNode(a,{state:e.entry.state,url:e.entry.resource,region:e.entry.region,onScaffoldSelected:t[0]||(t[0]=c=>e.resourceSelected(e.entry.type,c,!0)),onScaffoldHighlighted:t[1]||(t[1]=c=>i.scaffoldHighlighted(e.entry.type,c)),onScaffoldNavigated:t[2]||(t[2]=c=>i.scaffoldNavigated(e.entry.type,c)),onOnReady:i.scaffoldIsReady,onOpenMap:e.openMap,ref:"scaffold","background-toggle":!0,traditional:!0,helpMode:e.helpMode,helpModeActiveItem:e.helpModeActiveItem,helpModeDialog:e.useHelpModeDialog,onAnnotationOpen:e.onAnnotationOpen,onAnnotationClose:e.onAnnotationClose,annotationSidebar:e.annotationSidebar,onHelpModeLastItem:e.onHelpModeLastItem,onShownTooltip:e.onTooltipShown,onShownMapTooltip:e.onMapTooltipShown,render:e.visible,"display-latest-message":!0,"warning-message":i.warningMessage,"display-minimap":!1,"display-markers":!1,enableOpenMapUI:!0,"view-u-r-l":e.entry.viewUrl,markerCluster:!0,markerLabels:i.markerLabels,flatmapAPI:e.flatmapAPI},null,8,["state","url","region","onOnReady","onOpenMap","helpMode","helpModeActiveItem","helpModeDialog","onAnnotationOpen","onAnnotationClose","annotationSidebar","onHelpModeLastItem","onShownTooltip","onShownMapTooltip","render","warning-message","view-u-r-l","markerLabels","flatmapAPI"]),e.helpMode&&e.useHelpModeDialog?(s.openBlock(),s.createBlock(l,{key:0,ref:"scaffoldHelp",scaffoldRef:e.scaffoldRef,lastItem:e.helpModeLastItem,onShowNext:e.onHelpModeShowNext,onFinishHelpMode:e.onFinishHelpMode},null,8,["scaffoldRef","lastItem","onShowNext","onFinishHelpMode"])):s.createCommentVNode("",!0)])}const hVo=Object.freeze(Object.defineProperty({__proto__:null,default:E1(cVo,[["render",dVo],["__scopeId","data-v-343030f1"]])},Symbol.toStringTag,{value:"Module"})),ay=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{const o=e==null?void 0:e(r);if(n===!1||!o)return t==null?void 0:t(r)};var LVt;const Qu=typeof window<"u",pVo=e=>typeof e=="string",EVt=()=>{},KEe=Qu&&((LVt=window==null?void 0:window.navigator)==null?void 0:LVt.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function MVt(e){return typeof e=="function"?e():s.unref(e)}function fVo(e){return e}function L1e(e){return s.getCurrentScope()?(s.onScopeDispose(e),!0):!1}function mVo(e,t=!0){s.getCurrentInstance()?s.onMounted(e):t?e():s.nextTick(e)}function sy(e){var t;const n=MVt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const E1e=Qu?window:void 0;function F0(...e){let t,n,r,o;if(pVo(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=E1e):[t,n,r,o]=e,!t)return EVt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],a=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,p,m)=>(d.addEventListener(h,p,m),()=>d.removeEventListener(h,p,m)),c=s.watch(()=>[sy(t),MVt(o)],([d,h])=>{a(),d&&i.push(...n.flatMap(p=>r.map(m=>l(d,p,m,h))))},{immediate:!0,flush:"post"}),u=()=>{c(),a()};return L1e(u),u}let AVt=!1;function gVo(e,t,n={}){const{window:r=E1e,ignore:o=[],capture:i=!0,detectIframe:a=!1}=n;if(!r)return;KEe&&!AVt&&(AVt=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",EVt)));let l=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(p=>p===d.target||d.composedPath().includes(p));{const p=sy(h);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[F0(r,"click",d=>{const h=sy(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(l=!c(d)),!l){l=!0;return}t(d)}},{passive:!0,capture:i}),F0(r,"pointerdown",d=>{const h=sy(e);h&&(l=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),a&&F0(r,"blur",d=>{var h;const p=sy(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(p!=null&&p.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function OVt(e,t=!1){const n=s.ref(),r=()=>n.value=!!e();return r(),mVo(r,t),n}const PVt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},IVt="__vueuse_ssr_handlers__";PVt[IVt]=PVt[IVt]||{};var NVt=Object.getOwnPropertySymbols,yVo=Object.prototype.hasOwnProperty,vVo=Object.prototype.propertyIsEnumerable,TVo=(e,t)=>{var n={};for(var r in e)yVo.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&NVt)for(var r of NVt(e))t.indexOf(r)<0&&vVo.call(e,r)&&(n[r]=e[r]);return n};function ly(e,t,n={}){const r=n,{window:o=E1e}=r,i=TVo(r,["window"]);let a;const l=OVt(()=>o&&"ResizeObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>sy(e),h=>{c(),l.value&&o&&h&&(a=new ResizeObserver(t),a.observe(h,i))},{immediate:!0,flush:"post"}),d=()=>{c(),u()};return L1e(d),{isSupported:l,stop:d}}var RVt=Object.getOwnPropertySymbols,bVo=Object.prototype.hasOwnProperty,xVo=Object.prototype.propertyIsEnumerable,wVo=(e,t)=>{var n={};for(var r in e)bVo.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&RVt)for(var r of RVt(e))t.indexOf(r)<0&&xVo.call(e,r)&&(n[r]=e[r]);return n};function QVo(e,t,n={}){const r=n,{window:o=E1e}=r,i=wVo(r,["window"]);let a;const l=OVt(()=>o&&"MutationObserver"in o),c=()=>{a&&(a.disconnect(),a=void 0)},u=s.watch(()=>sy(e),h=>{c(),l.value&&o&&h&&(a=new MutationObserver(t),a.observe(h,i))},{immediate:!0}),d=()=>{c(),u()};return L1e(d),{isSupported:l,stop:d}}var VVt;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(VVt||(VVt={}));var _Vo=Object.defineProperty,BVt=Object.getOwnPropertySymbols,SVo=Object.prototype.hasOwnProperty,kVo=Object.prototype.propertyIsEnumerable,HVt=(e,t,n)=>t in e?_Vo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,CVo=(e,t)=>{for(var n in t||(t={}))SVo.call(t,n)&&HVt(e,n,t[n]);if(BVt)for(var n of BVt(t))kVo.call(t,n)&&HVt(e,n,t[n]);return e};CVo({linear:fVo},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const LVo=()=>Qu&&/firefox/i.test(window.navigator.userAgent);/**
|
7493
7493
|
* @vue/shared v3.4.21
|
7494
7494
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
7495
7495
|
* @license MIT
|