jbrowse-plugin-msaview 5.16.2 → 5.17.0
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/MsaViewPanel/model.d.ts +49 -36
- package/dist/MsaViewPanel/storedData.test.js +4 -4
- package/dist/chunks/{AboutDialog-UIDZTTTE.js → AboutDialog-CFANNPHL.js} +2 -2
- package/dist/chunks/{AboutDialog-UIDZTTTE.js.map → AboutDialog-CFANNPHL.js.map} +1 -1
- package/dist/chunks/AnnotationFileDialog-27HTSCJC.js +2 -0
- package/dist/chunks/{AnnotationFileDialog-TFIHQACD.js.map → AnnotationFileDialog-27HTSCJC.js.map} +3 -3
- package/dist/chunks/{ExportSVGDialog-AYE4AXS3.js → ExportSVGDialog-P4ICAFJQ.js} +2 -2
- package/dist/chunks/{ExportSVGDialog-AYE4AXS3.js.map → ExportSVGDialog-P4ICAFJQ.js.map} +1 -1
- package/dist/chunks/{FeatureDialog-XHNPLPWX.js → FeatureDialog-Z5SUYFEB.js} +1 -1
- package/dist/chunks/{FeatureDialog-XHNPLPWX.js.map → FeatureDialog-Z5SUYFEB.js.map} +1 -1
- package/dist/chunks/{GapThresholdDialog-MNNNXRMM.js → GapThresholdDialog-B5NC7QTB.js} +1 -1
- package/dist/chunks/{GapThresholdDialog-MNNNXRMM.js.map → GapThresholdDialog-B5NC7QTB.js.map} +1 -1
- package/dist/chunks/{GoToDialog-U3TQYXIE.js → GoToDialog-WWXYDZPR.js} +2 -2
- package/dist/chunks/{GoToDialog-U3TQYXIE.js.map → GoToDialog-WWXYDZPR.js.map} +1 -1
- package/dist/chunks/{HelpDialog-QS4T2P3K.js → HelpDialog-57HMNKIZ.js} +2 -2
- package/dist/chunks/{HelpDialog-QS4T2P3K.js.map → HelpDialog-57HMNKIZ.js.map} +1 -1
- package/dist/chunks/{LaunchMsaViewDialog-CZR76VIV.js → LaunchMsaViewDialog-KKO7NN7P.js} +2 -2
- package/dist/chunks/{LaunchMsaViewDialog-CZR76VIV.js.map → LaunchMsaViewDialog-KKO7NN7P.js.map} +1 -1
- package/dist/chunks/MetadataDialog-SFIPDR72.js +2 -0
- package/dist/chunks/{MetadataDialog-BC6EUBOJ.js.map → MetadataDialog-SFIPDR72.js.map} +2 -2
- package/dist/chunks/MsaViewPanel-SVYEMEJP.js +2 -0
- package/dist/chunks/{MsaViewPanel-6ETJVX27.js.map → MsaViewPanel-SVYEMEJP.js.map} +1 -1
- package/dist/chunks/{TrackInfoDialog-UCAJUIKI.js → TrackInfoDialog-J4XUXUQH.js} +2 -2
- package/dist/chunks/{TrackInfoDialog-UCAJUIKI.js.map → TrackInfoDialog-J4XUXUQH.js.map} +1 -1
- package/dist/chunks/TreeNodeInfoDialog-QIUEVP45.js +2 -0
- package/dist/chunks/{TreeNodeInfoDialog-W6L2FDRH.js.map → TreeNodeInfoDialog-QIUEVP45.js.map} +2 -2
- package/dist/chunks/chunk-22YOVDVE.js +2 -0
- package/dist/chunks/{chunk-33ER5TMH.js.map → chunk-22YOVDVE.js.map} +1 -1
- package/dist/chunks/{chunk-27DJABXI.js → chunk-7FQ6JH7S.js} +1 -1
- package/dist/chunks/{chunk-27DJABXI.js.map → chunk-7FQ6JH7S.js.map} +3 -3
- package/dist/chunks/chunk-BABZZGON.js +11 -0
- package/dist/chunks/chunk-BABZZGON.js.map +7 -0
- package/dist/chunks/chunk-BLG5QXPZ.js +164 -0
- package/dist/chunks/chunk-BLG5QXPZ.js.map +7 -0
- package/dist/chunks/{chunk-AOTVWTUV.js → chunk-E3VABHAF.js} +1 -1
- package/dist/chunks/{chunk-AOTVWTUV.js.map → chunk-E3VABHAF.js.map} +1 -1
- package/dist/chunks/chunk-FDAPTOY5.js +2 -0
- package/dist/chunks/chunk-FDAPTOY5.js.map +7 -0
- package/dist/chunks/{chunk-ECXGXFKO.js → chunk-GPYMJZZF.js} +1 -1
- package/dist/chunks/{chunk-ECXGXFKO.js.map → chunk-GPYMJZZF.js.map} +1 -1
- package/dist/chunks/chunk-KHRURQPK.js +2 -0
- package/dist/chunks/chunk-KHRURQPK.js.map +7 -0
- package/dist/chunks/{chunk-KKFBYJZN.js → chunk-LGW6EKNG.js} +1 -1
- package/dist/chunks/{chunk-KKFBYJZN.js.map → chunk-LGW6EKNG.js.map} +1 -1
- package/dist/chunks/{chunk-ET6J3BQX.js → chunk-LVLHKLUU.js} +2 -2
- package/dist/chunks/{chunk-L75R2CI3.js → chunk-NFZIT4K6.js} +4 -4
- package/dist/chunks/{chunk-L75R2CI3.js.map → chunk-NFZIT4K6.js.map} +1 -1
- package/dist/chunks/{chunk-FYL5SHOE.js → chunk-OU67QSXA.js} +1 -1
- package/dist/chunks/{chunk-FYL5SHOE.js.map → chunk-OU67QSXA.js.map} +1 -1
- package/dist/chunks/{chunk-UUDUJ6ZF.js → chunk-RE52WXM7.js} +1 -1
- package/dist/chunks/{chunk-UUDUJ6ZF.js.map → chunk-RE52WXM7.js.map} +1 -1
- package/dist/chunks/chunk-TF47C6NI.js +2 -0
- package/dist/chunks/chunk-TF47C6NI.js.map +7 -0
- package/dist/chunks/{chunk-7JFWQZNK.js → chunk-WKZK7ZZ4.js} +2 -2
- package/dist/chunks/{chunk-7JFWQZNK.js.map → chunk-WKZK7ZZ4.js.map} +1 -1
- package/dist/chunks/dist-DTCYS6P4.js +2 -0
- package/dist/chunks/dist-DTCYS6P4.js.map +7 -0
- package/dist/chunks/dist-E47QTFWN.js +2 -0
- package/dist/chunks/{model-XMH3QSZV.js → model-S32FGNSJ.js} +2 -2
- package/dist/chunks/{model-XMH3QSZV.js.map → model-S32FGNSJ.js.map} +1 -1
- package/dist/chunks/{renderToSvg-VO23YN7B.js → renderToSvg-W5UFFKE3.js} +2 -2
- package/dist/jbrowse-plugin-msaview.esm.js +2 -2
- package/dist/jbrowse-plugin-msaview.esm.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/src/MsaViewPanel/storedData.test.ts +4 -4
- package/src/version.ts +1 -1
- package/dist/chunks/AnnotationFileDialog-TFIHQACD.js +0 -2
- package/dist/chunks/MetadataDialog-BC6EUBOJ.js +0 -2
- package/dist/chunks/MsaViewPanel-6ETJVX27.js +0 -2
- package/dist/chunks/TreeNodeInfoDialog-W6L2FDRH.js +0 -2
- package/dist/chunks/chunk-33ER5TMH.js +0 -2
- package/dist/chunks/chunk-7WGSBPHS.js +0 -6
- package/dist/chunks/chunk-7WGSBPHS.js.map +0 -7
- package/dist/chunks/chunk-K55ZVN73.js +0 -5
- package/dist/chunks/chunk-K55ZVN73.js.map +0 -7
- package/dist/chunks/chunk-NDUZUXDJ.js +0 -2
- package/dist/chunks/chunk-NDUZUXDJ.js.map +0 -7
- package/dist/chunks/chunk-TEQX6FF3.js +0 -164
- package/dist/chunks/chunk-TEQX6FF3.js.map +0 -7
- package/dist/chunks/chunk-TVOPZHTJ.js +0 -2
- package/dist/chunks/chunk-TVOPZHTJ.js.map +0 -7
- package/dist/chunks/chunk-YXL36I7H.js +0 -8
- package/dist/chunks/chunk-YXL36I7H.js.map +0 -7
- package/dist/chunks/dist-34WACJJR.js +0 -2
- package/dist/chunks/dist-34WACJJR.js.map +0 -7
- package/dist/chunks/dist-NZDQ46PF.js +0 -2
- /package/dist/chunks/{chunk-ET6J3BQX.js.map → chunk-LVLHKLUU.js.map} +0 -0
- /package/dist/chunks/{dist-NZDQ46PF.js.map → dist-E47QTFWN.js.map} +0 -0
- /package/dist/chunks/{renderToSvg-VO23YN7B.js.map → renderToSvg-W5UFFKE3.js.map} +0 -0
|
@@ -112,7 +112,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
112
112
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
113
113
|
displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
114
114
|
minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
115
|
-
}, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
115
|
+
}, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "cladesSeeded" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
116
116
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
117
117
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
118
118
|
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
@@ -129,8 +129,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
129
129
|
colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
130
130
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
131
131
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
132
|
-
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("
|
|
133
|
-
}, "id" | "type" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & {
|
|
132
|
+
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
|
|
133
|
+
}, "id" | "type" | "allowedGappyness" | "clades" | "cladesSeeded" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & {
|
|
134
134
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
135
135
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
136
136
|
domainFill: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -473,9 +473,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
473
473
|
rotated: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISimpleType<string>>, [undefined]>;
|
|
474
474
|
treeRoot: import("@jbrowse/mobx-state-tree").IType<import("react-msaview").TreeRoot | undefined, import("react-msaview").TreeRoot | undefined, import("react-msaview").TreeRoot | undefined>;
|
|
475
475
|
showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
476
|
+
cladesSeeded: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
476
477
|
turnedOffTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
|
|
477
478
|
trackHeights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<number>>, [undefined]>;
|
|
478
|
-
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").
|
|
479
|
+
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").ColumnTrackSpec, import("react-msaview").ColumnTrackSpec, import("react-msaview").ColumnTrackSpec>>, [undefined]>;
|
|
479
480
|
residueMappings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").ResidueMapping, import("react-msaview").ResidueMapping, import("react-msaview").ResidueMapping>>, [undefined]>;
|
|
480
481
|
data: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
481
482
|
tree: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
@@ -498,8 +499,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
498
499
|
selection: import("@jbrowse/mobx-state-tree").IType<import("react-msaview").MsaSelection | undefined, import("react-msaview").MsaSelection | undefined, import("react-msaview").MsaSelection | undefined>;
|
|
499
500
|
region: import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Region | undefined, import("react-msaview").Region | undefined, import("react-msaview").Region | undefined>;
|
|
500
501
|
clades: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Clade, import("react-msaview").Clade, import("react-msaview").Clade>>, [undefined]>;
|
|
501
|
-
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").
|
|
502
|
-
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").
|
|
502
|
+
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Encoding, import("react-msaview").Encoding, import("react-msaview").Encoding>>, [undefined]>;
|
|
503
|
+
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").RowPanelSpec, import("react-msaview").RowPanelSpec, import("react-msaview").RowPanelSpec>>, [undefined]>;
|
|
503
504
|
}, "init" | "querySeqName" | "embeddedMode" | "launchCompleted" | "connectedViewId" | "connectedFeature" | "connectedTranscript" | "blastParams" | "orthologParams" | "querySeqOffset" | "uniprotId" | "zoomToBaseLevel" | "dataStoreId" | "mafRegion" | "domainsOnGenome"> & {
|
|
504
505
|
connectedViewId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
505
506
|
connectedFeature: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
|
|
@@ -554,9 +555,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
554
555
|
setCustomColorScheme(map?: Record<string, string>): void;
|
|
555
556
|
setBgColor(arg: boolean): void;
|
|
556
557
|
setShowColumnStats(arg: boolean): void;
|
|
557
|
-
setMSAFormat(arg?: import("
|
|
558
|
+
setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
|
|
558
559
|
} & {
|
|
559
560
|
headerHeight: number;
|
|
561
|
+
availableHeight: number | undefined;
|
|
560
562
|
settingsOpen: boolean;
|
|
561
563
|
zoomHeld: {
|
|
562
564
|
col: number;
|
|
@@ -592,7 +594,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
592
594
|
dismissedWarnings: string[];
|
|
593
595
|
resetCount: number;
|
|
594
596
|
hostCarriesData: boolean;
|
|
595
|
-
annotations: import("
|
|
597
|
+
annotations: import("msa-parsers").Annotation[];
|
|
596
598
|
} & {
|
|
597
599
|
drawRelativeTo(id: string | undefined): void;
|
|
598
600
|
setHideGaps(arg: boolean): void;
|
|
@@ -603,6 +605,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
603
605
|
setSettingsOpen(arg: boolean): void;
|
|
604
606
|
setHighResScaleFactor(arg: number): void;
|
|
605
607
|
setHeight(height: number): void;
|
|
608
|
+
setAvailableHeight(height?: number): void;
|
|
606
609
|
setError(error?: unknown): void;
|
|
607
610
|
addWarning(warning: string): void;
|
|
608
611
|
setHostCarriesData(arg: boolean): void;
|
|
@@ -628,6 +631,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
628
631
|
toggleCollapsed(node: string): void;
|
|
629
632
|
toggleRotated(node: string): void;
|
|
630
633
|
clearRotated(): void;
|
|
634
|
+
clearNodeState(): void;
|
|
631
635
|
setTreeRoot(treeRoot?: import("react-msaview").TreeRoot): void;
|
|
632
636
|
setShowOnly(node?: string): void;
|
|
633
637
|
setData(data: {
|
|
@@ -672,8 +676,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
672
676
|
readonly rowData: Record<string, Record<string, string> | undefined>;
|
|
673
677
|
rowDataOf(name: string): Record<string, string> | undefined;
|
|
674
678
|
readonly rowFields: string[];
|
|
675
|
-
readonly MSA: import("
|
|
676
|
-
readonly allAnnotations: import("
|
|
679
|
+
readonly MSA: import("msa-parsers").MSAParserType | null;
|
|
680
|
+
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
677
681
|
readonly actuallyShowDomains: boolean;
|
|
678
682
|
readonly numColumns: number;
|
|
679
683
|
readonly inputTree: import("react-msaview").NodeWithIds;
|
|
@@ -687,9 +691,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
687
691
|
names: string[];
|
|
688
692
|
depth: number;
|
|
689
693
|
};
|
|
694
|
+
readonly treeHierarchy: import("react-msaview").HierarchyNode<import("react-msaview").NodeWithIds>;
|
|
690
695
|
readonly maxTipLabelWidth: number;
|
|
691
696
|
readonly labelColumnWidth: number;
|
|
692
697
|
readonly fittedTreeAreaWidth: number;
|
|
698
|
+
readonly effectiveHeight: number;
|
|
693
699
|
readonly effectiveTreeAreaWidth: number;
|
|
694
700
|
readonly effectiveTreeWidth: number;
|
|
695
701
|
readonly showTreeText: boolean;
|
|
@@ -807,12 +813,12 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
807
813
|
readonly topBandHeight: number;
|
|
808
814
|
readonly msaAreaHeight: number;
|
|
809
815
|
readonly totalTrackAreaHeight: number;
|
|
810
|
-
readonly annotationTypes: Map<string, import("
|
|
816
|
+
readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
|
|
811
817
|
readonly defaultOffAccessions: Set<string>;
|
|
812
818
|
featureOff(accession: string): boolean;
|
|
813
|
-
readonly filteredAnnotations: import("
|
|
819
|
+
readonly filteredAnnotations: import("msa-parsers").Annotation[];
|
|
814
820
|
readonly cellFill: "residue" | "domain" | "none";
|
|
815
|
-
readonly annotationsByRow: Record<string, import("
|
|
821
|
+
readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
|
|
816
822
|
} & {
|
|
817
823
|
readonly showVerticalScrollbar: boolean;
|
|
818
824
|
} & {
|
|
@@ -838,6 +844,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
838
844
|
setHoveredTreeNode(nodeId?: string): void;
|
|
839
845
|
calculateNeighborJoiningTreeFromMSA(): void;
|
|
840
846
|
rerootAt(nodeId: string): void;
|
|
847
|
+
seedCladeMarks(): void;
|
|
841
848
|
replaceTree(newick: string): void;
|
|
842
849
|
resetZoom(): void;
|
|
843
850
|
zoomAtCenter(scaleFactor: number, axis?: "both" | "horizontal" | "vertical"): void;
|
|
@@ -848,14 +855,14 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
848
855
|
endWheelZoom(): void;
|
|
849
856
|
doScrollY(deltaY: number): void;
|
|
850
857
|
setScrollY(n: number): void;
|
|
851
|
-
setAnnotations(annotations: import("
|
|
858
|
+
setAnnotations(annotations: import("msa-parsers").Annotation[]): void;
|
|
852
859
|
applyGFFText(gffText: string): void;
|
|
853
860
|
doScrollX(deltaX: number): void;
|
|
854
861
|
setScrollX(n: number): void;
|
|
855
|
-
setColumnTracks(tracks:
|
|
862
|
+
setColumnTracks(tracks: import("react-msaview").ColumnTrackSpec[]): void;
|
|
856
863
|
setRowData(rowData: import("react-msaview").RowDataInput): void;
|
|
857
|
-
setEncodings(encodings:
|
|
858
|
-
setRowPanels(panels:
|
|
864
|
+
setEncodings(encodings: import("react-msaview").Encoding[]): void;
|
|
865
|
+
setRowPanels(panels: import("react-msaview").RowPanelSpec[]): void;
|
|
859
866
|
setResidueMappings(mappings: import("react-msaview").ResidueMapping[]): void;
|
|
860
867
|
toggleTrack(id: string): void;
|
|
861
868
|
setTracksShown(ids: string[], shown: boolean): void;
|
|
@@ -868,24 +875,25 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
868
875
|
readonly hoveredCell: import("react-msaview").Cell | undefined;
|
|
869
876
|
readonly clickedCell: import("react-msaview").Cell | undefined;
|
|
870
877
|
readonly viewport: import("react-msaview").Viewport | undefined;
|
|
871
|
-
readonly segmentDomainTypes: import("
|
|
872
|
-
readonly
|
|
878
|
+
readonly segmentDomainTypes: import("msa-parsers").Annotation[];
|
|
879
|
+
readonly domainLegendEntries: import("react-msaview").LegendEntry[];
|
|
880
|
+
readonly categoricalDomainTypes: import("msa-parsers").Annotation[];
|
|
873
881
|
readonly fillPalette: {
|
|
874
882
|
[x: string]: string;
|
|
875
883
|
};
|
|
876
884
|
readonly featureFillEncoding: import("react-msaview").ResolvedEncoding | undefined;
|
|
877
|
-
readonly featureColors: Map<import("
|
|
885
|
+
readonly featureColors: Map<import("msa-parsers").Annotation, {
|
|
878
886
|
fill: string;
|
|
879
887
|
stroke: string;
|
|
880
888
|
}>;
|
|
881
|
-
readonly featureLabels: Map<import("
|
|
889
|
+
readonly featureLabels: Map<import("msa-parsers").Annotation, string> | undefined;
|
|
882
890
|
readonly segmentLabels: Map<string, string>;
|
|
883
|
-
readonly visibleDomainTypes: import("
|
|
891
|
+
readonly visibleDomainTypes: import("msa-parsers").Annotation[];
|
|
884
892
|
readonly legends: import("react-msaview").Legend[];
|
|
885
893
|
readonly domainUnderline: boolean;
|
|
886
894
|
readonly domainBands: Map<string, import("react-msaview").DomainBand[]>;
|
|
887
895
|
readonly domainBandsByStart: Map<string, import("react-msaview").DomainBand[]>;
|
|
888
|
-
readonly mouseOverDomains: import("
|
|
896
|
+
readonly mouseOverDomains: import("msa-parsers").Annotation[];
|
|
889
897
|
readonly referenceRowIndex: number | undefined;
|
|
890
898
|
readonly hoveredRowIndices: number[];
|
|
891
899
|
readonly highlightedColumnRuns: {
|
|
@@ -914,14 +922,16 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
914
922
|
rowData: Record<string, string> | undefined;
|
|
915
923
|
};
|
|
916
924
|
readonly resolvedEncodings: import("react-msaview").ResolvedEncoding[];
|
|
925
|
+
readonly colorEncodings: import("react-msaview").ColorEncoding[];
|
|
926
|
+
encodingFor(channel: import("react-msaview").ColorEncodingChannel): import("react-msaview").ResolvedEncoding | undefined;
|
|
917
927
|
readonly resolvedScales: Map<string, import("react-msaview").SharedScale>;
|
|
918
928
|
scaleOf(channel: import("react-msaview").ColorChannel, table: import("react-msaview").ScaleTable): import("react-msaview").SharedScale;
|
|
919
929
|
readonly rowPanelScales: ({
|
|
920
930
|
header: string;
|
|
921
931
|
field: string;
|
|
922
932
|
kind: "strip";
|
|
923
|
-
legend: import("react-msaview").LegendEntry[];
|
|
924
933
|
colors: Map<string, string>;
|
|
934
|
+
legend: import("react-msaview").LegendEntry[];
|
|
925
935
|
legendKey?: string | undefined;
|
|
926
936
|
legendTitle?: string | undefined;
|
|
927
937
|
} | {
|
|
@@ -929,14 +939,14 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
929
939
|
x: "column" | "position";
|
|
930
940
|
field?: string | undefined;
|
|
931
941
|
kind: "features";
|
|
932
|
-
|
|
933
|
-
colors: Map<import("react-msaview").Annotation, {
|
|
942
|
+
colors: Map<import("msa-parsers").Annotation, {
|
|
934
943
|
fill: string;
|
|
935
944
|
stroke: string;
|
|
936
945
|
}>;
|
|
946
|
+
legend: import("react-msaview").LegendEntry[];
|
|
937
947
|
legendKey?: string | undefined;
|
|
938
948
|
legendTitle?: string | undefined;
|
|
939
|
-
labels?: Map<import("
|
|
949
|
+
labels?: Map<import("msa-parsers").Annotation, string> | undefined;
|
|
940
950
|
})[];
|
|
941
951
|
readonly resolvedRowPanels: import("react-msaview").ResolvedRowPanel[];
|
|
942
952
|
readonly featureAlignShifts: Map<string, Map<string, number>>;
|
|
@@ -1327,7 +1337,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1327
1337
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1328
1338
|
displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
1329
1339
|
minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1330
|
-
}, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
1340
|
+
}, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "cladesSeeded" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
1331
1341
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1332
1342
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1333
1343
|
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
@@ -1344,8 +1354,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1344
1354
|
colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1345
1355
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
1346
1356
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1347
|
-
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("
|
|
1348
|
-
}, "id" | "type" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & {
|
|
1357
|
+
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
|
|
1358
|
+
}, "id" | "type" | "allowedGappyness" | "clades" | "cladesSeeded" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & {
|
|
1349
1359
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1350
1360
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1351
1361
|
domainFill: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -1688,9 +1698,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1688
1698
|
rotated: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISimpleType<string>>, [undefined]>;
|
|
1689
1699
|
treeRoot: import("@jbrowse/mobx-state-tree").IType<import("react-msaview").TreeRoot | undefined, import("react-msaview").TreeRoot | undefined, import("react-msaview").TreeRoot | undefined>;
|
|
1690
1700
|
showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
1701
|
+
cladesSeeded: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1691
1702
|
turnedOffTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
|
|
1692
1703
|
trackHeights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<number>>, [undefined]>;
|
|
1693
|
-
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").
|
|
1704
|
+
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").ColumnTrackSpec, import("react-msaview").ColumnTrackSpec, import("react-msaview").ColumnTrackSpec>>, [undefined]>;
|
|
1694
1705
|
residueMappings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").ResidueMapping, import("react-msaview").ResidueMapping, import("react-msaview").ResidueMapping>>, [undefined]>;
|
|
1695
1706
|
data: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
1696
1707
|
tree: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
@@ -1713,8 +1724,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1713
1724
|
selection: import("@jbrowse/mobx-state-tree").IType<import("react-msaview").MsaSelection | undefined, import("react-msaview").MsaSelection | undefined, import("react-msaview").MsaSelection | undefined>;
|
|
1714
1725
|
region: import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Region | undefined, import("react-msaview").Region | undefined, import("react-msaview").Region | undefined>;
|
|
1715
1726
|
clades: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Clade, import("react-msaview").Clade, import("react-msaview").Clade>>, [undefined]>;
|
|
1716
|
-
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").
|
|
1717
|
-
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").
|
|
1727
|
+
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Encoding, import("react-msaview").Encoding, import("react-msaview").Encoding>>, [undefined]>;
|
|
1728
|
+
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").RowPanelSpec, import("react-msaview").RowPanelSpec, import("react-msaview").RowPanelSpec>>, [undefined]>;
|
|
1718
1729
|
}, "init" | "querySeqName" | "embeddedMode" | "launchCompleted" | "connectedViewId" | "connectedFeature" | "connectedTranscript" | "blastParams" | "orthologParams" | "querySeqOffset" | "uniprotId" | "zoomToBaseLevel" | "dataStoreId" | "mafRegion" | "domainsOnGenome"> & {
|
|
1719
1730
|
connectedViewId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
1720
1731
|
connectedFeature: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
|
|
@@ -1731,12 +1742,12 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1731
1742
|
mafRegion: import("@jbrowse/mobx-state-tree").IType<MafRegion | undefined, MafRegion | undefined, MafRegion | undefined>;
|
|
1732
1743
|
embeddedMode: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
1733
1744
|
domainsOnGenome: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1734
|
-
}>, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & ({
|
|
1745
|
+
}>, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "cladesSeeded" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & ({
|
|
1735
1746
|
bgColor: boolean;
|
|
1736
1747
|
colorSchemeName: string;
|
|
1737
1748
|
customColorScheme: Record<string, string> | undefined;
|
|
1738
1749
|
showColumnStats: boolean;
|
|
1739
|
-
msaFormat: import("
|
|
1750
|
+
msaFormat: import("msa-parsers").MSAFormat | undefined;
|
|
1740
1751
|
drawLabels: boolean;
|
|
1741
1752
|
labelsAlignRight: boolean;
|
|
1742
1753
|
treeAreaWidth: number | undefined;
|
|
@@ -1851,6 +1862,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1851
1862
|
rotated: string[];
|
|
1852
1863
|
treeRoot: import("react-msaview").TreeRoot | undefined;
|
|
1853
1864
|
showOnly: string | undefined;
|
|
1865
|
+
cladesSeeded: boolean;
|
|
1854
1866
|
turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
|
|
1855
1867
|
trackHeights: import("mobx").IKeyValueMap<number>;
|
|
1856
1868
|
residueMappings: import("react-msaview").ResidueMapping[];
|
|
@@ -1875,7 +1887,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1875
1887
|
colorSchemeName: string;
|
|
1876
1888
|
customColorScheme: Record<string, string> | undefined;
|
|
1877
1889
|
showColumnStats: boolean;
|
|
1878
|
-
msaFormat: import("
|
|
1890
|
+
msaFormat: import("msa-parsers").MSAFormat | undefined;
|
|
1879
1891
|
drawLabels: boolean;
|
|
1880
1892
|
labelsAlignRight: boolean;
|
|
1881
1893
|
treeAreaWidth: number | undefined;
|
|
@@ -1990,6 +2002,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1990
2002
|
rotated: string[];
|
|
1991
2003
|
treeRoot: import("react-msaview").TreeRoot | undefined;
|
|
1992
2004
|
showOnly: string | undefined;
|
|
2005
|
+
cladesSeeded: boolean;
|
|
1993
2006
|
turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
|
|
1994
2007
|
trackHeights: import("mobx").IKeyValueMap<number>;
|
|
1995
2008
|
residueMappings: import("react-msaview").ResidueMapping[];
|
|
@@ -69,7 +69,7 @@ describe('what a reload would lose', () => {
|
|
|
69
69
|
});
|
|
70
70
|
test('a url-loaded alignment is not, but a large local GFF on it is', () => {
|
|
71
71
|
const model = view({ msaFilehandle: URL_MSA });
|
|
72
|
-
model.setMSA(BIG_MSA);
|
|
72
|
+
model.data.setMSA(BIG_MSA);
|
|
73
73
|
model.setGFF(BIG_GFF);
|
|
74
74
|
expect(model.unsavedDocuments).toEqual({
|
|
75
75
|
msa: undefined,
|
|
@@ -87,7 +87,7 @@ describe('what a reload would lose', () => {
|
|
|
87
87
|
});
|
|
88
88
|
test('a GFF read from a url is not', () => {
|
|
89
89
|
const model = view({ gffFilehandle: URL_GFF });
|
|
90
|
-
model.setGFF(BIG_GFF);
|
|
90
|
+
model.data.setGFF(BIG_GFF);
|
|
91
91
|
expect(model.unsavedDocuments.gff).toBeUndefined();
|
|
92
92
|
});
|
|
93
93
|
});
|
|
@@ -187,7 +187,7 @@ describe('a row two views name', () => {
|
|
|
187
187
|
await settle();
|
|
188
188
|
expect(copy.data.gff).toBe(BIG_GFF);
|
|
189
189
|
copy.setGFFFilehandle(URL_GFF);
|
|
190
|
-
copy.setGFF('a\t.\tdomain\t1\t2');
|
|
190
|
+
copy.data.setGFF('a\t.\tdomain\t1\t2');
|
|
191
191
|
await settle();
|
|
192
192
|
await settle();
|
|
193
193
|
expect(rows.get('shared')).toEqual({ gff: BIG_GFF });
|
|
@@ -246,7 +246,7 @@ describe('keeping IndexedDB up to date', () => {
|
|
|
246
246
|
});
|
|
247
247
|
test('a large local GFF on a url-loaded view is written, and only it', async () => {
|
|
248
248
|
const model = view({ msaFilehandle: URL_MSA });
|
|
249
|
-
model.setMSA(BIG_MSA);
|
|
249
|
+
model.data.setMSA(BIG_MSA);
|
|
250
250
|
model.setGFF(BIG_GFF);
|
|
251
251
|
await settle();
|
|
252
252
|
expect(mockStore).toHaveBeenCalledTimes(1);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=AboutDialog-
|
|
1
|
+
import{a as n}from"./chunk-FDAPTOY5.js";import{a as l}from"./chunk-YOLY6H5C.js";import{S as r,n as o,u as t}from"./chunk-EXFKF6XR.js";import{r as e}from"./chunk-TEYYBCMF.js";import"./chunk-KVMUXFPB.js";function i({onClose:a}){return e.createElement(l,{open:!0,title:"About",onClose:()=>{a()}},e.createElement(o,null,e.createElement(r,null,"MSAView ",n," (",e.createElement(t,{target:"_blank",rel:"noopener",href:"https://github.com/gmod/react-msaview"},"Github"),")"),e.createElement("ul",null,e.createElement("li",null,e.createElement(r,null,"We use some color schemes from the"," ",e.createElement(t,{target:"_blank",rel:"noopener",href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",e.createElement(t,{target:"_blank",rel:"noopener",href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),e.createElement("li",null,e.createElement(r,null,"See this page for some information on jalview colorings"," ",e.createElement(t,{target:"_blank",rel:"noopener",href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),e.createElement("li",null,e.createElement(r,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",e.createElement(t,{target:"_blank",rel:"noopener",href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),e.createElement("li",null,e.createElement(r,null,"See this paper about the flower color scheme"," ",e.createElement(t,{target:"_blank",rel:"noopener",href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}export{i as default};
|
|
2
|
+
//# sourceMappingURL=AboutDialog-CFANNPHL.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@10.0.0_4d87629ce60f4a70309a0d727f3e914b/node_modules/react-msaview/src/components/dialogs/AboutDialog.tsx"],
|
|
4
4
|
"sourcesContent": ["import React from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport { DialogContent, Link, Typography } from '@mui/material'\n\nimport { version } from '../../version.ts'\n\nexport default function AboutDialog({ onClose }: { onClose: () => void }) {\n return (\n <Dialog\n open\n title=\"About\"\n onClose={() => {\n onClose()\n }}\n >\n <DialogContent>\n <Typography>\n MSAView {version} (\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/gmod/react-msaview\"\n >\n Github\n </Link>\n )\n </Typography>\n\n <ul>\n <li>\n <Typography>\n We use some color schemes from the{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/biotite-dev/biotite\"\n >\n biotite\n </Link>{' '}\n project, and their license is reproduced{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this page for some information on jalview colorings{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://www.jalview.org/help/html/colourSchemes/\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this page for some info on the clustal, cinema, maeditor, and\n lesk color schemes{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"http://www.bioinformatics.nl/~berndb/aacolour.html\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this paper about the flower color scheme{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/\"\n >\n here\n </Link>\n </Typography>\n </li>\n </ul>\n </DialogContent>\n </Dialog>\n )\n}\n"],
|
|
5
5
|
"mappings": "0MAOc,SAAPA,EAA6B,CAAE,QAAAC,CAAO,EAA2B,CACtE,OACEC,EAAA,cAACC,EAAM,CACL,KAAI,GACJ,MAAM,QACN,QAAS,IAAK,CACZF,EAAO,CACT,CAAC,EAEDC,EAAA,cAACE,EAAa,KACZF,EAAA,cAACG,EAAU,gBACAC,OACTJ,EAAA,cAACK,EAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,uCAAuC,EAAA,QAAA,OAOhDL,EAAA,cAAA,KAAA,KACEA,EAAA,cAAA,KAAA,KACEA,EAAA,cAACG,EAAU,0CAC0B,IACnCH,EAAA,cAACK,EAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,wCAAwC,EAAA,SAAA,EAGvC,+CACiC,IACzCL,EAAA,cAACK,EAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,gEAAgE,EAAA,MAAA,CAGhE,CACI,EAEfL,EAAA,cAAA,KAAA,KACEA,EAAA,cAACG,EAAU,+DAC+C,IACxDH,EAAA,cAACK,EAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,kDAAkD,EAAA,MAAA,CAGlD,CACI,EAEfL,EAAA,cAAA,KAAA,KACEA,EAAA,cAACG,EAAU,4FAEU,IACnBH,EAAA,cAACK,EAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,oDAAoD,EAAA,MAAA,CAGpD,CACI,EAEfL,EAAA,cAAA,KAAA,KACEA,EAAA,cAACG,EAAU,oDACoC,IAC7CH,EAAA,cAACK,EAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,uDAAuD,EAAA,MAAA,CAGvD,CACI,CACV,CACF,CACS,CAGtB",
|
|
6
6
|
"names": ["AboutDialog", "onClose", "react_default", "Dialog", "DialogContent", "Typography", "version", "Link"]
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as b}from"./chunk-BABZZGON.js";import"./chunk-73KAPCJ2.js";import{a as h,b as v}from"./chunk-YOLY6H5C.js";import{a as g}from"./chunk-PFO3G4CM.js";import{D as u,E as w,N as T,S as a,g as c,m as y,n as F,q as x,r as m,u as C}from"./chunk-EXFKF6XR.js";import{p as l,r as e}from"./chunk-TEYYBCMF.js";import"./chunk-KVMUXFPB.js";var D="https://gmod.org/JBrowseMSA/tutorials/protein_family";async function S(o){let n=await fetch(o);if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${o} ${await n.text()}`);return n.text()}var G=g(function({handleClose:o,model:n}){let[r,k]=l(),[i,L]=l("file"),[s,O]=l(""),[f,p]=l(),[R,E]=l(!1);return e.createElement(h,{maxWidth:"xl",title:"Open annotation file",onClose:()=>{o()},open:!0},e.createElement(F,null,f?e.createElement(v,{error:f}):null,e.createElement(a,null,"Open a GFF3 file of annotations, such as the one `react-msaview-cli interpro` writes, or the JSON an InterProScan run returns."," ",e.createElement(C,{href:D,target:"_blank",rel:"noopener noreferrer"},"How to make one")),e.createElement("div",{style:{display:"flex",margin:30}},e.createElement(x,{component:"fieldset"},e.createElement(w,{value:i,onChange:t=>{L(t.target.value)}},e.createElement(m,{value:"url",control:e.createElement(u,null),label:"URL"}),e.createElement(m,{value:"file",control:e.createElement(u,null),label:"File"}))),i==="url"?e.createElement("div",null,e.createElement(a,null,"Open an annotation file from a URL"),e.createElement(T,{label:"URL",value:s,onChange:t=>{O(t.target.value)}})):e.createElement("div",{style:{paddingTop:20}},e.createElement(a,null,"Open an annotation file from your local drive"),e.createElement(c,{variant:"outlined",component:"label"},"Choose File",e.createElement("input",{type:"file",hidden:!0,onChange:({target:t})=>{let d=t.files?.[0];d&&k(d)}})),r?e.createElement(a,null,r.name):null))),e.createElement(y,null,e.createElement(c,{variant:"contained",color:"primary",disabled:R||(i==="file"?!r:!s.trim()),onClick:()=>{(async()=>{E(!0),p(void 0);try{let t=await(i==="file"&&r?r.text():S(s));n.setGFF(b(t)),n.setShowDomains(!0),n.setCellFill("domain"),o()}catch(t){console.error(t),p(t)}finally{E(!1)}})()}},"Open annotations"),e.createElement(c,{variant:"contained",color:"secondary",onClick:()=>{o()}},"Cancel")))}),J=G;export{J as default};
|
|
2
|
+
//# sourceMappingURL=AnnotationFileDialog-27HTSCJC.js.map
|
package/dist/chunks/{AnnotationFileDialog-TFIHQACD.js.map → AnnotationFileDialog-27HTSCJC.js.map}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
4
|
-
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog, ErrorMessage } from '@jbrowse/core/ui'\nimport {\n Button,\n DialogActions,\n DialogContent,\n FormControl,\n FormControlLabel,\n Link,\n Radio,\n RadioGroup,\n TextField,\n Typography,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\nimport { annotationTextToGFF } from 'msa-parsers'\n\nimport type { MsaViewModel } from '../../model.ts'\n\nconst domainsTutorial = 'https://gmod.org/JBrowseMSA/tutorials/protein_family'\n\nasync function fetchText(url: string) {\n const response = await fetch(url)\n if (!response.ok) {\n throw new Error(\n `HTTP ${response.status} fetching ${url} ${await response.text()}`,\n )\n }\n return response.text()\n}\n\nconst AnnotationFileDialog = observer(function ({\n handleClose,\n model,\n}: {\n handleClose: () => void\n model: MsaViewModel\n}) {\n const [file, setFile] = useState<File>()\n const [choice, setChoice] = useState('file')\n const [url, setUrl] = useState('')\n const [error, setError] = useState<unknown>()\n const [loading, setLoading] = useState(false)\n\n // the error is shown here rather than notified: the standalone app and the\n // MSAViewer component have no jbrowse session to notify, and asking one for\n // its notify() threw out of the success path into the catch, which threw\n // again on the same missing session\n return (\n <Dialog\n maxWidth=\"xl\"\n title=\"Open annotation file\"\n onClose={() => {\n handleClose()\n }}\n open\n >\n <DialogContent>\n {error ? <ErrorMessage error={error} /> : null}\n <Typography>\n Open a GFF3 file of annotations, such as the one `react-msaview-cli\n interpro` writes, or the JSON an InterProScan run returns.{' '}\n <Link\n href={domainsTutorial}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n How to make one\n </Link>\n </Typography>\n\n <div style={{ display: 'flex', margin: 30 }}>\n <FormControl component=\"fieldset\">\n <RadioGroup\n value={choice}\n onChange={event => {\n setChoice(event.target.value)\n }}\n >\n <FormControlLabel value=\"url\" control={<Radio />} label=\"URL\" />\n <FormControlLabel value=\"file\" control={<Radio />} label=\"File\" />\n </RadioGroup>\n </FormControl>\n {choice === 'url' ? (\n <div>\n <Typography>Open an annotation file from a URL</Typography>\n <TextField\n label=\"URL\"\n value={url}\n onChange={event => {\n setUrl(event.target.value)\n }}\n />\n </div>\n ) : (\n <div style={{ paddingTop: 20 }}>\n <Typography>\n Open an annotation file from your local drive\n </Typography>\n <Button variant=\"outlined\" component=\"label\">\n Choose File\n <input\n type=\"file\"\n hidden\n onChange={({ target }) => {\n const chosen = target.files?.[0]\n if (chosen) {\n setFile(chosen)\n }\n }}\n />\n </Button>\n {file ? <Typography>{file.name}</Typography> : null}\n </div>\n )}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || (choice === 'file' ? !file : !url.trim())}\n onClick={() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n setLoading(true)\n setError(undefined)\n try {\n const text = await (choice === 'file' && file\n ? file.text()\n : fetchText(url))\n // through the model's own GFF text, so the annotations travel\n // in the snapshot and the shared URL like every other layer
|
|
5
|
-
"mappings": "
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@10.0.0_4d87629ce60f4a70309a0d727f3e914b/node_modules/react-msaview/src/components/dialogs/AnnotationFileDialog.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog, ErrorMessage } from '@jbrowse/core/ui'\nimport {\n Button,\n DialogActions,\n DialogContent,\n FormControl,\n FormControlLabel,\n Link,\n Radio,\n RadioGroup,\n TextField,\n Typography,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\nimport { annotationTextToGFF } from 'msa-parsers'\n\nimport type { MsaViewModel } from '../../model.ts'\n\nconst domainsTutorial = 'https://gmod.org/JBrowseMSA/tutorials/protein_family'\n\nasync function fetchText(url: string) {\n const response = await fetch(url)\n if (!response.ok) {\n throw new Error(\n `HTTP ${response.status} fetching ${url} ${await response.text()}`,\n )\n }\n return response.text()\n}\n\nconst AnnotationFileDialog = observer(function ({\n handleClose,\n model,\n}: {\n handleClose: () => void\n model: MsaViewModel\n}) {\n const [file, setFile] = useState<File>()\n const [choice, setChoice] = useState('file')\n const [url, setUrl] = useState('')\n const [error, setError] = useState<unknown>()\n const [loading, setLoading] = useState(false)\n\n // the error is shown here rather than notified: the standalone app and the\n // MSAViewer component have no jbrowse session to notify, and asking one for\n // its notify() threw out of the success path into the catch, which threw\n // again on the same missing session\n return (\n <Dialog\n maxWidth=\"xl\"\n title=\"Open annotation file\"\n onClose={() => {\n handleClose()\n }}\n open\n >\n <DialogContent>\n {error ? <ErrorMessage error={error} /> : null}\n <Typography>\n Open a GFF3 file of annotations, such as the one `react-msaview-cli\n interpro` writes, or the JSON an InterProScan run returns.{' '}\n <Link\n href={domainsTutorial}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n How to make one\n </Link>\n </Typography>\n\n <div style={{ display: 'flex', margin: 30 }}>\n <FormControl component=\"fieldset\">\n <RadioGroup\n value={choice}\n onChange={event => {\n setChoice(event.target.value)\n }}\n >\n <FormControlLabel value=\"url\" control={<Radio />} label=\"URL\" />\n <FormControlLabel value=\"file\" control={<Radio />} label=\"File\" />\n </RadioGroup>\n </FormControl>\n {choice === 'url' ? (\n <div>\n <Typography>Open an annotation file from a URL</Typography>\n <TextField\n label=\"URL\"\n value={url}\n onChange={event => {\n setUrl(event.target.value)\n }}\n />\n </div>\n ) : (\n <div style={{ paddingTop: 20 }}>\n <Typography>\n Open an annotation file from your local drive\n </Typography>\n <Button variant=\"outlined\" component=\"label\">\n Choose File\n <input\n type=\"file\"\n hidden\n onChange={({ target }) => {\n const chosen = target.files?.[0]\n if (chosen) {\n setFile(chosen)\n }\n }}\n />\n </Button>\n {file ? <Typography>{file.name}</Typography> : null}\n </div>\n )}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || (choice === 'file' ? !file : !url.trim())}\n onClick={() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n setLoading(true)\n setError(undefined)\n try {\n const text = await (choice === 'file' && file\n ? file.text()\n : fetchText(url))\n // through the model's own GFF text, so the annotations travel\n // in the snapshot and the shared URL like every other layer\n model.setGFF(annotationTextToGFF(text))\n model.setShowDomains(true)\n model.setCellFill('domain')\n handleClose()\n } catch (e) {\n console.error(e)\n setError(e)\n } finally {\n setLoading(false)\n }\n })()\n }}\n >\n Open annotations\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n handleClose()\n }}\n >\n Cancel\n </Button>\n </DialogActions>\n </Dialog>\n )\n})\n\nexport default AnnotationFileDialog\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["domainsTutorial", "fetchText", "url", "response", "AnnotationFileDialog", "observer", "handleClose", "model", "file", "setFile", "useState", "choice", "setChoice", "setUrl", "error", "setError", "loading", "setLoading", "react_default", "Dialog", "DialogContent", "ErrorMessage", "Typography", "Link", "FormControl", "RadioGroup", "event", "FormControlLabel", "Radio", "TextField", "Button", "target", "chosen", "DialogActions", "text", "annotationTextToGFF", "e", "AnnotationFileDialog_default"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as E}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=ExportSVGDialog-
|
|
1
|
+
import{a as E}from"./chunk-LGW6EKNG.js";import{aa as L,ba as D}from"./chunk-7FQ6JH7S.js";import{a as k,b as C}from"./chunk-YOLY6H5C.js";import{a as y}from"./chunk-PFO3G4CM.js";import{D as p,E as F,S as G,T as I,d as T,g as m,j as b,m as w,n as M,q as S,r as u,s as A}from"./chunk-EXFKF6XR.js";import{p as r,r as e}from"./chunk-TEYYBCMF.js";import"./chunk-KVMUXFPB.js";function H(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}var J=y(function({model:t,onClose:l}){let[i,V]=r(!0),[n,z]=r(!0),[o,P]=r("viewport"),[h,R]=r(),[c,d]=r(!1),g=I(),{turnedOnTracks:q,numColumns:B,leaves:O,showMsaLetters:_}=t,x=q.length>0,f=D(t,L(t,{theme:g,exportType:"entire",includeTracks:n})),v=_&&o==="entire"?B*O.length:0,j=v>1e5;return e.createElement(k,{onClose:()=>{l()},open:!0,title:"Export SVG"},e.createElement(M,null,h?e.createElement(C,{error:h}):null,e.createElement(G,null,"Settings:"),e.createElement(E,{label:"Include minimap?",disabled:o==="entire",checked:i,onChange:()=>{V(!i)}}),x?e.createElement(E,{label:"Include tracks?",checked:n,onChange:()=>{z(!n)}}):null,e.createElement("div",null,e.createElement(S,null,e.createElement(A,null,"Export type"),e.createElement(F,{value:o,onChange:a=>{let{value:s}=a.target;(s==="entire"||s==="viewport")&&P(s)}},e.createElement(u,{value:"entire",control:e.createElement(p,null),label:"Entire MSA"}),e.createElement(u,{value:"viewport",control:e.createElement(p,null),label:"Current viewport only"})))),j?e.createElement(T,{severity:"warning",style:{marginTop:8}},"The entire MSA is ",Math.round(f.width),"x",Math.round(f.height)," pixels and draws"," ",Math.round(v/1e3),"k residue letters, each its own SVG element. Export may be slow or fail \u2014 zooming out far enough to hide the letters exports the same alignment as an image instead."):null),e.createElement(w,null,e.createElement(m,{variant:"contained",color:"primary",disabled:c,startIcon:c?e.createElement(b,{size:16,color:"inherit"}):null,onClick:()=>{d(!0),H(()=>{t.exportSVG({theme:g,includeMinimap:i,includeTracks:x&&n,exportType:o}).then(()=>{l()}).catch(a=>{console.error(a),R(a)}).finally(()=>{d(!1)})})}},c?"Exporting\u2026":"Export"),e.createElement(m,{variant:"contained",color:"secondary",onClick:()=>{l()}},"Cancel")))}),Y=J;export{Y as default};
|
|
2
|
+
//# sourceMappingURL=ExportSVGDialog-P4ICAFJQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@10.0.0_4d87629ce60f4a70309a0d727f3e914b/node_modules/react-msaview/src/components/dialogs/ExportSVGDialog.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog, ErrorMessage } from '@jbrowse/core/ui'\nimport {\n Alert,\n Button,\n CircularProgress,\n DialogActions,\n DialogContent,\n FormControl,\n FormControlLabel,\n FormLabel,\n Radio,\n RadioGroup,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport { exportPageSize, getLayout } from '../../exportLayout.ts'\nimport Checkbox2 from '../Checkbox2.tsx'\n\nimport type { MsaViewModel } from '../../model.ts'\n\n// Run after the browser has painted. A requestAnimationFrame callback still\n// runs *before* the frame it was queued for, so one alone hands the main thread\n// to the render with the spinner not yet on screen; the second fires once that\n// frame is out.\nfunction afterPaint(fn: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn)\n })\n}\n\nconst ExportSVGDialog = observer(function ({\n model,\n onClose,\n}: {\n model: MsaViewModel\n onClose: () => void\n}) {\n const [includeMinimap, setIncludeMinimap] = useState(true)\n const [includeTracks, setIncludeTracks] = useState(true)\n const [exportType, setExportType] = useState<'entire' | 'viewport'>(\n 'viewport',\n )\n const [error, setError] = useState<unknown>()\n const [exporting, setExporting] = useState(false)\n const theme = useTheme()\n const { turnedOnTracks, numColumns, leaves, showMsaLetters } = model\n const hasTracks = turnedOnTracks.length > 0\n const entire = exportPageSize(\n model,\n getLayout(model, { theme, exportType: 'entire', includeTracks }),\n )\n // the background is one raster image whatever its size, so what the figure\n // actually costs is its residue letters: each is an svg element of its own.\n // Past roughly this many the export runs to tens of seconds and can exhaust\n // the tab's memory outright\n const glyphs =\n showMsaLetters && exportType === 'entire' ? numColumns * leaves.length : 0\n const isLargeExport = glyphs > 100_000\n return (\n <Dialog\n onClose={() => {\n onClose()\n }}\n open\n title=\"Export SVG\"\n >\n <DialogContent>\n {error ? <ErrorMessage error={error} /> : null}\n <Typography>Settings:</Typography>\n <Checkbox2\n label=\"Include minimap?\"\n disabled={exportType === 'entire'}\n checked={includeMinimap}\n onChange={() => {\n setIncludeMinimap(!includeMinimap)\n }}\n />\n {hasTracks ? (\n <Checkbox2\n label=\"Include tracks?\"\n checked={includeTracks}\n onChange={() => {\n setIncludeTracks(!includeTracks)\n }}\n />\n ) : null}\n <div>\n <FormControl>\n <FormLabel>Export type</FormLabel>\n <RadioGroup\n value={exportType}\n onChange={event => {\n const { value } = event.target\n if (value === 'entire' || value === 'viewport') {\n setExportType(value)\n }\n }}\n >\n <FormControlLabel\n value=\"entire\"\n control={<Radio />}\n label=\"Entire MSA\"\n />\n <FormControlLabel\n value=\"viewport\"\n control={<Radio />}\n label=\"Current viewport only\"\n />\n </RadioGroup>\n </FormControl>\n </div>\n {isLargeExport ? (\n <Alert severity=\"warning\" style={{ marginTop: 8 }}>\n The entire MSA is {Math.round(entire.width)}x\n {Math.round(entire.height)} pixels and draws{' '}\n {Math.round(glyphs / 1000)}k residue letters, each its own SVG\n element. Export may be slow or fail \u2014 zooming out far enough to hide\n the letters exports the same alignment as an image instead.\n </Alert>\n ) : null}\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n // rendering runs on the main thread and a large figure holds it for\n // seconds; without this the button stays live through the freeze and\n // a second click starts a second export\n disabled={exporting}\n startIcon={\n exporting ? <CircularProgress size={16} color=\"inherit\" /> : null\n }\n onClick={() => {\n setExporting(true)\n afterPaint(() => {\n void model\n .exportSVG({\n theme,\n includeMinimap,\n includeTracks: hasTracks && includeTracks,\n exportType,\n })\n .then(() => {\n onClose()\n })\n .catch((e: unknown) => {\n console.error(e)\n setError(e)\n })\n .finally(() => {\n setExporting(false)\n })\n })\n }}\n >\n {exporting ? 'Exporting\u2026' : 'Export'}\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n onClose()\n }}\n >\n Cancel\n </Button>\n </DialogActions>\n </Dialog>\n )\n})\n\nexport default ExportSVGDialog\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["afterPaint", "fn", "ExportSVGDialog", "observer", "model", "onClose", "includeMinimap", "setIncludeMinimap", "useState", "includeTracks", "setIncludeTracks", "exportType", "setExportType", "error", "setError", "exporting", "setExporting", "theme", "useTheme", "turnedOnTracks", "numColumns", "leaves", "showMsaLetters", "hasTracks", "entire", "exportPageSize", "getLayout", "glyphs", "isLargeExport", "react_default", "Dialog", "DialogContent", "ErrorMessage", "Typography", "Checkbox2", "FormControl", "FormLabel", "RadioGroup", "event", "value", "FormControlLabel", "Radio", "Alert", "DialogActions", "Button", "CircularProgress", "e", "ExportSVGDialog_default"]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{a as b}from"./chunk-YOLY6H5C.js";import{a as c}from"./chunk-PFO3G4CM.js";import{H as k,I as F,J as n,K as w,L as E,N as x,g as f,h as T,n as C}from"./chunk-EXFKF6XR.js";import{p as h,r as e}from"./chunk-TEYYBCMF.js";import"./chunk-KVMUXFPB.js";function D(l,a){return[l.accession,l.name,l.description].some(o=>o?.toLowerCase().includes(a))}var z=c(function({model:l,accessions:a}){let o=s=>{for(let m of a)l.setFilter(m,s)};return e.createElement("div",null,e.createElement(f,{onClick:()=>{o(!0)}},"Toggle all on"),e.createElement(f,{onClick:()=>{o(!1)}},"Toggle all off"))}),B=c(function({model:l}){let{annotationTypes:a,annotations:o,featureColors:s,fillPalette:m}=l,[g,v]=h(""),d=g.trim().toLowerCase(),p=[...a.values()].filter(t=>!d||D(t,d)),u=new Map,i=new Map;for(let t of o){let{accession:r}=t;u.set(r,(u.get(r)??0)+1),i.has(r)||i.set(r,s.get(t)?.fill??m[r])}return e.createElement(e.Fragment,null,e.createElement(x,{label:"Filter",size:"small",value:g,onChange:t=>{v(t.target.value)}}),e.createElement(z,{model:l,accessions:p.map(t=>t.accession)}),e.createElement(k,{size:"small"},e.createElement(w,null,e.createElement(E,null,e.createElement(n,{padding:"checkbox"}),e.createElement(n,null,"color"),e.createElement(n,null,"accession"),e.createElement(n,null,"name"),e.createElement(n,null,"count"),e.createElement(n,null,"description"))),e.createElement(F,null,p.map(({accession:t,name:r,description:y})=>e.createElement(E,{key:t},e.createElement(n,{padding:"checkbox"},e.createElement(T,{checked:!l.featureOff(t),onChange:()=>{l.setFilter(t,l.featureOff(t))}})),e.createElement(n,null,e.createElement("div",{style:{width:20,height:20,background:i.get(t)}})),e.createElement(n,null,t),e.createElement(n,null,r),e.createElement(n,null,u.get(t)),e.createElement(n,null,y))))))}),L=c(function({onClose:l,model:a}){return e.createElement(b,{onClose:()=>{l()},open:!0,title:"Feature filters",maxWidth:"xl"},e.createElement(C,null,e.createElement(B,{model:a})))}),A=L;export{A as default};
|
|
2
|
-
//# sourceMappingURL=FeatureDialog-
|
|
2
|
+
//# sourceMappingURL=FeatureDialog-Z5SUYFEB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@10.0.0_4d87629ce60f4a70309a0d727f3e914b/node_modules/react-msaview/src/components/dialogs/FeatureDialog.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport {\n Button,\n Checkbox,\n DialogContent,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TextField,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport type { MsaViewModel } from '../../model.ts'\nimport type { Annotation } from '../../types.ts'\n\nfunction matches(type: Annotation, query: string) {\n return [type.accession, type.name, type.description].some(field =>\n field?.toLowerCase().includes(query),\n )\n}\n\nconst Toggles = observer(function ({\n model,\n accessions,\n}: {\n model: MsaViewModel\n accessions: string[]\n}) {\n const setAll = (shown: boolean) => {\n for (const accession of accessions) {\n model.setFilter(accession, shown)\n }\n }\n return (\n <div>\n <Button\n onClick={() => {\n setAll(true)\n }}\n >\n Toggle all on\n </Button>\n\n <Button\n onClick={() => {\n setAll(false)\n }}\n >\n Toggle all off\n </Button>\n </div>\n )\n})\n\nconst FeatureTable = observer(function ({ model }: { model: MsaViewModel }) {\n const { annotationTypes, annotations, featureColors, fillPalette } = model\n const [query, setQuery] = useState('')\n const needle = query.trim().toLowerCase()\n const types = [...annotationTypes.values()].filter(\n type => !needle || matches(type, needle),\n )\n const counts = new Map<string, number>()\n const swatches = new Map<string, string>()\n for (const annot of annotations) {\n const { accession } = annot\n counts.set(accession, (counts.get(accession) ?? 0) + 1)\n if (!swatches.has(accession)) {\n swatches.set(\n accession,\n featureColors.get(annot)?.fill ?? fillPalette[accession]!,\n )\n }\n }\n return (\n <>\n <TextField\n label=\"Filter\"\n size=\"small\"\n value={query}\n onChange={event => {\n setQuery(event.target.value)\n }}\n />\n <Toggles model={model} accessions={types.map(t => t.accession)} />\n <Table size=\"small\">\n <TableHead>\n <TableRow>\n <TableCell padding=\"checkbox\" />\n <TableCell>color</TableCell>\n <TableCell>accession</TableCell>\n <TableCell>name</TableCell>\n <TableCell>count</TableCell>\n <TableCell>description</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {types.map(({ accession, name, description }) => (\n <TableRow key={accession}>\n <TableCell padding=\"checkbox\">\n <Checkbox\n checked={!model.featureOff(accession)}\n onChange={() => {\n model.setFilter(accession, model.featureOff(accession))\n }}\n />\n </TableCell>\n <TableCell>\n <div\n style={{\n width: 20,\n height: 20,\n background: swatches.get(accession),\n }}\n />\n </TableCell>\n <TableCell>{accession}</TableCell>\n <TableCell>{name}</TableCell>\n <TableCell>{counts.get(accession)}</TableCell>\n <TableCell>{description}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </>\n )\n})\n\nconst FeatureTypeDialog = observer(function ({\n onClose,\n model,\n}: {\n onClose: () => void\n model: MsaViewModel\n}) {\n return (\n <Dialog\n onClose={() => {\n onClose()\n }}\n open\n title=\"Feature filters\"\n maxWidth=\"xl\"\n >\n <DialogContent>\n <FeatureTable model={model} />\n </DialogContent>\n </Dialog>\n )\n})\n\nexport default FeatureTypeDialog\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["matches", "type", "query", "field", "Toggles", "observer", "model", "accessions", "setAll", "shown", "accession", "react_default", "Button", "FeatureTable", "annotationTypes", "annotations", "featureColors", "fillPalette", "setQuery", "useState", "needle", "types", "counts", "swatches", "annot", "TextField", "event", "Table", "TableHead", "TableRow", "TableCell", "TableBody", "name", "description", "Checkbox", "FeatureTypeDialog", "onClose", "Dialog", "DialogContent", "FeatureDialog_default"]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{a as p}from"./chunk-YOLY6H5C.js";import{a}from"./chunk-PFO3G4CM.js";import{F as u,S as r,g as m,m as c,n as d}from"./chunk-EXFKF6XR.js";import{p as s,r as e}from"./chunk-TEYYBCMF.js";import"./chunk-KVMUXFPB.js";var f=a(function({model:t}){let[h,l]=s(),i=h??t.allowedGappyness;return e.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},e.createElement(r,{style:{whiteSpace:"nowrap"}},"\u2265",i,"% gaps"),e.createElement(u,{"data-testid":"gappyness_slider",style:{width:200,marginInline:10},min:1,max:100,value:i,onChange:(y,n)=>{l(n)},onChangeCommitted:(y,n)=>{t.setAllowedGappyness(n),l(void 0)}}))}),g=f;var E=a(function({model:o,onClose:t}){return e.createElement(p,{open:!0,onClose:t,title:"Hide gappy columns"},e.createElement(d,null,e.createElement(r,{variant:"body2",sx:{mb:2}},"The viewer hides each column where at least this share of the rows has a gap."),e.createElement(g,{model:o})),e.createElement(c,null,e.createElement(m,{variant:"contained",onClick:t},"Close")))}),_=E;export{_ as default};
|
|
2
|
-
//# sourceMappingURL=GapThresholdDialog-
|
|
2
|
+
//# sourceMappingURL=GapThresholdDialog-B5NC7QTB.js.map
|
package/dist/chunks/{GapThresholdDialog-MNNNXRMM.js.map → GapThresholdDialog-B5NC7QTB.js.map}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@10.0.0_4d87629ce60f4a70309a0d727f3e914b/node_modules/react-msaview/src/components/dialogs/GappynessSlider.tsx", "../../node_modules/.pnpm/react-msaview@10.0.0_4d87629ce60f4a70309a0d727f3e914b/node_modules/react-msaview/src/components/dialogs/GapThresholdDialog.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Slider, Typography } from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport type { MsaViewModel } from '../../model.ts'\n\nconst GappynessSlider = observer(function GappynessSlider({\n model,\n}: {\n model: MsaViewModel\n}) {\n const [dragValue, setDragValue] = useState<number>()\n const value = dragValue ?? model.allowedGappyness\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>\n {/* the threshold is inclusive: blanks are columns whose gap count is at\n least ceil(allowedGappyness% of the rows), so at 100 it hides the\n columns that are entirely gaps rather than nothing */}\n <Typography style={{ whiteSpace: 'nowrap' }}>\n ≥{value}% gaps\n </Typography>\n <Slider\n // In JBrowse other MUI Sliders share the page, so `.MuiSlider-thumb`\n // can match the wrong one. Tests and screenshot specs target\n // `[data-testid=\"gappyness_slider\"] input`, the hidden range input that\n // takes focus and arrow/PageUp/PageDown.\n //\n // Not `slotProps={{ input: ... }}`: that widens `onChange`'s `val` to\n // `number | number[]`, which setAllowedGappyness rejects.\n //\n // The thumb follows local state while dragging and the model takes the\n // value on release, since each write recomputes the gap columns over\n // the whole alignment.\n data-testid=\"gappyness_slider\"\n style={{ width: 200, marginInline: 10 }}\n min={1}\n max={100}\n value={value}\n onChange={(_, val) => {\n setDragValue(val)\n }}\n onChangeCommitted={(_, val) => {\n model.setAllowedGappyness(val)\n setDragValue(undefined)\n }}\n />\n </div>\n )\n})\n\nexport default GappynessSlider\n", "import React from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport { Button, DialogActions, DialogContent, Typography } from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport GappynessSlider from './GappynessSlider.tsx'\n\nimport type { MsaViewModel } from '../../model.ts'\n\nconst GapThresholdDialog = observer(function ({\n model,\n onClose,\n}: {\n model: MsaViewModel\n onClose: () => void\n}) {\n return (\n <Dialog open onClose={onClose} title=\"Hide gappy columns\">\n <DialogContent>\n <Typography variant=\"body2\" sx={{ mb: 2 }}>\n The viewer hides each column where at least this share of the rows has\n a gap.\n </Typography>\n <GappynessSlider model={model} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={onClose}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n})\n\nexport default GapThresholdDialog\n"],
|
|
5
5
|
"mappings": "0NAOA,IAAMA,EAAkBC,EAAS,SAAyB,CACxD,MAAAC,CAAK,EAGN,CACC,GAAM,CAACC,EAAWC,CAAY,EAAIC,EAAQ,EACpCC,EAAQH,GAAaD,EAAM,iBACjC,OACEK,EAAA,cAAA,MAAA,CAAK,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,CAAC,CAAE,EAI3DA,EAAA,cAACC,EAAU,CAAC,MAAO,CAAE,WAAY,QAAQ,CAAE,WACpCF,YAEPC,EAAA,cAACE,iBAYa,mBACZ,MAAO,CAAE,MAAO,IAAK,aAAc,EAAE,EACrC,IAAK,EACL,IAAK,IACL,MAAOH,EACP,SAAU,CAACI,EAAGC,IAAO,CACnBP,EAAaO,CAAG,CAClB,EACA,kBAAmB,CAACD,EAAGC,IAAO,CAC5BT,EAAM,oBAAoBS,CAAG,EAC7BP,EAAa,MAAS,CACxB,CAAC,CAAA,CACD,CAGR,CAAC,EAEDQ,EAAeZ,ECzCf,IAAMa,EAAqBC,EAAS,SAAU,CAC5C,MAAAC,EACA,QAAAC,CAAO,EAIR,CACC,OACEC,EAAA,cAACC,EAAM,CAAC,KAAI,GAAC,QAASF,EAAS,MAAM,oBAAoB,EACvDC,EAAA,cAACE,EAAa,KACZF,EAAA,cAACG,EAAU,CAAC,QAAQ,QAAQ,GAAI,CAAE,GAAI,CAAC,CAAE,EAAA,+EAAA,EAIzCH,EAAA,cAACI,EAAe,CAAC,MAAON,CAAK,CAAA,CAAI,EAEnCE,EAAA,cAACK,EAAa,KACZL,EAAA,cAACM,EAAM,CAAC,QAAQ,YAAY,QAASP,CAAO,EAAA,OAAA,CAEnC,CACK,CAGtB,CAAC,EAEDQ,EAAeX",
|
|
6
6
|
"names": ["GappynessSlider", "observer", "model", "dragValue", "setDragValue", "useState", "value", "react_default", "Typography", "Slider", "_", "val", "GappynessSlider_default", "GapThresholdDialog", "observer", "model", "onClose", "react_default", "Dialog", "DialogContent", "Typography", "GappynessSlider_default", "DialogActions", "Button", "GapThresholdDialog_default"]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=GoToDialog-
|
|
1
|
+
import{b as l}from"./chunk-E3VABHAF.js";import{a as e}from"./chunk-YOLY6H5C.js";import"./chunk-PFO3G4CM.js";import{n as r}from"./chunk-EXFKF6XR.js";import{r as o}from"./chunk-TEYYBCMF.js";import"./chunk-KVMUXFPB.js";function n({model:m,onClose:t}){return o.createElement(e,{open:!0,onClose:t,title:"Go to row or column",maxWidth:"xs",fullWidth:!0},o.createElement(r,null,o.createElement(l,{model:m,onFound:t})))}export{n as default};
|
|
2
|
+
//# sourceMappingURL=GoToDialog-WWXYDZPR.js.map
|