jbrowse-plugin-graphgenomeviewer 8.3.7 → 8.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{GbzBaseSyntenyAdapter-4FATZPZG.js → GbzBaseSyntenyAdapter-Z4U7CQ6T.js} +2 -2
- package/dist/chunks/{GbzBaseSyntenyAdapter-4FATZPZG.js.map → GbzBaseSyntenyAdapter-Z4U7CQ6T.js.map} +1 -1
- package/dist/chunks/{GraphGenomeView-H2Z5NQW4.js → GraphGenomeView-GDZY3NRF.js} +2 -2
- package/dist/chunks/{GraphTrackSettingsDialog-LFFJHC7F.js → GraphTrackSettingsDialog-ZSMGGYOZ.js} +2 -2
- package/dist/chunks/{HighlightColorDialog-76RJSXSV.js → HighlightColorDialog-MS6UZ5QH.js} +2 -2
- package/dist/chunks/{LinearGraphDisplay-VYPF26DJ.js → LinearGraphDisplay-VPKAF7RL.js} +2 -2
- package/dist/chunks/{MinigraphBubbleAdapter-WQUZTNDM.js → MinigraphBubbleAdapter-XRQSSGO7.js} +2 -2
- package/dist/chunks/{RgfaTabixAdapter-K763K62E.js → RgfaTabixAdapter-2CHBK2KR.js} +2 -2
- package/dist/chunks/{WalkFormsAdapter-WJTEKIOB.js → WalkFormsAdapter-5PVAUS7M.js} +2 -2
- package/dist/chunks/{WalkTabixSyntenyAdapter-PHRULBP7.js → WalkTabixSyntenyAdapter-2SXFYW5W.js} +2 -2
- package/dist/chunks/{chunk-VEI7EAE6.js → chunk-32KSITI2.js} +2 -2
- package/dist/chunks/chunk-3TGEST7X.js +4 -0
- package/dist/chunks/{chunk-VZNECPSI.js.map → chunk-3TGEST7X.js.map} +3 -3
- package/dist/chunks/{chunk-XK4HHKSP.js → chunk-44DOTJB7.js} +2 -2
- package/dist/chunks/{chunk-HVDE2ZKA.js → chunk-4NUDB5AY.js} +1 -1
- package/dist/chunks/{chunk-HVDE2ZKA.js.map → chunk-4NUDB5AY.js.map} +1 -1
- package/dist/chunks/{chunk-47KLT4FL.js → chunk-7CZC4GOZ.js} +2 -2
- package/dist/chunks/{chunk-47KLT4FL.js.map → chunk-7CZC4GOZ.js.map} +1 -1
- package/dist/chunks/{chunk-6NR64IXK.js → chunk-AK6XQ7XZ.js} +1 -1
- package/dist/chunks/{chunk-6NR64IXK.js.map → chunk-AK6XQ7XZ.js.map} +1 -1
- package/dist/chunks/{chunk-PVRRW4PM.js → chunk-AZUO4NZ5.js} +2 -2
- package/dist/chunks/{chunk-PVRRW4PM.js.map → chunk-AZUO4NZ5.js.map} +1 -1
- package/dist/chunks/{chunk-75WJWJ45.js → chunk-BDBFDFIM.js} +2 -2
- package/dist/chunks/{chunk-75WJWJ45.js.map → chunk-BDBFDFIM.js.map} +1 -1
- package/dist/chunks/chunk-CFW2JQMT.js +4 -0
- package/dist/chunks/{chunk-6YK4U5LT.js.map → chunk-CFW2JQMT.js.map} +4 -4
- package/dist/chunks/{chunk-CI6VQ2KV.js → chunk-FUKZO5AZ.js} +2 -2
- package/dist/chunks/{chunk-CI6VQ2KV.js.map → chunk-FUKZO5AZ.js.map} +1 -1
- package/dist/chunks/{chunk-477HYXB2.js → chunk-HPEC3JDC.js} +2 -2
- package/dist/chunks/{chunk-3M3UH5JQ.js → chunk-JKW2OX73.js} +1 -1
- package/dist/chunks/{chunk-3M3UH5JQ.js.map → chunk-JKW2OX73.js.map} +1 -1
- package/dist/chunks/chunk-NB7ZUDO4.js +2 -0
- package/dist/chunks/chunk-OFUX4PZY.js +3 -0
- package/dist/chunks/chunk-OFUX4PZY.js.map +7 -0
- package/dist/chunks/{chunk-DFWLOMRU.js → chunk-P6WBR5MX.js} +2 -2
- package/dist/chunks/chunk-PXIHCJUD.js +2 -0
- package/dist/chunks/{chunk-XTEZPFP4.js.map → chunk-PXIHCJUD.js.map} +4 -4
- package/dist/chunks/{chunk-AILGRHTE.js → chunk-QX7UU3CV.js} +2 -2
- package/dist/chunks/{chunk-AILGRHTE.js.map → chunk-QX7UU3CV.js.map} +1 -1
- package/dist/chunks/{chunk-SVF6WK42.js → chunk-VT5BHBO6.js} +2 -2
- package/dist/chunks/{chunk-SVF6WK42.js.map → chunk-VT5BHBO6.js.map} +1 -1
- package/dist/chunks/{chunk-IICQFAGJ.js → chunk-YGTSPKS5.js} +1 -1
- package/dist/chunks/{chunk-IICQFAGJ.js.map → chunk-YGTSPKS5.js.map} +1 -1
- package/dist/chunks/{chunk-UOWS2HEQ.js → chunk-YRAIRXY6.js} +2 -2
- package/dist/chunks/{chunk-UOWS2HEQ.js.map → chunk-YRAIRXY6.js.map} +3 -3
- package/dist/chunks/{renderSvg-W2VIM3IT.js → renderSvg-XIBZTOXX.js} +2 -2
- package/dist/jbrowse-plugin-graphgenomeviewer.esm.js +2 -2
- package/dist/jbrowse-plugin-graphgenomeviewer.esm.js.map +2 -2
- package/package.json +2 -2
- package/src/GraphGenomeView/components/WalkRowsOverlay.tsx +9 -20
- package/src/GraphGenomeView/components/usePaneGestures.ts +2 -3
- package/src/GraphGenomeView/model.test.ts +56 -1
- package/src/GraphGenomeView/pane/fitViews.ts +8 -7
- package/src/GraphGenomeView/pane/graphViews.ts +26 -15
- package/src/GraphGenomeView/pane/walkRowViews.ts +16 -25
- package/src/GraphGenomeView/walkRowGroups.test.ts +28 -0
- package/src/GraphGenomeView/walkRowGroups.ts +64 -54
- package/src/GraphGenomeView/walkRowSpans.test.ts +16 -0
- package/src/GraphGenomeView/walkRowSpans.ts +61 -40
- package/src/version.ts +1 -1
- package/dist/chunks/chunk-6YK4U5LT.js +0 -4
- package/dist/chunks/chunk-SQBD75UZ.js +0 -2
- package/dist/chunks/chunk-VZNECPSI.js +0 -4
- package/dist/chunks/chunk-XTEZPFP4.js +0 -2
- package/dist/chunks/chunk-YDJ6SDQM.js +0 -3
- package/dist/chunks/chunk-YDJ6SDQM.js.map +0 -7
- /package/dist/chunks/{GraphGenomeView-H2Z5NQW4.js.map → GraphGenomeView-GDZY3NRF.js.map} +0 -0
- /package/dist/chunks/{GraphTrackSettingsDialog-LFFJHC7F.js.map → GraphTrackSettingsDialog-ZSMGGYOZ.js.map} +0 -0
- /package/dist/chunks/{HighlightColorDialog-76RJSXSV.js.map → HighlightColorDialog-MS6UZ5QH.js.map} +0 -0
- /package/dist/chunks/{LinearGraphDisplay-VYPF26DJ.js.map → LinearGraphDisplay-VPKAF7RL.js.map} +0 -0
- /package/dist/chunks/{MinigraphBubbleAdapter-WQUZTNDM.js.map → MinigraphBubbleAdapter-XRQSSGO7.js.map} +0 -0
- /package/dist/chunks/{RgfaTabixAdapter-K763K62E.js.map → RgfaTabixAdapter-2CHBK2KR.js.map} +0 -0
- /package/dist/chunks/{WalkFormsAdapter-WJTEKIOB.js.map → WalkFormsAdapter-5PVAUS7M.js.map} +0 -0
- /package/dist/chunks/{WalkTabixSyntenyAdapter-PHRULBP7.js.map → WalkTabixSyntenyAdapter-2SXFYW5W.js.map} +0 -0
- /package/dist/chunks/{chunk-VEI7EAE6.js.map → chunk-32KSITI2.js.map} +0 -0
- /package/dist/chunks/{chunk-XK4HHKSP.js.map → chunk-44DOTJB7.js.map} +0 -0
- /package/dist/chunks/{chunk-477HYXB2.js.map → chunk-HPEC3JDC.js.map} +0 -0
- /package/dist/chunks/{chunk-SQBD75UZ.js.map → chunk-NB7ZUDO4.js.map} +0 -0
- /package/dist/chunks/{chunk-DFWLOMRU.js.map → chunk-P6WBR5MX.js.map} +0 -0
- /package/dist/chunks/{renderSvg-W2VIM3IT.js.map → renderSvg-XIBZTOXX.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as Ve}from"./chunk-M2D7NUOY.js";import{b as ze}from"./chunk-
|
|
1
|
+
import{s as Ve}from"./chunk-M2D7NUOY.js";import{b as ze}from"./chunk-44DOTJB7.js";import{a as He}from"./chunk-JKW2OX73.js";import{a as $e,c as Ye}from"./chunk-J5RMHLFJ.js";function qe(e){let r=[],t=0,o;for(let n=0,i=e.length;n<i;n++){let a=e.charCodeAt(n);if(a>=48&&a<=57)t=t*10+a-48;else if(a===58)o=t,t=0;else{let f=e[n];f==="M"||f==="="||f==="X"?r.push({own:o===void 0?t:o,mate:t,op:"M"}):f==="I"?r.push({own:0,mate:t,op:f}):(f==="D"||f==="N")&&r.push({own:t,mate:0,op:f}),o=void 0,t=0}}return r}function Ae(e){let r="";for(let{own:t,mate:o,op:n}of qe(e))r+=n==="M"?t===0?`${o}I`:o===0?`${t}D`:`${t}M`:`${n==="I"?o:t}${n}`;return r}var Se=2**28-1;function ve(e,r,t){for(let o=r;o>0;o-=Se)e.push((Math.min(o,Se)<<4|t)>>>0)}function kr(e,r,t){if(r===t)ve(e,r,0);else{let o=Math.ceil(Math.max(r,t)/Se);for(let n=0;n<o;n++){let i=Math.floor(r*(n+1)/o)-Math.floor(r*n/o),a=Math.floor(t*(n+1)/o)-Math.floor(t*n/o);e.push((i<<4|9)>>>0,(a<<4|9)>>>0)}}}function _e(e){let r=[];for(let{own:t,mate:o,op:n}of qe(e))n==="M"?kr(r,t,o):n==="I"?ve(r,o,1):ve(r,t,n==="N"?3:2);return Uint32Array.from(r)}function Gr(e){return e>=48&&e<=57}function Dr(e){return e!==void 0&&/[A-Za-z]/.test(e)}function Ke(e,r){let t=r;for(;t<e.length&&Dr(e[t]);)t++;return t}function Qe(e,r){let t=r,o=0;for(;t<e.length&&Gr(e.charCodeAt(t));)o=o*10+(e.charCodeAt(t)-48),t++;return{value:o,next:t}}function rr(e,r){let t=0;for(;t<e.length;){let o=e[t];if(o===":"){let{value:n,next:i}=Qe(e,t+1);r(":",n,n,t+1,i),t=i}else if(o==="="){let n=Ke(e,t+1),i=n-t-1;r("=",i,i,t+1,n),t=n}else if(o==="*")r("*",1,1,t+1,Math.min(t+3,e.length)),t+=3;else if(o==="+"||o==="-"){let n=Ke(e,t+1),i=n-t-1;r(o,o==="-"?i:0,o==="+"?i:0,t+1,n),t=n}else if(o==="~"){let{value:n,next:i}=Qe(e,t+3),a=Math.min(i+2,e.length);r("~",n,0,t+1,a),t=a}else t++}}function Ce(e,r,t,o){let n=t??Number.NEGATIVE_INFINITY,i=o??Number.POSITIVE_INFINITY,a=0;rr(e,(f,p,s,c,u)=>{if(f==="*")a>=n&&a<i&&r(88,a,1,e[c+1]??"",-1,0,0);else if(f==="+"){if(a>=n&&a<=i){let m=e.slice(c,u);r(73,a,s,m,-1,0,s)}}else(f==="-"||f==="~")&&a<i&&a+p>n&&r(f==="-"?68:78,a,p,"",-1,0,0);a+=p})}function tr(e,r,t,o){let n=0,i=0,a=[],f=t&&r;for(let p=0,s=e.length;p<s;p++){let c=e[p],u=c>>>4,m=c&15;if(m===0||m===7){if(f)for(let l=0;l<u;l++)(r.charCodeAt(i+l)|32)!==(t.charCodeAt(n+l)|32)&&a.push({start:n+l,type:"mismatch",base:r[i+l],altbase:t[n+l],length:1});i+=u,n+=u}else if(m===1)a.push({start:n,type:"insertion",insertlen:u,insertedBases:r?.slice(i,i+u),length:0}),i+=u;else if(m===2)a.push({start:n,type:"deletion",length:u}),n+=u;else if(m===3)a.push({start:n,type:"skip",length:u}),n+=u;else if(m===8){for(let l=0;l<u;l++)a.push({start:n+l,type:"mismatch",base:r?.[i+l]||"X",qual:o?.[i+l],length:1});i+=u,n+=u}else m===5?a.push({start:n,type:"hardclip",cliplen:u,length:1}):m===4&&(a.push({start:n,type:"softclip",cliplen:u,length:1}),i+=u)}return a}function or(e,r,t,o,n){if(!r)return[];let i=[],a=r.length,f=o.length,p=n!==void 0,s=t.length,c=!1;for(let b=0;b<s;b++)if(t[b].type==="skip"){c=!0;break}let u=0,m=0,l=0,y=0,d=0,x=0,g=e.length;for(;x<g;){let b=e.charCodeAt(x);if(b>=48&&b<=57){let v=0;for(;x<g;){let S=e.charCodeAt(x);if(S>=48&&S<=57)v=v*10+(S-48),x++;else break}u+=v}else if(b===94)for(x++;x<g&&e.charCodeAt(x)>=65;)x++,u++;else if(b>=65){let v=e[x];if(x++,c&&s>0)for(let I=d;I<s;I++){let R=t[I];R.type==="skip"&&u>=R.start&&(u+=R.length,d=I+1)}let S=l,C=y;for(let I=m;I<a&&C<=u;I++,m=I){let R=r[I],L=R>>>4,A=R&15;A===4||A===1?S+=L:A===2||A===6||A===3?C+=L:A!==5&&(S+=L,C+=L)}l=S,y=C;let F=S-(C-u),q=F<f?o[F]:"X";i.push({start:u,base:q,qual:p?n[F]:void 0,altbase:v,length:1,type:"mismatch"}),u++}else x++}return i}var nr={77:0,73:1,68:2,78:3,83:4,72:5,80:6,61:7,88:8};function ir(e=""){let r=0,t=[];for(let o=0,n=e.length;o<n;o++){let i=e.charCodeAt(o);if(i>=48&&i<=57)r=r*10+(i-48);else{let a=nr[i];t.push(r<<4|a),r=0}}return t}function Te(e=""){let r=0;for(let i=0,a=e.length;i<a;i++){let f=e.charCodeAt(i);(f<48||f>57)&&r++}let t=new Uint32Array(r),o=0,n=0;for(let i=0,a=e.length;i<a;i++){let f=e.charCodeAt(i);f>=48&&f<=57?o=o*10+(f-48):(t[n++]=o<<4|nr[f],o=0)}return t}function J(e,r,t,o,n){let i=ir(e),a=e?tr(i,t,o,n):[];return r&&t?a.concat(or(r,i,a,t,n)):a}var N=class extends $e{get(r){return r==="mismatches"?J(this.walkableCigar):r==="clipLengthAtStartOfRead"?this.clipLengthAtStartOfRead:r==="name"?super.get("name")??this.mate?.refName:super.get(r)}get mate(){return super.get("mate")}get walkableCigar(){let r=super.get("CIGAR"),t=super.get("coarseCigar");return typeof r=="string"?r:typeof t=="string"?Ae(t):void 0}get clipLengthAtStartOfRead(){return this.mate?.start??0}forEachMismatch(r,t){let o=this.get("start"),n=t?.start===void 0?void 0:t.start-o,i=t?.end===void 0?void 0:t.end-o,a=this.get("cs");if(a)Ce(a,r,n,i);else{let f=n??Number.NEGATIVE_INFINITY,p=i??Number.POSITIVE_INFINITY;for(let s of J(this.walkableCigar))(s.type==="deletion"||s.type==="skip"?s.start<p&&s.start+s.length>f:s.start>=f&&s.start<=p)&&(s.type==="mismatch"?r(88,s.start,s.length,s.base,s.qual??-1,0,0):s.type==="insertion"?r(73,s.start,s.length,s.insertedBases??"",-1,0,s.insertlen):s.type==="deletion"?r(68,s.start,s.length,"",-1,0,0):s.type==="skip"&&r(78,s.start,s.length,"",-1,0,0))}}};var we=function(e,r){return we=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])},we(e,r)};function H(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");we(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}function ar(e,r,t,o){function n(i){return i instanceof t?i:new t(function(a){a(i)})}return new(t||(t=Promise))(function(i,a){function f(c){try{s(o.next(c))}catch(u){a(u)}}function p(c){try{s(o.throw(c))}catch(u){a(u)}}function s(c){c.done?i(c.value):n(c.value).then(f,p)}s((o=o.apply(e,r||[])).next())})}function ee(e,r){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,n,i,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=f(0),a.throw=f(1),a.return=f(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function f(s){return function(c){return p([s,c])}}function p(s){if(o)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(t=0)),t;)try{if(o=1,n&&(i=s[0]&2?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,n=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){t.label=s[1];break}if(s[0]===6&&t.label<i[1]){t.label=i[1],i=s;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(s);break}i[2]&&t.ops.pop(),t.trys.pop();continue}s=r.call(e,t)}catch(c){s=[6,c],n=0}finally{o=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function P(e){var r=typeof Symbol=="function"&&Symbol.iterator,t=r&&e[r],o=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function D(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var o=t.call(e),n,i=[],a;try{for(;(r===void 0||r-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(f){a={error:f}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(a)throw a.error}}return i}function j(e,r,t){if(t||arguments.length===2)for(var o=0,n=r.length,i;o<n;o++)(i||!(o in r))&&(i||(i=Array.prototype.slice.call(r,0,o)),i[o]=r[o]);return e.concat(i||Array.prototype.slice.call(r))}function k(e){return this instanceof k?(this.v=e,this):new k(e)}function sr(e,r,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=t.apply(e,r||[]),n,i=[];return n=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),f("next"),f("throw"),f("return",a),n[Symbol.asyncIterator]=function(){return this},n;function a(l){return function(y){return Promise.resolve(y).then(l,u)}}function f(l,y){o[l]&&(n[l]=function(d){return new Promise(function(x,g){i.push([l,d,x,g])>1||p(l,d)})},y&&(n[l]=y(n[l])))}function p(l,y){try{s(o[l](y))}catch(d){m(i[0][3],d)}}function s(l){l.value instanceof k?Promise.resolve(l.value.v).then(c,u):m(i[0][2],l)}function c(l){p("next",l)}function u(l){p("throw",l)}function m(l,y){l(y),i.shift(),i.length&&p(i[0][0],i[0][1])}}function fr(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=e[Symbol.asyncIterator],t;return r?r.call(e):(e=typeof P=="function"?P(e):e[Symbol.iterator](),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(i){t[i]=e[i]&&function(a){return new Promise(function(f,p){a=e[i](a),n(f,p,a.done,a.value)})}}function n(i,a,f,p){Promise.resolve(p).then(function(s){i({value:s,done:f})},a)}}function h(e){return typeof e=="function"}function pr(e){var r=function(o){Error.call(o),o.stack=new Error().stack},t=e(r);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var re=pr(function(e){return function(t){e(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
2
2
|
`+t.map(function(o,n){return n+1+") "+o.toString()}).join(`
|
|
3
3
|
`):"",this.name="UnsubscriptionError",this.errors=t}});function Oe(e,r){if(e){var t=e.indexOf(r);0<=t&&e.splice(t,1)}}var te=(function(){function e(r){this.initialTeardown=r,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var r,t,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var f=P(a),p=f.next();!p.done;p=f.next()){var s=p.value;s.remove(this)}}catch(d){r={error:d}}finally{try{p&&!p.done&&(t=f.return)&&t.call(f)}finally{if(r)throw r.error}}else a.remove(this);var c=this.initialTeardown;if(h(c))try{c()}catch(d){i=d instanceof re?d.errors:[d]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var m=P(u),l=m.next();!l.done;l=m.next()){var y=l.value;try{cr(y)}catch(d){i=i??[],d instanceof re?i=j(j([],D(i)),D(d.errors)):i.push(d)}}}catch(d){o={error:d}}finally{try{l&&!l.done&&(n=m.return)&&n.call(m)}finally{if(o)throw o.error}}}if(i)throw new re(i)}},e.prototype.add=function(r){var t;if(r&&r!==this)if(this.closed)cr(r);else{if(r instanceof e){if(r.closed||r._hasParent(this))return;r._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(r)}},e.prototype._hasParent=function(r){var t=this._parentage;return t===r||Array.isArray(t)&&t.includes(r)},e.prototype._addParent=function(r){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(r),t):t?[t,r]:r},e.prototype._removeParent=function(r){var t=this._parentage;t===r?this._parentage=null:Array.isArray(t)&&Oe(t,r)},e.prototype.remove=function(r){var t=this._finalizers;t&&Oe(t,r),r instanceof e&&r._removeParent(this)},e.EMPTY=(function(){var r=new e;return r.closed=!0,r})(),e})();var Zt=te.EMPTY;function oe(e){return e instanceof te||e&&"closed"in e&&h(e.remove)&&h(e.add)&&h(e.unsubscribe)}function cr(e){h(e)?e():e.unsubscribe()}var w={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var U={setTimeout:function(e,r){for(var t=[],o=2;o<arguments.length;o++)t[o-2]=arguments[o];var n=U.delegate;return n?.setTimeout?n.setTimeout.apply(n,j([e,r],D(t))):setTimeout.apply(void 0,j([e,r],D(t)))},clearTimeout:function(e){var r=U.delegate;return(r?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ne(e){U.setTimeout(function(){var r=w.onUnhandledError;if(r)r(e);else throw e})}function Re(){}var ur=(function(){return Me("C",void 0,void 0)})();function lr(e){return Me("E",void 0,e)}function mr(e){return Me("N",e,void 0)}function Me(e,r,t){return{kind:e,value:r,error:t}}var G=null;function dr(e){if(w.useDeprecatedSynchronousErrorHandling){var r=!G;if(r&&(G={errorThrown:!1,error:null}),e(),r){var t=G,o=t.errorThrown,n=t.error;if(G=null,o)throw n}}else e()}function xr(e){w.useDeprecatedSynchronousErrorHandling&&G&&(G.errorThrown=!0,G.error=e)}var z=(function(e){H(r,e);function r(t){var o=e.call(this)||this;return o.isStopped=!1,t?(o.destination=t,oe(t)&&t.add(o)):o.destination=Yr,o}return r.create=function(t,o,n){return new ae(t,o,n)},r.prototype.next=function(t){this.isStopped?Le(mr(t),this):this._next(t)},r.prototype.error=function(t){this.isStopped?Le(lr(t),this):(this.isStopped=!0,this._error(t))},r.prototype.complete=function(){this.isStopped?Le(ur,this):(this.isStopped=!0,this._complete())},r.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},r.prototype._next=function(t){this.destination.next(t)},r.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},r.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},r})(te);var Br=Function.prototype.bind;function Fe(e,r){return Br.call(e,r)}var Wr=(function(){function e(r){this.partialObserver=r}return e.prototype.next=function(r){var t=this.partialObserver;if(t.next)try{t.next(r)}catch(o){ie(o)}},e.prototype.error=function(r){var t=this.partialObserver;if(t.error)try{t.error(r)}catch(o){ie(o)}else ie(r)},e.prototype.complete=function(){var r=this.partialObserver;if(r.complete)try{r.complete()}catch(t){ie(t)}},e})(),ae=(function(e){H(r,e);function r(t,o,n){var i=e.call(this)||this,a;if(h(t)||!t)a={next:t??void 0,error:o??void 0,complete:n??void 0};else{var f;i&&w.useDeprecatedNextContext?(f=Object.create(t),f.unsubscribe=function(){return i.unsubscribe()},a={next:t.next&&Fe(t.next,f),error:t.error&&Fe(t.error,f),complete:t.complete&&Fe(t.complete,f)}):a=t}return i.destination=new Wr(a),i}return r})(z);function ie(e){w.useDeprecatedSynchronousErrorHandling?xr(e):ne(e)}function $r(e){throw e}function Le(e,r){var t=w.onStoppedNotification;t&&U.setTimeout(function(){return t(e,r)})}var Yr={closed:!0,next:Re,error:$r,complete:Re};var B=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function hr(e){return e}function yr(e){return e.length===0?hr:e.length===1?e[0]:function(t){return e.reduce(function(o,n){return n(o)},t)}}var _=(function(){function e(r){r&&(this._subscribe=r)}return e.prototype.lift=function(r){var t=new e;return t.source=this,t.operator=r,t},e.prototype.subscribe=function(r,t,o){var n=this,i=zr(r)?r:new ae(r,t,o);return dr(function(){var a=n,f=a.operator,p=a.source;i.add(f?f.call(i,p):p?n._subscribe(i):n._trySubscribe(i))}),i},e.prototype._trySubscribe=function(r){try{return this._subscribe(r)}catch(t){r.error(t)}},e.prototype.forEach=function(r,t){var o=this;return t=gr(t),new t(function(n,i){var a=new ae({next:function(f){try{r(f)}catch(p){i(p),a.unsubscribe()}},error:i,complete:n});o.subscribe(a)})},e.prototype._subscribe=function(r){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(r)},e.prototype[B]=function(){return this},e.prototype.pipe=function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return yr(r)(this)},e.prototype.toPromise=function(r){var t=this;return r=gr(r),new r(function(o,n){var i;t.subscribe(function(a){return i=a},function(a){return n(a)},function(){return o(i)})})},e.create=function(r){return new e(r)},e})();function gr(e){var r;return(r=e??w.Promise)!==null&&r!==void 0?r:Promise}function Hr(e){return e&&h(e.next)&&h(e.error)&&h(e.complete)}function zr(e){return e&&e instanceof z||Hr(e)&&oe(e)}function Vr(e){return h(e?.lift)}function E(e){return function(r){if(Vr(r))return r.lift(function(t){try{return e(t,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function M(e,r,t,o,n){return new qr(e,r,t,o,n)}var qr=(function(e){H(r,e);function r(t,o,n,i,a,f){var p=e.call(this,t)||this;return p.onFinalize=a,p.shouldUnsubscribe=f,p._next=o?function(s){try{o(s)}catch(c){t.error(c)}}:e.prototype._next,p._error=i?function(s){try{i(s)}catch(c){t.error(c)}finally{this.unsubscribe()}}:e.prototype._error,p._complete=n?function(){try{n()}catch(s){t.error(s)}finally{this.unsubscribe()}}:e.prototype._complete,p}return r.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;e.prototype.unsubscribe.call(this),!o&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},r})(z);var se=(function(e){return e&&typeof e.length=="number"&&typeof e!="function"});function fe(e){return h(e?.then)}function pe(e){return h(e[B])}function ce(e){return Symbol.asyncIterator&&h(e?.[Symbol.asyncIterator])}function ue(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Kr(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var le=Kr();function me(e){return h(e?.[le])}function de(e){return sr(this,arguments,function(){var t,o,n,i;return ee(this,function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,k(t.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,k(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,k(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function xe(e){return h(e?.getReader)}function O(e){if(e instanceof _)return e;if(e!=null){if(pe(e))return Qr(e);if(se(e))return Xr(e);if(fe(e))return Zr(e);if(ce(e))return br(e);if(me(e))return Jr(e);if(xe(e))return et(e)}throw ue(e)}function Qr(e){return new _(function(r){var t=e[B]();if(h(t.subscribe))return t.subscribe(r);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Xr(e){return new _(function(r){for(var t=0;t<e.length&&!r.closed;t++)r.next(e[t]);r.complete()})}function Zr(e){return new _(function(r){e.then(function(t){r.closed||(r.next(t),r.complete())},function(t){return r.error(t)}).then(null,ne)})}function Jr(e){return new _(function(r){var t,o;try{for(var n=P(e),i=n.next();!i.done;i=n.next()){var a=i.value;if(r.next(a),r.closed)return}}catch(f){t={error:f}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}r.complete()})}function br(e){return new _(function(r){rt(e,r).catch(function(t){return r.error(t)})})}function et(e){return br(de(e))}function rt(e,r){var t,o,n,i;return ar(this,void 0,void 0,function(){var a,f;return ee(this,function(p){switch(p.label){case 0:p.trys.push([0,5,6,11]),t=fr(e),p.label=1;case 1:return[4,t.next()];case 2:if(o=p.sent(),!!o.done)return[3,4];if(a=o.value,r.next(a),r.closed)return[2];p.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return f=p.sent(),n={error:f},[3,11];case 6:return p.trys.push([6,,9,10]),o&&!o.done&&(i=t.return)?[4,i.call(t)]:[3,8];case 7:p.sent(),p.label=8;case 8:return[3,10];case 9:if(n)throw n.error;return[7];case 10:return[7];case 11:return r.complete(),[2]}})})}function T(e,r,t,o,n){o===void 0&&(o=0),n===void 0&&(n=!1);var i=r.schedule(function(){t(),n?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(i),!n)return i}function he(e,r){return r===void 0&&(r=0),E(function(t,o){t.subscribe(M(o,function(n){return T(o,e,function(){return o.next(n)},r)},function(){return T(o,e,function(){return o.complete()},r)},function(n){return T(o,e,function(){return o.error(n)},r)}))})}function ye(e,r){return r===void 0&&(r=0),E(function(t,o){o.add(e.schedule(function(){return t.subscribe(o)},r))})}function Sr(e,r){return O(e).pipe(ye(r),he(r))}function vr(e,r){return O(e).pipe(ye(r),he(r))}function Ar(e,r){return new _(function(t){var o=0;return r.schedule(function(){o===e.length?t.complete():(t.next(e[o++]),t.closed||this.schedule())})})}function _r(e,r){return new _(function(t){var o;return T(t,r,function(){o=e[le](),T(t,r,function(){var n,i,a;try{n=o.next(),i=n.value,a=n.done}catch(f){t.error(f);return}a?t.complete():t.next(i)},0,!0)}),function(){return h(o?.return)&&o.return()}})}function ge(e,r){if(!e)throw new Error("Iterable cannot be null");return new _(function(t){T(t,r,function(){var o=e[Symbol.asyncIterator]();T(t,r,function(){o.next().then(function(n){n.done?t.complete():t.next(n.value)})},0,!0)})})}function Cr(e,r){return ge(de(e),r)}function Ir(e,r){if(e!=null){if(pe(e))return Sr(e,r);if(se(e))return Ar(e,r);if(fe(e))return vr(e,r);if(ce(e))return ge(e,r);if(me(e))return _r(e,r);if(xe(e))return Cr(e,r)}throw ue(e)}function Ne(e,r){return r?Ir(e,r):O(e)}function V(e,r){return E(function(t,o){var n=0;t.subscribe(M(o,function(i){o.next(e.call(r,i,n++))}))})}function Er(e,r,t,o,n,i,a,f){var p=[],s=0,c=0,u=!1,m=function(){u&&!p.length&&!s&&r.complete()},l=function(d){return s<o?y(d):p.push(d)},y=function(d){i&&r.next(d),s++;var x=!1;O(t(d,c++)).subscribe(M(r,function(g){n?.(g),i?l(g):r.next(g)},function(){x=!0},void 0,function(){if(x)try{s--;for(var g=function(){var b=p.shift();a?T(r,a,function(){return y(b)}):y(b)};p.length&&s<o;)g();m()}catch(b){r.error(b)}}))};return e.subscribe(M(r,l,function(){u=!0,m()})),function(){f?.()}}function W(e,r,t){return t===void 0&&(t=1/0),h(r)?W(function(o,n){return V(function(i,a){return r(o,i,n,a)})(O(e(o,n)))},t):(typeof r=="number"&&(t=r),E(function(o,n){return Er(o,n,e,t)}))}function Tr(e,r,t,o,n){return function(i,a){var f=t,p=r,s=0;i.subscribe(M(a,function(c){var u=s++;p=f?e(p,c,u):(f=!0,c),o&&a.next(p)},n&&(function(){f&&a.next(p),a.complete()})))}}function wr(e,r){return E(Tr(e,r,arguments.length>=2,!1,!0))}var tt=function(e,r){return e.push(r),e};function be(){return E(function(e,r){wr(tt,[])(e).subscribe(r)})}var ot=397,nt=387,it=385;function Or(e){return(1<<e&ot)!==0}function Rr(e){return(1<<e&nt)!==0}function Mr(e){return(1<<e&it)!==0}function Pe(e,r,t,o,n,i,a){let f=n===-1?-1:1,p=r,s=n===-1?o:t,c=[],u=1/0,m=-1/0,l=1/0,y=-1/0,d=(x,g)=>{l=Math.min(l,x,g),y=Math.max(y,x,g)};for(let x=0;x<e.length;x++){let g=e[x],b=g>>>4,v=g&15,S=v===9,C=S||Or(v)?b:0,F=S?e[++x]>>>4:Rr(v)?b:0,q=p+C,I=s+F*f,R=p,L=q;if(L>=i&&R<=a)if(C>0){let A=Math.max(R,i),$=Math.min(L,a);if($>A)if(u=Math.min(u,A),m=Math.max(m,$),S){let je=F/b,Ue=$-A,Be=Math.round(Ue*je),We=Math.round(s+(A-p)*je*f);c.push(Ue<<4|9,Be<<4|9),d(We,We+Be*f)}else c.push($-A<<4|v),Mr(v)?d(s+(A-p)*f,s+($-p)*f):d(s,s)}else F>0&&(S?c.push(g,e[x]):c.push(g),u=Math.min(u,p),m=Math.max(m,p),d(s,I));if(p=q,s=I,p>a)break}if(c.length!==0)return{start:u,end:m,mateStart:l,mateEnd:y,cigar:Uint32Array.from(c)}}function at(e){return e===1||e===2||e===3}function ke(e,r,t,o,n,i){let a=n===-1?-1:1,f=[],p=r,s=n===-1?o:t,c,u=!1,m=()=>{c!==void 0&&u&&c.qHi>c.qLo&&f.push({start:c.qLo,end:c.qHi,mateStart:c.tLo,mateEnd:c.tHi,cigar:Uint32Array.from(c.ops)}),c=void 0,u=!1};for(let l=0;l<e.length;l++){let y=e[l],d=y>>>4,x=y&15,g=x===9,b=g?e[++l]:void 0,v=g||Or(x)?d:0,S=b!==void 0?b>>>4:Rr(x)?d:0,C=s+S*a;at(x)&&d>=i?m():(v>0||S>0)&&(c===void 0&&(c={qLo:p,qHi:p,tLo:s,tHi:s,ops:[]}),c.qHi=p+v,c.tLo=Math.min(c.tLo,s,C),c.tHi=Math.max(c.tHi,s,C),c.ops.push(y),b!==void 0&&c.ops.push(b),u=u||g||Mr(x)),p+=v,s=C}return m(),f}function Fr(e){let r=e.get("CIGAR");return typeof r=="string"?r:void 0}function Lr(e){let r=e.get("coarseCigar");return typeof r=="string"?r:void 0}function Ge(e){let r=Fr(e),t=r===void 0?Lr(e):void 0;return r!==void 0?Te(r):t!==void 0?_e(t):void 0}var st=["CIGAR","cs","coarseCigar","cg","cr"];function ft(e){return typeof e=="object"&&e!==null&&"refName"in e&&"start"in e&&"end"in e&&typeof e.refName=="string"&&typeof e.start=="number"&&typeof e.end=="number"}function pt(e){let r=e.get("mate");return ft(r)?r:void 0}function ct(e,r,t,o){let n=Math.max(e.start,o.start),i=Math.min(e.end,o.end),a=(r.end-r.start)/Math.max(e.end-e.start,1),f=c=>t===-1?r.end-(c-e.start)*a:r.start+(c-e.start)*a,p=Math.round(f(n)),s=Math.round(f(i));return i>n?{start:n,end:i,mateStart:Math.min(p,s),mateEnd:Math.max(p,s)}:void 0}function ut(e,r,t,o,n){let i={start:e.get("start"),end:e.get("end")},a=e.get("strand")===-1?-1:1,f=i.start>=t.start&&i.end<=t.end,p=f&&o===void 0&&!n?void 0:Ge(e);if(p===void 0){let s=f?{...i,mateStart:r.start,mateEnd:r.end}:ct(i,r,a,t);return s===void 0?[]:[s]}else return(o===void 0?[{...i,mateStart:r.start,mateEnd:r.end,cigar:p}]:ke(p,i.start,r.start,r.end,a,o)).flatMap(c=>{let u=Pe(c.cigar,c.start,c.mateStart,c.mateEnd,a,t.start,t.end);return u===void 0?[]:[u]})}function lt(e,r,t,o,n,i){let a=`:${o.start}-${o.end}${n}`,f=e.toJSON(),p={...f,uniqueId:`${e.id()}${a}`,recordId:f.recordId??e.id(),start:t.start,end:t.end,mate:{...r,start:t.mateStart,end:t.mateEnd}};f.syntenyId!==void 0&&(p.syntenyId=`${String(f.syntenyId)}${a}`);for(let s of st)delete p[s];return i&&t.cigar&&(p.alignmentOps=t.cigar),new N(p)}function Nr(e,r,t,o=!1){let n=pt(e);if(n===void 0||e.get("spansWindow"))return[e];{let i=ut(e,n,r,t,o);return i.map((a,f)=>lt(e,n,a,r,i.length>1?`/${f}`:"",o))}}var Pr=class extends ze{constructor(){super(...arguments);this.recordsAreAlignments=!0}static{this.capabilities=["getFeatures","getRefNames"]}async hasDataForRefName(){return!0}getFeaturesInMultipleRegions(t,o={}){let{clipToRegion:n,splitAtGapBp:i,keepAlignment:a,...f}=o,p=n&&this.recordsAreAlignments,s=Ye(f.statusCallback);return Ne(t).pipe(W((c,u)=>this.getFeatures(c,{...f,statusCallback:s()}).pipe(W(m=>p?Nr(m,m.get("assemblyName")===c.assemblyName?c:{start:m.get("start"),end:m.get("end")},i,a):[m]),be(),V(m=>({index:u,features:m})))),be(),W(c=>c.sort((u,m)=>u.index-m.index).flatMap(u=>u.features)))}};var De=class extends Error{constructor(t){super(`a pair query names both lanes: queryAssemblyName ${t} came without a targetAssemblyName`);this.name="PairTargetError"}};function Xi(e){let{lanePairs:r,queryAssemblyName:t,targetAssemblyName:o}=e;if(r?.length)return r;if(t===void 0)return[];if(o===void 0)throw new De(t);return[{queryAssemblyName:t,targetAssemblyName:o}]}function Zi(e){let[r]=e;return e.length===1&&r?`Reading ${r.queryAssemblyName} against ${r.targetAssemblyName}`:`Reading ${e.length} lane pairs`}function Ji(e,r){return e[r]??e[He(r)]??r}function mt(e,r){let t=Math.max(1,r);return e>=10*t?Math.ceil(e/t):Math.max(11,Math.ceil(10*e/t))/10}function ta(e,r){if(Ve(e)&&e instanceof Error){let{fitsBp:t}=e;e.message=e.message.replace("to see the graph","to see lanes"),typeof t=="number"&&(e.message=e.message.replace(/^Zoom in to about [\d.,]*\d[KM]?bp/,`Zoom in about ${mt(r,t)}\xD7`))}return e}function ia({target:e,query:r,strand:t,cigar:o,matches:n,columns:i}){let a=`${e.name}:${e.start}-${e.end}|${r.name}:${r.start}-${r.end}`;return new N({uniqueId:a,assemblyName:e.assemblyName,refName:e.refName,start:e.start,end:e.end,type:"match",strand:t==="-"?-1:1,CIGAR:o,syntenyId:a,identity:n/Math.max(i,1),numMatches:n,blockLen:i,mate:{refName:r.refName,start:r.start,end:r.end,assemblyName:r.assemblyName}})}export{N as a,Pr as b,De as c,Xi as d,Zi as e,Ji as f,ta as g,ia as h};
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
4
|
+
//# sourceMappingURL=chunk-P6WBR5MX.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as z,b as vt}from"./chunk-BDBFDFIM.js";import{B as St,C as xt,a as tt,b as nt,c as Q,d as ot,e as rt,f as ee,h as at,i as it,j as st,k as lt,l as ct,m as pt,o as te,p as ut,q as ne,r as dt,t as ue,u as ft,v as ht,w as yt,x as bt,z as wt}from"./chunk-3TGEST7X.js";import{N as Je,O as Qe,R as pe,T as et,U as mt,V as gt,a as P,c as He,f as U,g as Ae,h as _e,q as ze,r as Oe,t as $e,u as je,v as Ke,w as qe}from"./chunk-CFW2JQMT.js";import{p as _}from"./chunk-4NUDB5AY.js";import{Ea as Ye,Jb as H,K as se,La as Ze,Nb as le,O as J,Pb as ce,Rb as B,S as Xe,U as Be,a as D,b as be,da as Fe,lc as Ue,r as We,s as Ne,wa as Ve}from"./chunk-OFUX4PZY.js";import{n as De}from"./chunk-QX7UU3CV.js";import{e as G}from"./chunk-3WG3GF2A.js";import{j}from"./chunk-J5RMHLFJ.js";import{a as Ie,e as T,f as Ge,g as Te,h as k,i as C}from"./chunk-NIEZKWQV.js";import{D as Ee,G as q,H as X,b as we,c as Se,e as ie,k as xe,o as Pe,p as Me,s as ke,v as K,w as Re,y as Ce,z as Le}from"./chunk-5Z4VIKXZ.js";import{a as I,b as n,c as f,d as h}from"./chunk-JMBDTNUR.js";function Pt(t){return Promise.resolve(new H(t))}var A=JBrowseExports["@jbrowse/render-core/useRenderingBackend"],hn=t=>A!=null&&t in Object(A)?A[t]:Object.assign(function(){throw new Error("This JBrowse does not provide '"+t+"' from '@jbrowse/render-core/useRenderingBackend' to plugins: GraphGenomeView was built for a different JBrowse version, so update the plugin or JBrowse")},{jbrowseHostMissing:t});var Mt=hn("useRenderingBackend"),bo=A&&A.__esModule?A.default:A;var de=nt(1);function fe({model:t}){let[e,o]=C(null);return T(()=>{if(!e)return;let i=new H(e),r=D(()=>{Fe(Ue()),i.resize(t.paneWidth,t.canvasHeight),t.paintHover(i,t.drawnBatch)});return()=>{r(),i.dispose()}},[e,t]),n("canvas",{ref:o,"data-testid":"graph-hover-layer",style:de})}function oe({row:t,at:e,hint:o,after:i,column:r}){let c=r===void 0?void 0:{paddingLeft:r+5};return t.swatch?f("div",{title:[t.title,o].filter(Boolean).join(" \xB7 ")||void 0,children:[f("div",{style:ne,children:[n("span",{style:{display:"flex",flex:"none",justifyContent:"center",width:r},children:n(te,{swatch:t.swatch})}),f("span",{children:[t.strong?n("strong",{children:t.strong}):null,t.label]}),i]}),e?n("div",{style:c,"data-testid":"graph-walk-at",children:e}):t.under?n("div",{style:c,children:t.under}):null]}):n("div",{style:dt,children:t.label})}var mn={pointerEvents:"auto",cursor:"pointer",border:"none",background:"none",padding:"0 2px",font:"inherit",textDecoration:"underline"},kt=h(function({model:e}){let o=pt(e);if(o.length===0)return null;let i=o.flatMap(l=>l.rows),r=it(i),c=at(i);return n("div",{style:{...ut,lineHeight:`${r}px`},children:o.map(({testid:l,rows:p,heading:s,spaced:u},m)=>f(Ie,{children:[s?n("div",{style:{...ft,paddingTop:m===0?0:ue},children:s}):null,n("div",{"data-testid":l,style:u?{paddingTop:ue}:void 0,children:p.map(w=>n(oe,{row:w,column:c,at:w.walk?e.hoveredOn(w.walk):void 0,after:w.closesBubble?n("button",{type:"button",style:mn,"data-testid":"graph-close-bubble",onClick:()=>{e.closeBubbles()},children:"close"}):null},w.key))})]},l))})});var gn={position:"absolute",left:0,top:0,zIndex:4,display:"grid",gap:We,lineHeight:"normal"},vn={height:Ne,padding:"2px 6px",boxSizing:"border-box",fontFamily:"inherit",fontSize:11,color:"inherit",cursor:"pointer",border:"none",background:"none",textAlign:"left",display:"block"},yn={position:"relative"},bn={gridColumn:"1 / -1",height:Qe,padding:"2px 6px",boxSizing:"border-box",display:"flex",gap:14,fontSize:11,lineHeight:"15px"},wn=h(function({model:e,lift:o,width:i,height:r,cell:c,handlers:l,canvasStyle:p}){let[s,u]=C(null),[m,w]=C(null),x=o.walks[0];T(()=>{if(!s||!m)return;let E=new H(s),N=new H(m),O=be(()=>e.buildDrawing(o,!1)),Y,Z=[D(()=>{let R=e.facetGrid;R&&E.resize(R.width,R.height);let L=O.get();L&&(L!==Y&&(E.uploadGeometry(L.batch),Y=L),e.applySelection(E),e.paint(E))}),D(()=>{let R=e.facetGrid;R&&N.resize(R.width,R.height);let L=O.get();L&&e.paintHover(N,L.batch)})];return()=>{for(let R of Z)R();E.dispose(),N.dispose()}},[s,m,e,o]);let W=e.walkLabel(x.name);return f("div",{style:c,children:[n("button",{type:"button",style:vn,"data-testid":"graph-facet-title",onClick:()=>{e.liftWalks([x.name]),e.setFacet("")},children:n(oe,{row:lt(e,x),hint:`click to lift ${W} alone`,at:e.hoveredOn(x)})}),f("div",{style:yn,children:[n("canvas",{ref:u,"data-testid":"graph-facet-canvas",style:{...p,width:i,height:r,display:"block"},...l}),n("canvas",{ref:w,style:de})]})]})}),Sn=h(function({model:e,handlers:o,canvasStyle:i}){let r=e.facetPanels,c=e.facetGrid,l=e.facetPlacement;if(!r||!c||!l)return null;let{columns:p,width:s,height:u}=c;return f("div",{"data-testid":"graph-facet-panels",style:{...gn,width:e.paneWidth,minHeight:e.canvasHeight,gridTemplateColumns:`repeat(${p}, ${s}px)`,background:J},children:[r.map((m,w)=>n(wn,{model:e,lift:m,width:s,height:u,cell:{gridRow:Math.floor(l.cells[w]/p)+1,gridColumn:l.cells[w]%p+1},handlers:o,canvasStyle:i},m.walks[0].name)),n("div",{style:{...bn,gridRow:Math.floor(l.cells.reduce((m,w)=>Math.max(m,w),-1/0)/p)+2},"data-testid":"graph-facet-key",children:ct(e).map(m=>n(oe,{row:m},m.key))})]})}),Rt=Sn;var Ct=P(n("path",{d:"M3 5v4h2V5h4V3H5c-1.1 0-2 .9-2 2m2 10H3v4c0 1.1.9 2 2 2h4v-2H5zm14 4h-4v2h4c1.1 0 2-.9 2-2v-4h-2zm0-16h-4v2h4v4h2V5c0-1.1-.9-2-2-2"}),"CropFree");var Lt=P([n("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),n("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn");var Et=P(n("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut");var xn=h(function({model:e}){let o=e.colorSchemeLock;return n(z,{label:"Color",size:"small",sx:{minWidth:100},disabled:o!==void 0,title:o?.why,shown:o?.value,value:e.chosenColorScheme,options:ze.map(({value:i})=>({value:i,label:e.colorSchemeLabel(i)})),testId:"graph-color-select",onChange:i=>{e.setColorScheme(i)}})}),It=xn;var Gt=_()({stats:{marginLeft:"auto"},perf:{color:"#888",fontVariantNumeric:"tabular-nums"}});function he(t){return t===void 0?"\u2013":`${Math.round(t)}ms`}var Pn=h(function({model:e}){let{classes:o}=Gt(),{lastFetchMs:i,lastLayoutMs:r,lastGeometryMs:c}=e,l=i!==void 0||r!==void 0||c!==void 0;return e.showPerf&&l?f(X,{variant:"caption",className:o.perf,"data-testid":"graph-perf-stats",children:["fetch ",he(i)," \xB7 layout ",he(r)," \xB7 geom"," ",he(c)]}):null}),Mn=h(function({model:e}){let{classes:o}=Gt();return f("div",{className:o.stats,"data-testid":"graph-stats","data-node-count":e.nodeCount,"data-edge-count":e.edgeCount,"data-path-count":e.pathCount,"data-fetch-ms":e.lastFetchMs??"","data-layout-ms":e.lastLayoutMs??"","data-geometry-ms":e.lastGeometryMs??"","data-geometry-strokes":e.lastGeometryStrokeCount??"",children:[f(X,{variant:"body2",component:"span",children:[e.nodeCount," nodes, ",e.edgeCount," edges",e.pathCount>0?`, ${e.pathCount} paths`:""]})," ",n(Pn,{model:e})]})}),Tt=Mn;var kn=h(function({model:e}){let{graph:o}=e;return n(z,{label:"Layout",size:"small",sx:{minWidth:140},testId:"graph-layout-select",value:e.chosenLayoutMode,options:He.map(({value:i,label:r,description:c,available:l})=>({value:i,label:r,description:c,disabled:o?!l(o):!1})),onChange:i=>{e.switchLayout(i)}})}),Ht=kn;var Rn=h(function({model:e}){return e.chosenLayoutMode!=="walkrows"||e.repeatChoices.length===0?null:n(z,{label:"Repeat",size:"small",sx:{minWidth:130,maxWidth:260},testId:"graph-repeat-select",value:e.selectedRepeat?.key??"",options:e.repeatOptions,onChange:o=>{e.setRepeatKey(o)}})}),At=Rn;var _t=P(n("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");var zt=P(n("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert");var Cn=h(function({model:e}){let o=e.highlightMenuItems({picks:!1});return n(we,{size:"small",tooltip:"Graph options",menuItems:[...o.length>0?[{label:"Haplotypes",icon:mt,subMenu:o}]:[],...e.layoutOptionMenuItems({repeat:!1}),{label:"Show",icon:Oe,subMenu:[...e.showMenuItems(),...e.modeDrawsNodes&&e.walkChoices.length>1?[{type:"checkbox",label:"Show walk rows under the graph",checked:e.walkStrip,onClick:()=>{e.setWalkStrip(!e.walkStrip)}}]:[],{type:"checkbox",label:"Show timings",checked:e.showPerf,onClick:()=>{e.setShowPerf(!e.showPerf)}}]},{type:"divider"},{label:"Graph settings...",icon:gt,helpText:"Subgraph node limit; node width and path colors; the force-directed layout engine",onClick:()=>{j(e).queueDialog(i=>[vt,{model:e,onClose:i}])}},{type:"divider"},{label:"Close graph",icon:_t,onClick:()=>{e.clearGraph()}}],children:n(zt,{})})}),Wt=Cn;var Ln=_()({formControl:{minWidth:130,maxWidth:260}}),En=h(function({model:e}){let{classes:o}=Ln(),i=Ge(),{walkChoices:r}=e;if(r.length===0||!e.liftsWalks)return null;let c=new Set(r.map(s=>s.name)),l=new Map(r.map(s=>[s.name,s.label])),p=e.walkLayers.map(s=>s.walk).filter(s=>c.has(s));return r.length>Be?n(Pe,{size:"small",variant:"outlined",color:"inherit","data-testid":"graph-walk-choose",onClick:()=>{j(e).queueDialog(s=>[Xe,{model:e,onClose:s}])},children:p.length>0?`${p.length} of ${r.length} haplotypes`:"Highlight haplotypes..."}):f(ke,{size:"small",className:o.formControl,children:[n(Re,{id:i,children:"Highlight"}),n(Ee,{labelId:i,multiple:!0,value:p,label:"Highlight","data-testid":"graph-walk-select",renderValue:s=>s.map(u=>l.get(u)).join(", "),onChange:s=>{let{value:u}=s.target;e.liftAmongChoices(typeof u=="string"?u.split(","):u)},children:r.map(({name:s,label:u})=>f(Le,{value:s,dense:!0,children:[n(Me,{size:"small",checked:p.includes(s)}),n(Ce,{primary:u})]},s))})]})}),Nt=En;var In=_()({toolbar:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:4,padding:"2px 4px",borderBottom:"1px solid #ddd"}}),Gn=h(function({model:e}){return n(X,{variant:"body2",children:e.zoomPercent})}),Tn=h(function({model:e}){let{classes:o}=In(),i=r=>{e.zoom(r,e.viewBox.width/2,e.viewBox.height/2)};return f("div",{className:o.toolbar,children:[n(Ht,{model:e}),n(It,{model:e}),n(Nt,{model:e}),n(At,{model:e}),n(q,{title:"Zoom in",children:n(K,{size:"small",onClick:()=>{i(1.5)},children:n(Lt,{})})}),n(q,{title:"Zoom out",children:n(K,{size:"small",onClick:()=>{i(1/1.5)},children:n(Et,{})})}),n(q,{title:"Zoom to fit",children:n(K,{size:"small",onClick:()=>{e.refitView()},children:n(Ct,{})})}),n(Gn,{model:e}),n(Tt,{model:e}),n(Wt,{model:e})]})}),Ot=Tn;var Hn={position:"absolute",bottom:Je,lineHeight:"normal",background:"rgba(0,0,0,0.75)",color:"white",padding:"4px 8px",borderRadius:4,fontSize:12,pointerEvents:"none",zIndex:6};function me({label:t,readout:e}){return f(I,{children:[n("strong",{children:t})," \u2014 ",e]})}function An(t,e){if(e)return{testId:"graph-chip-tooltip",body:me(e)};let o=t.hoveredNode?t.hoverNodeById?.get(t.hoveredNode):void 0;if(o){let l=t.hoverDrawing?.members.get(o.id),p=_e(o);return{body:f(I,{children:[n("strong",{children:o.name}),l?` and ${l.length-1} more`:""," \u2014"," ",o.length.toLocaleString()," bp, depth ",o.depth.toFixed(1),p?f(I,{children:[n("br",{}),p.sample," ",U(p)," (rank ",o.stable?.rank,")"]}):null,o.moved?f(I,{children:[n("br",{}),"End of a component too large to draw here"]}):null]})}}let i=t.hoveredEdge===null?void 0:t.graph?.edges[t.hoveredEdge];if(i){let l=Ae(i,t.deletions.find(p=>p.edgeIndex===t.hoveredEdge),p=>t.nodeById?.get(p)?.name??p);return{body:l.deletion?f(I,{children:[n("strong",{children:"Deletion"})," ",l.deletion.bp,n("br",{}),l.deletion.where]}):f(I,{children:["Edge: ",l.ends]})}}let r=t.hoveredWalkRowText;if(r)return{testId:"graph-walk-row-tooltip",body:me(r)};let c=t.hoveredTubeText;return c?{testId:"graph-tube-tooltip",body:me(c)}:void 0}var _n=h(function({model:e,chip:o}){let i=An(e,o);return i?n("div",{style:{...Hn,right:e.tooltipRightPx},"data-testid":i.testId,children:i.body}):null}),Dt=_n;var Xt=P(n("path",{d:"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"}),"FilterList");var Bt=P(n("path",{d:"M10.83 8H21V6H8.83zm5 5H18v-2h-4.17zM14 16.83V18h-4v-2h3.17l-3-3H6v-2h2.17l-3-3H3V6h.17L1.39 4.22 2.8 2.81l18.38 18.38-1.41 1.41z"}),"FilterListOff");var Ft=P(n("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info");var zn={x:0,y:0};function Wn(t,e){let{own:o,reference:i,highlight:r}=t.nodeLaunchTargets(e);return[{label:"Node details",icon:Ft,onClick:()=>{t.showNodeDetails(e)}},...et({own:o,reference:i,highlight:r,onShowLinear:c=>{t.showInLinearView(c)},onHighlight:t.canHighlightInLinearView?c=>{t.highlightInLinearView(c)}:void 0})]}function Nn(t){return t>=1e3?`${Math.round(t/1e3)} k`:`${t}`}function On(t,e,o){let i=o??t.walkRowBars,r=t.walkRowLaunchTarget(e,i),c=r?.assembly,l=e>0?i?.rows[e-1]:void 0,p=l?.sample,s=!o&&t.walkRowBars,u=t.walkRowSamples;return[r&&c?{label:`Linear genome view \u2014 ${c} ${U(r.location)}`,icon:pe,onClick:()=>{t.showInLinearView({location:r.location,assembly:c})}}:{label:"Linear genome view",icon:pe,disabled:!0,disabledHelpText:r?`No assembly in this session is ${r.location.haplotype??r.label}`:"This walk states no contig coordinates",onClick:()=>{}},...l?.abridgedSteps?[{label:`Load the ${Nn(l.abridgedSteps)} abridged steps`,onClick:()=>{t.expandWalk(l.name)}}]:[],...l&&t.liftsWalks&&t.modeDrawsNodes?[{type:"checkbox",label:`Highlight ${l.label}`,checked:t.walkLayers.some(m=>m.walk===l.name),onClick:()=>{t.toggleWalk(l.name)}}]:[],...s&&p&&!(u?.length===1&&u[0]===p)?[{label:`Show only ${p}`,icon:Xt,onClick:()=>{t.setWalkRowSamples([p])}}]:[],...s&&u?[{label:"Show every sample",icon:Bt,onClick:()=>{t.setWalkRowSamples(void 0)}}]:[]]}function F({model:t,at:e,onClose:o}){return n(Se,{anchor:e,offset:zn,onClose:o,menuItems:()=>e===void 0?[]:"nodeId"in e?Wn(t,e.nodeId):On(t,e.row,e.bars)})}var Dn={display:"flex",flexWrap:"wrap",gap:"2px 14px",padding:"2px 8px 6px",fontSize:11,color:"#333"},Xn={position:"absolute",pointerEvents:"none",background:"rgba(255,255,255,0.92)",border:"1px solid #ccc",borderRadius:3,padding:"1px 6px",fontSize:11,whiteSpace:"nowrap",zIndex:4},Bn=h(function({bars:e,frame:o,ramp:i,rowGenes:r}){let c=rt(),l=Te(()=>Ze(e,o,{ramp:i,rowGenes:r,idPrefix:c}),[e,o,i,r,c]);return n(ee,{el:l})}),Fn=h(function({model:e}){let o=e.walkStripRows,i=e.walkStripFrame,r=e.stripHover,c=o?[o.reference,...o.rows]:[],l=r?c.findIndex(m=>m.name===r.row):-1,p=c[l];if(!o||!i||i.labelled||!r||!p)return null;let s=(o.origin+r.offset)*i.scaleX+i.translateX,u=s>i.width/2?{right:i.width-s+12}:{left:s+12};return f("div",{"data-testid":"graph-walk-strip-tip",style:{...Xn,...u,top:l*i.rowPx+i.translateY-18},children:[p.label," \xB7"," ",Ve(p,l===0?void 0:o.reference)]})}),Vn=h(function({model:e,bars:o,frame:i}){return n(ee,{el:je(o,i,e.walkStripMarks)})}),Yn=h(function({model:e}){let o=e.walkStripRows,i=e.walkStripFrame,[r,c]=C();if(!o||!i)return null;let l=s=>{let u=s.currentTarget.getBoundingClientRect();return $e(o,i,s.clientX-u.left,s.clientY-u.top)},p=Ye(o,{ramp:e.referenceRampDomain,rampCss:De,genes:qe(i,e.walkRowGenes,e.walkRowGeneGaps),annotation:e.walkRowAnnotation});return f("div",{"data-testid":"graph-walk-strip",style:{position:"relative",borderTop:"1px solid #ddd"},onMouseEnter:()=>{e.setPointerInPane(!0)},onMouseLeave:()=>{G(e)&&(e.setPointerInPane(!1),e.setStripHover(null))},children:[f("svg",{width:i.width,height:i.height,style:{display:"block"},onMouseMove:s=>{let u=l(s);s.currentTarget.style.cursor=u&&u.index>0?"pointer":"",e.setStripHover(u?{row:u.row.name,offset:u.offset}:null)},onClick:s=>{let u=l(s);u&&u.index>0&&e.toggleWalk(u.row.name)},onContextMenu:s=>{let u=l(s);u&&(s.preventDefault(),c({clientX:s.clientX,clientY:s.clientY,row:u.index}))},children:[n(Bn,{bars:o,frame:i,ramp:e.referenceRampDomain,rowGenes:e.walkRowGenes}),n(Vn,{model:e,bars:o,frame:i}),n(ee,{el:Ke(o,i,new Set(e.walkLayers.map(s=>s.walk)))})]}),n(Fn,{model:e}),f("div",{style:Dn,"data-testid":"graph-walk-strip-key",children:[p.map(s=>f("div",{style:ne,children:[n(te,{swatch:st(s.swatch)}),n("span",{children:s.label})]},s.label)),n("span",{style:{color:"#777"},children:"Ticks mark where each walk passes the node under the pointer; click a haplotype's bar to lift its walk"})]}),n(F,{model:e,at:r&&{...r,bars:o},onClose:()=>{c(void 0)}})]})}),Vt=Yn;var Zn=h(function({model:e}){let o=e.walkStripLocator;return o?f(Q,{model:e,zIndex:4,overflow:"visible",testId:"graph-walk-strip-locator",children:[n("circle",{cx:o.x,cy:o.y,r:11,fill:"none",stroke:"white",strokeWidth:4}),n("circle",{cx:o.x,cy:o.y,r:11,fill:"none",stroke:"#111",strokeWidth:1.75})]}):null}),Yt=Zn;var $n=1.1,jn=100,Kn=40,qn=800,Un=10,Zt=2;function ge(t){let e=t.deltaY*(t.deltaMode===1?Kn:t.deltaMode===2?qn:1),o=(t.ctrlKey?Un:1)*e/jn;return $n**-Math.max(-Zt,Math.min(Zt,o))}var Jn=40,Qn=100,eo=24,$t=Math.log(16);function to(t,e){let o=t*Math.exp(-Math.max(0,e)/eo);return Math.abs(o)<.001?t:t-o}function no(t,e){let o=Math.abs(t.deltaX)>Math.abs(t.deltaY);return t.ctrlKey||t.metaKey||!o&&(!e||e.scrollZoom)?"zoom":o?"pan":"page"}function qt(t,e,o){T(()=>{if(!t)return;let i=-1/0,r={backlog:0,x:0,y:0,frame:0,last:0},c=p=>{let s=to(r.backlog,Math.min(100,p-r.last));r.backlog-=s,r.last=p,r.frame=r.backlog?requestAnimationFrame(c):0,G(o)&&o.zoom(Math.exp(s),r.x,r.y)},l=p=>{if(o.hostPlacesX||o.followsHostView)return;let m=((p.target instanceof Element?p.target.closest("canvas"):null)??(o.facetPanels?null:e))?.getBoundingClientRect();if(m&&p.clientY-m.top<o.referenceStripZonePx)return;let w=no(p,o.host);if(w!=="page"){if(o.host&&p.stopPropagation(),p.preventDefault(),w==="pan"){if(p.timeStamp-i>Qn){let x=p.deltaMode===1?Jn:1;o.setTransform(o.scale,o.translateX-p.deltaX*x,o.translateY)}return}i=p.timeStamp,m&&(r.x=p.clientX-m.left,r.y=p.clientY-m.top,r.backlog=Math.max(-$t,Math.min($t,r.backlog+Math.log(ge(p)))),r.frame||(r.last=performance.now()-1e3/60,r.frame=requestAnimationFrame(c)))}};return t.addEventListener("wheel",l,{passive:!1}),()=>{cancelAnimationFrame(r.frame),t.removeEventListener("wheel",l)}},[t,e,o])}var jt=3,ve="data-gesture-owner",V=t=>({x:t.clientX,y:t.clientY});function Kt(t){let[e,o]=[...t.values()];return{spread:Math.hypot(e.x-o.x,e.y-o.y),mid:{x:(e.x+o.x)/2,y:(e.y+o.y)/2}}}function Ut(t){let e=k({x:0,y:0}),o=k({x:0,y:0}),i=k(!1),r=k(void 0),c=a=>r.current!==void 0&&a.pointerId!==r.current,l=k(new Map),p=k(null),s=k(null),u=k(!1),m=k(null),w=k(!1),x=k({frame:0,pan:null,hover:null,pinch:!1});T(()=>()=>{cancelAnimationFrame(x.current.frame)},[]);let[W,E]=C(),[N,O]=C(!1),[Y,Z]=C(void 0);function R(a){let d=a.currentTarget.getBoundingClientRect();return{x:a.clientX-d.left,y:a.clientY-d.top}}function L(a,d){if(t.layoutResult?.tubeMap)return t.tubeMapNodeAt(a,d);let g=t.referenceStripNodeAt(a,d);if(g)return g;let{nodePositions:v}=t;if(!v)return null;let{x:y,y:b}=se(a,d,t,t.axisScale);return le(v,y,b,t.axisScale,t.positionsVersion,t.nodeInk)}function en(a,d){let{nodePositions:g,graph:v}=t;if(!g||!v)return null;let{x:y,y:b}=se(a,d,t,t.axisScale);return ce(g,v,y,b,t.axisScale,t.effectiveDrawPaths&&!t.facetPanels,t.positionsVersion,t.deletionEdgeIndexes,t.hiddenEdgeIndexes,t.deletionRoutes,t.layoutResult?.stranded)}function tn(a){a.button===0&&a.preventDefault()}function nn(a){if(a.button!==0)return;let d=l.current;if(c(a)){t.isPanning&&!w.current&&a.pointerType==="touch"&&d.size===1&&(a.currentTarget.setPointerCapture(a.pointerId),d.set(a.pointerId,V(a)),s.current=Kt(d),i.current=!0);return}i.current=!1,o.current={x:a.clientX,y:a.clientY},a.currentTarget.removeAttribute(ve);let g=t.followsHostView;if(t.hostPlacesX||g&&a.shiftKey)return;a.currentTarget.setPointerCapture(a.pointerId),r.current=a.pointerId,p.current=a.currentTarget,d.clear(),d.set(a.pointerId,V(a));let{x:v,y}=R(a),b=y<t.referenceStripZonePx,M=t.layoutResult?.tubeMap||b?null:L(v,y);g&&M&&a.currentTarget.setAttribute(ve,""),w.current=g,u.current=b&&!g,M?t.setDraggingNode(M):t.setPanning(!0),e.current={x:a.clientX,y:a.clientY}}function ye(){let a=s.current,d=p.current;if(!a||!d)return;let g=Kt(l.current),v=d.getBoundingClientRect();a.spread>0&&g.spread>0&&t.zoom(g.spread/a.spread,a.mid.x-v.left,a.mid.y-v.top),t.setTransform(t.scale,t.translateX+g.mid.x-a.mid.x,t.translateY+g.mid.y-a.mid.y),s.current=g}function on(){let a=x.current,{pan:d,hover:g,pinch:v}=a;if(a.frame=0,a.pan=null,a.hover=null,a.pinch=!1,v&&ye(),d&&u.current?t.host?.horizontalScroll(-d.dx):d&&w.current?t.setTransform(t.scale,t.translateX,t.translateY+d.dy):d&&t.setTransform(t.scale,t.translateX+d.dx,t.translateY+d.dy),!g)return;let{x:y,y:b}=g,M=t.facetPanels?void 0:yt(t.overlayLabels,y,b);if(Z(S=>S?.label===M?.label&&S?.readout===M?.readout?S:M),t.walkRowBars){let S=t.walkRowAt(y,b);t.setHoveredWalkRow(S===void 0?null:t.walkRowList[S].name)}if(t.nodePositions&&t.graph){let S=L(y,b);t.setHoveredPanel(t.tubeMapPanelAt(b)),t.setHoveredNode(S,{x:y,y:b}),O(S!==null&&!t.hostPlacesX&&!t.layoutResult?.tubeMap&&b>=t.referenceStripZonePx),t.setHoveredTube(S===null&&t.layoutResult?.tubeMap?t.tubeAt(y,b):null),t.setHoveredEdge(S||t.layoutResult?.tubeMap||!t.hoverLightsEverything?null:en(y,b))}}function $(){x.current.frame||(x.current.frame=requestAnimationFrame(on))}function rn(){let a=x.current;cancelAnimationFrame(a.frame),a.frame=0,a.pan=null,a.hover=null,a.pinch=!1}function an(a){let d=l.current;if(s.current&&d.has(a.pointerId)){d.set(a.pointerId,V(a)),x.current.pinch=!0,$();return}if(c(a)||m.current)return;let g=a.clientX-e.current.x,v=a.clientY-e.current.y;e.current={x:a.clientX,y:a.clientY},Math.hypot(a.clientX-o.current.x,a.clientY-o.current.y)>jt&&(i.current=!0);let y=x.current;if(t.draggingNode)t.moveNode(t.draggingNode,g/t.scaleX,v/t.scaleY);else if(t.isPanning)y.pan={dx:(y.pan?.dx??0)+g,dy:(y.pan?.dy??0)+v},$();else{let b=a.currentTarget.getBoundingClientRect();y.hover={x:a.clientX-b.left,y:a.clientY-b.top},$()}}function re(a){let d=l.current;if(s.current&&d.has(a.pointerId)){x.current.pinch&&(x.current.pinch=!1,ye()),d.delete(a.pointerId),s.current=null;let[[g,v]]=[...d];r.current=g,e.current=v;return}c(a)||(r.current=void 0,d.clear(),G(t)&&t.stopDragging())}function sn(a){c(a)||(r.current=void 0,l.current.clear(),s.current=null,rn(),Z(void 0),O(!1),G(t)&&(t.stopDragging(),t.clearHover()))}function ln(a){let{x:d,y:g}=R(a),v=L(d,g),{clientX:y,clientY:b}=a;if(v){a.preventDefault(),E({clientX:y,clientY:b,nodeId:v});return}let M=t.walkRowAt(d,g);M!==void 0&&(a.preventDefault(),E({clientX:y,clientY:b,row:M}))}function cn(a){if(!i.current){let{x:d,y:g}=R(a),v=L(d,g);t.setSelectedNode(v),v&&t.showNodeDetails(v)}}T(()=>()=>{m.current?.end()},[]);function pn(a){if(a.button!==0||t.hostPlacesX||t.followsHostView||!(a.target instanceof Element)||!a.target.closest(`[${tt}]`))return;m.current?.end(),u.current=!1,w.current=!1;let d=a.pointerId,g=V(a),v=g,y={moved:!1,end:()=>{window.removeEventListener("pointermove",b,!0),window.removeEventListener("pointerup",M,!0),window.removeEventListener("pointercancel",M,!0),y.moved&&G(t)&&t.stopDragging()}};function b(S){if(S.pointerId!==d)return;if(!y.moved){if(Math.hypot(S.clientX-g.x,S.clientY-g.y)<=jt)return;y.moved=!0,t.setPanning(!0)}let ae=x.current;ae.pan={dx:(ae.pan?.dx??0)+S.clientX-v.x,dy:(ae.pan?.dy??0)+S.clientY-v.y},v=V(S),$()}function M(S){S.pointerId===d&&(y.end(),setTimeout(()=>{m.current===y&&(m.current=null)},0))}m.current=y,window.addEventListener("pointermove",b,!0),window.addEventListener("pointerup",M,!0),window.addEventListener("pointercancel",M,!0)}function un(a){m.current?.moved&&(m.current=null,a.stopPropagation())}let dn={cursor:t.isPanning||t.draggingNode?"grabbing":N?"move":"grab",touchAction:t.hostPlacesX?"auto":"none",overscrollBehavior:"contain"},fn=t.host!==void 0&&!t.hostPlacesX&&!t.followsHostView?{[ve]:"",onMouseDown:a=>{a.stopPropagation()}}:{};return{canvasStyle:dn,surfaceProps:fn,handlers:{onMouseDown:tn,onPointerDown:nn,onPointerMove:an,onPointerUp:re,onPointerCancel:re,onLostPointerCapture:re,onPointerLeave:sn,onClick:cn,onContextMenu:ln},contextMenu:W,hoveredChip:Y,labelHandlers:{onPointerDown:pn,onClickCapture:un},closeContextMenu:()=>{E(void 0)}}}var oo={position:"relative"},ro={position:"relative",lineHeight:0,isolation:"isolate"},ao={position:"absolute",left:0,right:0,bottom:0,zIndex:0},io={position:"absolute",inset:0,zIndex:10,lineHeight:"normal",pointerEvents:"none"},so={position:"absolute",left:6,transform:"translateY(-50%)",background:"rgba(255,255,255,0.82)",padding:"0 4px",borderRadius:3,fontSize:11,lineHeight:"16px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:4},lo=h(function({model:e}){return n(I,{children:e.visibleRowLabels.map(({label:o,y:i,top:r})=>n("div",{"data-testid":"graph-row-label",style:{...so,top:r},children:o},i))})}),co={position:"absolute",top:B,right:B,display:"flex",flexDirection:"column",borderRadius:3,overflowX:"hidden",overflowY:"auto",zIndex:4},Jt={position:"absolute",transform:"translate(-50%, -50%)",background:"rgba(255,255,255,0.78)",padding:"0 3px",borderRadius:3,fontSize:10,lineHeight:"13px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:3},po={...Jt,color:"#18181c",fontWeight:600},uo=h(function({model:e}){let o=k(null),i=e.legendAtRest;return T(()=>{let r=o.current;if(!r||!i)return;let c=()=>{G(e)&&e.legendAtRest&&e.setLegendSize({width:r.offsetWidth,height:r.scrollHeight})};c();let l=new ResizeObserver(c);return l.observe(r),r.firstElementChild&&l.observe(r.firstElementChild),()=>{l.disconnect()}},[e,i]),n("div",{ref:o,style:{...co,top:B+e.referenceStripZonePx,maxHeight:e.canvasHeight-2*B-e.referenceStripZonePx},children:n(kt,{model:e})})}),fo=h(function({model:e}){let o=e.overlayLabels.sizes,i=o.flatMap(({key:r,leader:c})=>c?[{key:r,...c}]:[]);return f(I,{children:[i.length>0?n(Q,{model:e,zIndex:2,overflow:"visible",children:i.map(({key:r,arcX:c,arcY:l,labelX:p,labelY:s})=>n("line",{"data-testid":"graph-label-leader",x1:c,y1:l,x2:p,y2:s,stroke:"#18181c",strokeWidth:1},r))}):null,o.map(({key:r,text:c,x:l,y:p,kind:s})=>n("div",{"data-testid":"graph-size-label",style:{...s==="deletion"?po:Jt,left:l,top:p},children:c},r))]})}),Qt=h(function({model:e,handle:{canvasRef:o,canvas:i},ownChrome:r}){let{handlers:c,canvasStyle:l,surfaceProps:p,labelHandlers:s,contextMenu:u,closeContextMenu:m,hoveredChip:w}=Ut(e),[x,W]=C(null);qt(x,i,e);let E=e.facetPanels!==void 0;return f("div",{style:oo,...p,children:[r?n(Ot,{model:e}):null,f("div",{ref:W,style:ro,...s,onMouseEnter:()=>{e.setPointerInPane(!0)},onMouseLeave:()=>{G(e)&&e.setPointerInPane(!1)},children:[e.referenceStripShown?n("div",{style:{...ao,top:e.referenceStripZonePx,background:J}}):null,n("canvas",{ref:o,"data-testid":"graph-genome-canvas",style:{...l,width:e.paneWidth,height:e.canvasHeight,display:"block",position:"relative",zIndex:1},...c}),E?n(Rt,{model:e,handlers:c,canvasStyle:l}):f(I,{children:[n(St,{model:e}),n(fe,{model:e}),n(wt,{model:e}),n(lo,{model:e}),n(fo,{model:e}),n(ot,{model:e}),n(ht,{model:e}),n(bt,{model:e}),n(xt,{model:e}),n(Yt,{model:e}),n(uo,{model:e})]}),r?n("div",{style:io,children:n(xe,{isVisible:e.isLoading,immediate:!e.layoutResult,statusMessage:e.statusMessage,onCancel:e.canCancelLoad?()=>{e.cancelLoad()}:void 0})}):null,n(Dt,{model:e,chip:w})]}),e.walkStripShown?n(Vt,{model:e}):null,n(F,{model:e,at:u,onClose:m}),r?.renderError?n(ie,{error:r.renderError,onReset:r.retryRender}):null,r&&e.error?n(ie,{error:e.error,onReset:e.canRetryLoad?()=>{e.retryLoad()}:void 0}):null]})}),ho=h(function({model:e}){let{canvasRef:o,canvas:i,error:r,retry:c}=Mt(Pt,e);return n(Qt,{model:e,handle:{canvasRef:o,canvas:i},ownChrome:{renderError:r,retryRender:c}})}),mo=h(function({model:e,handle:o}){return o?n(Qt,{model:e,handle:o}):n(ho,{model:e})}),$i=mo;export{Pt as a,$i as b};
|
|
2
|
+
//# sourceMappingURL=chunk-PXIHCJUD.js.map
|