diff --git a/.github/workflows/build-windows-executable-app.yaml b/.github/workflows/build-windows-executable-app.yaml index d419f569..301c11a1 100644 --- a/.github/workflows/build-windows-executable-app.yaml +++ b/.github/workflows/build-windows-executable-app.yaml @@ -14,7 +14,7 @@ env: OPENMS_VERSION: 3.2.0 PYTHON_VERSION: 3.11.0 # Name of the installer - APP_NAME: FLASHApp-0.9.8 + APP_NAME: FLASHApp-0.9.9 APP_UpgradeCode: "69ae44ad-d554-4e3c-8715-7c4daf60f8bb" jobs: diff --git a/js-component/dist/assets/index-b4d6289d.js b/js-component/dist/assets/index-e3688e10.js similarity index 98% rename from js-component/dist/assets/index-b4d6289d.js rename to js-component/dist/assets/index-e3688e10.js index a48d2314..9b909fb4 100644 --- a/js-component/dist/assets/index-b4d6289d.js +++ b/js-component/dist/assets/index-e3688e10.js @@ -3780,7 +3780,7 @@ Data: `,e)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.ad border: 1px solid #ddd; border-radius: 4px; font-size: 14px; - `,e.addEventListener("input",()=>{this.filterValues[n]||(this.filterValues[n]={}),this.filterValues[n].text=e.value,this.applyFilters()}),e},refreshTeleportDialog(){!this.teleportDialog||!this.teleportContainer||(this.teleportContainer.innerHTML="",this.renderFilterDialog())},closeTeleportDialog(){this.teleportDialog=!1,this.cleanupTeleport()},cleanupTeleport(){this.teleportBackdrop&&this.parentDocument&&(this.parentDocument.body.removeChild(this.teleportBackdrop),this.teleportBackdrop=null),this.teleportContainer&&(this.teleportContainer=null)}}});const rO={style:{padding:"8px",width:"98%"}},iO={class:"d-flex"},aO={style:{width:"100%",display:"grid","grid-template-columns":"1fr 1fr 1fr"}},oO={class:"d-flex justify-start",style:{"grid-column":"1 / span 1"}},sO={style:{position:"relative",display:"inline-block"}},lO={key:0,class:"filter-badge"},uO={class:"d-flex justify-center",style:{"grid-column":"2 / span 1"}},cO={class:"d-flex justify-end",style:{"grid-column":"3 / span 1"}},hO=["id"];function fO(n,e,r,A,D,w){const p=Hr("v-btn");return Ir(),ei("div",rO,[ti("div",iO,[ti("div",aO,[ti("div",oO,[ti("div",sO,[gt(p,{variant:"text",size:"small",icon:"mdi-filter",onClick:n.openFilterDialog},null,8,["onClick"]),n.activeFilterCount>0?(Ir(),ei("div",lO,eo(n.activeFilterCount),1)):Yi("",!0)]),gt(p,{variant:"text",size:"small",icon:"mdi-download",onClick:n.downloadTable},null,8,["onClick"]),nb(n.$slots,"start-title-row")]),ti("div",uO,[ti("h4",null,[nb(n.$slots,"default",{},()=>[qi(eo(n.title??""),1)])])]),ti("div",cO,[nb(n.$slots,"end-title-row")])])]),ti("div",{id:n.id,class:Ju(n.tableClasses),onClick:e[0]||(e[0]=(...t)=>n.onTableClick&&n.onTableClick(...t))},null,10,hO)])}const y0=hs(nO,[["render",fO]]),Df=n=>e=>e.getValue().toString().length>4?e.getValue().toFixed(n??4):e.getValue(),dO=ns({name:"TabulatorScanTable",components:{TabulatorTable:y0},props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{columnDefinitions:[{title:"Index",field:"id",sorter:"number",headerTooltip:"The sequential index of the spectrum in the dataset."},{title:"Scan Number",field:"Scan",sorter:"number",headerTooltip:"The identifier of the mass spectrometry scan."},{title:"MS Level",field:"MSLevel",sorter:"number",headerTooltip:"The level of mass spectrometry analysis (e.g., MS1 or MS2)."},{title:"Retention time",field:"RT",formatter:Df(),sorter:"number",headerTooltip:"The time at which the spectrum was detected during the chromatographic separation in seconds."},{title:"Precursor Mass",field:"PrecursorMass",formatter:Df(),sorter:"number",headerTooltip:"The mass of the precursor ion selected for fragmentation in Daltons."},{title:"#Masses",field:"#Masses",sorter:"number",headerTooltip:"The number of detected masses in the spectrum."}]}},computed:{tableData(){const n=this.streamlitDataStore.allDataForDrawing.per_scan_data;return n.forEach(e=>e.id=e.index),n},selectedRow(){return this.selectionStore.selectedScanIndex}},methods:{updateSelectedScan(n){n!==void 0&&(n!==this.selectionStore.selectedScanIndex&&this.selectionStore.updateSelectedMass(0),this.selectionStore.updateSelectedScan(n))}}});function pO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Scan Table",index:n.index,"table-layout-param":"fitColumns","selected-row-index-from-listening":n.selectedRow,"default-row":0,onRowSelected:n.updateSelectedScan},null,8,["table-data","column-definitions","index","selected-row-index-from-listening","onRowSelected"])}const mO=hs(dO,[["render",pO]]),gO={xPosScalingFactor:27.5,xPosScalingThreshold:30,enableManualZoom:!0,showChargeLabels:!0,minAnnotationWidth:2},y5={highlightColor:"#E4572E",selectedColor:"#F3A712",unhighlightedColor:"lightblue",highlightHiddenColor:"1f77b4",annotationColors:{massButton:"#E4572E",selectedMassButton:"#F3A712",sequenceArrow:"#E4572E",selectedSequenceArrow:"#F3A712",background:"#f0f0f0",buttonHover:"#e0e0e0"}},vO=ns({name:"PlotlyLineplotUnified",props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{manual:!1,manual_xRange:void 0,isInitialized:!1,annotationsVisible:!0,deconvolvedPeaksHighlightMode:!1,localTitle:""}},computed:{id(){return`graph-${this.index}`},isDataReady(){var n;try{const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||!Array.isArray(e)||e.length===0)return!1;const r=this.selectedScan;if(r===void 0||r>=e.length)return!1;const A=e[r];if(!A||typeof A!="object")return!1;const D=this.xColumn,w=this.yColumn;if(!D||!w)return!1;const p=A[D],t=A[w];return!(!Array.isArray(p)||!Array.isArray(t)||p.length===0||t.length===0)}catch(e){return this.handleError(e,"isDataReady-computation"),!1}},theme(){return this.streamlitDataStore.theme},isTnTMode(){return this.selectionStore.selectedTag!==void 0},isAnnotatedSpectraMode(){return this.xAxisLabel==="m/z"},config(){return{...gO,...this.args.config}},styling(){var n;return{...y5,...this.args.styling,annotationColors:{...y5.annotationColors,...(n=this.args.styling)==null?void 0:n.annotationColors}}},selectedScan(){var n;try{const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;return!e||e.length===0?void 0:0}catch(e){this.handleError(e,"selectedScan-computation");return}},selectedTag(){return this.isTnTMode?this.selectionStore.selectedTagIndex:void 0},selectedAA(){var n;return this.isTnTMode?(n=this.selectionStore.selectedTag)==null?void 0:n.selectedAA:void 0},currentTitle(){return this.localTitle||this.args.title},xAxisLabel(){switch(this.currentTitle){case"Annotated Spectrum":case"Augmented Annotated Spectrum":return"m/z";case"Deconvolved Spectrum":case"Augmented Deconvolved Spectrum":return"Monoisotopic Mass";default:return""}},yAxisLabel(){return"Intensity"},xColumn(){switch(this.currentTitle){case"Annotated Spectrum":case"Augmented Annotated Spectrum":return"MonoMass_Anno";case"Deconvolved Spectrum":case"Augmented Deconvolved Spectrum":return"MonoMass";default:return""}},yColumn(){switch(this.currentTitle){case"Annotated Spectrum":case"Augmented Annotated Spectrum":return"SumIntensity_Anno";case"Deconvolved Spectrum":case"Augmented Deconvolved Spectrum":return"SumIntensity";default:return""}},xValues(){var n;try{const e=[],r=this.selectedScan;if(r===void 0)return e;const A=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!A||r>=A.length)return e;const D=A[r];if(!D)return e;const w=D[this.xColumn];return!w||!Array.isArray(w)||w.forEach(p=>{typeof p=="number"&&!isNaN(p)&&e.push(p,p,p)}),e}catch(e){return this.handleError(e,"xValues-computation"),[]}},yValues(){var n;try{const e=[],r=this.selectedScan;if(r===void 0)return e;const A=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!A||r>=A.length)return e;const D=A[r];if(!D)return e;const w=D[this.yColumn];return!w||!Array.isArray(w)||w.forEach(p=>{typeof p=="number"&&!isNaN(p)&&e.push(-1e7,p,-1e7)}),e}catch(e){return this.handleError(e,"yValues-computation"),[]}},MassValues(){var n;try{if(this.selectedScan===void 0)return[];const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||this.selectedScan>=e.length)return[];const r=e[this.selectedScan],A=r==null?void 0:r.MonoMass;return Array.isArray(A)?A:[]}catch(e){return this.handleError(e,"xMassValues-computation"),[]}},MZValues(){var n;try{if(this.selectedScan===void 0)return[];const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||this.selectedScan>=e.length)return[];const r=e[this.selectedScan],A=r==null?void 0:r.MonoMass_Anno;return Array.isArray(A)?A:[]}catch(e){return this.handleError(e,"xMassValues-computation"),[]}},mzSignals(){var n;try{if(this.selectedScan===void 0)return[];const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||this.selectedScan>=e.length)return[];const r=e[this.selectedScan],A=r==null?void 0:r.SignalPeaks;return Array.isArray(A)?A:[]}catch(e){return this.handleError(e,"mzSignals-computation"),[]}},showBackButton(){return this.isTnTMode&&this.currentTitle==="Augmented Annotated Spectrum"},highlightedValues(){var n,e;try{const r=this.MassValues,A=this.mzSignals;if(r.length===0)return[];let D=[];const w=new Set;let p=[];((n=this.selectionStore.selectedTag)==null?void 0:n.masses)!==void 0&&(p=(e=this.selectionStore.selectedTag)==null?void 0:e.masses);let t=[];p.forEach((d,g)=>{for(let i=0;i=0&&this.selectionStore.selectedMassIndex=r.length)continue;if(w.add(g),A.length===0){D.push({mass:this.MassValues[g],mzs:[],charges:[],intensity:[]});continue}const i=r[g];let M=[],v=[],f=[];const l=A[g];if(Array.isArray(l))for(let a=0;a=4&&(M.push(u[1]),f.push(u[2]),v.push(u[3]))}D.push({mass:i,mzs:M,charges:v,intensity:f})}if(this.deconvolvedPeaksHighlightMode)for(let d=0;d=4&&(i.push(a[1]),v.push(a[2]),M.push(a[3]))}D.push({mass:g,mzs:i,charges:M,intensity:v})}return D}catch(r){return this.handleError(r,"highlightedValues-computation"),[]}},highlightedMassPos(){var n,e;try{const r=this.highlightedValues;if(r.length===0||!Array.isArray(this.MassValues))return new Array(((n=this.MassValues)==null?void 0:n.length)||0).fill(!1);const A=new Set(r.map(D=>D.mass));return this.MassValues.map(D=>A.has(D))}catch(r){return this.handleError(r,"booleanMassHighlightMask-computation"),new Array(((e=this.MassValues)==null?void 0:e.length)||0).fill(!1)}},highlightedMzPos(){var n,e;try{const r=this.highlightedValues;if(r.length===0||!Array.isArray(this.MZValues))return new Array(((n=this.MZValues)==null?void 0:n.length)||0).fill(!1);const A=new Set(r.flatMap(D=>D.mzs));return this.MZValues.map(D=>A.has(D))}catch(r){return this.handleError(r,"booleanHighlightMask-computation"),new Array(((e=this.MZValues)==null?void 0:e.length)||0).fill(!1)}},plotData(){var p,t;let n=[],e=[],r=[],A=[],D=[],w=[];for(let d=0;d0)return e.width}return-1},getAnnotationPositioning(){const n=this.yRange,e=this.xRange;if(n.length<2||n[1]<=0||e.length<2)return null;const r=n[1]/1.8,A=r*1.18,D=r*1.25,w=r*1.32,p=this.computeXposScalingFactor(e[1]-e[0]);return{ymax:r,ypos_low:A,ypos:D,ypos_high:w,xpos_scaling:p,xRange:e,yRange:n}},annotationBoxData(){try{return this.computeAnnotationBoxes(this.xRange,this.yRange)}catch(n){return this.handleError(n,"annotationBoxData-computation"),[]}},xRange(){try{const n=this.xValues;if(n.length===0)return[0,1];if(this.deconvolvedPeaksHighlightMode){const g=Math.min(...n),i=Math.max(...n);return[g*.98,i*1.02]}if(!this.annotationsVisible&&!this.manual){const g=Math.min(...n),i=Math.max(...n);return[g*.98,i*1.02]}if(this.manual&&this.manual_xRange!==void 0)return this.manual_xRange;const e=this.highlightedValues;if(e.length===0){const g=Math.min(...n),i=Math.max(...n);return[g*.98,i*1.02]}let r=[0,1];if(this.xAxisLabel==="m/z"?r=e.flatMap(g=>Array.isArray(g.mzs)?g.mzs:[]).filter(g=>Number.isFinite(g)):r=e.map(g=>g.mass).filter(g=>!isNaN(g)),r.length===0)return[0,1];let A=Math.min(...r)*.98,D=Math.max(...r)*1.02;if(this.xAxisLabel==="m/z")return[A,D];let w=r.reduce((g,i)=>g+i,0)/r.length,p=.5*.9*this.maxAnnotationRange,t=[w-p,w+p];return this.calculateOptimalXRange(t)}catch(n){return this.handleError(n,"xRange-computation"),[0,1]}},yRange(){try{return this.computeYRange(this.xRange)}catch(n){return this.handleError(n,"yRange-computation"),[0,1]}},annotationData(){var n,e,r,A;try{if(!this.annotationsVisible)return{shapes:[],annotations:[],traces:[]};let D=[],w=[];((n=this.selectionStore.selectedTag)==null?void 0:n.masses)!==void 0&&(w=(e=this.selectionStore.selectedTag)==null?void 0:e.masses);let p=[];w.forEach((k,E)=>{for(let x=0;x=0&&this.selectionStore.selectedMassIndex=t.length)continue;if(d.length===0){D.push({mass:this.MassValues[E],mzs:[],charges:[],intensity:[]});continue}const x=t[E];let S=[],L=[],b=[];const R=d[E];if(Array.isArray(R))for(let I=0;I=4&&(S.push(O[1]),b.push(O[2]),L.push(O[3]))}D.push({mass:x,mzs:S,charges:L,intensity:b})}const g=D;if(g.length===0)return{shapes:[],annotations:[],traces:[]};const i=this.getAnnotationPositioning;if(!i)return{shapes:[],annotations:[],traces:[]};const{ypos_low:M,ypos:v,ypos_high:f,xpos_scaling:l}=i;let a=[],u=[],o=[];if(this.xAxisLabel==="m/z"){if(this.selectionStore.selectedMassIndex===void 0)return{shapes:[],annotations:[],traces:[]};if(this.selectionStore.selectedMassIndex>=this.MassValues.length)return{shapes:[],annotations:[],traces:[]};let k=this.styling.annotationColors.massButton;const E=g[0],{mzs:x,charges:S,intensity:L}=E;if(!x||x.length===0)return{shapes:[],annotations:[],traces:[]};const b=new Map;for(let z=0;zz.type==="charge"&&z.visible);let O=0;return b.forEach((z,F)=>{const B=z.reduce((Y,U)=>Y+U.intensity,0),W=z.map(Y=>Y.intensity/B*Y.mz).reduce((Y,U)=>Y+U,0);I.some(Y=>Y.index===O)&&(u.push({type:"rect",x0:W-.5*l,y0:M,x1:W+.5*l,y1:f,fillcolor:k,line:{width:0}}),o.push({x:W,y:v,xref:"x",yref:"y",text:"z="+F,showarrow:!1,font:{size:15}})),O++}),{shapes:u,annotations:o,traces:a}}let s=[];const h=(r=this.selectionStore.selectedTag)==null?void 0:r.selectedAA,m=this.annotationBoxData.filter(k=>k.type==="mass"&&k.visible),T=g.length===1?2:1;for(let k=0;kL.index===k)){let L=this.styling.annotationColors.massButton,b="sans-serif";(h===k||h===k-1)&&(L=this.styling.annotationColors.selectedMassButton,b="Arial Black, Arial Bold, Arial, sans-serif"),a.push({x:[x],y:[v],mode:"markers",marker:{size:20,opacity:0},hoverinfo:"text",hovertext:String(x.toFixed(2)),type:"scatter"}),u.push({type:"rect",x0:x-T*l,y0:M,x1:x+T*l,y1:f,fillcolor:L,line:{width:0}}),o.push({x,y:v,xref:"x",yref:"y",text:x.toFixed(2),showarrow:!1,font:{size:15,family:b}})}}const y=v*.5,C=v*.6,_=(A=this.selectionStore.selectedTag)==null?void 0:A.sequence;for(let k=0;kb.index===k),L=m.some(b=>b.index===k+1);if(S&&L){let b=this.styling.annotationColors.sequenceArrow,R="sans-serif";h===k&&(b=this.styling.annotationColors.selectedSequenceArrow,R="Arial Black, Arial Bold, Arial, sans-serif");let I=E.mass,O=x.mass;const z=(I+O)/2;let F=z,B=z;const N=Math.abs(I-O)*.9;let W="",j=0;if(_!==void 0&&_.length>0){const Y=_.length-1-k;Y>=0&&Y<_.length&&(W=_[Y])}I>O?(j=I-O,I-=N,F+=N*.1,O+=N,B-=N*.1):(j=O-I,I+=N,F-=N*.1,O-=N,B+=N*.1),s.push({ax:F,ay:y,xref:"x",yref:"y",x:I,y,axref:"x",ayref:"y",showarrow:!0,arrowhead:0,arrowsize:1,arrowwidth:2,arrowcolor:b}),s.push({ax:B,ay:y,xref:"x",yref:"y",x:O,y,axref:"x",ayref:"y",showarrow:!0,arrowhead:2,arrowsize:1,arrowwidth:2,arrowcolor:b}),s.push({x:z,y:C,xref:"x",yref:"y",text:W,hovertext:"Δ="+j.toFixed(2)+" Da",showarrow:!1,font:{size:15,color:b,family:R}})}}return{shapes:u,annotations:[...o,...s],traces:a}}catch(D){return this.handleError(D,"annotationData-computation"),{shapes:[],annotations:[],traces:[]}}},data(){let n=[];if(!this.annotationsVisible&&!this.deconvolvedPeaksHighlightMode)return n.push({x:this.xValues,y:this.yValues,mode:"lines",type:"scatter",connectgaps:!1,marker:{color:this.styling.highlightHiddenColor}}),n;if(n.push({x:this.plotData.unhighlighted_x,y:this.plotData.unhighlighted_y,mode:"lines",type:"scatter",marker:{color:this.styling.unhighlightedColor}}),n.push({x:this.plotData.highlighted_x,y:this.plotData.highlighted_y,mode:"lines",type:"scatter",marker:{color:this.styling.highlightColor}}),n.push({x:this.plotData.selected_x,y:this.plotData.selected_y,mode:"lines",type:"scatter",marker:{color:this.styling.selectedColor}}),this.annotationsVisible){const e=this.annotationData.traces;n.push(...e)}return n},layout(){var e,r,A,D,w;const n={title:`${this.currentTitle}`,showlegend:!1,height:400,xaxis:{title:this.xAxisLabel,showgrid:!1,showline:!0,linecolor:"grey",linewidth:1},yaxis:{title:this.yAxisLabel,showgrid:!0,gridcolor:(e=this.theme)==null?void 0:e.secondaryBackgroundColor,rangemode:"nonnegative",fixedrange:!1,showline:!0,linecolor:"grey",linewidth:1},paper_bgcolor:(r=this.theme)==null?void 0:r.backgroundColor,plot_bgcolor:(A=this.theme)==null?void 0:A.backgroundColor,font:{color:(D=this.theme)==null?void 0:D.textColor,family:(w=this.theme)==null?void 0:w.font}};return n.xaxis.range=this.xRange,n.yaxis.range=this.yRange,this.annotationData&&this.annotationData.shapes?n.shapes=this.annotationData.shapes:n.shapes=[],this.annotationData&&this.annotationData.annotations?n.annotations=this.annotationData.annotations:n.annotations=[],n},cssCustomProperties(){return{"--highlight-color":this.styling.highlightColor,"--selected-color":this.styling.selectedColor,"--unhighlighted-color":this.styling.unhighlightedColor,"--annotation-background":this.styling.annotationColors.background,"--button-hover-color":this.styling.annotationColors.buttonHover}}},watch:{isDataReady:{handler(n){n&&this.safeGraph()},immediate:!0},"streamlitDataStore.allDataForDrawing.per_scan_data":{handler(){this.safeGraph()},deep:!0},selectedScan(){this.resetManualState(),this.safeGraph()},xValues(){this.safeGraph()},selectedTag(){this.resetManualState(),this.safeGraph()},annotationsVisible(){this.safeGraph()},deconvolvedPeaksHighlightMode(){this.safeGraph()},"selectionStore.selectedMassIndex"(){this.manual=!1,this.safeGraph()}},mounted(){this.initializeComponent()},methods:{computeXposScalingFactor(n){const e=this.actualPlotWidth;return e<0?0:1200/e*n/this.xPosScalingFactor},computeAnnotationBoxes(n,e){try{const r=this.highlightedValues;if(r.length===0)return[];if(e.length<2||e[1]<=0||n.length<2)return[];const A=e[1]/1.8,D=A*1.18,w=A*1.32,p=this.computeXposScalingFactor(n[1]-n[0]),t=[];if(this.xAxisLabel==="m/z"){if(this.selectionStore.selectedMassIndex===void 0||this.selectionStore.selectedMassIndex>=this.MassValues.length)return t;const d=r[0],{mzs:g,charges:i,intensity:M}=d;if(!g||g.length===0)return t;const v=new Map;for(let l=0;l{const u=l.reduce((h,c)=>h+c.intensity,0),s=l.map(h=>h.intensity/u*h.mz).reduce((h,c)=>h+c,0);t.push({x:s,y:(D+w)/2,width:p,height:w-D,type:"charge",index:f++,visible:!0})})}else{const d=r.length===1?2:1;for(let g=0;g1){let d=!1;for(let g=0;g{g.visible=!1})}return t}catch(r){return this.handleError(r,"computeAnnotationBoxes"),[]}},wouldAnnotationsBeVisible(n){try{const e=this.computeYRange(n);return this.computeAnnotationBoxes(n,e).some(A=>A.visible)}catch(e){return this.handleError(e,"wouldAnnotationsBeVisible"),!0}},calculateOptimalXRange(n){try{let A=[...n];for(let D=0;D<10;D++){if(this.wouldAnnotationsBeVisible(A))return A;const w=(A[0]+A[1])/2,t=(A[1]-A[0])/2*.8;if(A=[w-t,w+t],A[1]-A[0]<.1)break}return A}catch(e){return this.handleError(e,"calculateOptimalXRange"),n}},testBoxesOverlapForRange(n,e,r){try{if(r.length!==2||r[1]<=r[0])return!1;const A=(r[1]-r[0])*.01,D=n.height*.1,w=n.x-n.width/2-A,p=n.x+n.width/2+A,t=n.y-n.height/2-D,d=n.y+n.height/2+D,g=e.x-e.width/2-A,i=e.x+e.width/2+A,M=e.y-e.height/2-D,v=e.y+e.height/2+D;return!(p{this.toggleAnnotations()}}];this.isAnnotatedSpectraMode&&e.push({title:this.deconvolvedPeaksHighlightMode?"Hide Deconvolved Peaks":"Show Deconvolved Peaks",name:"toggleDeconvolvedPeaks",icon:{width:1792,height:1792,path:"M448 1024h896v128h-896v-128zm0-256h896v128h-896v-128zm0-256h896v128h-896v-128zm0-256h896v128h-896v-128zm-448 768h384v128h-384v-128zm0-256h384v128h-384v-128zm0-256h384v128h-384v-128zm0-256h384v128h-384v-128z"},click:()=>{this.toggleDeconvolvedPeaksHighlight()}}),e.push({title:"Download as SVG",name:"toImageSvg",icon:{width:1792,height:1792,path:"M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h320q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},click:()=>{const A=document.getElementById(this.id);A&&_l.downloadImage(A,{filename:"FLASHViewer-lineplot",height:400,width:1200,format:"svg"})}});const r=await _l.newPlot(this.id,this.data,this.layout,{modeBarButtonsToRemove:["toImage","sendDataToCloud"],modeBarButtonsToAdd:e,scrollZoom:!0});r.on("plotly_relayout",A=>{this.onRelayout(A)}),r.on("plotly_click",A=>{this.onPlotClick(A)})}catch(n){this.handleError(n,"graph-rendering")}},initializeComponent(){try{this.isInitialized=!0,this.localTitle=this.args.title,this.safeGraph()}catch(n){this.handleError(n,"initializeComponent"),this.renderFallback()}},resetManualState(){try{this.manual=!1,this.manual_xRange=void 0,this.localTitle==="Augmented Annotated Spectrum"&&(this.localTitle="Augmented Deconvolved Spectrum"),this.selectionStore.updateSelectedMass(void 0)}catch(n){this.handleError(n,"resetManualState")}},backButton(){this.resetManualState(),this.safeGraph()},toggleAnnotations(){this.annotationsVisible=!this.annotationsVisible,this.safeGraph()},toggleDeconvolvedPeaksHighlight(){this.deconvolvedPeaksHighlightMode=!this.deconvolvedPeaksHighlightMode,this.safeGraph()},onPlotClick(n){if(n.points&&n.points.length>0){const e=n.points[0].x;for(let r=0;r=n[1])return[0,1];let A=0;for(let D=0;D=n[1]||p>A&&(A=p)}return A===0?[0,1]:[0,A*1.8]}catch(e){return this.handleError(e,"computeYRange"),[0,1]}},getFallbackData(){return[{x:[0,1],y:[0,0],mode:"lines",type:"scatter",marker:{color:this.styling.unhighlightedColor},name:"No Data"}]},getFallbackLayout(){var n,e,r,A;return{title:"No Data Available",showlegend:!1,height:400,xaxis:{title:"X-axis",showgrid:!1},yaxis:{title:"Y-axis",showgrid:!0,rangemode:"nonnegative"},paper_bgcolor:((n=this.theme)==null?void 0:n.backgroundColor)||"white",plot_bgcolor:((e=this.theme)==null?void 0:e.backgroundColor)||"white",font:{color:((r=this.theme)==null?void 0:r.textColor)||"black",family:((A=this.theme)==null?void 0:A.font)||"Arial"}}},validateComponentState(){var n;try{if(!this.streamlitDataStore||!this.selectionStore)return console.warn("PlotlyLineplotUnified: Required stores not available"),!1;const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!Array.isArray(e))return console.warn("PlotlyLineplotUnified: Invalid scan data structure"),!1;const r=this.selectedScan;if(r!==void 0&&r0}};console.error(`PlotlyLineplotUnified error in ${e}:`,n,r)}}});const yO=["id"];function bO(n,e,r,A,D,w){return Ir(),ei("div",{id:n.id,class:"plot-container",style:zs(n.cssCustomProperties)},[n.showBackButton?(Ir(),ei("button",{key:0,class:"simple-button",onClick:e[0]||(e[0]=(...p)=>n.backButton&&n.backButton(...p))}," ↩ ")):Yi("",!0)],12,yO)}const xO=hs(vO,[["render",bO],["__scopeId","data-v-45ef6fca"]]),_O=ns({name:"Plotly3Dplot",props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{maximumIntensity:0}},computed:{id(){return`graph-${this.index}`},title(){return this.selectedScanRow===void 0?"":this.selectedMassRow===void 0?"Precursor signals":"Mass signals"},theme(){return this.streamlitDataStore.theme},selectedScanRow(){if(this.selectionStore.selectedScanIndex!==void 0)return this.streamlitDataStore.allDataForDrawing.per_scan_data.length===1?0:this.selectionStore.selectedScanIndex},selectedMassRow(){return this.selectionStore.selectedMassIndex},dataForDrawing(){var w,p;const n=this.selectedScanRow,e=this.streamlitDataStore.allDataForDrawing.per_scan_data,r=this.selectedMassRow;if(n===void 0)return[];const A=e[n]??{};let D={};return r===void 0?D=this.getPrecursorSignal(A):this.streamlitDataStore.allDataForDrawing.per_scan_data.length===1?D=this.getSignalNoiseObject(A.SignalPeaks,A.NoisyPeaks):D=this.getSignalNoiseObject(((w=A.SignalPeaks)==null?void 0:w[r])??[[]],((p=A.NoisyPeaks)==null?void 0:p[r])??[[]]),Object.keys(D).length===0?[]:(this.updateMaximumIntensity(D),[{name:"Signal",type:"scatter3d",mode:"lines",x:D.signal_x,y:D.signal_y,z:D.signal_z,line:{color:"#3366CC"}},{name:"Noise",type:"scatter3d",mode:"lines",x:D.noise_x,y:D.noise_y,z:D.noise_z,line:{color:"#DC3912"}}])},layout(){var n,e,r,A;return{title:`${this.title}`,paper_bgcolor:(n=this.theme)==null?void 0:n.backgroundColor,plot_bgcolor:(e=this.theme)==null?void 0:e.secondaryBackgroundColor,height:800,font:{color:(r=this.theme)==null?void 0:r.textColor,family:(A=this.theme)==null?void 0:A.font},scene:{xaxis:{title:"Mass"},yaxis:{title:"Charge",dtick:1,tick0:0},zaxis:{title:"Intensity",range:[0,this.maximumIntensity]},camera:{eye:{x:2.5,y:0,z:.2}}},showlegend:!0}}},watch:{selectedScanRow(){this.graph()},selectedMassRow(){this.graph()}},mounted(){this.graph()},methods:{updateMaximumIntensity(n){this.maximumIntensity=n.signal_z.concat(n.noise_z).reduce((e,r)=>Math.max(e,r),-1/0)},async graph(){await _l.newPlot(this.id,this.dataForDrawing,this.layout,{modeBarButtonsToRemove:["toImage","sendDataToCloud"],modeBarButtonsToAdd:[{title:"Download as SVG",name:"toImageSvg",icon:_l.Icons.camera,click:function(n){_l.downloadImage(n,{filename:"FLASHViewer-3d-plot",height:800,width:800,format:"svg"})}}]})},getPrecursorSignal(n){if(n.PrecursorScan==0)return{};const e=this.streamlitDataStore.allDataForDrawing.per_scan_data.find(D=>D.Scan===n.PrecursorScan);if(!e)return{};const r=e.MonoMass,A=n.PrecursorMass;for(let D=0,w=r.length;DA.field),r=[];return Object.entries(n).forEach(A=>{const D=A[0];if(!e.includes(D)||D==="id")return;A[1].forEach((p,t)=>{r[t]={...r[t],[D]:p}})}),r.map((A,D)=>A.id=D),r}},methods:{updateSelectedMass(n){console.log("🔍 [DEBUG] Mass Table updateSelectedMass called with:",n),n!==void 0&&this.selectionStore.updateSelectedMass(n)}}});function SO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Mass Table",index:n.index,"selected-row-index-from-listening":n.selectedMassTableRow,"default-row":0,onRowSelected:n.updateSelectedMass},null,8,["table-data","column-definitions","index","selected-row-index-from-listening","onRowSelected"])}const AO=hs(MO,[["render",SO]]),CO=ns({name:"TabulatorProteinTable",components:{TabulatorTable:y0},props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{columnDefinitions:[{title:"Scan No.",field:"Scan",sorter:"number",headerTooltip:"The identifier of the mass spectrometry scan associated with the identified proteoform."},{title:"Accession",field:"accession",headerTooltip:"The unique identifier for the protein in the reference database."},{title:"Description",field:"description",responsive:10},{title:"Length",field:"length",responsive:6,sorter:"number",headerTooltip:"The total number of amino acids in the matched protein."},{title:"Mass",field:"ProteoformMass",responsive:8,sorter:"number",headerTooltip:"The calculated mass of the proteoform in Daltons.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}},{title:"No. of Matched Fragments",field:"MatchingFragments",sorter:"number",headerTooltip:"The number of fragment ions that match the protein sequence."},{title:"No. of Modifications",field:"ModCount",sorter:"number",headerTooltip:"The number of modifications identified in the protein."},{title:"No. of Tags",field:"TagCount",sorter:"number",headerTooltip:"The number of sequence tags associated with the proteoform match."},{title:"Score",field:"Score",sorter:"number",headerTooltip:"A score indicating the confidence of the protein match (higher is better)."},{title:"Q-Value (Proteoform Level)",field:"ProteoformLevelQvalue",sorter:"number",headerTooltip:"The confidence value of the protein match at the proteoform level.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}}],initialSort:[{column:"Score",dir:"desc"}]}},computed:{selectedRow(){return this.selectionStore.selectedProteinIndex},tableData(){const n=this.streamlitDataStore.dataForDrawing.protein_table;return n.forEach(e=>e.id=e.index),n}},methods:{updateSelectedProtein(n){if(n!==void 0){this.selectionStore.updateSelectedProtein(n);const e=this.streamlitDataStore.dataForDrawing.protein_table;if(console.log("[DEBUG] updateSelectedProtein called:"),console.log(" selectedRow (from getIndex()):",n),console.log(" protein_table length:",e==null?void 0:e.length),!e||!Array.isArray(e)||e.length===0){console.error("[ERROR] protein_table is not available or empty");return}const r=e.find(D=>D&&(D.index===n||D.id===n));if(!r){console.error("[ERROR] Could not find protein with index/id:",n),console.error(" Available protein indices:",e.map(D=>(D==null?void 0:D.index)||(D==null?void 0:D.id)).slice(0,10));return}console.log(" Found protein:",r);const A=r.Scan;if(console.log(" scan_number found:",A),A!==void 0&&typeof A=="number"){const D=this.streamlitDataStore.allDataForDrawing.per_scan_data.findIndex(w=>w.Scan===A);this.selectionStore.updateSelectedScan(D)}this.selectionStore.updateSelectedTag(void 0),this.selectionStore.updateTagData(void 0)}}}});function EO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Protein Table",index:n.index,"selected-row-index-from-listening":n.selectedRow,"default-row":0,"initial-sort":n.initialSort,onRowSelected:n.updateSelectedProtein},null,8,["table-data","column-definitions","index","selected-row-index-from-listening","initial-sort","onRowSelected"])}const LO=hs(CO,[["render",EO]]),IO=ns({name:"TabulatorTagTable",components:{TabulatorTable:y0},props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{columnDefinitions:[{title:"Scan Number",field:"Scan",sorter:"number",headerTooltip:"The identifier of the mass spectrometry scan containing the sequence tag."},{title:"Start Position",field:"StartPos",sorter:"number",headerTooltip:"The position in the protein sequence where the sequence tag begins."},{title:"End Position",field:"EndPos",sorter:"number",headerTooltip:"The position in the protein sequence where the sequence tag ends."},{title:"Sequence",field:"TagSequence",sorter:"number",headerTooltip:"The amino acid sequence of the identified tag."},{title:"Length",field:"Length",sorter:"number",headerTooltip:"The number of amino acids in the sequence tag."},{title:"Tag Score",field:"Score",sorter:"number",headerTooltip:"A score indicating the confidence of the sequence tag identification (higher is better)."},{title:"N mass",field:"Nmass",sorter:"number",headerTooltip:"The N-terminal mass offset from the start of the sequence tag in Daltons.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}},{title:"C mass",field:"Cmass",sorter:"number",headerTooltip:"The C-terminal mass offset from the end of the sequence tag in Daltons.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}},{title:"Δ mass",field:"DeltaMass",sorter:"number",headerTooltip:"Delta mass is the difference between the tag flanking mass and the (partial) proteoform mass, from its terminal to the tag boundary."}],initialSort:[{column:"Score",dir:"desc"}],selectedTagIndex:void 0}},computed:{selectedRow(){return this.selectionStore.selectedTagIndex},tableData(){let e=this.streamlitDataStore.dataForDrawing.tag_table.filter(A=>A.ProteinIndex===this.selectionStore.selectedProteinIndex);const r=this.selectionStore.selectedAApos;return r!==void 0&&(e=e.filter(A=>{const D=A.StartPos,w=A.EndPos;return typeof D=="number"&&typeof w=="number"&&D<=r&&w>=r})),e.forEach(A=>A.id=A.TagIndex),e}},watch:{},methods:{getRowByTagIndex(n){return this.tableData.find(A=>A.id===n)},updateSelectedTag(n){if(n===void 0)return;this.selectionStore.updateSelectedTag(n);const e=this.getRowByTagIndex(n);if(e===void 0)return;const r=e.mzs;let A=[];typeof r=="string"&&(A=r.split(",").map(Number).filter(i=>i!==0));const D=typeof e.StartPos=="number"?e.StartPos:0,w=typeof e.EndPos=="number"?e.EndPos:0;let p=-1e3;D!==void 0&&this.selectionStore.selectedAApos!==void 0&&typeof D=="number"&&(p=this.selectionStore.selectedAApos-D);const t=e.TagSequence;let d="";typeof t=="string"&&(d=t);let g=!1;e["N mass"]===-1&&(g=!0),this.selectionStore.updateTagData({sequence:d,nTerminal:g,masses:A,selectedAA:p,startPos:D,endPos:w})}}});function RO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Tag Table",index:n.index,"default-row":0,"initial-sort":n.initialSort,onRowSelected:n.updateSelectedTag},null,8,["table-data","column-definitions","index","initial-sort","onRowSelected"])}const PO=hs(IO,[["render",RO]]),W2=i2("variable-mod",{state:()=>({variableMod:{}}),getters:{variableModifications:n=>n.variableMod,isEmpty:n=>Object.values(n.variableMod).filter(e=>e!==void 0&&e!==0).length===0},actions:{updateVariableModifications(n,e){this.variableMod={...this.variableMod,[n]:e}}}}),wv={Acetyl:42.010565,Methyl:14.01565,Phospho:79.966331,Oxidation:15.994915,Deamidated:.984016,Amidated:-.984016},r6={"N-term":["Acetyl","Methyl","Phospho"],"C-term":["Amidated"],C:["Acetyl","Methyl","Phospho"],E:["Methyl","Phospho"],D:["Methyl","Phospho"],H:["Methyl","Phospho"],I:["Methyl"],K:["Methyl","Phospho"],L:["Methyl"],M:["Oxidation"],N:["Methyl"],Q:["Deamidated","Methyl"],R:["Methyl","Phospho"],S:["Acetyl","Methyl","Phospho"],T:["Acetyl","Methyl","Phospho"],Y:["Phospho"]},OO={default:[{typeName:"",typeMass:0}],"water loss":[{typeName:"-H2O",typeMass:-18.0105646863}],"ammonium loss":[{typeName:"-NH3",typeMass:-17.0265491015}],"proton loss/addition":[{typeName:"-H",typeMass:-1.0078250319},{typeName:"+H",typeMass:1.0078250319}]},DO=ns({name:"AminoAcidCell",props:{sequenceObject:{type:Object,required:!0},index:{type:Number,required:!0},fixedModification:{type:Boolean,default:!1},disableVariableModificationSelection:{type:Boolean,default:!1},showTags:{type:Boolean,default:!1},showModifications:{type:Boolean,default:!0},showFragments:{type:Boolean,default:!0}},emits:["selected"],setup(){const n=Ns(),e=W2(),r=rc();return{streamlitData:n,variableModData:e,selectionStore:r}},data(){return{menuOpen:!1,selectedModification:void 0,customSelected:!1,customModMass:"0"}},computed:{id(){return`${this.aminoAcid}${this.index}`},theme(){return this.streamlitData.theme},aminoAcid(){return this.sequenceObject.aminoAcid},start(){var e;const n=(e=this.streamlitData.sequenceData)==null?void 0:e[this.selectedSequence].proteoform_start;return n===void 0?n:n<0?0:n},end(){var e;const n=(e=this.streamlitData.sequenceData)==null?void 0:e[this.selectedSequence].proteoform_end;return n===void 0?n:n<0&&this.length!==void 0?this.length-1:n},length(){var n;return(n=this.streamlitData.sequenceData)==null?void 0:n[this.selectedSequence].sequence.length},prefix(){if(this.start===void 0&&this.end===void 0)return this.index+1;if(this.end!==void 0&&this.index>this.end)return;if(this.start!==void 0&&this.index>=this.start)return this.index+1-this.start},protein_position(){return this.index+1},truncated_prefix(){if(!(this.start===void 0||this.index>=this.start))return this.index+1},suffix(){if(this.start===void 0&&this.end===void 0)return(length??0)-this.index;if(this.start!==void 0&&this.index0},selectedSequence(){return this.selectionStore.selectedProteinIndex!==void 0?this.selectionStore.selectedProteinIndex:0},coverage(){return this.sequenceObject.coverage!==void 0?this.sequenceObject.coverage:-1},isHighlighted(){return this.index===this.selectionStore.selectedAApos},isTruncated(){return this.sequenceObject.truncated},DoesThisAAHaveSequenceTags(){return this.coverage>0},modMass(){return this.customModMass!=="0"?parseFloat(this.customModMass).toLocaleString("en-US",{signDisplay:"always"}):this.sequenceObject.modMass}},watch:{selectedModification(){this.selectedModification!==void 0&&wv[this.selectedModification]!==void 0&&(this.sequenceObject.modMass=parseFloat(wv[this.selectedModification].toFixed(2)).toLocaleString("en-US",{signDisplay:"always"}))},showTags(){this.showTags||this.selectionStore.updateSelectedAA(void 0)}},methods:{toggleMenuOpen(){this.disableVariableModificationSelection||(this.menuOpen=!this.menuOpen)},selectCell(){this.DoesThisAAHaveSequenceTags&&this.showTags&&(this.selectionStore.selectedAApos===this.index?this.selectionStore.updateSelectedAA(void 0):this.selectionStore.updateSelectedAA(this.index)),this.DoesThisAAHaveMatchingFragments&&this.$emit("selected",this.index)},updateSelectedModification(n){if(n==="None")this.selectedModification=void 0;else if(n==="Custom"){this.customSelected=!0;return}else this.selectedModification=n;this.toggleMenuOpen(),this.customSelected=!1,this.variableModData.updateVariableModifications(this.index,this.selectedModification?wv[this.selectedModification]:0)},updateCustomModification(){this.variableModData.updateVariableModifications(this.index,parseFloat(this.customModMass)),this.toggleMenuOpen()}}});const Mu=n=>(Ty("data-v-1594c2be"),n=n(),ky(),n),zO=["id"],FO={key:0,class:"frag-marker-container-a"},BO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"green",d:"M7, 1 L9, 3 L9, 7 L9, 3 L7, 1 z","stroke-width":"1.5"})],-1)),NO=[BO],VO={key:1,class:"frag-marker-container-b"},jO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"blue",d:"M10, 0 V5 M10, 0 H5 z","stroke-width":"3"})],-1)),UO=[jO],HO={key:2,class:"frag-marker-container-c"},GO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"red",d:"M4, 1 L9, 3 L9, 7 L9, 3 L4, 1 z","stroke-width":"1.5"})],-1)),qO=[GO],WO={key:3,class:"frag-marker-container-x"},$O=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"green",d:"M1, 3 L1, 7 L3, 9 L1, 7 L1, 3 z","stroke-width":"1.5"})],-1)),YO=[$O],ZO={key:4,class:"frag-marker-container-y"},XO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"blue",d:"M0, 10 V5 M0, 10 H5 z","stroke-width":"3"})],-1)),KO=[XO],JO={key:5,class:"frag-marker-container-z"},QO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"red",d:"M1, 3 L1, 7 L6, 9 L1, 7 L1, 3 z","stroke-width":"1.5"})],-1)),eD=[QO],tD={key:6,class:"rounded-lg tag-marker tag-start"},nD={key:7,class:"rounded-lg tag-marker tag-end"},rD={key:8,class:"rounded-lg mod-marker mod-start"},iD={key:9,class:"rounded-lg mod-marker mod-end"},aD={key:10,class:"mod-marker mod-start-cont"},oD={key:11,class:"mod-marker mod-end-cont"},sD={key:12,class:"mod-marker mod-center-cont"},lD={key:13,class:"rounded-lg mod-mass"},uD=Mu(()=>ti("br",null,null,-1)),cD=Mu(()=>ti("br",null,null,-1)),hD={key:14,class:"rounded-lg mod-mass-a"},fD={key:15,class:"rounded-lg mod-mass-b"},dD={key:16,class:"rounded-lg mod-mass-c"},pD={key:17,class:"frag-marker-extra-type"},mD=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("circle",{cx:"5",cy:"5",r:"0.5",stroke:"black","stroke-width":"0.3",fill:"gold"})],-1)),gD=[mD],vD={class:"aa-text"},yD=Mu(()=>ti("br",null,null,-1)),bD=Mu(()=>ti("br",null,null,-1)),xD=Mu(()=>ti("br",null,null,-1)),_D=Mu(()=>ti("br",null,null,-1)),wD={key:4};function TD(n,e,r,A,D,w){const p=Hr("v-tooltip"),t=Hr("v-select"),d=Hr("v-list-item"),g=Hr("v-text-field"),i=Hr("v-btn"),M=Hr("v-form"),v=Hr("v-list"),f=Hr("v-menu");return Ir(),ei("div",{id:n.id,class:Ju(["d-flex justify-center align-center rounded-lg",[n.aminoAcidCellClass,{highlighted:n.isHighlighted},{truncated:n.isTruncated}]]),style:zs(n.aminoAcidCellStyles),onClick:e[5]||(e[5]=(...l)=>n.selectCell&&n.selectCell(...l)),onContextmenu:e[6]||(e[6]=jp((...l)=>n.toggleMenuOpen&&n.toggleMenuOpen(...l),["prevent"]))},[n.showFragments&&n.sequenceObject.aIon?(Ir(),ei("div",FO,NO)):Yi("",!0),n.showFragments&&n.sequenceObject.bIon?(Ir(),ei("div",VO,UO)):Yi("",!0),n.showFragments&&n.sequenceObject.cIon?(Ir(),ei("div",HO,qO)):Yi("",!0),n.showFragments&&n.sequenceObject.xIon?(Ir(),ei("div",WO,YO)):Yi("",!0),n.showFragments&&n.sequenceObject.yIon?(Ir(),ei("div",ZO,KO)):Yi("",!0),n.showFragments&&n.sequenceObject.zIon?(Ir(),ei("div",JO,eD)):Yi("",!0),n.showTags&&n.sequenceObject.tagStart?(Ir(),ei("div",tD)):Yi("",!0),n.showTags&&n.sequenceObject.tagEnd?(Ir(),ei("div",nD)):Yi("",!0),n.showModifications&&(n.sequenceObject.modStart||n.isThisAAmodified)?(Ir(),ei("div",rD)):Yi("",!0),n.showModifications&&(n.sequenceObject.modEnd||n.isThisAAmodified)?(Ir(),ei("div",iD)):Yi("",!0),n.showModifications&&n.sequenceObject.modStart&&!n.sequenceObject.modEnd?(Ir(),ei("div",aD)):Yi("",!0),n.showModifications&&!n.sequenceObject.modStart&&n.sequenceObject.modEnd?(Ir(),ei("div",oD)):Yi("",!0),n.showModifications&&n.sequenceObject.modCenter?(Ir(),ei("div",sD)):Yi("",!0),n.showModifications&&(n.sequenceObject.modEnd||n.isThisAAmodified)?(Ir(),ei("div",lD,[qi(eo(n.modMass)+" ",1),gt(p,{activator:"parent",class:"foreground"},{default:ai(()=>[qi(eo(`Modification Mass: ${n.modMass} Da`)+" ",1),uD,qi(" "+eo(`Possible Modifications: ${n.sequenceObject.modLabels}`)+" ",1),cD]),_:1})])):Yi("",!0),n.showFragments&&n.showModifications&&n.sequenceObject.modEnd&&n.sequenceObject.aIon&&!n.sequenceObject.bIon?(Ir(),ei("div",hD,eo(n.sequenceObject.modMass),1)):Yi("",!0),n.showFragments&&n.showModifications&&n.sequenceObject.modEnd&&n.sequenceObject.bIon?(Ir(),ei("div",fD,eo(n.sequenceObject.modMass),1)):Yi("",!0),n.showFragments&&n.showModifications&&n.sequenceObject.modEnd&&n.sequenceObject.cIon&&!n.sequenceObject.bIon?(Ir(),ei("div",dD,eo(n.sequenceObject.modMass),1)):Yi("",!0),n.showModifications&&n.DoesThisAAHaveExtraFragTypes?(Ir(),ei("div",pD,gD)):Yi("",!0),ti("div",vD,eo(n.aminoAcid),1),gt(f,{modelValue:n.menuOpen,"onUpdate:modelValue":e[4]||(e[4]=l=>n.menuOpen=l),activator:"parent",location:"end","open-on-click":!1,"close-on-content-click":!1,width:"200px"},{default:ai(()=>[gt(v,null,{default:ai(()=>[gt(d,null,{default:ai(()=>[gt(t,{modelValue:n.selectedModification,"onUpdate:modelValue":[e[0]||(e[0]=l=>n.selectedModification=l),n.updateSelectedModification],clearable:"true",label:"Modification",density:"compact",items:n.modificationsForSelect,"onClick:clear":e[1]||(e[1]=l=>n.selectedModification=void 0)},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),n.customSelected?(Ir(),za(d,{key:0},{default:ai(()=>[gt(M,{onSubmit:e[3]||(e[3]=jp(()=>{},["prevent"]))},{default:ai(()=>[gt(g,{modelValue:n.customModMass,"onUpdate:modelValue":e[2]||(e[2]=l=>n.customModMass=l),"hide-details":"",label:"Monoisotopic mass in Da",type:"number"},null,8,["modelValue"]),gt(i,{type:"submit",block:"true",class:"mt-2",onClick:n.updateCustomModification},{default:ai(()=>[qi("Submit")]),_:1},8,["onClick"])]),_:1})]),_:1})):Yi("",!0)]),_:1})]),_:1},8,["modelValue"]),gt(p,{activator:"parent"},{default:ai(()=>[ti("div",null,eo(`Protein Position: ${n.protein_position}`),1),n.prefix!==void 0?(Ir(),ei($r,{key:0},[qi(eo(`Prefix: ${n.prefix}`)+" ",1),yD],64)):Yi("",!0),n.truncated_prefix!==void 0?(Ir(),ei($r,{key:1},[qi(eo(`Truncated Prefix: ${n.truncated_prefix}`)+" ",1),bD],64)):Yi("",!0),n.suffix!==void 0?(Ir(),ei($r,{key:2},[qi(eo(`Suffix: ${n.suffix}`)+" ",1),xD],64)):Yi("",!0),n.truncated_suffix!==void 0?(Ir(),ei($r,{key:3},[qi(eo(`Truncated Suffix: ${n.truncated_suffix}`)+" ",1),_D],64)):Yi("",!0),n.DoesThisAAHaveExtraFragTypes?(Ir(),ei("div",wD,eo(n.sequenceObject.extraTypes.join(", ")),1)):Yi("",!0)]),_:1})],46,zO)}const i6=hs(DO,[["render",TD],["__scopeId","data-v-1594c2be"]]),kD=ns({name:"ProteinTerminalCell",props:{proteinTerminal:{type:String,required:!0},index:{type:Number,required:!0},truncated:{type:Boolean,required:!1,default:!1},determined:{type:Boolean,required:!1,default:!0},disableVariableModificationSelection:{type:Boolean,default:!1}},setup(){const n=Ns(),e=W2();return{streamlitData:n,variableModData:e}},data(){return{menuOpen:!1,selectedModification:void 0,customSelected:!1,customModMass:"0"}},computed:{id(){return`${this.proteinTerminal}${this.index}`},theme(){return this.streamlitData.theme},proteinTerminalText(){return this.proteinTerminal.charAt(0)},hasVariableModification(){return this.variableModData.variableModifications[this.index]!==void 0&&this.variableModData.variableModifications[this.index]!==0},modificationsForSelect(){return["None","Custom",...this.potentialModifications]},proteinTerminalCellStyles(){var n,e;return{"--protein-terminal-cell-color":((n=this.theme)==null?void 0:n.textColor)??"#fff","--protein-terminal-cell-hover-color":"#fff","--protein-terminal-cell-hover-bg-color":((e=this.theme)==null?void 0:e.secondaryBackgroundColor)??"#000"}},proteinTerminalCellClasses(){return{"protein-terminal":this.selectedModification===void 0&&!this.hasVariableModification,"protein-terminal-modified":this.selectedModification!==void 0||this.hasVariableModification}},potentialModifications(){return r6[this.proteinTerminal]??[]}},methods:{toggleMenuOpen(){this.disableVariableModificationSelection||(this.menuOpen=!this.menuOpen)},updateSelectedModification(n){if(n==="None")this.selectedModification=void 0;else if(n==="Custom"){this.customSelected=!0;return}else this.selectedModification=n;this.toggleMenuOpen(),this.customSelected=!1,this.variableModData.updateVariableModifications(this.index,this.selectedModification?wv[this.selectedModification]:0)},updateCustomModification(){this.variableModData.updateVariableModifications(this.index,parseFloat(this.customModMass)),this.toggleMenuOpen()}}});const MD={key:0,class:"undetermined"};function SD(n,e,r,A,D,w){const p=Hr("v-select"),t=Hr("v-list-item"),d=Hr("v-text-field"),g=Hr("v-btn"),i=Hr("v-form"),M=Hr("v-list"),v=Hr("v-menu"),f=Hr("v-tooltip");return Ir(),ei("div",{class:Ju(["d-flex justify-center align-center rounded-lg",n.proteinTerminalCellClasses]),style:zs(n.proteinTerminalCellStyles),onClick:e[5]||(e[5]=jp(()=>{},["stop"])),onContextmenu:e[6]||(e[6]=jp((...l)=>n.toggleMenuOpen&&n.toggleMenuOpen(...l),["prevent"]))},[ti("div",{class:Ju(["terminal-text",{truncated:n.truncated}])},eo(n.proteinTerminalText),3),n.determined?Yi("",!0):(Ir(),ei("div",MD,"??")),gt(v,{modelValue:n.menuOpen,"onUpdate:modelValue":e[4]||(e[4]=l=>n.menuOpen=l),activator:"parent",location:"end","open-on-click":!1,"close-on-content-click":!1,width:"200px"},{default:ai(()=>[gt(M,null,{default:ai(()=>[gt(t,null,{default:ai(()=>[gt(p,{modelValue:n.selectedModification,"onUpdate:modelValue":[e[0]||(e[0]=l=>n.selectedModification=l),n.updateSelectedModification],clearable:"",label:"Modification",density:"compact",items:n.modificationsForSelect,"onClick:clear":e[1]||(e[1]=l=>n.selectedModification=void 0)},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),n.customSelected?(Ir(),za(t,{key:0},{default:ai(()=>[gt(i,{onSubmit:e[3]||(e[3]=jp(()=>{},["prevent"]))},{default:ai(()=>[gt(d,{modelValue:n.customModMass,"onUpdate:modelValue":e[2]||(e[2]=l=>n.customModMass=l),"hide-details":"",label:"Monoisotopic mass in Da",type:"number"},null,8,["modelValue"]),gt(g,{type:"submit",block:"",class:"mt-2",onClick:n.updateCustomModification},{default:ai(()=>[qi("Submit")]),_:1},8,["onClick"])]),_:1})]),_:1})):Yi("",!0)]),_:1})]),_:1},8,["modelValue"]),gt(f,{activator:"parent"},{default:ai(()=>[qi(eo(n.proteinTerminalText),1)]),_:1})],38)}const AD=hs(kD,[["render",SD],["__scopeId","data-v-fe27503e"]]);var a6={exports:{}};/*! dom-to-image-more 26-04-2023 */(function(n,e){(function(r){const A=function(){let y=0;return{escape:function(S){return S.replace(/([.*+?^${}()|[]\/\\])/g,"\\$1")},isDataUrl:function(S){return S.search(/^(data:)/)!==-1},canvasToBlob:function(S){return S.toBlob?new Promise(function(L){S.toBlob(L)}):function(L){return new Promise(function(b){var R=f(L.toDataURL().split(",")[1]),I=R.length,O=new Uint8Array(I);for(let z=0;z{this.filterValues[n]||(this.filterValues[n]={}),this.filterValues[n].text=e.value,this.applyFilters()}),e},refreshTeleportDialog(){!this.teleportDialog||!this.teleportContainer||(this.teleportContainer.innerHTML="",this.renderFilterDialog())},closeTeleportDialog(){this.teleportDialog=!1,this.cleanupTeleport()},cleanupTeleport(){this.teleportBackdrop&&this.parentDocument&&(this.parentDocument.body.removeChild(this.teleportBackdrop),this.teleportBackdrop=null),this.teleportContainer&&(this.teleportContainer=null)}}});const rO={style:{padding:"8px",width:"98%"}},iO={class:"d-flex"},aO={style:{width:"100%",display:"grid","grid-template-columns":"1fr 1fr 1fr"}},oO={class:"d-flex justify-start",style:{"grid-column":"1 / span 1"}},sO={style:{position:"relative",display:"inline-block"}},lO={key:0,class:"filter-badge"},uO={class:"d-flex justify-center",style:{"grid-column":"2 / span 1"}},cO={class:"d-flex justify-end",style:{"grid-column":"3 / span 1"}},hO=["id"];function fO(n,e,r,A,D,w){const p=Hr("v-btn");return Ir(),ei("div",rO,[ti("div",iO,[ti("div",aO,[ti("div",oO,[ti("div",sO,[gt(p,{variant:"text",size:"small",icon:"mdi-filter",onClick:n.openFilterDialog},null,8,["onClick"]),n.activeFilterCount>0?(Ir(),ei("div",lO,eo(n.activeFilterCount),1)):Yi("",!0)]),gt(p,{variant:"text",size:"small",icon:"mdi-download",onClick:n.downloadTable},null,8,["onClick"]),nb(n.$slots,"start-title-row")]),ti("div",uO,[ti("h4",null,[nb(n.$slots,"default",{},()=>[qi(eo(n.title??""),1)])])]),ti("div",cO,[nb(n.$slots,"end-title-row")])])]),ti("div",{id:n.id,class:Ju(n.tableClasses),onClick:e[0]||(e[0]=(...t)=>n.onTableClick&&n.onTableClick(...t))},null,10,hO)])}const y0=hs(nO,[["render",fO]]),Df=n=>e=>e.getValue().toString().length>4?e.getValue().toFixed(n??4):e.getValue(),dO=ns({name:"TabulatorScanTable",components:{TabulatorTable:y0},props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{columnDefinitions:[{title:"Index",field:"id",sorter:"number",headerTooltip:"The sequential index of the spectrum in the dataset."},{title:"Scan Number",field:"Scan",sorter:"number",headerTooltip:"The identifier of the mass spectrometry scan."},{title:"MS Level",field:"MSLevel",sorter:"number",headerTooltip:"The level of mass spectrometry analysis (e.g., MS1 or MS2)."},{title:"Retention time",field:"RT",formatter:Df(),sorter:"number",headerTooltip:"The time at which the spectrum was detected during the chromatographic separation in seconds."},{title:"Precursor Mass",field:"PrecursorMass",formatter:Df(),sorter:"number",headerTooltip:"The mass of the precursor ion selected for fragmentation in Daltons."},{title:"#Masses",field:"#Masses",sorter:"number",headerTooltip:"The number of detected masses in the spectrum."}]}},computed:{tableData(){const n=this.streamlitDataStore.allDataForDrawing.per_scan_data;return n.forEach(e=>e.id=e.index),n},selectedRow(){return this.selectionStore.selectedScanIndex}},methods:{updateSelectedScan(n){n!==void 0&&(n!==this.selectionStore.selectedScanIndex&&this.selectionStore.updateSelectedMass(0),this.selectionStore.updateSelectedScan(n))}}});function pO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Scan Table",index:n.index,"selected-row-index-from-listening":n.selectedRow,"default-row":0,onRowSelected:n.updateSelectedScan},null,8,["table-data","column-definitions","index","selected-row-index-from-listening","onRowSelected"])}const mO=hs(dO,[["render",pO]]),gO={xPosScalingFactor:27.5,xPosScalingThreshold:30,enableManualZoom:!0,showChargeLabels:!0,minAnnotationWidth:2},y5={highlightColor:"#E4572E",selectedColor:"#F3A712",unhighlightedColor:"lightblue",highlightHiddenColor:"1f77b4",annotationColors:{massButton:"#E4572E",selectedMassButton:"#F3A712",sequenceArrow:"#E4572E",selectedSequenceArrow:"#F3A712",background:"#f0f0f0",buttonHover:"#e0e0e0"}},vO=ns({name:"PlotlyLineplotUnified",props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{manual:!1,manual_xRange:void 0,isInitialized:!1,annotationsVisible:!0,deconvolvedPeaksHighlightMode:!1,localTitle:""}},computed:{id(){return`graph-${this.index}`},isDataReady(){var n;try{const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||!Array.isArray(e)||e.length===0)return!1;const r=this.selectedScan;if(r===void 0||r>=e.length)return!1;const A=e[r];if(!A||typeof A!="object")return!1;const D=this.xColumn,w=this.yColumn;if(!D||!w)return!1;const p=A[D],t=A[w];return!(!Array.isArray(p)||!Array.isArray(t)||p.length===0||t.length===0)}catch(e){return this.handleError(e,"isDataReady-computation"),!1}},theme(){return this.streamlitDataStore.theme},isTnTMode(){return this.selectionStore.selectedTag!==void 0},isAnnotatedSpectraMode(){return this.xAxisLabel==="m/z"},config(){return{...gO,...this.args.config}},styling(){var n;return{...y5,...this.args.styling,annotationColors:{...y5.annotationColors,...(n=this.args.styling)==null?void 0:n.annotationColors}}},selectedScan(){var n;try{const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;return!e||e.length===0?void 0:0}catch(e){this.handleError(e,"selectedScan-computation");return}},selectedTag(){return this.isTnTMode?this.selectionStore.selectedTagIndex:void 0},selectedAA(){var n;return this.isTnTMode?(n=this.selectionStore.selectedTag)==null?void 0:n.selectedAA:void 0},currentTitle(){return this.localTitle||this.args.title},xAxisLabel(){switch(this.currentTitle){case"Annotated Spectrum":case"Augmented Annotated Spectrum":return"m/z";case"Deconvolved Spectrum":case"Augmented Deconvolved Spectrum":return"Monoisotopic Mass";default:return""}},yAxisLabel(){return"Intensity"},xColumn(){switch(this.currentTitle){case"Annotated Spectrum":case"Augmented Annotated Spectrum":return"MonoMass_Anno";case"Deconvolved Spectrum":case"Augmented Deconvolved Spectrum":return"MonoMass";default:return""}},yColumn(){switch(this.currentTitle){case"Annotated Spectrum":case"Augmented Annotated Spectrum":return"SumIntensity_Anno";case"Deconvolved Spectrum":case"Augmented Deconvolved Spectrum":return"SumIntensity";default:return""}},xValues(){var n;try{const e=[],r=this.selectedScan;if(r===void 0)return e;const A=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!A||r>=A.length)return e;const D=A[r];if(!D)return e;const w=D[this.xColumn];return!w||!Array.isArray(w)||w.forEach(p=>{typeof p=="number"&&!isNaN(p)&&e.push(p,p,p)}),e}catch(e){return this.handleError(e,"xValues-computation"),[]}},yValues(){var n;try{const e=[],r=this.selectedScan;if(r===void 0)return e;const A=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!A||r>=A.length)return e;const D=A[r];if(!D)return e;const w=D[this.yColumn];return!w||!Array.isArray(w)||w.forEach(p=>{typeof p=="number"&&!isNaN(p)&&e.push(-1e7,p,-1e7)}),e}catch(e){return this.handleError(e,"yValues-computation"),[]}},MassValues(){var n;try{if(this.selectedScan===void 0)return[];const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||this.selectedScan>=e.length)return[];const r=e[this.selectedScan],A=r==null?void 0:r.MonoMass;return Array.isArray(A)?A:[]}catch(e){return this.handleError(e,"xMassValues-computation"),[]}},MZValues(){var n;try{if(this.selectedScan===void 0)return[];const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||this.selectedScan>=e.length)return[];const r=e[this.selectedScan],A=r==null?void 0:r.MonoMass_Anno;return Array.isArray(A)?A:[]}catch(e){return this.handleError(e,"xMassValues-computation"),[]}},mzSignals(){var n;try{if(this.selectedScan===void 0)return[];const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!e||this.selectedScan>=e.length)return[];const r=e[this.selectedScan],A=r==null?void 0:r.SignalPeaks;return Array.isArray(A)?A:[]}catch(e){return this.handleError(e,"mzSignals-computation"),[]}},showBackButton(){return this.isTnTMode&&this.currentTitle==="Augmented Annotated Spectrum"},highlightedValues(){var n,e;try{const r=this.MassValues,A=this.mzSignals;if(r.length===0)return[];let D=[];const w=new Set;let p=[];((n=this.selectionStore.selectedTag)==null?void 0:n.masses)!==void 0&&(p=(e=this.selectionStore.selectedTag)==null?void 0:e.masses);let t=[];p.forEach((d,g)=>{for(let i=0;i=0&&this.selectionStore.selectedMassIndex=r.length)continue;if(w.add(g),A.length===0){D.push({mass:this.MassValues[g],mzs:[],charges:[],intensity:[]});continue}const i=r[g];let M=[],v=[],f=[];const l=A[g];if(Array.isArray(l))for(let a=0;a=4&&(M.push(u[1]),f.push(u[2]),v.push(u[3]))}D.push({mass:i,mzs:M,charges:v,intensity:f})}if(this.deconvolvedPeaksHighlightMode)for(let d=0;d=4&&(i.push(a[1]),v.push(a[2]),M.push(a[3]))}D.push({mass:g,mzs:i,charges:M,intensity:v})}return D}catch(r){return this.handleError(r,"highlightedValues-computation"),[]}},highlightedMassPos(){var n,e;try{const r=this.highlightedValues;if(r.length===0||!Array.isArray(this.MassValues))return new Array(((n=this.MassValues)==null?void 0:n.length)||0).fill(!1);const A=new Set(r.map(D=>D.mass));return this.MassValues.map(D=>A.has(D))}catch(r){return this.handleError(r,"booleanMassHighlightMask-computation"),new Array(((e=this.MassValues)==null?void 0:e.length)||0).fill(!1)}},highlightedMzPos(){var n,e;try{const r=this.highlightedValues;if(r.length===0||!Array.isArray(this.MZValues))return new Array(((n=this.MZValues)==null?void 0:n.length)||0).fill(!1);const A=new Set(r.flatMap(D=>D.mzs));return this.MZValues.map(D=>A.has(D))}catch(r){return this.handleError(r,"booleanHighlightMask-computation"),new Array(((e=this.MZValues)==null?void 0:e.length)||0).fill(!1)}},plotData(){var p,t;let n=[],e=[],r=[],A=[],D=[],w=[];for(let d=0;d0)return e.width}return-1},getAnnotationPositioning(){const n=this.yRange,e=this.xRange;if(n.length<2||n[1]<=0||e.length<2)return null;const r=n[1]/1.8,A=r*1.18,D=r*1.25,w=r*1.32,p=this.computeXposScalingFactor(e[1]-e[0]);return{ymax:r,ypos_low:A,ypos:D,ypos_high:w,xpos_scaling:p,xRange:e,yRange:n}},annotationBoxData(){try{return this.computeAnnotationBoxes(this.xRange,this.yRange)}catch(n){return this.handleError(n,"annotationBoxData-computation"),[]}},xRange(){try{const n=this.xValues;if(n.length===0)return[0,1];if(this.deconvolvedPeaksHighlightMode){const g=Math.min(...n),i=Math.max(...n);return[g*.98,i*1.02]}if(!this.annotationsVisible&&!this.manual){const g=Math.min(...n),i=Math.max(...n);return[g*.98,i*1.02]}if(this.manual&&this.manual_xRange!==void 0)return this.manual_xRange;const e=this.highlightedValues;if(e.length===0){const g=Math.min(...n),i=Math.max(...n);return[g*.98,i*1.02]}let r=[0,1];if(this.xAxisLabel==="m/z"?r=e.flatMap(g=>Array.isArray(g.mzs)?g.mzs:[]).filter(g=>Number.isFinite(g)):r=e.map(g=>g.mass).filter(g=>!isNaN(g)),r.length===0)return[0,1];let A=Math.min(...r)*.98,D=Math.max(...r)*1.02;if(this.xAxisLabel==="m/z")return[A,D];let w=r.reduce((g,i)=>g+i,0)/r.length,p=.5*.9*this.maxAnnotationRange,t=[w-p,w+p];return this.calculateOptimalXRange(t)}catch(n){return this.handleError(n,"xRange-computation"),[0,1]}},yRange(){try{return this.computeYRange(this.xRange)}catch(n){return this.handleError(n,"yRange-computation"),[0,1]}},annotationData(){var n,e,r,A;try{if(!this.annotationsVisible)return{shapes:[],annotations:[],traces:[]};let D=[],w=[];((n=this.selectionStore.selectedTag)==null?void 0:n.masses)!==void 0&&(w=(e=this.selectionStore.selectedTag)==null?void 0:e.masses);let p=[];w.forEach((k,E)=>{for(let x=0;x=0&&this.selectionStore.selectedMassIndex=t.length)continue;if(d.length===0){D.push({mass:this.MassValues[E],mzs:[],charges:[],intensity:[]});continue}const x=t[E];let S=[],L=[],b=[];const R=d[E];if(Array.isArray(R))for(let I=0;I=4&&(S.push(O[1]),b.push(O[2]),L.push(O[3]))}D.push({mass:x,mzs:S,charges:L,intensity:b})}const g=D;if(g.length===0)return{shapes:[],annotations:[],traces:[]};const i=this.getAnnotationPositioning;if(!i)return{shapes:[],annotations:[],traces:[]};const{ypos_low:M,ypos:v,ypos_high:f,xpos_scaling:l}=i;let a=[],u=[],o=[];if(this.xAxisLabel==="m/z"){if(this.selectionStore.selectedMassIndex===void 0)return{shapes:[],annotations:[],traces:[]};if(this.selectionStore.selectedMassIndex>=this.MassValues.length)return{shapes:[],annotations:[],traces:[]};let k=this.styling.annotationColors.massButton;const E=g[0],{mzs:x,charges:S,intensity:L}=E;if(!x||x.length===0)return{shapes:[],annotations:[],traces:[]};const b=new Map;for(let z=0;zz.type==="charge"&&z.visible);let O=0;return b.forEach((z,F)=>{const B=z.reduce((Y,U)=>Y+U.intensity,0),W=z.map(Y=>Y.intensity/B*Y.mz).reduce((Y,U)=>Y+U,0);I.some(Y=>Y.index===O)&&(u.push({type:"rect",x0:W-.5*l,y0:M,x1:W+.5*l,y1:f,fillcolor:k,line:{width:0}}),o.push({x:W,y:v,xref:"x",yref:"y",text:"z="+F,showarrow:!1,font:{size:15}})),O++}),{shapes:u,annotations:o,traces:a}}let s=[];const h=(r=this.selectionStore.selectedTag)==null?void 0:r.selectedAA,m=this.annotationBoxData.filter(k=>k.type==="mass"&&k.visible),T=g.length===1?2:1;for(let k=0;kL.index===k)){let L=this.styling.annotationColors.massButton,b="sans-serif";(h===k||h===k-1)&&(L=this.styling.annotationColors.selectedMassButton,b="Arial Black, Arial Bold, Arial, sans-serif"),a.push({x:[x],y:[v],mode:"markers",marker:{size:20,opacity:0},hoverinfo:"text",hovertext:String(x.toFixed(2)),type:"scatter"}),u.push({type:"rect",x0:x-T*l,y0:M,x1:x+T*l,y1:f,fillcolor:L,line:{width:0}}),o.push({x,y:v,xref:"x",yref:"y",text:x.toFixed(2),showarrow:!1,font:{size:15,family:b}})}}const y=v*.5,C=v*.6,_=(A=this.selectionStore.selectedTag)==null?void 0:A.sequence;for(let k=0;kb.index===k),L=m.some(b=>b.index===k+1);if(S&&L){let b=this.styling.annotationColors.sequenceArrow,R="sans-serif";h===k&&(b=this.styling.annotationColors.selectedSequenceArrow,R="Arial Black, Arial Bold, Arial, sans-serif");let I=E.mass,O=x.mass;const z=(I+O)/2;let F=z,B=z;const N=Math.abs(I-O)*.9;let W="",j=0;if(_!==void 0&&_.length>0){const Y=_.length-1-k;Y>=0&&Y<_.length&&(W=_[Y])}I>O?(j=I-O,I-=N,F+=N*.1,O+=N,B-=N*.1):(j=O-I,I+=N,F-=N*.1,O-=N,B+=N*.1),s.push({ax:F,ay:y,xref:"x",yref:"y",x:I,y,axref:"x",ayref:"y",showarrow:!0,arrowhead:0,arrowsize:1,arrowwidth:2,arrowcolor:b}),s.push({ax:B,ay:y,xref:"x",yref:"y",x:O,y,axref:"x",ayref:"y",showarrow:!0,arrowhead:2,arrowsize:1,arrowwidth:2,arrowcolor:b}),s.push({x:z,y:C,xref:"x",yref:"y",text:W,hovertext:"Δ="+j.toFixed(2)+" Da",showarrow:!1,font:{size:15,color:b,family:R}})}}return{shapes:u,annotations:[...o,...s],traces:a}}catch(D){return this.handleError(D,"annotationData-computation"),{shapes:[],annotations:[],traces:[]}}},data(){let n=[];if(!this.annotationsVisible&&!this.deconvolvedPeaksHighlightMode)return n.push({x:this.xValues,y:this.yValues,mode:"lines",type:"scatter",connectgaps:!1,marker:{color:this.styling.highlightHiddenColor}}),n;if(n.push({x:this.plotData.unhighlighted_x,y:this.plotData.unhighlighted_y,mode:"lines",type:"scatter",marker:{color:this.styling.unhighlightedColor}}),n.push({x:this.plotData.highlighted_x,y:this.plotData.highlighted_y,mode:"lines",type:"scatter",marker:{color:this.styling.highlightColor}}),n.push({x:this.plotData.selected_x,y:this.plotData.selected_y,mode:"lines",type:"scatter",marker:{color:this.styling.selectedColor}}),this.annotationsVisible){const e=this.annotationData.traces;n.push(...e)}return n},layout(){var e,r,A,D,w;const n={title:`${this.currentTitle}`,showlegend:!1,height:400,xaxis:{title:this.xAxisLabel,showgrid:!1,showline:!0,linecolor:"grey",linewidth:1},yaxis:{title:this.yAxisLabel,showgrid:!0,gridcolor:(e=this.theme)==null?void 0:e.secondaryBackgroundColor,rangemode:"nonnegative",fixedrange:!1,showline:!0,linecolor:"grey",linewidth:1},paper_bgcolor:(r=this.theme)==null?void 0:r.backgroundColor,plot_bgcolor:(A=this.theme)==null?void 0:A.backgroundColor,font:{color:(D=this.theme)==null?void 0:D.textColor,family:(w=this.theme)==null?void 0:w.font}};return n.xaxis.range=this.xRange,n.yaxis.range=this.yRange,this.annotationData&&this.annotationData.shapes?n.shapes=this.annotationData.shapes:n.shapes=[],this.annotationData&&this.annotationData.annotations?n.annotations=this.annotationData.annotations:n.annotations=[],n},cssCustomProperties(){return{"--highlight-color":this.styling.highlightColor,"--selected-color":this.styling.selectedColor,"--unhighlighted-color":this.styling.unhighlightedColor,"--annotation-background":this.styling.annotationColors.background,"--button-hover-color":this.styling.annotationColors.buttonHover}}},watch:{isDataReady:{handler(n){n&&this.safeGraph()},immediate:!0},"streamlitDataStore.allDataForDrawing.per_scan_data":{handler(){this.safeGraph()},deep:!0},selectedScan(){this.resetManualState(),this.safeGraph()},xValues(){this.safeGraph()},selectedTag(){this.resetManualState(),this.safeGraph()},annotationsVisible(){this.safeGraph()},deconvolvedPeaksHighlightMode(){this.safeGraph()},"selectionStore.selectedMassIndex"(){this.manual=!1,this.safeGraph()}},mounted(){this.initializeComponent()},methods:{computeXposScalingFactor(n){const e=this.actualPlotWidth;return e<0?0:1200/e*n/this.xPosScalingFactor},computeAnnotationBoxes(n,e){try{const r=this.highlightedValues;if(r.length===0)return[];if(e.length<2||e[1]<=0||n.length<2)return[];const A=e[1]/1.8,D=A*1.18,w=A*1.32,p=this.computeXposScalingFactor(n[1]-n[0]),t=[];if(this.xAxisLabel==="m/z"){if(this.selectionStore.selectedMassIndex===void 0||this.selectionStore.selectedMassIndex>=this.MassValues.length)return t;const d=r[0],{mzs:g,charges:i,intensity:M}=d;if(!g||g.length===0)return t;const v=new Map;for(let l=0;l{const u=l.reduce((h,c)=>h+c.intensity,0),s=l.map(h=>h.intensity/u*h.mz).reduce((h,c)=>h+c,0);t.push({x:s,y:(D+w)/2,width:p,height:w-D,type:"charge",index:f++,visible:!0})})}else{const d=r.length===1?2:1;for(let g=0;g1){let d=!1;for(let g=0;g{g.visible=!1})}return t}catch(r){return this.handleError(r,"computeAnnotationBoxes"),[]}},wouldAnnotationsBeVisible(n){try{const e=this.computeYRange(n);return this.computeAnnotationBoxes(n,e).some(A=>A.visible)}catch(e){return this.handleError(e,"wouldAnnotationsBeVisible"),!0}},calculateOptimalXRange(n){try{let A=[...n];for(let D=0;D<10;D++){if(this.wouldAnnotationsBeVisible(A))return A;const w=(A[0]+A[1])/2,t=(A[1]-A[0])/2*.8;if(A=[w-t,w+t],A[1]-A[0]<.1)break}return A}catch(e){return this.handleError(e,"calculateOptimalXRange"),n}},testBoxesOverlapForRange(n,e,r){try{if(r.length!==2||r[1]<=r[0])return!1;const A=(r[1]-r[0])*.01,D=n.height*.1,w=n.x-n.width/2-A,p=n.x+n.width/2+A,t=n.y-n.height/2-D,d=n.y+n.height/2+D,g=e.x-e.width/2-A,i=e.x+e.width/2+A,M=e.y-e.height/2-D,v=e.y+e.height/2+D;return!(p{this.toggleAnnotations()}}];this.isAnnotatedSpectraMode&&e.push({title:this.deconvolvedPeaksHighlightMode?"Hide Deconvolved Peaks":"Show Deconvolved Peaks",name:"toggleDeconvolvedPeaks",icon:{width:1792,height:1792,path:"M448 1024h896v128h-896v-128zm0-256h896v128h-896v-128zm0-256h896v128h-896v-128zm0-256h896v128h-896v-128zm-448 768h384v128h-384v-128zm0-256h384v128h-384v-128zm0-256h384v128h-384v-128zm0-256h384v128h-384v-128z"},click:()=>{this.toggleDeconvolvedPeaksHighlight()}}),e.push({title:"Download as SVG",name:"toImageSvg",icon:{width:1792,height:1792,path:"M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h320q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},click:()=>{const A=document.getElementById(this.id);A&&_l.downloadImage(A,{filename:"FLASHViewer-lineplot",height:400,width:1200,format:"svg"})}});const r=await _l.newPlot(this.id,this.data,this.layout,{modeBarButtonsToRemove:["toImage","sendDataToCloud"],modeBarButtonsToAdd:e,scrollZoom:!0});r.on("plotly_relayout",A=>{this.onRelayout(A)}),r.on("plotly_click",A=>{this.onPlotClick(A)})}catch(n){this.handleError(n,"graph-rendering")}},initializeComponent(){try{this.isInitialized=!0,this.localTitle=this.args.title,this.safeGraph()}catch(n){this.handleError(n,"initializeComponent"),this.renderFallback()}},resetManualState(){try{this.manual=!1,this.manual_xRange=void 0,this.localTitle==="Augmented Annotated Spectrum"&&(this.localTitle="Augmented Deconvolved Spectrum"),this.selectionStore.updateSelectedMass(void 0)}catch(n){this.handleError(n,"resetManualState")}},backButton(){this.resetManualState(),this.safeGraph()},toggleAnnotations(){this.annotationsVisible=!this.annotationsVisible,this.safeGraph()},toggleDeconvolvedPeaksHighlight(){this.deconvolvedPeaksHighlightMode=!this.deconvolvedPeaksHighlightMode,this.safeGraph()},onPlotClick(n){if(n.points&&n.points.length>0){const e=n.points[0].x;for(let r=0;r=n[1])return[0,1];let A=0;for(let D=0;D=n[1]||p>A&&(A=p)}return A===0?[0,1]:[0,A*1.8]}catch(e){return this.handleError(e,"computeYRange"),[0,1]}},getFallbackData(){return[{x:[0,1],y:[0,0],mode:"lines",type:"scatter",marker:{color:this.styling.unhighlightedColor},name:"No Data"}]},getFallbackLayout(){var n,e,r,A;return{title:"No Data Available",showlegend:!1,height:400,xaxis:{title:"X-axis",showgrid:!1},yaxis:{title:"Y-axis",showgrid:!0,rangemode:"nonnegative"},paper_bgcolor:((n=this.theme)==null?void 0:n.backgroundColor)||"white",plot_bgcolor:((e=this.theme)==null?void 0:e.backgroundColor)||"white",font:{color:((r=this.theme)==null?void 0:r.textColor)||"black",family:((A=this.theme)==null?void 0:A.font)||"Arial"}}},validateComponentState(){var n;try{if(!this.streamlitDataStore||!this.selectionStore)return console.warn("PlotlyLineplotUnified: Required stores not available"),!1;const e=(n=this.streamlitDataStore.allDataForDrawing)==null?void 0:n.per_scan_data;if(!Array.isArray(e))return console.warn("PlotlyLineplotUnified: Invalid scan data structure"),!1;const r=this.selectedScan;if(r!==void 0&&r0}};console.error(`PlotlyLineplotUnified error in ${e}:`,n,r)}}});const yO=["id"];function bO(n,e,r,A,D,w){return Ir(),ei("div",{id:n.id,class:"plot-container",style:zs(n.cssCustomProperties)},[n.showBackButton?(Ir(),ei("button",{key:0,class:"simple-button",onClick:e[0]||(e[0]=(...p)=>n.backButton&&n.backButton(...p))}," ↩ ")):Yi("",!0)],12,yO)}const xO=hs(vO,[["render",bO],["__scopeId","data-v-45ef6fca"]]),_O=ns({name:"Plotly3Dplot",props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{maximumIntensity:0}},computed:{id(){return`graph-${this.index}`},title(){return this.selectedScanRow===void 0?"":this.selectedMassRow===void 0?"Precursor signals":"Mass signals"},theme(){return this.streamlitDataStore.theme},selectedScanRow(){if(this.selectionStore.selectedScanIndex!==void 0)return this.streamlitDataStore.allDataForDrawing.per_scan_data.length===1?0:this.selectionStore.selectedScanIndex},selectedMassRow(){return this.selectionStore.selectedMassIndex},dataForDrawing(){var w,p;const n=this.selectedScanRow,e=this.streamlitDataStore.allDataForDrawing.per_scan_data,r=this.selectedMassRow;if(n===void 0)return[];const A=e[n]??{};let D={};return r===void 0?D=this.getPrecursorSignal(A):this.streamlitDataStore.allDataForDrawing.per_scan_data.length===1?D=this.getSignalNoiseObject(A.SignalPeaks,A.NoisyPeaks):D=this.getSignalNoiseObject(((w=A.SignalPeaks)==null?void 0:w[r])??[[]],((p=A.NoisyPeaks)==null?void 0:p[r])??[[]]),Object.keys(D).length===0?[]:(this.updateMaximumIntensity(D),[{name:"Signal",type:"scatter3d",mode:"lines",x:D.signal_x,y:D.signal_y,z:D.signal_z,line:{color:"#3366CC"}},{name:"Noise",type:"scatter3d",mode:"lines",x:D.noise_x,y:D.noise_y,z:D.noise_z,line:{color:"#DC3912"}}])},layout(){var n,e,r,A;return{title:`${this.title}`,paper_bgcolor:(n=this.theme)==null?void 0:n.backgroundColor,plot_bgcolor:(e=this.theme)==null?void 0:e.secondaryBackgroundColor,height:800,font:{color:(r=this.theme)==null?void 0:r.textColor,family:(A=this.theme)==null?void 0:A.font},scene:{xaxis:{title:"Mass"},yaxis:{title:"Charge",dtick:1,tick0:0},zaxis:{title:"Intensity",range:[0,this.maximumIntensity]},camera:{eye:{x:2.5,y:0,z:.2}}},showlegend:!0}}},watch:{selectedScanRow(){this.graph()},selectedMassRow(){this.graph()}},mounted(){this.graph()},methods:{updateMaximumIntensity(n){this.maximumIntensity=n.signal_z.concat(n.noise_z).reduce((e,r)=>Math.max(e,r),-1/0)},async graph(){await _l.newPlot(this.id,this.dataForDrawing,this.layout,{modeBarButtonsToRemove:["toImage","sendDataToCloud"],modeBarButtonsToAdd:[{title:"Download as SVG",name:"toImageSvg",icon:_l.Icons.camera,click:function(n){_l.downloadImage(n,{filename:"FLASHViewer-3d-plot",height:800,width:800,format:"svg"})}}]})},getPrecursorSignal(n){if(n.PrecursorScan==0)return{};const e=this.streamlitDataStore.allDataForDrawing.per_scan_data.find(D=>D.Scan===n.PrecursorScan);if(!e)return{};const r=e.MonoMass,A=n.PrecursorMass;for(let D=0,w=r.length;DA.field),r=[];return Object.entries(n).forEach(A=>{const D=A[0];if(!e.includes(D)||D==="id")return;A[1].forEach((p,t)=>{r[t]={...r[t],[D]:p}})}),r.map((A,D)=>A.id=D),r}},methods:{updateSelectedMass(n){console.log("🔍 [DEBUG] Mass Table updateSelectedMass called with:",n),n!==void 0&&this.selectionStore.updateSelectedMass(n)}}});function SO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Mass Table",index:n.index,"selected-row-index-from-listening":n.selectedMassTableRow,"default-row":0,onRowSelected:n.updateSelectedMass},null,8,["table-data","column-definitions","index","selected-row-index-from-listening","onRowSelected"])}const AO=hs(MO,[["render",SO]]),CO=ns({name:"TabulatorProteinTable",components:{TabulatorTable:y0},props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{columnDefinitions:[{title:"Scan No.",field:"Scan",sorter:"number",headerTooltip:"The identifier of the mass spectrometry scan associated with the identified proteoform."},{title:"Accession",field:"accession",headerTooltip:"The unique identifier for the protein in the reference database."},{title:"Description",field:"description",responsive:10},{title:"Length",field:"length",responsive:6,sorter:"number",headerTooltip:"The total number of amino acids in the matched protein."},{title:"Mass",field:"ProteoformMass",responsive:8,sorter:"number",headerTooltip:"The calculated mass of the proteoform in Daltons.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}},{title:"No. of Matched Fragments",field:"MatchingFragments",sorter:"number",headerTooltip:"The number of fragment ions that match the protein sequence."},{title:"No. of Modifications",field:"ModCount",sorter:"number",headerTooltip:"The number of modifications identified in the protein."},{title:"No. of Tags",field:"TagCount",sorter:"number",headerTooltip:"The number of sequence tags associated with the proteoform match."},{title:"Score",field:"Score",sorter:"number",headerTooltip:"A score indicating the confidence of the protein match (higher is better)."},{title:"Q-Value (Proteoform Level)",field:"ProteoformLevelQvalue",sorter:"number",headerTooltip:"The confidence value of the protein match at the proteoform level.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}}],initialSort:[{column:"Score",dir:"desc"}]}},computed:{selectedRow(){return this.selectionStore.selectedProteinIndex},tableData(){const n=this.streamlitDataStore.dataForDrawing.protein_table;return n.forEach(e=>e.id=e.index),n}},methods:{updateSelectedProtein(n){if(n!==void 0){this.selectionStore.updateSelectedProtein(n);const e=this.streamlitDataStore.dataForDrawing.protein_table;if(console.log("[DEBUG] updateSelectedProtein called:"),console.log(" selectedRow (from getIndex()):",n),console.log(" protein_table length:",e==null?void 0:e.length),!e||!Array.isArray(e)||e.length===0){console.error("[ERROR] protein_table is not available or empty");return}const r=e.find(D=>D&&(D.index===n||D.id===n));if(!r){console.error("[ERROR] Could not find protein with index/id:",n),console.error(" Available protein indices:",e.map(D=>(D==null?void 0:D.index)||(D==null?void 0:D.id)).slice(0,10));return}console.log(" Found protein:",r);const A=r.Scan;if(console.log(" scan_number found:",A),A!==void 0&&typeof A=="number"){const D=this.streamlitDataStore.allDataForDrawing.per_scan_data.findIndex(w=>w.Scan===A);this.selectionStore.updateSelectedScan(D)}this.selectionStore.updateSelectedTag(void 0),this.selectionStore.updateTagData(void 0)}}}});function EO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Protein Table",index:n.index,"selected-row-index-from-listening":n.selectedRow,"default-row":0,"initial-sort":n.initialSort,onRowSelected:n.updateSelectedProtein},null,8,["table-data","column-definitions","index","selected-row-index-from-listening","initial-sort","onRowSelected"])}const LO=hs(CO,[["render",EO]]),IO=ns({name:"TabulatorTagTable",components:{TabulatorTable:y0},props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitDataStore:n,selectionStore:e}},data(){return{columnDefinitions:[{title:"Scan Number",field:"Scan",sorter:"number",headerTooltip:"The identifier of the mass spectrometry scan containing the sequence tag."},{title:"Start Position",field:"StartPos",sorter:"number",headerTooltip:"The position in the protein sequence where the sequence tag begins."},{title:"End Position",field:"EndPos",sorter:"number",headerTooltip:"The position in the protein sequence where the sequence tag ends."},{title:"Sequence",field:"TagSequence",sorter:"number",headerTooltip:"The amino acid sequence of the identified tag."},{title:"Length",field:"Length",sorter:"number",headerTooltip:"The number of amino acids in the sequence tag."},{title:"Tag Score",field:"Score",sorter:"number",headerTooltip:"A score indicating the confidence of the sequence tag identification (higher is better)."},{title:"N mass",field:"Nmass",sorter:"number",headerTooltip:"The N-terminal mass offset from the start of the sequence tag in Daltons.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}},{title:"C mass",field:"Cmass",sorter:"number",headerTooltip:"The C-terminal mass offset from the end of the sequence tag in Daltons.",formatter:function(n){const e=n.getValue();return e==-1?"-":e}},{title:"Δ mass",field:"DeltaMass",sorter:"number",headerTooltip:"Delta mass is the difference between the tag flanking mass and the (partial) proteoform mass, from its terminal to the tag boundary."}],initialSort:[{column:"Score",dir:"desc"}],selectedTagIndex:void 0}},computed:{selectedRow(){return this.selectionStore.selectedTagIndex},tableData(){let e=this.streamlitDataStore.dataForDrawing.tag_table.filter(A=>A.ProteinIndex===this.selectionStore.selectedProteinIndex);const r=this.selectionStore.selectedAApos;return r!==void 0&&(e=e.filter(A=>{const D=A.StartPos,w=A.EndPos;return typeof D=="number"&&typeof w=="number"&&D<=r&&w>=r})),e.forEach(A=>A.id=A.TagIndex),e}},watch:{},methods:{getRowByTagIndex(n){return this.tableData.find(A=>A.id===n)},updateSelectedTag(n){if(n===void 0)return;this.selectionStore.updateSelectedTag(n);const e=this.getRowByTagIndex(n);if(e===void 0)return;const r=e.mzs;let A=[];typeof r=="string"&&(A=r.split(",").map(Number).filter(i=>i!==0));const D=typeof e.StartPos=="number"?e.StartPos:0,w=typeof e.EndPos=="number"?e.EndPos:0;let p=-1e3;D!==void 0&&this.selectionStore.selectedAApos!==void 0&&typeof D=="number"&&(p=this.selectionStore.selectedAApos-D);const t=e.TagSequence;let d="";typeof t=="string"&&(d=t);let g=!1;e["N mass"]===-1&&(g=!0),this.selectionStore.updateTagData({sequence:d,nTerminal:g,masses:A,selectedAA:p,startPos:D,endPos:w})}}});function RO(n,e,r,A,D,w){const p=Hr("TabulatorTable");return Ir(),za(p,{"table-data":n.tableData,"column-definitions":n.columnDefinitions,title:"Tag Table",index:n.index,"default-row":0,"initial-sort":n.initialSort,onRowSelected:n.updateSelectedTag},null,8,["table-data","column-definitions","index","initial-sort","onRowSelected"])}const PO=hs(IO,[["render",RO]]),W2=i2("variable-mod",{state:()=>({variableMod:{}}),getters:{variableModifications:n=>n.variableMod,isEmpty:n=>Object.values(n.variableMod).filter(e=>e!==void 0&&e!==0).length===0},actions:{updateVariableModifications(n,e){this.variableMod={...this.variableMod,[n]:e}}}}),wv={Acetyl:42.010565,Methyl:14.01565,Phospho:79.966331,Oxidation:15.994915,Deamidated:.984016,Amidated:-.984016},r6={"N-term":["Acetyl","Methyl","Phospho"],"C-term":["Amidated"],C:["Acetyl","Methyl","Phospho"],E:["Methyl","Phospho"],D:["Methyl","Phospho"],H:["Methyl","Phospho"],I:["Methyl"],K:["Methyl","Phospho"],L:["Methyl"],M:["Oxidation"],N:["Methyl"],Q:["Deamidated","Methyl"],R:["Methyl","Phospho"],S:["Acetyl","Methyl","Phospho"],T:["Acetyl","Methyl","Phospho"],Y:["Phospho"]},OO={default:[{typeName:"",typeMass:0}],"water loss":[{typeName:"-H2O",typeMass:-18.0105646863}],"ammonium loss":[{typeName:"-NH3",typeMass:-17.0265491015}],"proton loss/addition":[{typeName:"-H",typeMass:-1.0078250319},{typeName:"+H",typeMass:1.0078250319}]},DO=ns({name:"AminoAcidCell",props:{sequenceObject:{type:Object,required:!0},index:{type:Number,required:!0},fixedModification:{type:Boolean,default:!1},disableVariableModificationSelection:{type:Boolean,default:!1},showTags:{type:Boolean,default:!1},showModifications:{type:Boolean,default:!0},showFragments:{type:Boolean,default:!0}},emits:["selected"],setup(){const n=Ns(),e=W2(),r=rc();return{streamlitData:n,variableModData:e,selectionStore:r}},data(){return{menuOpen:!1,selectedModification:void 0,customSelected:!1,customModMass:"0"}},computed:{id(){return`${this.aminoAcid}${this.index}`},theme(){return this.streamlitData.theme},aminoAcid(){return this.sequenceObject.aminoAcid},start(){var e;const n=(e=this.streamlitData.sequenceData)==null?void 0:e[this.selectedSequence].proteoform_start;return n===void 0?n:n<0?0:n},end(){var e;const n=(e=this.streamlitData.sequenceData)==null?void 0:e[this.selectedSequence].proteoform_end;return n===void 0?n:n<0&&this.length!==void 0?this.length-1:n},length(){var n;return(n=this.streamlitData.sequenceData)==null?void 0:n[this.selectedSequence].sequence.length},prefix(){if(this.start===void 0&&this.end===void 0)return this.index+1;if(this.end!==void 0&&this.index>this.end)return;if(this.start!==void 0&&this.index>=this.start)return this.index+1-this.start},protein_position(){return this.index+1},truncated_prefix(){if(!(this.start===void 0||this.index>=this.start))return this.index+1},suffix(){if(this.start===void 0&&this.end===void 0)return(length??0)-this.index;if(this.start!==void 0&&this.index0},selectedSequence(){return this.selectionStore.selectedProteinIndex!==void 0?this.selectionStore.selectedProteinIndex:0},coverage(){return this.sequenceObject.coverage!==void 0?this.sequenceObject.coverage:-1},isHighlighted(){return this.index===this.selectionStore.selectedAApos},isTruncated(){return this.sequenceObject.truncated},DoesThisAAHaveSequenceTags(){return this.coverage>0},modMass(){return this.customModMass!=="0"?parseFloat(this.customModMass).toLocaleString("en-US",{signDisplay:"always"}):this.sequenceObject.modMass}},watch:{selectedModification(){this.selectedModification!==void 0&&wv[this.selectedModification]!==void 0&&(this.sequenceObject.modMass=parseFloat(wv[this.selectedModification].toFixed(2)).toLocaleString("en-US",{signDisplay:"always"}))},showTags(){this.showTags||this.selectionStore.updateSelectedAA(void 0)}},methods:{toggleMenuOpen(){this.disableVariableModificationSelection||(this.menuOpen=!this.menuOpen)},selectCell(){this.DoesThisAAHaveSequenceTags&&this.showTags&&(this.selectionStore.selectedAApos===this.index?this.selectionStore.updateSelectedAA(void 0):this.selectionStore.updateSelectedAA(this.index)),this.DoesThisAAHaveMatchingFragments&&this.$emit("selected",this.index)},updateSelectedModification(n){if(n==="None")this.selectedModification=void 0;else if(n==="Custom"){this.customSelected=!0;return}else this.selectedModification=n;this.toggleMenuOpen(),this.customSelected=!1,this.variableModData.updateVariableModifications(this.index,this.selectedModification?wv[this.selectedModification]:0)},updateCustomModification(){this.variableModData.updateVariableModifications(this.index,parseFloat(this.customModMass)),this.toggleMenuOpen()}}});const Mu=n=>(Ty("data-v-1594c2be"),n=n(),ky(),n),zO=["id"],FO={key:0,class:"frag-marker-container-a"},BO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"green",d:"M7, 1 L9, 3 L9, 7 L9, 3 L7, 1 z","stroke-width":"1.5"})],-1)),NO=[BO],VO={key:1,class:"frag-marker-container-b"},jO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"blue",d:"M10, 0 V5 M10, 0 H5 z","stroke-width":"3"})],-1)),UO=[jO],HO={key:2,class:"frag-marker-container-c"},GO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"red",d:"M4, 1 L9, 3 L9, 7 L9, 3 L4, 1 z","stroke-width":"1.5"})],-1)),qO=[GO],WO={key:3,class:"frag-marker-container-x"},$O=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"green",d:"M1, 3 L1, 7 L3, 9 L1, 7 L1, 3 z","stroke-width":"1.5"})],-1)),YO=[$O],ZO={key:4,class:"frag-marker-container-y"},XO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"blue",d:"M0, 10 V5 M0, 10 H5 z","stroke-width":"3"})],-1)),KO=[XO],JO={key:5,class:"frag-marker-container-z"},QO=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("path",{stroke:"red",d:"M1, 3 L1, 7 L6, 9 L1, 7 L1, 3 z","stroke-width":"1.5"})],-1)),eD=[QO],tD={key:6,class:"rounded-lg tag-marker tag-start"},nD={key:7,class:"rounded-lg tag-marker tag-end"},rD={key:8,class:"rounded-lg mod-marker mod-start"},iD={key:9,class:"rounded-lg mod-marker mod-end"},aD={key:10,class:"mod-marker mod-start-cont"},oD={key:11,class:"mod-marker mod-end-cont"},sD={key:12,class:"mod-marker mod-center-cont"},lD={key:13,class:"rounded-lg mod-mass"},uD=Mu(()=>ti("br",null,null,-1)),cD=Mu(()=>ti("br",null,null,-1)),hD={key:14,class:"rounded-lg mod-mass-a"},fD={key:15,class:"rounded-lg mod-mass-b"},dD={key:16,class:"rounded-lg mod-mass-c"},pD={key:17,class:"frag-marker-extra-type"},mD=Mu(()=>ti("svg",{viewBox:"0 0 10 10"},[ti("circle",{cx:"5",cy:"5",r:"0.5",stroke:"black","stroke-width":"0.3",fill:"gold"})],-1)),gD=[mD],vD={class:"aa-text"},yD=Mu(()=>ti("br",null,null,-1)),bD=Mu(()=>ti("br",null,null,-1)),xD=Mu(()=>ti("br",null,null,-1)),_D=Mu(()=>ti("br",null,null,-1)),wD={key:4};function TD(n,e,r,A,D,w){const p=Hr("v-tooltip"),t=Hr("v-select"),d=Hr("v-list-item"),g=Hr("v-text-field"),i=Hr("v-btn"),M=Hr("v-form"),v=Hr("v-list"),f=Hr("v-menu");return Ir(),ei("div",{id:n.id,class:Ju(["d-flex justify-center align-center rounded-lg",[n.aminoAcidCellClass,{highlighted:n.isHighlighted},{truncated:n.isTruncated}]]),style:zs(n.aminoAcidCellStyles),onClick:e[5]||(e[5]=(...l)=>n.selectCell&&n.selectCell(...l)),onContextmenu:e[6]||(e[6]=jp((...l)=>n.toggleMenuOpen&&n.toggleMenuOpen(...l),["prevent"]))},[n.showFragments&&n.sequenceObject.aIon?(Ir(),ei("div",FO,NO)):Yi("",!0),n.showFragments&&n.sequenceObject.bIon?(Ir(),ei("div",VO,UO)):Yi("",!0),n.showFragments&&n.sequenceObject.cIon?(Ir(),ei("div",HO,qO)):Yi("",!0),n.showFragments&&n.sequenceObject.xIon?(Ir(),ei("div",WO,YO)):Yi("",!0),n.showFragments&&n.sequenceObject.yIon?(Ir(),ei("div",ZO,KO)):Yi("",!0),n.showFragments&&n.sequenceObject.zIon?(Ir(),ei("div",JO,eD)):Yi("",!0),n.showTags&&n.sequenceObject.tagStart?(Ir(),ei("div",tD)):Yi("",!0),n.showTags&&n.sequenceObject.tagEnd?(Ir(),ei("div",nD)):Yi("",!0),n.showModifications&&(n.sequenceObject.modStart||n.isThisAAmodified)?(Ir(),ei("div",rD)):Yi("",!0),n.showModifications&&(n.sequenceObject.modEnd||n.isThisAAmodified)?(Ir(),ei("div",iD)):Yi("",!0),n.showModifications&&n.sequenceObject.modStart&&!n.sequenceObject.modEnd?(Ir(),ei("div",aD)):Yi("",!0),n.showModifications&&!n.sequenceObject.modStart&&n.sequenceObject.modEnd?(Ir(),ei("div",oD)):Yi("",!0),n.showModifications&&n.sequenceObject.modCenter?(Ir(),ei("div",sD)):Yi("",!0),n.showModifications&&(n.sequenceObject.modEnd||n.isThisAAmodified)?(Ir(),ei("div",lD,[qi(eo(n.modMass)+" ",1),gt(p,{activator:"parent",class:"foreground"},{default:ai(()=>[qi(eo(`Modification Mass: ${n.modMass} Da`)+" ",1),uD,qi(" "+eo(`Possible Modifications: ${n.sequenceObject.modLabels}`)+" ",1),cD]),_:1})])):Yi("",!0),n.showFragments&&n.showModifications&&n.sequenceObject.modEnd&&n.sequenceObject.aIon&&!n.sequenceObject.bIon?(Ir(),ei("div",hD,eo(n.sequenceObject.modMass),1)):Yi("",!0),n.showFragments&&n.showModifications&&n.sequenceObject.modEnd&&n.sequenceObject.bIon?(Ir(),ei("div",fD,eo(n.sequenceObject.modMass),1)):Yi("",!0),n.showFragments&&n.showModifications&&n.sequenceObject.modEnd&&n.sequenceObject.cIon&&!n.sequenceObject.bIon?(Ir(),ei("div",dD,eo(n.sequenceObject.modMass),1)):Yi("",!0),n.showModifications&&n.DoesThisAAHaveExtraFragTypes?(Ir(),ei("div",pD,gD)):Yi("",!0),ti("div",vD,eo(n.aminoAcid),1),gt(f,{modelValue:n.menuOpen,"onUpdate:modelValue":e[4]||(e[4]=l=>n.menuOpen=l),activator:"parent",location:"end","open-on-click":!1,"close-on-content-click":!1,width:"200px"},{default:ai(()=>[gt(v,null,{default:ai(()=>[gt(d,null,{default:ai(()=>[gt(t,{modelValue:n.selectedModification,"onUpdate:modelValue":[e[0]||(e[0]=l=>n.selectedModification=l),n.updateSelectedModification],clearable:"true",label:"Modification",density:"compact",items:n.modificationsForSelect,"onClick:clear":e[1]||(e[1]=l=>n.selectedModification=void 0)},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),n.customSelected?(Ir(),za(d,{key:0},{default:ai(()=>[gt(M,{onSubmit:e[3]||(e[3]=jp(()=>{},["prevent"]))},{default:ai(()=>[gt(g,{modelValue:n.customModMass,"onUpdate:modelValue":e[2]||(e[2]=l=>n.customModMass=l),"hide-details":"",label:"Monoisotopic mass in Da",type:"number"},null,8,["modelValue"]),gt(i,{type:"submit",block:"true",class:"mt-2",onClick:n.updateCustomModification},{default:ai(()=>[qi("Submit")]),_:1},8,["onClick"])]),_:1})]),_:1})):Yi("",!0)]),_:1})]),_:1},8,["modelValue"]),gt(p,{activator:"parent"},{default:ai(()=>[ti("div",null,eo(`Protein Position: ${n.protein_position}`),1),n.prefix!==void 0?(Ir(),ei($r,{key:0},[qi(eo(`Prefix: ${n.prefix}`)+" ",1),yD],64)):Yi("",!0),n.truncated_prefix!==void 0?(Ir(),ei($r,{key:1},[qi(eo(`Truncated Prefix: ${n.truncated_prefix}`)+" ",1),bD],64)):Yi("",!0),n.suffix!==void 0?(Ir(),ei($r,{key:2},[qi(eo(`Suffix: ${n.suffix}`)+" ",1),xD],64)):Yi("",!0),n.truncated_suffix!==void 0?(Ir(),ei($r,{key:3},[qi(eo(`Truncated Suffix: ${n.truncated_suffix}`)+" ",1),_D],64)):Yi("",!0),n.DoesThisAAHaveExtraFragTypes?(Ir(),ei("div",wD,eo(n.sequenceObject.extraTypes.join(", ")),1)):Yi("",!0)]),_:1})],46,zO)}const i6=hs(DO,[["render",TD],["__scopeId","data-v-1594c2be"]]),kD=ns({name:"ProteinTerminalCell",props:{proteinTerminal:{type:String,required:!0},index:{type:Number,required:!0},truncated:{type:Boolean,required:!1,default:!1},determined:{type:Boolean,required:!1,default:!0},disableVariableModificationSelection:{type:Boolean,default:!1}},setup(){const n=Ns(),e=W2();return{streamlitData:n,variableModData:e}},data(){return{menuOpen:!1,selectedModification:void 0,customSelected:!1,customModMass:"0"}},computed:{id(){return`${this.proteinTerminal}${this.index}`},theme(){return this.streamlitData.theme},proteinTerminalText(){return this.proteinTerminal.charAt(0)},hasVariableModification(){return this.variableModData.variableModifications[this.index]!==void 0&&this.variableModData.variableModifications[this.index]!==0},modificationsForSelect(){return["None","Custom",...this.potentialModifications]},proteinTerminalCellStyles(){var n,e;return{"--protein-terminal-cell-color":((n=this.theme)==null?void 0:n.textColor)??"#fff","--protein-terminal-cell-hover-color":"#fff","--protein-terminal-cell-hover-bg-color":((e=this.theme)==null?void 0:e.secondaryBackgroundColor)??"#000"}},proteinTerminalCellClasses(){return{"protein-terminal":this.selectedModification===void 0&&!this.hasVariableModification,"protein-terminal-modified":this.selectedModification!==void 0||this.hasVariableModification}},potentialModifications(){return r6[this.proteinTerminal]??[]}},methods:{toggleMenuOpen(){this.disableVariableModificationSelection||(this.menuOpen=!this.menuOpen)},updateSelectedModification(n){if(n==="None")this.selectedModification=void 0;else if(n==="Custom"){this.customSelected=!0;return}else this.selectedModification=n;this.toggleMenuOpen(),this.customSelected=!1,this.variableModData.updateVariableModifications(this.index,this.selectedModification?wv[this.selectedModification]:0)},updateCustomModification(){this.variableModData.updateVariableModifications(this.index,parseFloat(this.customModMass)),this.toggleMenuOpen()}}});const MD={key:0,class:"undetermined"};function SD(n,e,r,A,D,w){const p=Hr("v-select"),t=Hr("v-list-item"),d=Hr("v-text-field"),g=Hr("v-btn"),i=Hr("v-form"),M=Hr("v-list"),v=Hr("v-menu"),f=Hr("v-tooltip");return Ir(),ei("div",{class:Ju(["d-flex justify-center align-center rounded-lg",n.proteinTerminalCellClasses]),style:zs(n.proteinTerminalCellStyles),onClick:e[5]||(e[5]=jp(()=>{},["stop"])),onContextmenu:e[6]||(e[6]=jp((...l)=>n.toggleMenuOpen&&n.toggleMenuOpen(...l),["prevent"]))},[ti("div",{class:Ju(["terminal-text",{truncated:n.truncated}])},eo(n.proteinTerminalText),3),n.determined?Yi("",!0):(Ir(),ei("div",MD,"??")),gt(v,{modelValue:n.menuOpen,"onUpdate:modelValue":e[4]||(e[4]=l=>n.menuOpen=l),activator:"parent",location:"end","open-on-click":!1,"close-on-content-click":!1,width:"200px"},{default:ai(()=>[gt(M,null,{default:ai(()=>[gt(t,null,{default:ai(()=>[gt(p,{modelValue:n.selectedModification,"onUpdate:modelValue":[e[0]||(e[0]=l=>n.selectedModification=l),n.updateSelectedModification],clearable:"",label:"Modification",density:"compact",items:n.modificationsForSelect,"onClick:clear":e[1]||(e[1]=l=>n.selectedModification=void 0)},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),n.customSelected?(Ir(),za(t,{key:0},{default:ai(()=>[gt(i,{onSubmit:e[3]||(e[3]=jp(()=>{},["prevent"]))},{default:ai(()=>[gt(d,{modelValue:n.customModMass,"onUpdate:modelValue":e[2]||(e[2]=l=>n.customModMass=l),"hide-details":"",label:"Monoisotopic mass in Da",type:"number"},null,8,["modelValue"]),gt(g,{type:"submit",block:"",class:"mt-2",onClick:n.updateCustomModification},{default:ai(()=>[qi("Submit")]),_:1},8,["onClick"])]),_:1})]),_:1})):Yi("",!0)]),_:1})]),_:1},8,["modelValue"]),gt(f,{activator:"parent"},{default:ai(()=>[qi(eo(n.proteinTerminalText),1)]),_:1})],38)}const AD=hs(kD,[["render",SD],["__scopeId","data-v-fe27503e"]]);var a6={exports:{}};/*! dom-to-image-more 26-04-2023 */(function(n,e){(function(r){const A=function(){let y=0;return{escape:function(S){return S.replace(/([.*+?^${}()|[]\/\\])/g,"\\$1")},isDataUrl:function(S){return S.search(/^(data:)/)!==-1},canvasToBlob:function(S){return S.toBlob?new Promise(function(L){S.toBlob(L)}):function(L){return new Promise(function(b){var R=f(L.toDataURL().split(",")[1]),I=R.length,O=new Uint8Array(I);for(let z=0;zte.style.removeProperty(X)),["left","right","top","bottom"].forEach(X=>{te.style.getPropertyValue(X)&&te.style.setProperty(X,"0px")})))}H(W,N)}function Y(){const q=A.uid();function H(ne){const te=v(W,ne),Z=te.getPropertyValue("content");if(Z!==""&&Z!=="none"){let ie=function(){const oe=`.${q}:`+ne,ue=(te.cssText?ce:ye)();return document.createTextNode(oe+`{${ue}}`);function ce(){return`${te.cssText} content: ${Z};`}function ye(){return A.asArray(te).map(me).join("; ")+";";function me(pe){const xe=te.getPropertyValue(pe),Pe=te.getPropertyPriority(pe)?" !important":"";return pe+": "+xe+Pe}}};var X=ie;const Q=N.getAttribute("class")||"",re=(N.setAttribute("class",Q+" "+q),document.createElement("style"));re.appendChild(ie()),N.appendChild(re)}}[":before",":after"].forEach(function(ne){H(ne)})}function U(){A.isHTMLTextAreaElement(W)&&(N.innerHTML=W.value),A.isHTMLInputElement(W)&&N.setAttribute("value",W.value)}function G(){A.isSVGElement(N)&&(N.setAttribute("xmlns","http://www.w3.org/2000/svg"),A.isSVGRectElement(N))&&["width","height"].forEach(function(q){const H=N.getAttribute(q);H&&N.style.setProperty(q,H)})}}}(E,C,null)}).then(o).then(s).then(function(E){C.bgcolor&&(E.style.backgroundColor=C.bgcolor),C.width&&(E.style.width=C.width+"px"),C.height&&(E.style.height=C.height+"px"),C.style&&Object.keys(C.style).forEach(function(S){E.style[S]=C.style[S]});let x=null;return typeof C.onclone=="function"&&(x=C.onclone(E)),Promise.resolve(x).then(function(){return E})}).then(function(E){let x=C.width||A.width(E),S=C.height||A.height(E);return Promise.resolve(E).then(function(L){return L.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),new XMLSerializer().serializeToString(L)}).then(A.escapeXhtml).then(function(L){var b=(A.isDimensionMissing(x)?' width="100%"':` width="${x}"`)+(A.isDimensionMissing(S)?' height="100%"':` height="${S}"`);return`${L}`}).then(function(L){return"data:image/svg+xml;charset=utf-8,"+L})}).then(function(E){for(;0{c=null,m={}},2e4)}(),E})}function a(y,C){return l(y,C=C||{}).then(A.makeImage).then(function(_){var k=typeof C.scale!="number"?1:C.scale,E=function(S,L){let b=C.width||A.width(S),R=C.height||A.height(S);return A.isDimensionMissing(b)&&(b=A.isDimensionMissing(R)?300:2*R),A.isDimensionMissing(R)&&(R=b/2),S=document.createElement("canvas"),S.width=b*L,S.height=R*L,C.bgcolor&&((L=S.getContext("2d")).fillStyle=C.bgcolor,L.fillRect(0,0,S.width,S.height)),S}(y,k),x=E.getContext("2d");return x.msImageSmoothingEnabled=!1,x.imageSmoothingEnabled=!1,_&&(x.scale(k,k),x.drawImage(_,0,0)),E})}let u=null;function o(y){return w.resolveAll().then(function(C){var _;return C!==""&&(_=document.createElement("style"),y.appendChild(_),_.appendChild(document.createTextNode(C))),y})}function s(y){return t.inlineAll(y).then(function(){return y})}function h(y,C,_,k,E){const x=i.impl.options.copyDefaultStyles?function(L,I){var I=function(z){var F=[];do if(z.nodeType===M){var B=z.tagName;if(F.push(B),T.includes(B))break}while(z=z.parentNode,z);return F}(I),R=function(z){return(L.styleCaching!=="relaxed"?z:z.filter((F,B,N)=>B===0||B===N.length-1)).join(">")}(I);if(m[R])return m[R];var O=function(){if(u)return u.contentWindow;var z=document.characterSet||"UTF-8",F=document.doctype,F=F?(`":"";return(u=document.createElement("iframe")).id="domtoimage-sandbox-"+A.uid(),u.style.visibility="hidden",u.style.position="fixed",document.body.appendChild(u),function(N,W,j,Y){try{return N.contentWindow.document.write(W+`${Y}`),N.contentWindow}catch{}var U=document.createElement("meta");U.setAttribute("charset",j);try{var G=document.implementation.createHTMLDocument(Y),q=(G.head.appendChild(U),W+G.documentElement.outerHTML);return N.setAttribute("srcdoc",q),N.contentWindow}catch{}return N.contentDocument.head.appendChild(U),N.contentDocument.title=Y,N.contentWindow}(u,F,z,"domtoimage-sandbox");function B(N){var W;return N?((W=document.createElement("div")).innerText=N,W.innerHTML):""}}(),I=function(z,F){let B=z.body;do{var N=F.pop(),N=z.createElement(N);B.appendChild(N),B=N}while(0{const r=this.$refs.downloadLink;r.download="FLASHViewer-sequence.svg",r.href=e,r.click()}).finally(()=>{this.svgDownloadTriggered=!1})}}}),ID={ref:"downloadLink",style:{visibility:"hidden"}};function RD(n,e,r,A,D,w){const p=Hr("v-btn"),t=Hr("v-tooltip"),d=Hr("v-progress-linear"),g=Hr("v-card-text"),i=Hr("v-card"),M=Hr("v-dialog");return Ir(),ei($r,null,[gt(p,{id:"download-button",variant:"text",size:"large",icon:"mdi-download",onClick:n.triggerDownload},null,8,["onClick"]),gt(t,{text:"Save as SVG",location:"bottom",activator:"#download-button"}),ti("a",ID,null,512),gt(M,{modelValue:n.svgDownloadTriggered,"onUpdate:modelValue":e[0]||(e[0]=v=>n.svgDownloadTriggered=v),persistent:"",width:"auto"},{default:ai(()=>[gt(i,{color:"primary"},{default:ai(()=>[gt(g,null,{default:ai(()=>[qi(" Please stand by "),gt(d,{indeterminate:"",color:"white",class:"mb-0"})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}const o6=hs(LD,[["render",RD]]),PD=ns({name:"SequenceViewInformation",components:{AminoAcidCell:i6},setup(){return{streamlitDataStore:Ns()}},data(){return{dialog:!1,aIon:!0,bIon:!1,cIon:!1,xIon:!0,yIon:!0,zIon:!1,fixed_mod:!1,variable_mod:!1,originalAAClasses:void 0,waterLoss:!1,ammoniumLoss:!1,proton:!1}},computed:{theme(){return this.streamlitDataStore.theme},aaSequenceObject(){return{aminoAcid:"AA",aIon:this.aIon,bIon:this.bIon,cIon:this.cIon,xIon:this.xIon,yIon:this.yIon,zIon:this.zIon,modStart:this.variable_mod,modEnd:this.variable_mod,modMass:"+134.99",truncated:!1,extraTypes:this.extraFragTypes()}}},methods:{setAAWithVarMod(){var e;this.originalAAClasses===void 0&&(this.originalAAClasses=((e=document.getElementById("AA0"))==null?void 0:e.getAttribute("class"))??"");const n=document.getElementById("AA0");if(n){let r=this.originalAAClasses;this.fixed_mod&&(r="sequence-amino-acid-highlighted "+r),n.setAttribute("class",r)}},extraFragTypes(){let n="";if(this.aIon)n="a";else if(this.bIon)n="b";else if(this.cIon)n="c";else if(this.xIon)n="x";else if(this.yIon)n="y";else if(this.zIon)n="z";else return[];let e=[];return this.waterLoss&&e.push(`${n}-H20`),this.ammoniumLoss&&e.push(`${n}-NH3`),this.proton&&(e.push(`${n}-H`),e.push(`${n}+H`)),e}}});const s6=n=>(Ty("data-v-9a6912d6"),n=n(),ky(),n),OD=s6(()=>ti("div",{class:"text-h6 d-flex justify-center"},"Legend for Sequence Map",-1)),DD={class:"d-flex justify-center"},zD={class:"sequence-grid pa-6",style:{width:"150px","max-width":"100%"}},FD={class:"d-flex"},BD={class:"d-flex"},ND=s6(()=>ti("div",{class:"text-subtitle-2 d-flex justify-end align-end"}," * Click checkboxes to see the styles ",-1));function VD(n,e,r,A,D,w){var h;const p=Hr("v-btn"),t=Hr("v-card-title"),d=Hr("v-divider"),g=Hr("AminoAcidCell"),i=Hr("v-checkbox"),M=Hr("v-row"),v=Hr("v-list-item-title"),f=Hr("v-list-item"),l=Hr("v-list"),a=Hr("v-card-text"),u=Hr("v-card-actions"),o=Hr("v-card"),s=Hr("v-dialog");return Ir(),ei($r,null,[gt(p,{id:"info-button",variant:"text",size:"large",icon:"mdi-information"}),gt(s,{modelValue:n.dialog,"onUpdate:modelValue":e[13]||(e[13]=c=>n.dialog=c),activator:"#info-button",width:"auto",theme:((h=n.theme)==null?void 0:h.base)??"light"},{default:ai(()=>[gt(o,null,{default:ai(()=>[gt(t,null,{default:ai(()=>[qi("Sequence View legend")]),_:1}),gt(d),gt(a,null,{default:ai(()=>[OD,ti("div",DD,[ti("div",zD,[gt(g,{index:0,"sequence-object":n.aaSequenceObject,onSelected:e[0]||(e[0]=jp(()=>{},["stop"]))},null,8,["sequence-object"])])]),qi(" Fragment ion types "),gt(M,null,{default:ai(()=>[ti("div",FD,[gt(i,{modelValue:n.aIon,"onUpdate:modelValue":e[1]||(e[1]=c=>n.aIon=c),label:"a"},null,8,["modelValue"]),gt(i,{modelValue:n.bIon,"onUpdate:modelValue":e[2]||(e[2]=c=>n.bIon=c),label:"b"},null,8,["modelValue"]),gt(i,{modelValue:n.cIon,"onUpdate:modelValue":e[3]||(e[3]=c=>n.cIon=c),label:"c"},null,8,["modelValue"]),gt(i,{modelValue:n.xIon,"onUpdate:modelValue":e[4]||(e[4]=c=>n.xIon=c),label:"x"},null,8,["modelValue"]),gt(i,{modelValue:n.yIon,"onUpdate:modelValue":e[5]||(e[5]=c=>n.yIon=c),label:"y"},null,8,["modelValue"]),gt(i,{modelValue:n.zIon,"onUpdate:modelValue":e[6]||(e[6]=c=>n.zIon=c),label:"z"},null,8,["modelValue"]),gt(i,{modelValue:n.waterLoss,"onUpdate:modelValue":e[7]||(e[7]=c=>n.waterLoss=c),label:"water loss"},null,8,["modelValue"]),gt(i,{modelValue:n.ammoniumLoss,"onUpdate:modelValue":e[8]||(e[8]=c=>n.ammoniumLoss=c),label:"ammonium loss"},null,8,["modelValue"]),gt(i,{modelValue:n.proton,"onUpdate:modelValue":e[9]||(e[9]=c=>n.proton=c),label:"proton loss/addition"},null,8,["modelValue"])])]),_:1}),qi(" Modifications "),ti("div",BD,[gt(i,{modelValue:n.fixed_mod,"onUpdate:modelValue":[e[10]||(e[10]=c=>n.fixed_mod=c),n.setAAWithVarMod],label:"Fixed modifications","hide-details":"",density:"comfortable"},null,8,["modelValue","onUpdate:modelValue"]),gt(i,{modelValue:n.variable_mod,"onUpdate:modelValue":[e[11]||(e[11]=c=>n.variable_mod=c),n.setAAWithVarMod],label:"Variable modifications","hide-details":"",density:"comfortable"},null,8,["modelValue","onUpdate:modelValue"]),ND]),gt(l,{density:"compact"},{default:ai(()=>[gt(v,null,{default:ai(()=>[qi("Interaction tips")]),_:1}),gt(f,null,{default:ai(()=>[qi("Left click: highlights corresponding entries in Fragment Table and Mass Table")]),_:1}),gt(f,null,{default:ai(()=>[qi("Right click: opens variable modification menu (custom modification is available)")]),_:1})]),_:1})]),_:1}),gt(u,null,{default:ai(()=>[gt(p,{color:"primary",block:"true",onClick:e[12]||(e[12]=c=>n.dialog=!1)},{default:ai(()=>[qi("Close")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","theme"])],64)}const jD=hs(PD,[["render",VD],["__scopeId","data-v-9a6912d6"]]),UD=ns({name:"SequenceView",components:{SequenceViewInformation:jD,TabulatorTable:y0,AminoAcidCell:i6,ProteinTerminalCell:AD,SvgScreenshot:o6},props:{index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc(),r=W2();return{streamlitDataStore:n,selectionStore:e,variableModData:r}},data(){return{rowWidth:35,massData:[],massTitle:"",ionTypes:[{text:"a",selected:!1},{text:"b",selected:!0},{text:"c",selected:!1},{text:"x",selected:!1},{text:"y",selected:!0},{text:"z",selected:!1}],ionTypesExtra:{"water loss":!1,"ammonium loss":!1,"proton loss/addition":!1},fragmentMassTolerance:10,visibilityOptions:[{text:"Fragments",selected:!0},{text:"Modifications",selected:!0}],fragmentTableColumnDefinitions:[{title:"Name",field:"Name",headerTooltip:"The name of the fragment ion, represented in Biemann notation."},{title:"Ion type",field:"IonType",headerTooltip:"The type of fragment ion identified in the spectrum."},{title:"Ion number",field:"IonNumber",sorter:"number",headerTooltip:"The position of the fragment ion within the sequence."},{title:"Theoretical mass",field:"TheoreticalMass",sorter:"number",headerTooltip:"The expected mass of the fragment ion."},{title:"Observed mass",field:"ObservedMass",formatter:Df(),sorter:"number",headerTooltip:"The mass of the fragment ion as observed in the spectrum."},{title:"Mass difference (Da)",field:"MassDiffDa",sorter:"number",headerTooltip:"The difference between the observed and theoretical masses of the fragment ion, in Daltons."},{title:"Mass difference (ppm)",field:"MassDiffPpm",sorter:"number",headerTooltip:"The difference between the observed and theoretical masses of the fragment ion, in parts per million (ppm)."}],fragmentTableData:[],fragmentTableTitle:"",residueCleavagePercentage:0,sequenceObjects:[],selectedFragTableRowIndex:void 0,copySnackbar:!1,copySnackbarText:"",_updatingFromMass:!1,_updatingFromFragment:!1}},computed:{theme(){return this.streamlitDataStore.theme},selectedSequence(){const n=this.selectionStore.selectedProteinIndex;return typeof n=="number"?n:0},selectedTag(){return this.selectionStore.selectedTag},sequence(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.sequence)??[]},sequence_start_reported(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.proteoform_start)??0},sequence_start(){return this.sequence_start_reported<0?0:this.sequence_start_reported},n_truncation(){return this.sequence_start>0},n_determined(){return this.sequence_start_reported>=0},sequence_end_reported(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.proteoform_end)??this.sequence.length-1},sequence_end(){return this.sequence_end_reported<0?this.sequence.length-1:this.sequence_end_reported},c_truncation(){return this.sequence_end=0},modifications(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.modifications)??[]},coverage(){var e,r;const n=this.selectedSequence;return typeof n=="number"?((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.coverage)??[]:[]},maxCoverage(){var e,r;const n=this.selectedSequence;return typeof n=="number"?((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.maxCoverage)??-1:-1},theoreticalMass(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.theoretical_mass)??0},computedMass(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),(r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.computed_mass},fixedModificationSites(){var e,r;let n=this.selectedSequence;return n===void 0&&(n=0),((r=(e=this.streamlitDataStore.sequenceData)==null?void 0:e[n])==null?void 0:r.fixed_modifications)??[]},variableModifications(){return this.variableModData.variableModifications??{}},tickLabels(){return{20:"20",25:"25",30:"30",35:"35",40:"40"}},gridClasses(){return{"sequence-grid":!0,[`grid-width-${this.rowWidth}`]:!0}},proteinTerminalCellStyles(){var n;return{"--amino-acid-cell-hover-color":"#fff","--amino-acid-cell-hover-bg-color":((n=this.theme)==null?void 0:n.secondaryBackgroundColor)??"#000"}},selectedScanIndex(){if(this.selectionStore.selectedScanIndex!==void 0)return this.streamlitDataStore.allDataForDrawing.per_scan_data.length===1?0:this.selectionStore.selectedScanIndex},calculateCleavagePercentage(){let n=0;for(let e=0,r=this.sequenceObjects.length-1;ee.text==="Tags"))!=null&&n.selected):!1},showTruncations(){var n;return this.displayTnT?!!((n=this.visibilityOptions.find(e=>e.text==="Truncations"))!=null&&n.selected):!1},showModifications(){var n;return!!((n=this.visibilityOptions.find(e=>e.text==="Modifications"))!=null&&n.selected)},showFragments(){var n;return!!((n=this.visibilityOptions.find(e=>e.text==="Fragments"))!=null&&n.selected)}},watch:{selectedScanIndex(){this.preparePrecursorInfo(),this.initializeSequenceObjects(),this.prepareFragmentTable(),this.prepareAmbigiousModifications()},sequence(){this.selectionStore.updateSelectedAA(void 0),this.preparePrecursorInfo(),this.initializeSequenceObjects(),this.prepareFragmentTable(),this.prepareAmbigiousModifications(),this.updateSettings()},selectedTag(){this.updateTagPosition()},fragmentMassTolerance(){this.preparePrecursorInfo(),this.initializeSequenceObjects(),this.prepareFragmentTable(),this.prepareAmbigiousModifications()},ionTypes:{handler(){this.initializeSequenceObjects(),this.prepareFragmentTable(),this.prepareAmbigiousModifications()},deep:!0},ionTypesExtra:{handler(){this.initializeSequenceObjects(),this.prepareFragmentTable(),this.prepareAmbigiousModifications()},deep:!0},variableModifications(){this.preparePrecursorInfo(),this.initializeSequenceObjects(),this.prepareFragmentTable(),this.prepareAmbigiousModifications()},"selectionStore.selectedMassIndex":{handler(n){n!==null&&this.updateFragmentTableFromMassSelection(n)},immediate:!1}},mounted(){this.selectionStore.updateSelectedAA(void 0),this.initializeSequenceObjects(),this.preparePrecursorInfo(),this.prepareFragmentTable(),this.prepareAmbigiousModifications()},methods:{getFragmentMasses(n){var r;let e=this.selectedSequence;return e===void 0&&(e=0),(r=this.streamlitDataStore.sequenceData)==null?void 0:r[e][`fragment_masses_${n}`]},updateMassTolerance(n){this.fragmentMassTolerance=Number.parseInt(n.target.value)},updateSettings(){var n,e;((n=this.streamlitDataStore.settings)==null?void 0:n.ion_types)!==void 0&&this.ionTypes.forEach(r=>{r.selected=this.streamlitDataStore.settings.ion_types.includes(r.text)}),((e=this.streamlitDataStore.settings)==null?void 0:e.tolerance)!==void 0&&(this.fragmentMassTolerance=this.streamlitDataStore.settings.tolerance)},toggleIonTypeSelected(n){this.ionTypes[n].selected=!this.ionTypes[n].selected},preparePrecursorInfo(){if(this.selectedScanIndex==null){this.massData=[];return}if(this.computedMass!==void 0){this.massTitle="Proteoform";let D="-",w="-";this.computedMass>0&&(D=this.computedMass.toFixed(2),w=Math.abs(this.theoreticalMass-this.computedMass).toFixed(2)),this.massData=[`Theoretical protein mass : ${this.theoreticalMass.toFixed(2)}`,`Observed proteoform mass : ${D}`,`Δ Mass (Da) : ${w}`],this.visibilityOptions.some(p=>p.text==="Tags")||(this.visibilityOptions.push({text:"Truncations",selected:!0}),this.visibilityOptions.push({text:"Tags",selected:!0}),this.updateSettings()),this.ionTypesExtra["ammonium loss"]=!1,this.ionTypesExtra["water loss"]=!1,this.ionTypesExtra["proton loss/addition"]=!1;return}const e=this.streamlitDataStore.allDataForDrawing.per_scan_data[this.selectedScanIndex].PrecursorMass;if(e===0){this.massData=[];return}let r=this.theoreticalMass;this.variableModData.isEmpty||(this.variableModifications.valueOf(),Object.values(this.variableModifications).forEach(D=>{r+=D}));const A=Math.abs(r-e);this.massTitle="Precursor",this.massData=[`Theoretical mass : ${r.toFixed(2)}`,`Observed mass : ${e.toFixed(2)}`,`Δ Mass (Da) : ${A.toFixed(2)}`]},prepareFragmentTable(){if(this.sequence.length<=0){this.fragmentTableTitle="";return}if(this.selectedScanIndex===void 0){this.fragmentTableTitle="";return}const e=this.streamlitDataStore.allDataForDrawing.per_scan_data[this.selectedScanIndex].MonoMass;let r=[];const A=this.sequence_end;this.ionTypes.filter(D=>D.selected).forEach(D=>{if((D.text==="a"||D.text==="b"||D.text==="c")&&this.sequence_start_reported<0||(D.text==="x"||D.text==="y"||D.text==="z")&&this.sequence_end_reported<0)return;const w=this.getFragmentMasses(D.text);for(let p=0,t=w.length;p{this.variableModData.isEmpty||((D.text==="a"||D.text==="b"||D.text==="c")&&Object.entries(this.variableModifications).forEach(([M,v])=>{parseInt(M)<=d&&(g+=v)}),(D.text==="x"||D.text==="y"||D.text==="z")&&Object.entries(this.variableModifications).forEach(([M,v])=>{A-parseInt(M)<=d&&(g+=v)}));const i=Object.entries(OO).filter(([M])=>this.ionTypesExtra[M]||M==="default").map(([M,v])=>v).flat();for(let M=0,v=e.length;M{const a=g+l,u=e[M]-a,o=u/a*1e6;if(Math.abs(o)>this.fragmentMassTolerance)return;const s={Name:`${D.text}${p+1}`,IonType:`${D.text}${f}`,IonNumber:p+1,TheoreticalMass:a.toFixed(3),ObservedMass:e[M],MassDiffDa:u.toFixed(3),MassDiffPpm:o.toFixed(3)};r.push(s);let h=d;(D.text==="a"||D.text==="b"||D.text==="c")&&(this.sequenceObjects[h][`${D.text}Ion`]=!0),(D.text==="x"||D.text==="y"||D.text==="z")&&(this.sequenceObjects[A-p][`${D.text}Ion`]=!0,h=A-p),f&&this.sequenceObjects[d].extraTypes.push(`${D.text}${f}`)})})}}),this.residueCleavagePercentage=this.calculateCleavagePercentage,this.fragmentTableData=r,this.fragmentTableTitle=`Matching fragments (# ${r.length})`},fixedModification(n){return this.fixedModificationSites.includes(n)},initializeSequenceObjects(){this.sequenceObjects=[],this.sequence.forEach((n,e)=>{const r=this.coverage[e];let A=!1;(this.sequence_start>e||this.sequence_endA.Name===e),this.selectedFragTableRowIndex>=0&&this.updateMassTableFromFragmentMass(this.fragmentTableData[this.selectedFragTableRowIndex].ObservedMass)},onFragmentTableRowSelected(n){if(n!==void 0&&this.fragmentTableData[n]){const e=this.fragmentTableData[n].ObservedMass;this.updateMassTableFromFragmentMass(e)}},updateMassTableFromFragmentMass(n){var D;if(this._updatingFromMass)return;this._updatingFromFragment=!0;let e;const r=this.selectionStore.selectedScanIndex;if(r!==void 0){const w=this.streamlitDataStore.allDataForDrawing.per_scan_data[r];w&&w.MonoMass&&(e=w.MonoMass)}if(!e){const w=this.streamlitDataStore.allDataForDrawing;if(((D=w.per_scan_data)==null?void 0:D.length)>0){for(const p of w.per_scan_data)if(p&&p.MonoMass){e=p.MonoMass;break}}}if(!e||e.length===0){this._updatingFromFragment=!1;return}let A=e.findIndex(w=>w===n);if(A<0){const p=e.map((t,d)=>({index:d,mass:t,diff:Math.abs(t-n)})).filter(t=>t.diff<.001).sort((t,d)=>t.diff-d.diff);p.length>0&&(A=p[0].index)}A>=0&&this.selectionStore.updateSelectedMass(A),this._updatingFromFragment=!1},updateFragmentTableFromMassSelection(n){var p;if(this._updatingFromFragment)return;this._updatingFromMass=!0;let e,r;const A=this.selectionStore.selectedScanIndex;if(A!==void 0){const t=this.streamlitDataStore.allDataForDrawing.per_scan_data[A];t&&t.MonoMass&&(e=t.MonoMass)}if(!e){const t=this.streamlitDataStore.allDataForDrawing;if(((p=t.per_scan_data)==null?void 0:p.length)>0){for(const d of t.per_scan_data)if(d&&d.MonoMass){e=d.MonoMass;break}}}if(!e||n>=e.length||n<0){this._updatingFromMass=!1;return}if(r=e[n],!r){this._updatingFromMass=!1;return}const D=.001;let w=null;for(let t=0;t{var D,w;const r=((D=this.selectedTag)==null?void 0:D.startPos)==e,A=((w=this.selectedTag)==null?void 0:w.endPos)==e;this.sequenceObjects[e].tagStart=r,this.sequenceObjects[e].tagEnd=A}))},prepareAmbigiousModifications(){this.modifications.forEach(n=>{const e=n.start,r=n.end,A=n.mass_diff.toFixed(2),D=n.labels,w=parseFloat(A).toLocaleString("en-US",{signDisplay:"always"});for(let p=e;p<=r;p++)p==e&&(this.sequenceObjects[p].modStart=!0),p==r&&(this.sequenceObjects[p].modEnd=!0,this.sequenceObjects[p].modMass=w,this.sequenceObjects[p].modLabels=D),p!=e&&p!=r&&(this.sequenceObjects[p].modCenter=!0)})},async copySequence(){try{if(this.sequence.length===0)return;const n=this.sequence.slice(this.sequence_start,this.sequence_end+1).join("");if(!navigator.clipboard)throw new Error("Clipboard API not available");await navigator.clipboard.writeText(n),this.copySnackbarText="Sequence copied to clipboard!",this.copySnackbar=!0}catch(n){this.copySnackbarText="Failed to copy sequence to clipboard",this.copySnackbar=!0,console.error("Copy failed:",n)}}}});const $2=n=>(Ty("data-v-f70a999a"),n=n(),ky(),n),HD=$2(()=>ti("div",{class:"d-flex justify-center"},[ti("h4",null,"Sequence View")],-1)),GD={class:"sequence-and-scale"},qD={id:"sequence-part"},WD={class:"d-flex justify-space-evenly"},$D={class:"d-flex justify-end px-4 mb-4"},YD={class:"d-flex justify-space-evenly"},ZD={class:"d-flex justify-space-evenly"},XD={class:"d-flex justify-space-evenly"},KD={key:0,class:"d-flex justify-center align-center"},JD={key:3,class:"d-flex justify-center align-center"},QD={key:0,class:"scale-container",title:"Sequence Tag Coverage"},ez={class:"scale-text"},tz=$2(()=>ti("div",{class:"scale"},null,-1)),nz=$2(()=>ti("div",{class:"scale-text"},"1x",-1)),rz={id:"sequence-view-table"};function iz(n,e,r,A,D,w){var _;const p=Hr("v-divider"),t=Hr("SvgScreenshot"),d=Hr("SequenceViewInformation"),g=Hr("v-icon"),i=Hr("v-tooltip"),M=Hr("v-btn"),v=Hr("v-list-item-title"),f=Hr("v-slider"),l=Hr("v-list-item"),a=Hr("v-checkbox"),u=Hr("v-text-field"),o=Hr("v-list"),s=Hr("v-card"),h=Hr("v-menu"),c=Hr("ProteinTerminalCell"),m=Hr("AminoAcidCell"),T=Hr("TabulatorTable"),y=Hr("v-sheet"),C=Hr("v-snackbar");return Ir(),ei($r,null,[HD,gt(y,{class:"pa-4 rounded-lg",style:{"max-width":"97%"},theme:((_=n.theme)==null?void 0:_.base)??"light",border:""},{default:ai(()=>[ti("div",GD,[ti("div",qD,[ti("div",WD,[n.massData.length!=0?(Ir(),ei($r,{key:0},[ti("h3",null,eo(n.massTitle),1),gt(p,{vertical:!0}),(Ir(!0),ei($r,null,Hl(n.massData,(k,E)=>(Ir(),ei($r,{key:E},[qi(eo(k)+" ",1),gt(p,{vertical:!0})],64))),128))],64)):Yi("",!0)]),ti("div",$D,[ti("div",null,[gt(t,{"element-id":"sequence-part"}),gt(d),gt(M,{variant:"text",icon:"mdi-content-copy",size:"large",disabled:n.sequence.length===0,onClick:n.copySequence},{default:ai(()=>[gt(g,null,{default:ai(()=>[qi("mdi-content-copy")]),_:1}),gt(i,{activator:"parent",location:"bottom"},{default:ai(()=>[qi(" Copy sequence to clipboard ")]),_:1})]),_:1},8,["disabled","onClick"]),gt(M,{id:"settings-button",variant:"text",icon:"mdi-cog",size:"large"}),gt(h,{"close-on-content-click":!1,activator:"#settings-button",location:"bottom"},{default:ai(()=>[gt(s,{"min-width":"300"},{default:ai(()=>[gt(o,null,{default:ai(()=>[gt(l,null,{default:ai(()=>[gt(v,null,{default:ai(()=>[qi("# amino acids per row")]),_:1}),gt(f,{modelValue:n.rowWidth,"onUpdate:modelValue":e[0]||(e[0]=k=>n.rowWidth=k),ticks:n.tickLabels,min:20,max:40,step:"5","show-ticks":"always","tick-size":"4"},null,8,["modelValue","ticks"])]),_:1}),gt(l,null,{default:ai(()=>[gt(v,null,{default:ai(()=>[qi("Visibility")]),_:1}),ti("div",YD,[(Ir(!0),ei($r,null,Hl(n.visibilityOptions,k=>(Ir(),za(a,{key:k.text,modelValue:k.selected,"onUpdate:modelValue":E=>k.selected=E,"hide-details":"",density:"comfortable",label:k.text},null,8,["modelValue","onUpdate:modelValue","label"]))),128))])]),_:1}),gt(l,null,{default:ai(()=>[gt(v,null,{default:ai(()=>[qi("Fragment ion types")]),_:1}),ti("div",ZD,[(Ir(!0),ei($r,null,Hl(n.ionTypes,(k,E)=>(Ir(),za(a,{key:k.text,modelValue:k.selected,"onUpdate:modelValue":x=>k.selected=x,"hide-details":"",density:"comfortable",label:k.text,disabled:!n.showFragments,onClick:x=>n.toggleIonTypeSelected(E)},null,8,["modelValue","onUpdate:modelValue","label","disabled","onClick"]))),128))]),ti("div",XD,[(Ir(!0),ei($r,null,Hl(Object.keys(n.ionTypesExtra),k=>(Ir(),za(a,{key:k,modelValue:n.ionTypesExtra[k],"onUpdate:modelValue":E=>n.ionTypesExtra[k]=E,"hide-details":"",density:"comfortable",label:k,disabled:!n.showFragments},null,8,["modelValue","onUpdate:modelValue","label","disabled"]))),128))])]),_:1}),gt(l,null,{default:ai(()=>[gt(v,null,{default:ai(()=>[qi("Fragment mass tolerance")]),_:1}),gt(u,{modelValue:n.fragmentMassTolerance,"onUpdate:modelValue":e[1]||(e[1]=k=>n.fragmentMassTolerance=k),type:"number","hide-details":"auto",label:"mass tolerance in ppm",disabled:!n.showFragments,onChange:n.updateMassTolerance},null,8,["modelValue","disabled","onChange"])]),_:1})]),_:1})]),_:1})]),_:1})])]),ti("div",{class:Ju(["pb-4 px-2",n.gridClasses]),style:{width:"100%","max-width":"100%"}},[(Ir(!0),ei($r,null,Hl(n.sequenceObjects,(k,E)=>(Ir(),ei($r,{key:E},[n.showTruncations&&E!==0&&E%n.rowWidth===0||!n.showTruncations&&E-n.sequence_start!==0&&(E-n.sequence_start)%n.rowWidth===0&&En.sequence_start?(Ir(),ei("div",KD,eo(n.showTruncations?E+1:E-n.sequence_start+1),1)):Yi("",!0),E===0?(Ir(),za(c,{key:1,"protein-terminal":"N-term",truncated:n.n_truncation,index:-1,"disable-variable-modification-selection":n.disableVariableModifications,determined:n.n_determined},null,8,["truncated","disable-variable-modification-selection","determined"])):Yi("",!0),n.showTruncations||n.sequence_start<=E&&n.sequence_end>=E?(Ir(),za(m,{key:2,index:E,"sequence-object":k,"fixed-modification":n.fixedModification(k.aminoAcid),"disable-variable-modification-selection":n.disableVariableModifications,"show-tags":n.showTags,"show-fragments":n.showFragments,"show-modifications":n.showModifications,onSelected:n.aminoAcidSelected},null,8,["index","sequence-object","fixed-modification","disable-variable-modification-selection","show-tags","show-fragments","show-modifications","onSelected"])):Yi("",!0),n.showTruncations&&E%n.rowWidth===n.rowWidth-1&&E!==n.sequence.length-1||!n.showTruncations&&(E-n.sequence_start)%n.rowWidth===n.rowWidth-1&&En.sequence_start?(Ir(),ei("div",JD,eo(n.showTruncations?E+1:E-n.sequence_start+1),1)):Yi("",!0),E===n.sequence.length-1?(Ir(),za(c,{key:4,"protein-terminal":"C-term",truncated:n.c_truncation,index:n.sequence.length,"disable-variable-modification-selection":n.disableVariableModifications,determined:n.c_determined},null,8,["truncated","index","disable-variable-modification-selection","determined"])):Yi("",!0)],64))),128))],2)]),n.maxCoverage>0&&n.showTags?(Ir(),ei("div",QD,[ti("div",ez,eo(n.maxCoverage+"x"),1),tz,nz])):Yi("",!0)]),ti("div",rz,[n.fragmentTableTitle!==""&&n.showFragments?(Ir(),za(T,{key:0,"table-data":n.fragmentTableData,"column-definitions":n.fragmentTableColumnDefinitions,index:n.index,"selected-row-index-from-listening":n.selectedFragTableRowIndex,"table-layout-param":"fitColumns",onRowSelected:n.onFragmentTableRowSelected},{default:ai(()=>[qi(eo(n.fragmentTableTitle),1)]),"end-title-row":ai(()=>[qi("% Residue cleavage: "+eo(n.residueCleavagePercentage.toFixed(3))+"%",1)]),_:1},8,["table-data","column-definitions","index","selected-row-index-from-listening","onRowSelected"])):Yi("",!0)])]),_:1},8,["theme"]),gt(C,{modelValue:n.copySnackbar,"onUpdate:modelValue":e[3]||(e[3]=k=>n.copySnackbar=k),timeout:3e3,location:"bottom"},{actions:ai(()=>[gt(M,{color:"blue",variant:"text",onClick:e[2]||(e[2]=k=>n.copySnackbar=!1)},{default:ai(()=>[qi(" Close ")]),_:1})]),default:ai(()=>[qi(eo(n.copySnackbarText)+" ",1)]),_:1},8,["modelValue"])],64)}const az=hs(UD,[["render",iz],["__scopeId","data-v-f70a999a"]]),oz=ns({name:"FLASHQuantView",components:{TabulatorTable:y0},setup(){return{streamlitDataStore:Ns()}},data(){return{setHeightInterval:null,featureGroupTableColumnDefinitions:[{title:"Index",field:"FeatureGroupIndex"},{title:"Monoisotopic Mass",field:"MonoisotopicMass"},{title:"Average Mass",field:"AverageMass"},{title:"Start Retention Time (FWHM)",field:"StartRetentionTime(FWHM)"},{title:"End Retention Time (FWHM)",field:"EndRetentionTime(FWHM)"},{title:"Feature Group Quantity",field:"FeatureGroupQuantity"},{title:"Feature Group Quantity",field:"FeatureGroupQuantity"},{title:"Min Charge",field:"MinCharge"},{title:"Max Charge",field:"MaxCharge"},{title:"Most Abundant Charge",field:"MostAbundantFeatureCharge"},{title:"Isotope Cosine Score",field:"IsotopeCosineScore"}],selectedFeatureGroupIndex:void 0,maximumIntensity:0}},computed:{theme(){return this.streamlitDataStore.theme},featureGroupTableData(){return this.streamlitDataStore.dataForDrawing.quant_data},trace3DgraphLayout(){var n,e,r,A;return{title:"Feature group signals",paper_bgcolor:(n=this.theme)==null?void 0:n.backgroundColor,plot_bgcolor:(e=this.theme)==null?void 0:e.secondaryBackgroundColor,height:800,font:{color:(r=this.theme)==null?void 0:r.textColor,family:(A=this.theme)==null?void 0:A.font},scene:{xaxis:{title:"m/z"},yaxis:{title:"retention time"},zaxis:{title:"intensity",range:[0,this.maximumIntensity]}},showlegend:!0}}},watch:{selectedFeatureGroupIndex(){this.trace3DGraph()}},mounted(){this.setHeightInterval=setInterval(()=>Wu.setFrameHeight(),500)},unmounted(){this.setHeightInterval!==null&&clearInterval(this.setHeightInterval)},methods:{async trace3DGraph(){await _l.newPlot("trace3Dplot",this.trace3DgraphData(),this.trace3DgraphLayout,{responsive:!0})},updateSelectedFeatureGroupRow(n){n!==void 0&&(this.selectedFeatureGroupIndex=n)},trace3DgraphData(){if(this.selectedFeatureGroupIndex===void 0)return[];const n=this.featureGroupTableData[this.selectedFeatureGroupIndex],e=[...new Set(n.Charges)],r={};e.forEach(w=>{r[w]={mzs:[],rts:[],intys:[]}}),n.Charges.forEach((w,p)=>{const t=n.MZs[p].split(",").map(parseFloat),d=n.RTs[p].split(",").map(parseFloat),g=n.Intensities[p].split(",").map(parseFloat);r[w].mzs.push(t[0]),r[w].rts.push(d[0]),r[w].intys.push(-1e3),r[w].mzs.push(...t),r[w].rts.push(...d),r[w].intys.push(...g),r[w].mzs.push(t[-1]),r[w].rts.push(d[-1]),r[w].intys.push(-1e3)}),this.maximumIntensity=Math.max.apply(null,Object.values(r).map(w=>Math.max.apply(null,w.intys)));let D=[];return Object.entries(r).forEach(([w,p])=>{D.push({x:p.mzs,y:p.rts,z:p.intys,mode:"lines",line:{color:"#3366CC"},type:"scatter3d",name:`Charge: ${w}`})}),D}}}),sz={class:"pa-4"},lz=ti("div",{id:"trace3Dplot",style:{width:"90%"}},null,-1);function uz(n,e,r,A,D,w){const p=Hr("TabulatorTable"),t=Hr("v-row");return Ir(),ei("div",sz,[gt(t,{class:"flex-nowrap"},{default:ai(()=>[n.featureGroupTableData?(Ir(),za(p,{key:0,title:"Feature groups",index:0,"table-data":n.featureGroupTableData,"column-definitions":n.featureGroupTableColumnDefinitions,"table-index-field":"FeatureGroupIndex","default-row":0,onRowSelected:n.updateSelectedFeatureGroupRow},null,8,["table-data","column-definitions","onRowSelected"])):Yi("",!0)]),_:1}),lz])}const cz=hs(oz,[["render",uz]]),hz=ns({name:"InternalFragmentMap",components:{SvgScreenshot:o6},props:{index:{type:Number,required:!0}},setup(){const n=Ns(),e=rc();return{streamlitData:n,selectionStore:e}},data(){return{fragmentMassTolerance:10,fragmentMassToleranceUnit:"ppm",fragmentMassTypes:{by:!0,cy:!0,bz:!0},fragmentDisplayOverlay:!1,fragOpacity:.2,fragOpacityMin:.01,fragOpacityMax:1}},computed:{theme(){return this.streamlitData.theme},internalFragmentData(){var n;return(n=this.streamlitData.internalFragmentData)==null?void 0:n[this.selectedSequence]},selectedSequence(){const n=this.selectionStore.selectedProteinIndex;return typeof n=="number"?n:0},displayTnT(){var e,r;let n=this.selectedSequence;return((r=(e=this.streamlitData.sequenceData)==null?void 0:e[n])==null?void 0:r.computed_mass)!==void 0},sequence(){var r,A,D,w;const n=(r=this.streamlitData.sequenceData)==null?void 0:r[this.selectedSequence].proteoform_start,e=(A=this.streamlitData.sequenceData)==null?void 0:A[this.selectedSequence].proteoform_end;return n!==void 0&&e!==void 0?(D=this.streamlitData.sequenceData)==null?void 0:D[this.selectedSequence].sequence.slice(n,e+1):(w=this.streamlitData.sequenceData)==null?void 0:w[this.selectedSequence].sequence},fragmentStyle(){var n;return{height:(94/(((n=this.sequence)==null?void 0:n.length)??1)).toFixed(2)+"vw","--frag-block-opacity-value":this.fragOpacity}},fragmentTypeContainerStyle(){return{height:this.fragmentDisplayOverlay?this.fragmentStyle.height:"auto"}},fragmentTypeOverlayStyle(){return{position:this.fragmentDisplayOverlay?"absolute":"static"}},fragmentDisplayOverlayLabels(){return this.fragmentDisplayOverlay?"Overlay fragments from the same type":"Stacked"},selectedScanInfo(){if(this.selectionStore.selectedScanIndex!==void 0)return this.streamlitData.allDataForDrawing.per_scan_data.length==1?this.streamlitData.allDataForDrawing.per_scan_data[0]:this.streamlitData.allDataForDrawing.per_scan_data[this.selectionStore.selectedScanIndex]},byData(){var A,D,w;if(this.selectedScanInfo===void 0||!((A=this.internalFragmentData)!=null&&A.fragment_masses_by)||!((D=this.internalFragmentData)!=null&&D.start_indices_by)||!((w=this.internalFragmentData)!=null&&w.end_indices_by))return[];if(this.selectedScanInfo.PrecursorMass===0&&!this.displayTnT)return[];const e=[],r=this.selectedScanInfo.MonoMass;return this.filterMatchingMasses(r,this.internalFragmentData.fragment_masses_by,this.internalFragmentData.start_indices_by,this.internalFragmentData.end_indices_by,e),e},cyData(){var A,D,w;if(this.selectedScanInfo===void 0||!((A=this.internalFragmentData)!=null&&A.fragment_masses_cy)||!((D=this.internalFragmentData)!=null&&D.start_indices_cy)||!((w=this.internalFragmentData)!=null&&w.end_indices_cy))return[];if(this.selectedScanInfo.PrecursorMass===0&&!this.displayTnT)return[];const e=[],r=this.selectedScanInfo.MonoMass;return this.filterMatchingMasses(r,this.internalFragmentData.fragment_masses_cy,this.internalFragmentData.start_indices_cy,this.internalFragmentData.end_indices_cy,e),e},bzData(){var A,D,w;if(this.selectedScanInfo===void 0||!((A=this.internalFragmentData)!=null&&A.fragment_masses_bz)||!((D=this.internalFragmentData)!=null&&D.start_indices_bz)||!((w=this.internalFragmentData)!=null&&w.end_indices_bz))return[];if(this.selectedScanInfo.PrecursorMass===0&&!this.displayTnT)return[];const e=[],r=this.selectedScanInfo.MonoMass;return this.filterMatchingMasses(r,this.internalFragmentData.fragment_masses_bz,this.internalFragmentData.start_indices_bz,this.internalFragmentData.end_indices_bz,e),e}},methods:{updateMassTolerance(n){this.fragmentMassTolerance=Number.parseInt(n.target.value)},fragmentClasses(n,e,r,A){const D=n>e&&n<=r;let w=A;return this.fragmentDisplayOverlay&&(w+="-overlayed"),{[w]:D,"not-in-fragment":!D}},filterMatchingMasses(n,e,r,A,D){for(let w=0,p=e.length;wthis.fragmentMassTolerance)){D.push({mass:t,start:r[w],end:A[w]});break}}}}}});const fz=n=>(Ty("data-v-ece55ad7"),n=n(),ky(),n),dz=fz(()=>ti("div",{class:"d-flex justify-center"},[ti("h4",null,"Internal Fragment Map")],-1)),pz={class:"d-flex justify-space-between"},mz=UE('
by/cz
bz
cy
',1),gz={class:"d-flex justify-end px-4 mb-4",style:{"max-width":"97%"}},vz={class:"d-flex"},yz={class:"d-flex justify-space-between"},bz={id:"internal-fragment-part"},xz={class:"d-flex",style:{"border-bottom":"white","border-bottom-width":"1px","border-bottom-style":"solid"}};function _z(n,e,r,A,D,w){var o;const p=Hr("SvgScreenshot"),t=Hr("v-btn"),d=Hr("v-list-item-title"),g=Hr("v-switch"),i=Hr("v-list-item"),M=Hr("v-text-field"),v=Hr("v-slider"),f=Hr("v-list"),l=Hr("v-card"),a=Hr("v-menu"),u=Hr("v-sheet");return Ir(),ei($r,null,[dz,ti("div",pz,[mz,ti("div",gz,[gt(p,{"element-id":"internal-fragment-part"}),gt(t,{id:"internal-frag-settings-button",variant:"text",icon:"mdi-cog",size:"medium"}),gt(a,{"close-on-content-click":!1,activator:"#internal-frag-settings-button",location:"bottom"},{default:ai(()=>[gt(l,{"min-width":"300"},{default:ai(()=>[gt(f,null,{default:ai(()=>[gt(i,null,{default:ai(()=>[gt(d,null,{default:ai(()=>[qi("Fragments display style")]),_:1}),ti("div",vz,[gt(g,{modelValue:n.fragmentDisplayOverlay,"onUpdate:modelValue":e[0]||(e[0]=s=>n.fragmentDisplayOverlay=s),"hide-details":"",label:`${n.fragmentDisplayOverlayLabels}`,class:"mr-4"},null,8,["modelValue","label"])])]),_:1}),gt(i,null,{default:ai(()=>[gt(d,null,{default:ai(()=>[qi("Opacity of each fragment (If overlay display style)")]),_:1}),ti("div",{style:zs({background:`rgba(240, 164, 65, ${n.fragOpacity})`})},[gt(v,{modelValue:n.fragOpacity,"onUpdate:modelValue":e[2]||(e[2]=s=>n.fragOpacity=s),class:"align-center ml-4",max:n.fragOpacityMax,min:n.fragOpacityMin,"hide-details":""},{append:ai(()=>[gt(M,{modelValue:n.fragOpacity,"onUpdate:modelValue":e[1]||(e[1]=s=>n.fragOpacity=s),"hide-details":"","single-line":"",min:n.fragOpacityMin,max:n.fragOpacityMax,step:"0.01",density:"compact",type:"number",class:"textFieldFontSize"},null,8,["modelValue","min","max"])]),_:1},8,["modelValue","max","min"])],4)]),_:1}),gt(i,null,{default:ai(()=>[gt(d,null,{default:ai(()=>[qi("Fragment mass tolerance")]),_:1}),ti("div",yz,[gt(g,{modelValue:n.fragmentMassToleranceUnit,"onUpdate:modelValue":e[3]||(e[3]=s=>n.fragmentMassToleranceUnit=s),"true-value":"ppm","false-value":"Da","hide-details":"",label:`${n.fragmentMassToleranceUnit}`,class:"mr-4"},null,8,["modelValue","label"]),gt(M,{modelValue:n.fragmentMassTolerance,"onUpdate:modelValue":e[4]||(e[4]=s=>n.fragmentMassTolerance=s),type:"number","hide-details":"auto",label:"mass tolerance",onChange:n.updateMassTolerance},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})])]),gt(u,{class:"pa-4 rounded-lg",style:{"max-width":"97%"},theme:((o=n.theme)==null?void 0:o.base)??"light",border:""},{default:ai(()=>[ti("div",bz,[ti("div",xz,[(Ir(!0),ei($r,null,Hl(n.sequence,(s,h)=>(Ir(),ei("div",{key:`${s}-${h}`,class:"d-flex justify-center align-center fragment-segment sequence-text",style:zs(n.fragmentStyle)},eo(s),5))),128))]),ti("div",{style:zs(n.fragmentTypeContainerStyle)},[(Ir(!0),ei($r,null,Hl(n.byData,s=>(Ir(),ei("div",{key:s.mass,class:"d-flex",style:zs(n.fragmentTypeOverlayStyle)},[(Ir(!0),ei($r,null,Hl(n.sequence,(h,c)=>(Ir(),ei("div",{key:`${h}-${c}`,class:Ju(n.fragmentClasses(c,s.start,s.end,"by-fragment")),style:zs([{border:"1px solid white"},n.fragmentStyle])},null,6))),128))],4))),128))],4),ti("div",{style:zs(n.fragmentTypeContainerStyle)},[(Ir(!0),ei($r,null,Hl(n.cyData,s=>(Ir(),ei("div",{key:s.mass,class:"d-flex",style:zs(n.fragmentTypeOverlayStyle)},[(Ir(!0),ei($r,null,Hl(n.sequence,(h,c)=>(Ir(),ei("div",{key:`${h}-${c}`,class:Ju(n.fragmentClasses(c,s.start,s.end,"cy-fragment")),style:zs([{border:"1px solid white"},n.fragmentStyle])},null,6))),128))],4))),128))],4),ti("div",{style:zs(n.fragmentTypeContainerStyle)},[(Ir(!0),ei($r,null,Hl(n.bzData,s=>(Ir(),ei("div",{key:s.mass,class:"d-flex",style:zs(n.fragmentTypeOverlayStyle)},[(Ir(!0),ei($r,null,Hl(n.sequence,(h,c)=>(Ir(),ei("div",{key:`${h}-${c}`,class:Ju(n.fragmentClasses(c,s.start,s.end,"bz-fragment")),style:zs([{border:"1px solid white"},n.fragmentStyle])},null,6))),128))],4))),128))],4)])]),_:1},8,["theme"])],64)}const wz=hs(hz,[["render",_z],["__scopeId","data-v-ece55ad7"]]),Tz=ns({name:"FDRPlotly",props:{args:{type:Object,required:!0},index:{type:Number,required:!0}},setup(){const n=Ns();return console.log("I exist!"),{streamlitDataStore:n}},computed:{xValues_target(){return this.streamlitDataStore.allDataForDrawing.density_target===void 0?[]:this.streamlitDataStore.allDataForDrawing.density_target.map(n=>n.x)},xValues_decoy(){return this.streamlitDataStore.allDataForDrawing.density_decoy===void 0?[]:this.streamlitDataStore.allDataForDrawing.density_decoy.map(n=>n.x)},yValues_target(){return this.streamlitDataStore.allDataForDrawing.density_target===void 0?[]:this.streamlitDataStore.allDataForDrawing.density_target.map(n=>n.y)},yValues_decoy(){return this.streamlitDataStore.allDataForDrawing.density_decoy===void 0?[]:this.streamlitDataStore.allDataForDrawing.density_decoy.map(n=>n.y)},id(){return`graph-${this.index}`},layout(){return{title:`${this.args.title}`,showlegend:!0,height:400,xaxis:{title:"QScore",showgrid:!1},yaxis:{title:"Density",showgrid:!0,rangemode:"nonnegative",fixedrange:!0},paper_bgcolor:"white",plot_bgcolor:"white",font:{color:"black",family:"Arial"}}},data(){return[{x:this.xValues_target,y:this.yValues_target,mode:"lines+markers",type:"scatter",name:"Target QScores",marker:{color:"green"}},{x:this.xValues_decoy,y:this.yValues_decoy,mode:"lines+markers",type:"scatter",name:"Decoy QScores",marker:{color:"red"}}]}},watch:{xValues_target(){this.graph()}},mounted(){this.graph()},methods:{async graph(){await _l.newPlot(this.id,this.data,this.layout,{modeBarButtonsToRemove:["toImage","sendDataToCloud"],modeBarButtonsToAdd:[{title:"Download as SVG",name:"toImageSvg",icon:_l.Icons.camera,click:n=>{_l.downloadImage(n,{filename:"FDR-plot",height:400,width:1200,format:"svg"})}}]})}}}),kz=["id"];function Mz(n,e,r,A,D,w){return Ir(),ei("div",{id:n.id,style:{width:"100%"}},null,8,kz)}const Sz=hs(Tz,[["render",Mz]]),Az=ns({name:"ComponentsRow",components:{InternalFragmentMap:wz,FLASHQuantView:cz,Plotly3Dplot:kO,PlotlyHeatmap:lR,TabulatorScanTable:mO,PlotlyLineplotUnified:xO,TabulatorMassTable:AO,TabulatorProteinTable:LO,TabulatorTagTable:PO,SequenceView:az,FDRPlotly:Sz},props:{components:{type:Object,required:!0},rowIndex:{type:Number,required:!0}},data(){return{componentHeightMapping:{TabulatorScanTable:"height-any",TabulatorMassTable:"height-any",TabulatorProteinTable:"height-any",TabulatorTagTable:"height-any",PlotlyLineplot:"height-any",PlotlyLineplotTagger:"height-any",PlotlyLineplotUnified:"height-any",PlotlyHeatmap:"height-any",Plotly3Dplot:"height-any",SequenceView:"height-any",InternalFragmentMap:"height-any",FDRPlotly:"height-any"}}},methods:{componentClasses(n){return{[this.componentHeightMapping[n]]:!0,[`component-width-${this.components.length}`]:!0}},componentIndex(n){return n+this.rowIndex*100}}});const Cz={class:"component-row"};function Ez(n,e,r,A,D,w){const p=Hr("PlotlyHeatmap"),t=Hr("TabulatorScanTable"),d=Hr("TabulatorMassTable"),g=Hr("TabulatorProteinTable"),i=Hr("TabulatorTagTable"),M=Hr("PlotlyLineplotUnified"),v=Hr("Plotly3Dplot"),f=Hr("SequenceView"),l=Hr("InternalFragmentMap"),a=Hr("FLASHQuantView"),u=Hr("FDRPlotly");return Ir(),ei("div",Cz,[(Ir(!0),ei($r,null,Hl(n.components,(o,s)=>(Ir(),ei("div",{key:s,class:Ju(n.componentClasses(o.componentArgs.componentName))},[o.componentArgs.componentName==="PlotlyHeatmap"?(Ir(),za(p,{key:0,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="TabulatorScanTable"?(Ir(),za(t,{key:1,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="TabulatorMassTable"?(Ir(),za(d,{key:2,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="TabulatorProteinTable"?(Ir(),za(g,{key:3,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="TabulatorTagTable"?(Ir(),za(i,{key:4,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="PlotlyLineplot"?(Ir(),za(M,{key:5,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="PlotlyLineplotTagger"?(Ir(),za(M,{key:6,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="Plotly3Dplot"?(Ir(),za(v,{key:7,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):o.componentArgs.componentName==="SequenceView"?(Ir(),za(f,{key:8,index:n.componentIndex(s)},null,8,["index"])):o.componentArgs.componentName==="InternalFragmentMap"?(Ir(),za(l,{key:9,index:n.componentIndex(s)},null,8,["index"])):o.componentArgs.componentName==="FLASHQuantView"?(Ir(),za(a,{key:10})):o.componentArgs.componentName==="FDRPlotly"?(Ir(),za(u,{key:11,args:o.componentArgs,index:n.componentIndex(s)},null,8,["args","index"])):Yi("",!0)],2))),128))])}const Lz=hs(Az,[["render",Ez],["__scopeId","data-v-942c08f7"]]),Iz=ns({name:"ComponentsLayout",components:{ComponentsRow:Lz},props:{components:{type:Object,required:!0}},data(){return{columns:6}},methods:{componentRowClasses(){return{"[`height-${layout.height ?? 1}`]":!0,[`component-width-${this.components.length}`]:!0}}}});const Rz={class:"component-layout"};function Pz(n,e,r,A,D,w){const p=Hr("ComponentsRow");return Ir(),ei("div",Rz,[(Ir(!0),ei($r,null,Hl(n.components,(t,d)=>(Ir(),za(p,{key:d,components:t,"row-index":d},null,8,["components","row-index"]))),128))])}const Oz=hs(Iz,[["render",Pz],["__scopeId","data-v-721e06dc"]]),Dz=ns({name:"App",components:{ComponentsLayout:Oz},setup(){const n=Ns(),e=rc();return Yr(e.$state,r=>{Wu.setComponentValue(wi(r))},{deep:!0,immediate:!0}),{streamlitDataStore:n,selectionStore:e}},data(){return{timer:void 0}},computed:{components(){var n;return(n=this.streamlitDataStore.args)==null?void 0:n.components}},created(){Wu.setComponentReady(),Wu.setFrameHeight(500),Wu.events.addEventListener(Wu.RENDER_EVENT,this.updateStreamlitData)},mounted(){this.timer=setInterval(()=>{Wu.setFrameHeight()},500)},unmounted(){Wu.events.removeEventListener(Wu.RENDER_EVENT,this.updateStreamlitData),clearInterval(this.timer)},updated(){Wu.setFrameHeight()},methods:{async updateStreamlitData(n){this.streamlitDataStore.updateRenderData(n.detail)}}});const zz={key:0},Fz={key:1,class:"d-flex w-100",style:{height:"400px"}};function Bz(n,e,r,A,D,w){const p=Hr("ComponentsLayout"),t=Hr("v-progress-linear"),d=Hr("v-alert");return n.components!==void 0&&n.components.length>0?(Ir(),ei("div",zz,[gt(p,{components:n.components},null,8,["components"])])):(Ir(),ei("div",Fz,[gt(d,{class:"h-50 ma-16 pr-16",icon:"mdi-application-variable-outline",title:"FLASHViewer loading",type:"info"},{default:ai(()=>[gt(t,{indeterminate:""}),qi(" Please wait... ")]),_:1})]))}const Nz=hs(Dz,[["render",Bz]]);const no=typeof window<"u",Y2=no&&"IntersectionObserver"in window,Vz=no&&("ontouchstart"in window||window.navigator.maxTouchPoints>0);function b5(n,e,r){jz(n,e),e.set(n,r)}function jz(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Uz(n,e,r){var A=l6(n,e,"set");return Hz(n,A,r),r}function Hz(n,e,r){if(e.set)e.set.call(n,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function _d(n,e){var r=l6(n,e,"get");return Gz(n,r)}function l6(n,e,r){if(!e.has(n))throw new TypeError("attempted to "+r+" private field on non-instance");return e.get(n)}function Gz(n,e){return e.get?e.get.call(n):e.value}function u6(n,e,r){const A=e.length-1;if(A<0)return n===void 0?r:n;for(let D=0;Db0(n[A],e[A]))}function ix(n,e,r){return n==null||!e||typeof e!="string"?r:n[e]!==void 0?n[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),u6(n,e.split("."),r))}function ph(n,e,r){if(e==null)return n===void 0?r:n;if(n!==Object(n)){if(typeof e!="function")return r;const D=e(n,r);return typeof D>"u"?r:D}if(typeof e=="string")return ix(n,e,r);if(Array.isArray(e))return u6(n,e,r);if(typeof e!="function")return r;const A=e(n,r);return typeof A>"u"?r:A}function Kh(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:n},(r,A)=>e+A)}function Qr(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(!(n==null||n===""))return isNaN(+n)?String(n):isFinite(+n)?`${Number(n)}${e}`:void 0}function ax(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function ox(n){return n&&"$el"in n?n.$el:n}const x5=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16}),sx=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function c6(n){return Object.keys(n)}function Od(n,e){return e.every(r=>n.hasOwnProperty(r))}function Yd(n,e,r){const A=Object.create(null),D=Object.create(null);for(const w in n)e.some(p=>p instanceof RegExp?p.test(w):p===w)&&!(r!=null&&r.some(p=>p===w))?A[w]=n[w]:D[w]=n[w];return[A,D]}function ic(n,e){const r={...n};return e.forEach(A=>delete r[A]),r}const h6=/^on[^a-z]/,Z2=n=>h6.test(n),qz=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"];function Qd(n){const[e,r]=Yd(n,[h6]),A=ic(e,qz),[D,w]=Yd(r,["class","style","id",/^data-/]);return Object.assign(D,e),Object.assign(w,A),[D,w]}function bu(n){return n==null?[]:Array.isArray(n)?n:[n]}function Zs(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(e,Math.min(r,n))}function _5(n){const e=n.toString().trim();return e.includes(".")?e.length-e.indexOf(".")-1:0}function w5(n,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return n+r.repeat(Math.max(0,e-n.length))}function Wz(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const r=[];let A=0;for(;A1&&arguments[1]!==void 0?arguments[1]:1e3;if(n=e&&A0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;const A={};for(const D in n)A[D]=n[D];for(const D in e){const w=n[D],p=e[D];if(ax(w)&&ax(p)){A[D]=Ku(w,p,r);continue}if(Array.isArray(w)&&Array.isArray(p)&&r){A[D]=r(w,p);continue}A[D]=p}return A}function f6(n){return n.map(e=>e.type===$r?f6(e.children):e).flat()}function Ud(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(Ud.cache.has(n))return Ud.cache.get(n);const e=n.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return Ud.cache.set(n,e),e}Ud.cache=new Map;function ym(n,e){if(!e||typeof e!="object")return[];if(Array.isArray(e))return e.map(r=>ym(n,r)).flat(1);if(Array.isArray(e.children))return e.children.map(r=>ym(n,r)).flat(1);if(e.component){if(Object.getOwnPropertySymbols(e.component.provides).includes(n))return[e.component];if(e.component.subTree)return ym(n,e.component.subTree).flat(1)}return[]}var sv=new WeakMap,Ap=new WeakMap;class $z{constructor(e){b5(this,sv,{writable:!0,value:[]}),b5(this,Ap,{writable:!0,value:0}),this.size=e}push(e){_d(this,sv)[_d(this,Ap)]=e,Uz(this,Ap,(_d(this,Ap)+1)%this.size)}values(){return _d(this,sv).slice(_d(this,Ap)).concat(_d(this,sv).slice(0,_d(this,Ap)))}}function Yz(n){return"touches"in n?{clientX:n.touches[0].clientX,clientY:n.touches[0].clientY}:{clientX:n.clientX,clientY:n.clientY}}function X2(n){const e=yl({}),r=cn(n);return wu(()=>{for(const A in r.value)e[A]=r.value[A]},{flush:"sync"}),by(e)}function ly(n,e){return n.includes(e)}function d6(n){return n[2].toLowerCase()+n.slice(3)}const yh=()=>[Function,Array];function k5(n,e){return e="on"+sf(e),!!(n[e]||n[`${e}Once`]||n[`${e}Capture`]||n[`${e}OnceCapture`]||n[`${e}CaptureOnce`])}function K2(n){for(var e=arguments.length,r=new Array(e>1?e-1:0),A=1;A1&&arguments[1]!==void 0?arguments[1]:!0;const r=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map(A=>`${A}${e?':not([tabindex="-1"])':""}:not([disabled])`).join(", ");return[...n.querySelectorAll(r)]}function p6(n,e,r){let A,D=n.indexOf(document.activeElement);const w=e==="next"?1:-1;do D+=w,A=n[D];while((!A||A.offsetParent==null||!((r==null?void 0:r(A))??!0))&&D=0);return A}function uy(n,e){var A,D,w,p;const r=Dm(n);if(!e)(n===document.activeElement||!n.contains(document.activeElement))&&((A=r[0])==null||A.focus());else if(e==="first")(D=r[0])==null||D.focus();else if(e==="last")(w=r.at(-1))==null||w.focus();else if(typeof e=="number")(p=r[e])==null||p.focus();else{const t=p6(r,e);t?t.focus():uy(n,e==="next"?"first":"last")}}function m6(){}function l0(n,e){if(!(no&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${e})`)))return null;try{return!!n&&n.matches(e)}catch{return null}}const g6=["top","bottom"],Zz=["start","end","left","right"];function lx(n,e){let[r,A]=n.split(" ");return A||(A=ly(g6,r)?"start":ly(Zz,r)?"top":"center"),{side:ux(r,e),align:ux(A,e)}}function ux(n,e){return n==="start"?e?"right":"left":n==="end"?e?"left":"right":n}function gb(n){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.side],align:n.align}}function vb(n){return{side:n.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.align]}}function M5(n){return{side:n.align,align:n.side}}function S5(n){return ly(g6,n.side)?"y":"x"}class $p{constructor(e){let{x:r,y:A,width:D,height:w}=e;this.x=r,this.y=A,this.width=D,this.height=w}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function A5(n,e){return{x:{before:Math.max(0,e.left-n.left),after:Math.max(0,n.right-e.right)},y:{before:Math.max(0,e.top-n.top),after:Math.max(0,n.bottom-e.bottom)}}}function J2(n){const e=n.getBoundingClientRect(),r=getComputedStyle(n),A=r.transform;if(A){let D,w,p,t,d;if(A.startsWith("matrix3d("))D=A.slice(9,-1).split(/, /),w=+D[0],p=+D[5],t=+D[12],d=+D[13];else if(A.startsWith("matrix("))D=A.slice(7,-1).split(/, /),w=+D[0],p=+D[3],t=+D[4],d=+D[5];else return new $p(e);const g=r.transformOrigin,i=e.x-t-(1-w)*parseFloat(g),M=e.y-d-(1-p)*parseFloat(g.slice(g.indexOf(" ")+1)),v=w?e.width/w:n.offsetWidth+1,f=p?e.height/p:n.offsetHeight+1;return new $p({x:i,y:M,width:v,height:f})}else return new $p(e)}function Dd(n,e,r){if(typeof n.animate>"u")return{finished:Promise.resolve()};let A;try{A=n.animate(e,r)}catch{return{finished:Promise.resolve()}}return typeof A.finished>"u"&&(A.finished=new Promise(D=>{A.onfinish=()=>{D(A)}})),A}const Tv=new WeakMap;function Xz(n,e){Object.keys(e).forEach(r=>{if(Z2(r)){const A=d6(r),D=Tv.get(n);if(e[r]==null)D==null||D.forEach(w=>{const[p,t]=w;p===A&&(n.removeEventListener(A,t),D.delete(w))});else if(!D||![...D].some(w=>w[0]===A&&w[1]===e[r])){n.addEventListener(A,e[r]);const w=D||new Set;w.add([A,e[r]]),Tv.has(n)||Tv.set(n,w)}}else e[r]==null?n.removeAttribute(r):n.setAttribute(r,e[r])})}function Kz(n,e){Object.keys(e).forEach(r=>{if(Z2(r)){const A=d6(r),D=Tv.get(n);D==null||D.forEach(w=>{const[p,t]=w;p===A&&(n.removeEventListener(A,t),D.delete(w))})}else n.removeAttribute(r)})}const Cp=2.4,C5=.2126729,E5=.7151522,L5=.072175,Jz=.55,Qz=.58,eF=.57,tF=.62,lv=.03,I5=1.45,nF=5e-4,rF=1.25,iF=1.25,R5=.078,P5=12.82051282051282,uv=.06,O5=.001;function D5(n,e){const r=(n.r/255)**Cp,A=(n.g/255)**Cp,D=(n.b/255)**Cp,w=(e.r/255)**Cp,p=(e.g/255)**Cp,t=(e.b/255)**Cp;let d=r*C5+A*E5+D*L5,g=w*C5+p*E5+t*L5;if(d<=lv&&(d+=(lv-d)**I5),g<=lv&&(g+=(lv-g)**I5),Math.abs(g-d)d){const M=(g**Jz-d**Qz)*rF;i=M-O5?0:M>-R5?M-M*P5*uv:M+uv}return i*100}function aF(n,e){e=Array.isArray(e)?e.slice(0,-1).map(r=>`'${r}'`).join(", ")+` or '${e.at(-1)}'`:`'${e}'`}const cy=.20689655172413793,oF=n=>n>cy**3?Math.cbrt(n):n/(3*cy**2)+4/29,sF=n=>n>cy?n**3:3*cy**2*(n-4/29);function v6(n){const e=oF,r=e(n[1]);return[116*r-16,500*(e(n[0]/.95047)-r),200*(r-e(n[2]/1.08883))]}function y6(n){const e=sF,r=(n[0]+16)/116;return[e(r+n[1]/500)*.95047,e(r),e(r-n[2]/200)*1.08883]}const lF=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],uF=n=>n<=.0031308?n*12.92:1.055*n**(1/2.4)-.055,cF=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],hF=n=>n<=.04045?n/12.92:((n+.055)/1.055)**2.4;function b6(n){const e=Array(3),r=uF,A=lF;for(let D=0;D<3;++D)e[D]=Math.round(Zs(r(A[D][0]*n[0]+A[D][1]*n[1]+A[D][2]*n[2]))*255);return{r:e[0],g:e[1],b:e[2]}}function Q2(n){let{r:e,g:r,b:A}=n;const D=[0,0,0],w=hF,p=cF;e=w(e/255),r=w(r/255),A=w(A/255);for(let t=0;t<3;++t)D[t]=p[t][0]*e+p[t][1]*r+p[t][2]*A;return D}function z5(n){return!!n&&/^(#|var\(--|(rgb|hsl)a?\()/.test(n)}const F5=/^(?(?:rgb|hsl)a?)\((?.+)\)/,fF={rgb:(n,e,r,A)=>({r:n,g:e,b:r,a:A}),rgba:(n,e,r,A)=>({r:n,g:e,b:r,a:A}),hsl:(n,e,r,A)=>B5({h:n,s:e,l:r,a:A}),hsla:(n,e,r,A)=>B5({h:n,s:e,l:r,a:A}),hsv:(n,e,r,A)=>rf({h:n,s:e,v:r,a:A}),hsva:(n,e,r,A)=>rf({h:n,s:e,v:r,a:A})};function Pc(n){if(typeof n=="number")return{r:(n&16711680)>>16,g:(n&65280)>>8,b:n&255};if(typeof n=="string"&&F5.test(n)){const{groups:e}=n.match(F5),{fn:r,values:A}=e,D=A.split(/,\s*/).map(w=>w.endsWith("%")&&["hsl","hsla","hsv","hsva"].includes(r)?parseFloat(w)/100:parseFloat(w));return fF[r](...D)}else if(typeof n=="string"){let e=n.startsWith("#")?n.slice(1):n;return[3,4].includes(e.length)?e=e.split("").map(r=>r+r).join(""):[6,8].includes(e.length),k6(e)}else if(typeof n=="object"){if(Od(n,["r","g","b"]))return n;if(Od(n,["h","s","l"]))return rf(e_(n));if(Od(n,["h","s","v"]))return rf(n)}throw new TypeError(`Invalid color: ${n==null?n:String(n)||n.constructor.name} Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function rf(n){const{h:e,s:r,v:A,a:D}=n,w=t=>{const d=(t+e/60)%6;return A-A*r*Math.max(Math.min(d,4-d,1),0)},p=[w(5),w(3),w(1)].map(t=>Math.round(t*255));return{r:p[0],g:p[1],b:p[2],a:D}}function B5(n){return rf(e_(n))}function Xy(n){if(!n)return{h:0,s:1,v:1,a:1};const e=n.r/255,r=n.g/255,A=n.b/255,D=Math.max(e,r,A),w=Math.min(e,r,A);let p=0;D!==w&&(D===e?p=60*(0+(r-A)/(D-w)):D===r?p=60*(2+(A-e)/(D-w)):D===A&&(p=60*(4+(e-r)/(D-w)))),p<0&&(p=p+360);const t=D===0?0:(D-w)/D,d=[p,t,D];return{h:d[0],s:d[1],v:d[2],a:n.a}}function x6(n){const{h:e,s:r,v:A,a:D}=n,w=A-A*r/2,p=w===1||w===0?0:(A-w)/Math.min(w,1-w);return{h:e,s:p,l:w,a:D}}function e_(n){const{h:e,s:r,l:A,a:D}=n,w=A+r*Math.min(A,1-A),p=w===0?0:2-2*A/w;return{h:e,s:p,v:w,a:D}}function _6(n){let{r:e,g:r,b:A,a:D}=n;return D===void 0?`rgb(${e}, ${r}, ${A})`:`rgba(${e}, ${r}, ${A}, ${D})`}function w6(n){return _6(rf(n))}function cv(n){const e=Math.round(n).toString(16);return("00".substr(0,2-e.length)+e).toUpperCase()}function T6(n){let{r:e,g:r,b:A,a:D}=n;return`#${[cv(e),cv(r),cv(A),D!==void 0?cv(Math.round(D*255)):""].join("")}`}function k6(n){n=pF(n);let[e,r,A,D]=Wz(n,2).map(w=>parseInt(w,16));return D=D===void 0?D:D/255,{r:e,g:r,b:A,a:D}}function dF(n){const e=k6(n);return Xy(e)}function M6(n){return T6(rf(n))}function pF(n){return n.startsWith("#")&&(n=n.slice(1)),n=n.replace(/([^0-9a-f])/gi,"F"),(n.length===3||n.length===4)&&(n=n.split("").map(e=>e+e).join("")),n.length!==6&&(n=w5(w5(n,6),8,"F")),n}function mF(n,e){const r=v6(Q2(n));return r[0]=r[0]+e*10,b6(y6(r))}function gF(n,e){const r=v6(Q2(n));return r[0]=r[0]-e*10,b6(y6(r))}function cx(n){const e=Pc(n);return Q2(e)[1]}function vF(n,e){const r=cx(n),A=cx(e),D=Math.max(r,A),w=Math.min(r,A);return(D+.05)/(w+.05)}function S6(n){const e=Math.abs(D5(Pc(0),Pc(n)));return Math.abs(D5(Pc(16777215),Pc(n)))>Math.min(e,50)?"#fff":"#000"}function ur(n,e){return r=>Object.keys(n).reduce((A,D)=>{const p=typeof n[D]=="object"&&n[D]!=null&&!Array.isArray(n[D])?n[D]:{type:n[D]};return r&&D in r?A[D]={...p,default:r[D]}:A[D]=p,e&&!A[D].source&&(A[D].source=e),A},{})}const Zr=ur({class:[String,Array],style:{type:[String,Array,Object],default:null}},"component");function ac(n){if(n._setup=n._setup??n.setup,!n.name)return n;if(n._setup){n.props=ur(n.props??{},n.name)();const e=Object.keys(n.props);n.filterProps=function(A){return Yd(A,e,["class","style"])},n.props._as=String,n.setup=function(A,D){const w=r_();if(!w.value)return n._setup(A,D);const{props:p,provideSubDefaults:t}=MF(A,A._as??n.name,w),d=n._setup(p,D);return t(),d}}return n}function Sr(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return e=>(n?ac:ns)(e)}function Nc(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",r=arguments.length>2?arguments[2]:void 0;return Sr()({name:r??sf(tc(n.replace(/__/g,"-"))),props:{tag:{type:String,default:e},...Zr()},setup(A,D){let{slots:w}=D;return()=>{var p;return Xf(A.tag,{class:[n,A.class],style:A.style},(p=w.default)==null?void 0:p.call(w))}}})}function A6(n){if(typeof n.getRootNode!="function"){for(;n.parentNode;)n=n.parentNode;return n!==document?null:document}const e=n.getRootNode();return e!==document&&e.getRootNode({composed:!0})!==document?null:e}const zm="cubic-bezier(0.4, 0, 0.2, 1)",yF="cubic-bezier(0.0, 0, 0.2, 1)",bF="cubic-bezier(0.4, 0, 1, 1)";function As(n,e){const r=Ey();if(!r)throw new Error(`[Vuetify] ${n} ${e||"must be called from inside a setup function"}`);return r}function ff(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const e=As(n).type;return Ud((e==null?void 0:e.aliasName)||(e==null?void 0:e.name))}let C6=0,kv=new WeakMap;function Js(){const n=As("getUid");if(kv.has(n))return kv.get(n);{const e=C6++;return kv.set(n,e),e}}Js.reset=()=>{C6=0,kv=new WeakMap};function t_(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;n;){if(e?xF(n):n_(n))return n;n=n.parentElement}return document.scrollingElement}function hy(n,e){const r=[];if(e&&n&&!e.contains(n))return r;for(;n&&(n_(n)&&r.push(n),n!==e);)n=n.parentElement;return r}function n_(n){if(!n||n.nodeType!==Node.ELEMENT_NODE)return!1;const e=window.getComputedStyle(n);return e.overflowY==="scroll"||e.overflowY==="auto"&&n.scrollHeight>n.clientHeight}function xF(n){if(!n||n.nodeType!==Node.ELEMENT_NODE)return!1;const e=window.getComputedStyle(n);return["scroll","auto"].includes(e.overflowY)}function _F(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:As("injectSelf");const{provides:r}=e;if(r&&n in r)return r[n]}function wF(n){for(;n;){if(window.getComputedStyle(n).position==="fixed")return!0;n=n.offsetParent}return!1}function Or(n){const e=As("useRender");e.render=n}const u0=Symbol.for("vuetify:defaults");function TF(n){return Vr(n)}function r_(){const n=ka(u0);if(!n)throw new Error("[Vuetify] Could not find defaults instance");return n}function es(n,e){const r=r_(),A=Vr(n),D=cn(()=>{if(yu(e==null?void 0:e.disabled))return r.value;const p=yu(e==null?void 0:e.scoped),t=yu(e==null?void 0:e.reset),d=yu(e==null?void 0:e.root);if(A.value==null&&!(p||t||d))return r.value;let g=Ku(A.value,{prev:r.value});if(p)return g;if(t||d){const i=Number(t||1/0);for(let M=0;M<=i&&!(!g||!("prev"in g));M++)g=g.prev;return g&&typeof d=="string"&&d in g&&(g=Ku(Ku(g,{prev:g}),g[d])),g}return g.prev?Ku(g.prev,g):g});return ts(u0,D),D}function kF(n,e){var r,A;return typeof((r=n.props)==null?void 0:r[e])<"u"||typeof((A=n.props)==null?void 0:A[Ud(e)])<"u"}function MF(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r_();const A=As("useDefaults");if(e=e??A.type.name??A.type.__name,!e)throw new Error("[Vuetify] Could not determine component name");const D=cn(()=>{var d;return(d=r.value)==null?void 0:d[n._as??e]}),w=new Proxy(n,{get(d,g){var M,v,f,l;const i=Reflect.get(d,g);return g==="class"||g==="style"?[(M=D.value)==null?void 0:M[g],i].filter(a=>a!=null):typeof g=="string"&&!kF(A.vnode,g)?((v=D.value)==null?void 0:v[g])??((l=(f=r.value)==null?void 0:f.global)==null?void 0:l[g])??i:i}}),p=Wr();wu(()=>{if(D.value){const d=Object.entries(D.value).filter(g=>{let[i]=g;return i.startsWith(i[0].toUpperCase())});p.value=d.length?Object.fromEntries(d):void 0}else p.value=void 0});function t(){const d=_F(u0,A);ts(u0,cn(()=>p.value?Ku((d==null?void 0:d.value)??{},p.value):d==null?void 0:d.value))}return{props:w,provideSubDefaults:t}}const Ky=["sm","md","lg","xl","xxl"],hx=Symbol.for("vuetify:display"),N5={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},SF=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:N5;return Ku(N5,n)};function V5(n){return no&&!n?window.innerWidth:typeof n=="object"&&n.clientWidth||0}function j5(n){return no&&!n?window.innerHeight:typeof n=="object"&&n.clientHeight||0}function U5(n){const e=no&&!n?window.navigator.userAgent:"ssr";function r(l){return!!e.match(l)}const A=r(/android/i),D=r(/iphone|ipad|ipod/i),w=r(/cordova/i),p=r(/electron/i),t=r(/chrome/i),d=r(/edge/i),g=r(/firefox/i),i=r(/opera/i),M=r(/win/i),v=r(/mac/i),f=r(/linux/i);return{android:A,ios:D,cordova:w,electron:p,chrome:t,edge:d,firefox:g,opera:i,win:M,mac:v,linux:f,touch:Vz,ssr:e==="ssr"}}function AF(n,e){const{thresholds:r,mobileBreakpoint:A}=SF(n),D=Wr(j5(e)),w=Wr(U5(e)),p=yl({}),t=Wr(V5(e));function d(){D.value=j5(),t.value=V5()}function g(){d(),w.value=U5()}return wu(()=>{const i=t.value=r.xxl,u=i?"xs":M?"sm":v?"md":f?"lg":l?"xl":"xxl",o=typeof A=="number"?A:r[A],s=t.valueXf(a_,{...n,class:"mdi"})},bi=[String,Function,Object,Array],fx=Symbol.for("vuetify:icons"),Jy=ur({icon:{type:bi},tag:{type:String,required:!0}},"icon"),dx=Sr()({name:"VComponentIcon",props:Jy(),setup(n,e){let{slots:r}=e;return()=>{const A=n.icon;return gt(n.tag,null,{default:()=>{var D;return[n.icon?gt(A,null,null):(D=r.default)==null?void 0:D.call(r)]}})}}}),i_=ac({name:"VSvgIcon",inheritAttrs:!1,props:Jy(),setup(n,e){let{attrs:r}=e;return()=>gt(n.tag,qr(r,{style:null}),{default:()=>[gt("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(n.icon)?n.icon.map(A=>Array.isArray(A)?gt("path",{d:A[0],"fill-opacity":A[1]},null):gt("path",{d:A},null)):gt("path",{d:n.icon},null)])]})}}),LF=ac({name:"VLigatureIcon",props:Jy(),setup(n){return()=>gt(n.tag,null,{default:()=>[n.icon]})}}),a_=ac({name:"VClassIcon",props:Jy(),setup(n){return()=>gt(n.tag,{class:n.icon},null)}}),IF={svg:{component:i_},class:{component:a_}};function RF(n){return Ku({defaultSet:"mdi",sets:{...IF,mdi:EF},aliases:{...CF,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z"}},n)}const PF=n=>{const e=ka(fx);if(!e)throw new Error("Missing Vuetify Icons provide!");return{iconData:cn(()=>{var d;const A=yu(n);if(!A)return{component:dx};let D=A;if(typeof D=="string"&&(D=D.trim(),D.startsWith("$")&&(D=(d=e.aliases)==null?void 0:d[D.slice(1)])),!D)throw new Error(`Could not find aliased icon "${A}"`);if(Array.isArray(D))return{component:i_,icon:D};if(typeof D!="string")return{component:dx,icon:D};const w=Object.keys(e.sets).find(g=>typeof D=="string"&&D.startsWith(`${g}:`)),p=w?D.slice(w.length+1):D;return{component:e.sets[w??e.defaultSet].component,icon:p}})}},OF={badge:"Badge",open:"Open",close:"Close",dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{ok:"OK",cancel:"Cancel",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},timePicker:{am:"AM",pm:"PM"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"}},DF={af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1};function Yf(n,e){let r;function A(){r=Um(),r.run(()=>e.length?e(()=>{r==null||r.stop(),A()}):e())}Yr(n,D=>{D&&!r?A():D||(r==null||r.stop(),r=void 0)},{immediate:!0}),Tl(()=>{r==null||r.stop()})}function xi(n,e,r){let A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:M=>M,D=arguments.length>4&&arguments[4]!==void 0?arguments[4]:M=>M;const w=As("useProxiedModel"),p=Vr(n[e]!==void 0?n[e]:r),t=Ud(e),g=cn(t!==e?()=>{var M,v,f,l;return n[e],!!(((M=w.vnode.props)!=null&&M.hasOwnProperty(e)||(v=w.vnode.props)!=null&&v.hasOwnProperty(t))&&((f=w.vnode.props)!=null&&f.hasOwnProperty(`onUpdate:${e}`)||(l=w.vnode.props)!=null&&l.hasOwnProperty(`onUpdate:${t}`)))}:()=>{var M,v;return n[e],!!((M=w.vnode.props)!=null&&M.hasOwnProperty(e)&&((v=w.vnode.props)!=null&&v.hasOwnProperty(`onUpdate:${e}`)))});Yf(()=>!g.value,()=>{Yr(()=>n[e],M=>{p.value=M})});const i=cn({get(){const M=n[e];return A(g.value?M:p.value)},set(M){const v=D(M),f=wi(g.value?n[e]:p.value);f===v||A(f)===M||(p.value=v,w==null||w.emit(`update:${e}`,v))}});return Object.defineProperty(i,"externalValue",{get:()=>g.value?n[e]:p.value}),i}const H5="$vuetify.",G5=(n,e)=>n.replace(/\{(\d+)\}/g,(r,A)=>String(e[+A])),E6=(n,e,r)=>function(A){for(var D=arguments.length,w=new Array(D>1?D-1:0),p=1;pnew Intl.NumberFormat([n.value,e.value],A).format(r)}function yb(n,e,r){const A=xi(n,e,n[e]??r.value);return A.value=n[e]??r.value,Yr(r,D=>{n[e]==null&&(A.value=r.value)}),A}function I6(n){return e=>{const r=yb(e,"locale",n.current),A=yb(e,"fallback",n.fallback),D=yb(e,"messages",n.messages);return{name:"vuetify",current:r,fallback:A,messages:D,t:E6(r,A,D),n:L6(r,A),provide:I6({current:r,fallback:A,messages:D})}}}function zF(n){const e=Wr((n==null?void 0:n.locale)??"en"),r=Wr((n==null?void 0:n.fallback)??"en"),A=Vr({en:OF,...n==null?void 0:n.messages});return{name:"vuetify",current:e,fallback:r,messages:A,t:E6(e,r,A),n:L6(e,r),provide:I6({current:e,fallback:r,messages:A})}}const c0=Symbol.for("vuetify:locale");function FF(n){return n.name!=null}function BF(n){const e=n!=null&&n.adapter&&FF(n==null?void 0:n.adapter)?n==null?void 0:n.adapter:zF(n),r=VF(e,n);return{...e,...r}}function oc(){const n=ka(c0);if(!n)throw new Error("[Vuetify] Could not find injected locale instance");return n}function NF(n){const e=ka(c0);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");const r=e.provide(n),A=jF(r,e.rtl,n),D={...r,...A};return ts(c0,D),D}function VF(n,e){const r=Vr((e==null?void 0:e.rtl)??DF),A=cn(()=>r.value[n.current.value]??!1);return{isRtl:A,rtl:r,rtlClasses:cn(()=>`v-locale--is-${A.value?"rtl":"ltr"}`)}}function jF(n,e,r){const A=cn(()=>r.rtl??e.value[n.current.value]??!1);return{isRtl:A,rtl:e,rtlClasses:cn(()=>`v-locale--is-${A.value?"rtl":"ltr"}`)}}function Cs(){const n=ka(c0);if(!n)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:n.isRtl,rtlClasses:n.rtlClasses}}const Fm=Symbol.for("vuetify:theme"),oa=ur({theme:String},"theme"),im={defaultTheme:"light",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#6200EE","primary-darken-1":"#3700B3",secondary:"#03DAC6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-variant":"#a3a3a3","on-surface-variant":"#424242",primary:"#BB86FC","primary-darken-1":"#3700B3",secondary:"#03DAC5","secondary-darken-1":"#03DAC5",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}}};function UF(){var r,A;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:im;if(!n)return{...im,isDisabled:!0};const e={};for(const[D,w]of Object.entries(n.themes??{})){const p=w.dark||D==="dark"?(r=im.themes)==null?void 0:r.dark:(A=im.themes)==null?void 0:A.light;e[D]=Ku(p,w)}return Ku(im,{...n,themes:e})}function HF(n){const e=UF(n),r=Vr(e.defaultTheme),A=Vr(e.themes),D=cn(()=>{const i={};for(const[M,v]of Object.entries(A.value)){const f=i[M]={...v,colors:{...v.colors}};if(e.variations)for(const l of e.variations.colors){const a=f.colors[l];if(a)for(const u of["lighten","darken"]){const o=u==="lighten"?mF:gF;for(const s of Kh(e.variations[u],1))f.colors[`${l}-${u}-${s}`]=T6(o(Pc(a),s))}}for(const l of Object.keys(f.colors)){if(/^on-[a-z]/.test(l)||f.colors[`on-${l}`])continue;const a=`on-${l}`,u=Pc(f.colors[l]);f.colors[a]=S6(u)}}return i}),w=cn(()=>D.value[r.value]),p=cn(()=>{const i=[];w.value.dark&&wd(i,":root",["color-scheme: dark"]),wd(i,":root",q5(w.value));for(const[l,a]of Object.entries(D.value))wd(i,`.v-theme--${l}`,[`color-scheme: ${a.dark?"dark":"normal"}`,...q5(a)]);const M=[],v=[],f=new Set(Object.values(D.value).flatMap(l=>Object.keys(l.colors)));for(const l of f)/^on-[a-z]/.test(l)?wd(v,`.${l}`,[`color: rgb(var(--v-theme-${l})) !important`]):(wd(M,`.bg-${l}`,[`--v-theme-overlay-multiplier: var(--v-theme-${l}-overlay-multiplier)`,`background-color: rgb(var(--v-theme-${l})) !important`,`color: rgb(var(--v-theme-on-${l})) !important`]),wd(v,`.text-${l}`,[`color: rgb(var(--v-theme-${l})) !important`]),wd(v,`.border-${l}`,[`--v-border-color: var(--v-theme-${l})`]));return i.push(...M,...v),i.map((l,a)=>a===0?l:` ${l}`).join("")});function t(){return{style:[{children:p.value,id:"vuetify-theme-stylesheet",nonce:e.cspNonce||!1}]}}function d(i){if(e.isDisabled)return;const M=i._context.provides.usehead;if(M)if(M.push){const f=M.push(t);no&&Yr(p,()=>{f.patch(t)})}else no?(M.addHeadObjs(cn(t)),wu(()=>M.updateDOM())):M.addHeadObjs(t());else{let l=function(){if(typeof document<"u"&&!f){const a=document.createElement("style");a.type="text/css",a.id="vuetify-theme-stylesheet",e.cspNonce&&a.setAttribute("nonce",e.cspNonce),f=a,document.head.appendChild(f)}f&&(f.innerHTML=p.value)};var v=l;let f=no?document.getElementById("vuetify-theme-stylesheet"):null;no?Yr(p,l,{immediate:!0}):l()}}const g=cn(()=>e.isDisabled?void 0:`v-theme--${r.value}`);return{install:d,isDisabled:e.isDisabled,name:r,themes:A,current:w,computedThemes:D,themeClasses:g,styles:p,global:{name:r,current:w}}}function Ma(n){As("provideTheme");const e=ka(Fm,null);if(!e)throw new Error("Could not find Vuetify theme injection");const r=cn(()=>n.theme??e.name.value),A=cn(()=>e.themes.value[r.value]),D=cn(()=>e.isDisabled?void 0:`v-theme--${r.value}`),w={...e,name:r,current:A,themeClasses:D};return ts(Fm,w),w}function R6(){As("useTheme");const n=ka(Fm,null);if(!n)throw new Error("Could not find Vuetify theme injection");return n}function wd(n,e,r){n.push(`${e} { `,...r.map(A=>` ${A}; diff --git a/js-component/dist/index.html b/js-component/dist/index.html index c259b3fe..d8daf01d 100644 --- a/js-component/dist/index.html +++ b/js-component/dist/index.html @@ -5,7 +5,7 @@ openms-streamlit-vue-component - + diff --git a/openms-streamlit-vue-component b/openms-streamlit-vue-component index 33d6a560..0a45f30e 160000 --- a/openms-streamlit-vue-component +++ b/openms-streamlit-vue-component @@ -1 +1 @@ -Subproject commit 33d6a560dfecc9f082edb0ab0f9c8913a1a2a43e +Subproject commit 0a45f30e2223cf2f24392149a4e190ac88e31b27 diff --git a/settings.json b/settings.json index f590dc19..c1eb262f 100644 --- a/settings.json +++ b/settings.json @@ -1,7 +1,7 @@ { "app-name": "FLASHApp", "github-user": "OpenMS", - "version": "0.9.8", + "version": "0.9.9", "repository-name": "FLASHApp", "analytics": { "google-analytics": {