react-msaview 4.8.1 → 5.0.3
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/README.md +9 -2
- package/bundle/index.js +87 -187
- package/bundle/index.js.LICENSE.txt +0 -83
- package/bundle/index.js.map +1 -1
- package/dist/colorSchemes.js +1 -1
- package/dist/colorSchemes.js.map +1 -1
- package/dist/components/ConservationTrack.d.ts +2 -2
- package/dist/components/ConservationTrack.js +1 -2
- package/dist/components/ConservationTrack.js.map +1 -1
- package/dist/components/Loading.d.ts +1 -1
- package/dist/components/Loading.js +2 -2
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.d.ts +1 -1
- package/dist/components/MSAView.js +8 -8
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/ResizeHandles.d.ts +1 -1
- package/dist/components/SequenceTextArea.js +2 -2
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/TextTrack.d.ts +2 -2
- package/dist/components/TextTrack.js +1 -1
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.d.ts +1 -1
- package/dist/components/Track.js +1 -1
- package/dist/components/Track.js.map +1 -1
- package/dist/components/VerticalScrollbar.d.ts +1 -1
- package/dist/components/dialogs/AboutDialog.js +1 -1
- package/dist/components/dialogs/AboutDialog.js.map +1 -1
- package/dist/components/dialogs/AddTrackDialog.d.ts +1 -1
- package/dist/components/dialogs/DomainDialog.d.ts +1 -1
- package/dist/components/dialogs/DomainDialog.js +3 -3
- package/dist/components/dialogs/DomainDialog.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.d.ts +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/dialogs/FeatureDialog.d.ts +1 -1
- package/dist/components/dialogs/FeatureDialog.js +1 -1
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/dialogs/InterProScanDialog.d.ts +1 -1
- package/dist/components/dialogs/InterProScanDialog.js +1 -1
- package/dist/components/dialogs/InterProScanDialog.js.map +1 -1
- package/dist/components/dialogs/MetadataDialog.d.ts +1 -1
- package/dist/components/dialogs/MetadataDialog.js +1 -1
- package/dist/components/dialogs/MetadataDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts +1 -1
- package/dist/components/dialogs/SettingsDialog.js +2 -2
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js.map +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.d.ts +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.js +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -1
- package/dist/components/header/GappynessSlider.d.ts +1 -1
- package/dist/components/header/Header.d.ts +1 -1
- package/dist/components/header/Header.js +10 -10
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderInfoArea.d.ts +1 -1
- package/dist/components/header/HeaderMenu.d.ts +1 -1
- package/dist/components/header/HeaderMenu.js +6 -6
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/HeaderStatusArea.d.ts +1 -1
- package/dist/components/header/MultiAlignmentSelector.d.ts +1 -1
- package/dist/components/header/SettingsMenu.d.ts +1 -1
- package/dist/components/header/SettingsMenu.js +1 -1
- package/dist/components/header/SettingsMenu.js.map +1 -1
- package/dist/components/header/ZoomControls.d.ts +1 -1
- package/dist/components/header/ZoomMenu.d.ts +1 -1
- package/dist/components/header/ZoomStar.d.ts +1 -1
- package/dist/components/import/ImportForm.d.ts +1 -1
- package/dist/components/import/ImportForm.js +2 -2
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/import/ImportFormExamples.d.ts +1 -1
- package/dist/components/import/ImportFormExamples.js +2 -2
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/import/util.d.ts +1 -1
- package/dist/components/minimap/Minimap.d.ts +1 -1
- package/dist/components/minimap/MinimapSVG.d.ts +1 -1
- package/dist/components/msa/MSACanvas.d.ts +1 -1
- package/dist/components/msa/MSACanvas.js +2 -2
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.d.ts +1 -1
- package/dist/components/msa/MSACanvasBlock.js +3 -3
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.d.ts +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js +2 -2
- package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
- package/dist/components/msa/MSAPanel.d.ts +1 -1
- package/dist/components/msa/MSAPanel.js +2 -2
- package/dist/components/msa/MSAPanel.js.map +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +1 -1
- package/dist/components/msa/renderMSAMouseover.d.ts +1 -1
- package/dist/components/tracks/renderTracksSvg.d.ts +2 -2
- package/dist/components/tree/TreeBranchMenu.d.ts +1 -1
- package/dist/components/tree/TreeCanvas.d.ts +1 -1
- package/dist/components/tree/TreeCanvas.js +3 -3
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.d.ts +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +3 -3
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.d.ts +1 -1
- package/dist/components/tree/TreeNodeMenu.js +1 -1
- package/dist/components/tree/TreeNodeMenu.js.map +1 -1
- package/dist/components/tree/TreePanel.d.ts +1 -1
- package/dist/components/tree/TreePanel.js +1 -1
- package/dist/components/tree/TreePanel.js.map +1 -1
- package/dist/components/tree/TreeRuler.d.ts +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.d.ts +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +1 -1
- package/dist/createPaletteMap.d.ts +7 -0
- package/dist/createPaletteMap.js +11 -0
- package/dist/createPaletteMap.js.map +1 -0
- package/dist/createPaletteMap.test.d.ts +1 -0
- package/dist/createPaletteMap.test.js +49 -0
- package/dist/createPaletteMap.test.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/launchInterProScan.d.ts +1 -1
- package/dist/launchInterProScan.js +1 -1
- package/dist/launchInterProScan.js.map +1 -1
- package/dist/model/DataModel.d.ts +5 -5
- package/dist/model/DataModel.js +1 -1
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model/DialogQueue.d.ts +2 -2
- package/dist/model/DialogQueue.js +1 -1
- package/dist/model/DialogQueue.js.map +1 -1
- package/dist/model/msaModel.d.ts +4 -4
- package/dist/model/msaModel.js +2 -2
- package/dist/model/msaModel.js.map +1 -1
- package/dist/model/treeModel.d.ts +10 -10
- package/dist/model/treeModel.js +2 -2
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +524 -420
- package/dist/model.js +63 -40
- package/dist/model.js.map +1 -1
- package/dist/neighborJoining.test.js +1 -1
- package/dist/neighborJoining.test.js.map +1 -1
- package/dist/parseAsn1.test.js +1 -1
- package/dist/parseAsn1.test.js.map +1 -1
- package/dist/renderToSvg.d.ts +1 -1
- package/dist/renderToSvg.js +10 -10
- package/dist/renderToSvg.js.map +1 -1
- package/dist/reparseTree.d.ts +1 -1
- package/dist/rowCoordinateCalculations.js +1 -1
- package/dist/rowCoordinateCalculations.js.map +1 -1
- package/dist/rowCoordinateCalculations.test.js +1 -1
- package/dist/rowCoordinateCalculations.test.js.map +1 -1
- package/dist/seqPosToGlobalCol.js +1 -1
- package/dist/seqPosToGlobalCol.js.map +1 -1
- package/dist/seqPosToGlobalCol.test.js +1 -1
- package/dist/seqPosToGlobalCol.test.js.map +1 -1
- package/dist/util.d.ts +1 -1
- package/dist/vendor/copyToClipboard.d.ts +10 -0
- package/dist/vendor/copyToClipboard.js +113 -0
- package/dist/vendor/copyToClipboard.js.map +1 -0
- package/dist/vendor/fileSaver.d.ts +11 -0
- package/dist/vendor/fileSaver.js +80 -0
- package/dist/vendor/fileSaver.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/webpack.d.ts +2 -2
- package/dist/webpack.js +2 -2
- package/dist/webpack.js.map +1 -1
- package/package.json +26 -23
- package/src/colorSchemes.ts +1 -1
- package/src/components/ConservationTrack.tsx +3 -4
- package/src/components/Loading.tsx +3 -3
- package/src/components/MSAView.tsx +12 -9
- package/src/components/ResizeHandles.tsx +1 -1
- package/src/components/SequenceTextArea.tsx +2 -2
- package/src/components/TextTrack.tsx +3 -3
- package/src/components/Track.tsx +2 -2
- package/src/components/VerticalScrollbar.tsx +1 -1
- package/src/components/dialogs/AboutDialog.tsx +1 -1
- package/src/components/dialogs/AddTrackDialog.tsx +1 -1
- package/src/components/dialogs/DomainDialog.tsx +4 -4
- package/src/components/dialogs/ExportSVGDialog.tsx +2 -2
- package/src/components/dialogs/FeatureDialog.tsx +2 -2
- package/src/components/dialogs/InterProScanDialog.tsx +2 -2
- package/src/components/dialogs/MetadataDialog.tsx +2 -2
- package/src/components/dialogs/SettingsDialog.tsx +3 -3
- package/src/components/dialogs/TrackInfoDialog.tsx +2 -1
- package/src/components/dialogs/UserProvidedDomainsDialog.tsx +3 -3
- package/src/components/header/GappynessSlider.tsx +1 -1
- package/src/components/header/Header.tsx +11 -11
- package/src/components/header/HeaderInfoArea.tsx +1 -1
- package/src/components/header/HeaderMenu.tsx +9 -7
- package/src/components/header/HeaderStatusArea.tsx +1 -1
- package/src/components/header/MultiAlignmentSelector.tsx +1 -1
- package/src/components/header/SettingsMenu.tsx +2 -2
- package/src/components/header/ZoomControls.tsx +1 -1
- package/src/components/header/ZoomMenu.tsx +1 -1
- package/src/components/header/ZoomStar.tsx +1 -1
- package/src/components/import/ImportForm.tsx +3 -3
- package/src/components/import/ImportFormExamples.tsx +3 -3
- package/src/components/import/util.ts +1 -1
- package/src/components/minimap/Minimap.tsx +1 -1
- package/src/components/minimap/MinimapSVG.tsx +1 -1
- package/src/components/msa/MSACanvas.tsx +3 -3
- package/src/components/msa/MSACanvasBlock.tsx +4 -4
- package/src/components/msa/MSAMouseoverCanvas.tsx +3 -3
- package/src/components/msa/MSAPanel.tsx +3 -3
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +2 -2
- package/src/components/msa/renderMSABlock.ts +2 -2
- package/src/components/msa/renderMSAMouseover.ts +1 -1
- package/src/components/tracks/renderTracksSvg.ts +2 -2
- package/src/components/tree/TreeBranchMenu.tsx +1 -1
- package/src/components/tree/TreeCanvas.tsx +4 -4
- package/src/components/tree/TreeCanvasBlock.tsx +4 -4
- package/src/components/tree/TreeNodeMenu.tsx +4 -2
- package/src/components/tree/TreePanel.tsx +2 -2
- package/src/components/tree/TreeRuler.tsx +1 -1
- package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +2 -2
- package/src/components/tree/renderTreeCanvas.ts +1 -1
- package/src/createPaletteMap.test.ts +57 -0
- package/src/createPaletteMap.ts +11 -0
- package/src/index.ts +3 -2
- package/src/launchInterProScan.ts +2 -2
- package/src/model/DataModel.ts +1 -1
- package/src/model/DialogQueue.ts +1 -1
- package/src/model/msaModel.ts +2 -2
- package/src/model/treeModel.ts +2 -2
- package/src/model.ts +71 -46
- package/src/neighborJoining.test.ts +1 -1
- package/src/parseAsn1.test.ts +1 -1
- package/src/renderToSvg.tsx +17 -19
- package/src/reparseTree.ts +1 -1
- package/src/rowCoordinateCalculations.test.ts +1 -1
- package/src/rowCoordinateCalculations.ts +1 -1
- package/src/seqPosToGlobalCol.test.ts +1 -1
- package/src/seqPosToGlobalCol.ts +1 -1
- package/src/util.ts +1 -1
- package/src/vendor/copyToClipboard.ts +125 -0
- package/src/vendor/fileSaver.ts +107 -0
- package/src/version.ts +1 -1
- package/src/webpack.ts +2 -2
- package/dist/__snapshots__/parseAsn1.test.js.snap +0 -2400
- package/src/declare.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seqPosToGlobalCol.js","sourceRoot":"","sources":["../src/seqPosToGlobalCol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"seqPosToGlobalCol.js","sourceRoot":"","sources":["../src/seqPosToGlobalCol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,GAAG,EACH,MAAM,GAIP;IACC,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,uCAAuC;IACvC,OAAO,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,WAAW,EAAE,CAAA;QACf,CAAC;QACD,SAAS,EAAE,CAAA;IACb,CAAC;IACD,oEAAoE;IACpE,iEAAiE;IACjE,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test } from 'vitest';
|
|
2
|
-
import { seqPosToGlobalCol } from
|
|
2
|
+
import { seqPosToGlobalCol } from "./seqPosToGlobalCol.js";
|
|
3
3
|
describe('seqPosToGlobalCol', () => {
|
|
4
4
|
test('converts sequence position to global column with no gaps', () => {
|
|
5
5
|
const row = 'ATGCATGC';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seqPosToGlobalCol.test.js","sourceRoot":"","sources":["../src/seqPosToGlobalCol.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"seqPosToGlobalCol.test.js","sourceRoot":"","sources":["../src/seqPosToGlobalCol.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,GAAG,GAAG,UAAU,CAAA;QACtB,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,WAAW;IACnE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QACjE,MAAM,GAAG,GAAG,aAAa,CAAA;QACzB,kEAAkE;QAClE,iEAAiE;QAEjE,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,IAAI;QAC3D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,WAAW;IACpE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,SAAS,CAAA;QACrB,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,WAAW;IACnE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,GAAG,GAAG,SAAS,CAAA;QACrB,6CAA6C;QAC7C,wCAAwC;QAExC,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,WAAW;IACnE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,OAAO,CAAA;QACnB,mCAAmC;QACnC,mCAAmC;QAEnC,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;IAC5D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,OAAO,CAAA;QACnB,mCAAmC;QACnC,yBAAyB;QAEzB,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,IAAI;QAC1D,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,WAAW;IACnE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NodeWithIds } from './types';
|
|
1
|
+
import type { NodeWithIds } from './types.ts';
|
|
2
2
|
import type { Theme } from '@mui/material';
|
|
3
3
|
import type { HierarchyNode } from 'd3-hierarchy';
|
|
4
4
|
export declare function transform<T>(obj: Record<string, T>, cb: (arg0: [string, T]) => [string, T]): {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copy text to clipboard utility.
|
|
3
|
+
* Uses modern Clipboard API with fallback to execCommand.
|
|
4
|
+
*/
|
|
5
|
+
export interface CopyOptions {
|
|
6
|
+
debug?: boolean;
|
|
7
|
+
format?: string;
|
|
8
|
+
onCopy?: (clipboardData: DataTransfer) => void;
|
|
9
|
+
}
|
|
10
|
+
export default function copy(text: string, options?: CopyOptions): boolean;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copy text to clipboard utility.
|
|
3
|
+
* Uses modern Clipboard API with fallback to execCommand.
|
|
4
|
+
*/
|
|
5
|
+
function deselectCurrent() {
|
|
6
|
+
const selection = document.getSelection();
|
|
7
|
+
if (!selection?.rangeCount) {
|
|
8
|
+
return () => { };
|
|
9
|
+
}
|
|
10
|
+
const active = document.activeElement;
|
|
11
|
+
const ranges = [];
|
|
12
|
+
for (let i = 0; i < selection.rangeCount; i++) {
|
|
13
|
+
ranges.push(selection.getRangeAt(i));
|
|
14
|
+
}
|
|
15
|
+
const tagName = active?.tagName.toUpperCase();
|
|
16
|
+
if (tagName === 'INPUT' || tagName === 'TEXTAREA') {
|
|
17
|
+
active?.blur();
|
|
18
|
+
}
|
|
19
|
+
selection.removeAllRanges();
|
|
20
|
+
return () => {
|
|
21
|
+
if (selection.type === 'Caret') {
|
|
22
|
+
selection.removeAllRanges();
|
|
23
|
+
}
|
|
24
|
+
if (!selection.rangeCount) {
|
|
25
|
+
for (const range of ranges) {
|
|
26
|
+
selection.addRange(range);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
active?.focus();
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export default function copy(text, options) {
|
|
33
|
+
const debug = options?.debug || false;
|
|
34
|
+
let success = false;
|
|
35
|
+
let reselectPrevious;
|
|
36
|
+
let range;
|
|
37
|
+
let selection = null;
|
|
38
|
+
let mark;
|
|
39
|
+
try {
|
|
40
|
+
reselectPrevious = deselectCurrent();
|
|
41
|
+
range = document.createRange();
|
|
42
|
+
selection = document.getSelection();
|
|
43
|
+
mark = document.createElement('span');
|
|
44
|
+
mark.textContent = text;
|
|
45
|
+
mark.ariaHidden = 'true';
|
|
46
|
+
mark.style.all = 'unset';
|
|
47
|
+
mark.style.position = 'fixed';
|
|
48
|
+
mark.style.top = '0';
|
|
49
|
+
mark.style.clip = 'rect(0, 0, 0, 0)';
|
|
50
|
+
mark.style.whiteSpace = 'pre';
|
|
51
|
+
mark.style.webkitUserSelect = 'text';
|
|
52
|
+
mark.style.MozUserSelect = 'text';
|
|
53
|
+
mark.style.msUserSelect = 'text';
|
|
54
|
+
mark.style.userSelect = 'text';
|
|
55
|
+
mark.addEventListener('copy', e => {
|
|
56
|
+
e.stopPropagation();
|
|
57
|
+
if (options?.format) {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
if (e.clipboardData) {
|
|
60
|
+
e.clipboardData.clearData();
|
|
61
|
+
e.clipboardData.setData(options.format, text);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (options?.onCopy && e.clipboardData) {
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
options.onCopy(e.clipboardData);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
document.body.append(mark);
|
|
70
|
+
range.selectNodeContents(mark);
|
|
71
|
+
selection?.addRange(range);
|
|
72
|
+
const successful = document.execCommand('copy');
|
|
73
|
+
if (!successful) {
|
|
74
|
+
throw new Error('copy command was unsuccessful');
|
|
75
|
+
}
|
|
76
|
+
success = true;
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
if (debug) {
|
|
80
|
+
console.error('unable to copy using execCommand:', err);
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const clipboardData = window
|
|
84
|
+
.clipboardData;
|
|
85
|
+
if (clipboardData) {
|
|
86
|
+
clipboardData.setData(options?.format || 'text', text);
|
|
87
|
+
options?.onCopy?.(clipboardData);
|
|
88
|
+
success = true;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (err2) {
|
|
92
|
+
if (debug) {
|
|
93
|
+
console.error('unable to copy using clipboardData:', err2);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
if (selection) {
|
|
99
|
+
if (typeof selection.removeRange === 'function' && range) {
|
|
100
|
+
selection.removeRange(range);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
selection.removeAllRanges();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (mark) {
|
|
107
|
+
mark.remove();
|
|
108
|
+
}
|
|
109
|
+
reselectPrevious?.();
|
|
110
|
+
}
|
|
111
|
+
return success;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=copyToClipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyToClipboard.js","sourceRoot":"","sources":["../../src/vendor/copyToClipboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileSaver.js
|
|
3
|
+
* A saveAs() FileSaver implementation.
|
|
4
|
+
*
|
|
5
|
+
* By Eli Grey, http://eligrey.com
|
|
6
|
+
* License: MIT
|
|
7
|
+
* source: http://purl.eligrey.com/github/FileSaver.js
|
|
8
|
+
*
|
|
9
|
+
* Vendored and converted to ESM/TypeScript for pure ESM compatibility.
|
|
10
|
+
*/
|
|
11
|
+
export declare function saveAs(blob: Blob | string, name?: string): void;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileSaver.js
|
|
3
|
+
* A saveAs() FileSaver implementation.
|
|
4
|
+
*
|
|
5
|
+
* By Eli Grey, http://eligrey.com
|
|
6
|
+
* License: MIT
|
|
7
|
+
* source: http://purl.eligrey.com/github/FileSaver.js
|
|
8
|
+
*
|
|
9
|
+
* Vendored and converted to ESM/TypeScript for pure ESM compatibility.
|
|
10
|
+
*/
|
|
11
|
+
function click(node) {
|
|
12
|
+
try {
|
|
13
|
+
node.dispatchEvent(new MouseEvent('click'));
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
const evt = document.createEvent('MouseEvents');
|
|
17
|
+
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);
|
|
18
|
+
node.dispatchEvent(evt);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// Detect WebView inside a native macOS app by ruling out all browsers
|
|
22
|
+
const isMacOSWebView = typeof navigator !== 'undefined' &&
|
|
23
|
+
navigator.userAgent.includes('Macintosh') &&
|
|
24
|
+
navigator.userAgent.includes('AppleWebKit') &&
|
|
25
|
+
!navigator.userAgent.includes('Safari');
|
|
26
|
+
export function saveAs(blob, name) {
|
|
27
|
+
if (typeof window === 'undefined') {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const URL = window.URL;
|
|
31
|
+
const a = document.createElement('a');
|
|
32
|
+
name = name || (blob instanceof Blob ? 'download' : 'download');
|
|
33
|
+
// Use download attribute if available and not macOS WebView
|
|
34
|
+
if ('download' in HTMLAnchorElement.prototype && !isMacOSWebView) {
|
|
35
|
+
a.download = name;
|
|
36
|
+
a.rel = 'noopener';
|
|
37
|
+
if (typeof blob === 'string') {
|
|
38
|
+
a.href = blob;
|
|
39
|
+
click(a);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
a.href = URL.createObjectURL(blob);
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
URL.revokeObjectURL(a.href);
|
|
45
|
+
}, 40000);
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
click(a);
|
|
48
|
+
}, 0);
|
|
49
|
+
}
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// Fallback for browsers without download attribute support
|
|
53
|
+
if (typeof blob === 'string') {
|
|
54
|
+
window.open(blob, '_blank');
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const isSafari = /constructor/i.test(window.HTMLElement?.toString() ??
|
|
58
|
+
'') || !!window.safari;
|
|
59
|
+
const isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent);
|
|
60
|
+
if ((isChromeIOS || isSafari || isMacOSWebView) &&
|
|
61
|
+
typeof FileReader !== 'undefined') {
|
|
62
|
+
const reader = new FileReader();
|
|
63
|
+
reader.onloadend = () => {
|
|
64
|
+
let url = reader.result;
|
|
65
|
+
url = isChromeIOS
|
|
66
|
+
? url
|
|
67
|
+
: url.replace(/^data:[^;]*;/, 'data:attachment/file;');
|
|
68
|
+
window.open(url, '_blank');
|
|
69
|
+
};
|
|
70
|
+
reader.readAsDataURL(blob);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const url = URL.createObjectURL(blob);
|
|
74
|
+
window.open(url, '_blank');
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
URL.revokeObjectURL(url);
|
|
77
|
+
}, 40000);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=fileSaver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileSaver.js","sourceRoot":"","sources":["../../src/vendor/fileSaver.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "5.0.3";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '
|
|
1
|
+
export const version = '5.0.3';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/webpack.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export { default as MSAView } from './components/Loading';
|
|
3
|
-
export { type MsaViewModel, default as MSAModelF } from './model';
|
|
2
|
+
export { default as MSAView } from './components/Loading.tsx';
|
|
3
|
+
export { type MsaViewModel, default as MSAModelF } from './model.ts';
|
|
4
4
|
export * from 'react-dom/client';
|
|
5
5
|
export { React };
|
package/dist/webpack.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export { default as MSAView } from
|
|
3
|
-
export { default as MSAModelF } from
|
|
2
|
+
export { default as MSAView } from "./components/Loading.js";
|
|
3
|
+
export { default as MSAModelF } from "./model.js";
|
|
4
4
|
export * from 'react-dom/client';
|
|
5
5
|
// eslint-disable-next-line unicorn/prefer-export-from
|
|
6
6
|
export { React };
|
package/dist/webpack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAA0B,CAAA;AAC7D,OAAO,EAAqB,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AAEpE,cAAc,kBAAkB,CAAA;AAEhC,sDAAsD;AACtD,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-msaview",
|
|
3
3
|
"author": "Colin",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.3",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
6
7
|
"repository": {
|
|
7
8
|
"type": "git",
|
|
8
9
|
"url": "https://github.com/GMOD/react-msaview.git",
|
|
9
|
-
"directory": "lib"
|
|
10
|
+
"directory": "packages/lib"
|
|
10
11
|
},
|
|
11
12
|
"main": "dist/index.js",
|
|
12
13
|
"module": "dist/index.js",
|
|
14
|
+
"types": "dist/index.d.ts",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"import": "./dist/index.js",
|
|
19
|
+
"default": "./dist/index.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
13
22
|
"files": [
|
|
14
23
|
"dist",
|
|
15
24
|
"bundle",
|
|
@@ -18,28 +27,13 @@
|
|
|
18
27
|
"engines": {
|
|
19
28
|
"node": ">=10"
|
|
20
29
|
},
|
|
21
|
-
"scripts": {
|
|
22
|
-
"clean": "rimraf dist",
|
|
23
|
-
"watch": "pnpm build:esm --watch",
|
|
24
|
-
"format": "prettier --write .",
|
|
25
|
-
"prebuild": "pnpm clean",
|
|
26
|
-
"preversion": "node output-version.js > src/version.ts && git add -A src && git commit -m '[skip ci] Bump version.ts'",
|
|
27
|
-
"build:esm": "tsc",
|
|
28
|
-
"build:bundle": "webpack",
|
|
29
|
-
"build": "pnpm build:esm && pnpm build:bundle",
|
|
30
|
-
"prepack": "pnpm build",
|
|
31
|
-
"postversion": "git push --follow-tags",
|
|
32
|
-
"statedocs": "rm -rf apidocs && mkdir apidocs && node --experimental-strip-types docgen/generateStateModelDocs.ts",
|
|
33
|
-
"poststatedocs": "pnpm format",
|
|
34
|
-
"test": "vitest"
|
|
35
|
-
},
|
|
36
30
|
"peerDependencies": {
|
|
37
31
|
"@jbrowse/core": ">=2.0.0",
|
|
32
|
+
"@jbrowse/mobx-state-tree": "^5.0.0",
|
|
38
33
|
"@mui/icons-material": ">=5.0.0",
|
|
39
34
|
"@mui/material": ">=5.0.0",
|
|
40
35
|
"mobx": ">=6.0.0",
|
|
41
36
|
"mobx-react": ">=7.0.0",
|
|
42
|
-
"mobx-state-tree": "^5.0.0",
|
|
43
37
|
"react": ">=16.8.0",
|
|
44
38
|
"react-dom": ">=16.8.0"
|
|
45
39
|
},
|
|
@@ -47,13 +41,22 @@
|
|
|
47
41
|
"@mui/icons-material": "^7.0.1",
|
|
48
42
|
"@mui/material": "^7.0.1",
|
|
49
43
|
"colord": "^2.9.3",
|
|
50
|
-
"copy-to-clipboard": "^3.3.1",
|
|
51
44
|
"d3-array": "^3.2.3",
|
|
52
45
|
"d3-hierarchy": "^3.1.2",
|
|
53
|
-
"file-saver": "^2.0.5",
|
|
54
46
|
"flatbush": "^4.4.0",
|
|
55
|
-
"msa-parsers": "^1.0.5",
|
|
56
47
|
"pako": "^2.1.0",
|
|
57
|
-
"svgcanvas": "
|
|
48
|
+
"@jbrowse/svgcanvas": "5.0.3",
|
|
49
|
+
"msa-parsers": "5.0.3"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"clean": "rimraf dist bundle",
|
|
53
|
+
"watch": "pnpm build:esm --watch",
|
|
54
|
+
"format": "prettier --write .",
|
|
55
|
+
"build:esm": "tsc",
|
|
56
|
+
"build:bundle": "webpack",
|
|
57
|
+
"build": "pnpm clean && pnpm build:esm && pnpm build:bundle",
|
|
58
|
+
"statedocs": "rm -rf apidocs && mkdir apidocs && node --experimental-strip-types docgen/generateStateModelDocs.ts",
|
|
59
|
+
"poststatedocs": "pnpm format",
|
|
60
|
+
"test": "vitest"
|
|
58
61
|
}
|
|
59
|
-
}
|
|
62
|
+
}
|
package/src/colorSchemes.ts
CHANGED
|
@@ -2,8 +2,8 @@ import React, { useEffect, useRef } from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { observer } from 'mobx-react'
|
|
4
4
|
|
|
5
|
-
import type { MsaViewModel } from '../model'
|
|
6
|
-
import type { BasicTrack } from '../types'
|
|
5
|
+
import type { MsaViewModel } from '../model.ts'
|
|
6
|
+
import type { BasicTrack } from '../types.ts'
|
|
7
7
|
|
|
8
8
|
const ConservationBlock = observer(function ({
|
|
9
9
|
model,
|
|
@@ -42,8 +42,7 @@ const ConservationBlock = observer(function ({
|
|
|
42
42
|
const barHeight = value * trackHeight
|
|
43
43
|
const x = i * colWidth
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
ctx.fillStyle = `hsl(${hue}, 70%, 50%)`
|
|
45
|
+
ctx.fillStyle = 'gray'
|
|
47
46
|
ctx.fillRect(x, trackHeight - barHeight, colWidth, barHeight)
|
|
48
47
|
}
|
|
49
48
|
}, [
|
|
@@ -5,10 +5,10 @@ import { ErrorBoundary } from '@jbrowse/core/ui/ErrorBoundary'
|
|
|
5
5
|
import { Button, Typography } from '@mui/material'
|
|
6
6
|
import { observer } from 'mobx-react'
|
|
7
7
|
|
|
8
|
-
import MSAView from './MSAView'
|
|
9
|
-
import ImportForm from './import/ImportForm'
|
|
8
|
+
import MSAView from './MSAView.tsx'
|
|
9
|
+
import ImportForm from './import/ImportForm.tsx'
|
|
10
10
|
|
|
11
|
-
import type { MsaViewModel } from '../model'
|
|
11
|
+
import type { MsaViewModel } from '../model.ts'
|
|
12
12
|
|
|
13
13
|
function LoadingSpinner() {
|
|
14
14
|
return (
|
|
@@ -2,16 +2,19 @@ import React, { Suspense } from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { observer } from 'mobx-react'
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
5
|
+
import {
|
|
6
|
+
HorizontalResizeHandle,
|
|
7
|
+
VerticalResizeHandle,
|
|
8
|
+
} from './ResizeHandles.tsx'
|
|
9
|
+
import Track from './Track.tsx'
|
|
10
|
+
import VerticalScrollbar from './VerticalScrollbar.tsx'
|
|
11
|
+
import Header from './header/Header.tsx'
|
|
12
|
+
import Minimap from './minimap/Minimap.tsx'
|
|
13
|
+
import MSAPanel from './msa/MSAPanel.tsx'
|
|
14
|
+
import TreePanel from './tree/TreePanel.tsx'
|
|
15
|
+
import TreeRuler from './tree/TreeRuler.tsx'
|
|
13
16
|
|
|
14
|
-
import type { MsaViewModel } from '../model'
|
|
17
|
+
import type { MsaViewModel } from '../model.ts'
|
|
15
18
|
|
|
16
19
|
const TopArea = observer(function ({ model }: { model: MsaViewModel }) {
|
|
17
20
|
const { showHorizontalScrollbar } = model
|
|
@@ -2,7 +2,7 @@ import React, { useEffect, useRef, useState } from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { observer } from 'mobx-react'
|
|
4
4
|
|
|
5
|
-
import type { MsaViewModel } from '../model'
|
|
5
|
+
import type { MsaViewModel } from '../model.ts'
|
|
6
6
|
|
|
7
7
|
export const VerticalResizeHandle = observer(function ({
|
|
8
8
|
model,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
2
|
|
|
3
3
|
import { Button, TextField } from '@mui/material'
|
|
4
|
-
import copy from 'copy-to-clipboard'
|
|
5
4
|
import { makeStyles } from 'tss-react/mui'
|
|
6
5
|
|
|
7
|
-
import Checkbox2 from './Checkbox2'
|
|
6
|
+
import Checkbox2 from './Checkbox2.tsx'
|
|
7
|
+
import copy from '../vendor/copyToClipboard.ts'
|
|
8
8
|
|
|
9
9
|
const useStyles = makeStyles()({
|
|
10
10
|
textAreaFont: {
|
|
@@ -3,10 +3,10 @@ import React, { useEffect, useMemo, useRef } from 'react'
|
|
|
3
3
|
import { useTheme } from '@mui/material'
|
|
4
4
|
import { observer } from 'mobx-react'
|
|
5
5
|
|
|
6
|
-
import { colorContrast } from '../util'
|
|
6
|
+
import { colorContrast } from '../util.ts'
|
|
7
7
|
|
|
8
|
-
import type { MsaViewModel } from '../model'
|
|
9
|
-
import type { BasicTrack } from '../types'
|
|
8
|
+
import type { MsaViewModel } from '../model.ts'
|
|
9
|
+
import type { BasicTrack } from '../types.ts'
|
|
10
10
|
|
|
11
11
|
const AnnotationBlock = observer(function ({
|
|
12
12
|
track,
|
package/src/components/Track.tsx
CHANGED
|
@@ -5,10 +5,10 @@ import { IconButton, Menu, MenuItem } from '@mui/material'
|
|
|
5
5
|
import { observer } from 'mobx-react'
|
|
6
6
|
import { makeStyles } from 'tss-react/mui'
|
|
7
7
|
|
|
8
|
-
import type { MsaViewModel } from '../model'
|
|
8
|
+
import type { MsaViewModel } from '../model.ts'
|
|
9
9
|
|
|
10
10
|
// lazies
|
|
11
|
-
const TrackInfoDialog = lazy(() => import('./dialogs/TrackInfoDialog'))
|
|
11
|
+
const TrackInfoDialog = lazy(() => import('./dialogs/TrackInfoDialog.tsx'))
|
|
12
12
|
|
|
13
13
|
const useStyles = makeStyles()({
|
|
14
14
|
button: {
|
|
@@ -3,7 +3,7 @@ import React, { useEffect, useRef, useState } from 'react'
|
|
|
3
3
|
import { clamp } from '@jbrowse/core/util'
|
|
4
4
|
import { observer } from 'mobx-react'
|
|
5
5
|
|
|
6
|
-
import type { MsaViewModel } from '../model'
|
|
6
|
+
import type { MsaViewModel } from '../model.ts'
|
|
7
7
|
|
|
8
8
|
const VerticalScrollbar = observer(({ model }: { model: MsaViewModel }) => {
|
|
9
9
|
const { msaAreaHeight, scrollY, totalHeight } = model
|
|
@@ -3,7 +3,7 @@ import React from 'react'
|
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui'
|
|
4
4
|
import { DialogContent, Link, Typography } from '@mui/material'
|
|
5
5
|
|
|
6
|
-
import { version } from '../../version'
|
|
6
|
+
import { version } from '../../version.ts'
|
|
7
7
|
|
|
8
8
|
export default function AboutDialog({ onClose }: { onClose: () => void }) {
|
|
9
9
|
return (
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from '@mui/material'
|
|
12
12
|
import { observer } from 'mobx-react'
|
|
13
13
|
|
|
14
|
-
import type { MsaViewModel } from '../../model'
|
|
14
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
15
15
|
import type { FileLocation } from '@jbrowse/core/util/types'
|
|
16
16
|
|
|
17
17
|
const AddTrackDialog = observer(function ({
|
|
@@ -3,11 +3,11 @@ import React, { useState } from 'react'
|
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui'
|
|
4
4
|
import { Tab, Tabs } from '@mui/material'
|
|
5
5
|
|
|
6
|
-
import InterProScanPanel from './InterProScanDialog'
|
|
7
|
-
import TabPanel from './TabPanel'
|
|
8
|
-
import UserProvidedResultPanel from './UserProvidedDomainsDialog'
|
|
6
|
+
import InterProScanPanel from './InterProScanDialog.tsx'
|
|
7
|
+
import TabPanel from './TabPanel.tsx'
|
|
8
|
+
import UserProvidedResultPanel from './UserProvidedDomainsDialog.tsx'
|
|
9
9
|
|
|
10
|
-
import type { MsaViewModel } from '../../model'
|
|
10
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
11
11
|
|
|
12
12
|
export default function LaunchDomainViewDialog({
|
|
13
13
|
handleClose,
|
|
@@ -15,9 +15,9 @@ import {
|
|
|
15
15
|
useTheme,
|
|
16
16
|
} from '@mui/material'
|
|
17
17
|
|
|
18
|
-
import Checkbox2 from '../Checkbox2'
|
|
18
|
+
import Checkbox2 from '../Checkbox2.tsx'
|
|
19
19
|
|
|
20
|
-
import type { MsaViewModel } from '../../model'
|
|
20
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
21
21
|
|
|
22
22
|
export default function ExportSVGDialog({
|
|
23
23
|
model,
|
|
@@ -4,9 +4,9 @@ import { Dialog } from '@jbrowse/core/ui'
|
|
|
4
4
|
import { Button, DialogContent } from '@mui/material'
|
|
5
5
|
import { observer } from 'mobx-react'
|
|
6
6
|
|
|
7
|
-
import { getPalette } from '../../ggplotPalettes'
|
|
7
|
+
import { getPalette } from '../../ggplotPalettes.ts'
|
|
8
8
|
|
|
9
|
-
import type { MsaViewModel } from '../../model'
|
|
9
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
10
10
|
|
|
11
11
|
const Toggles = observer(function ({ model }: { model: MsaViewModel }) {
|
|
12
12
|
const { featureFilters } = model
|
|
@@ -5,9 +5,9 @@ import { getSession } from '@jbrowse/core/util'
|
|
|
5
5
|
import { Button, DialogActions, DialogContent, Typography } from '@mui/material'
|
|
6
6
|
import { observer } from 'mobx-react'
|
|
7
7
|
|
|
8
|
-
import { launchInterProScan } from '../../launchInterProScan'
|
|
8
|
+
import { launchInterProScan } from '../../launchInterProScan.ts'
|
|
9
9
|
|
|
10
|
-
import type { MsaViewModel } from '../../model'
|
|
10
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
11
11
|
|
|
12
12
|
const InterProScanDialog = observer(function ({
|
|
13
13
|
handleClose,
|
|
@@ -6,9 +6,9 @@ import { Dialog } from '@jbrowse/core/ui'
|
|
|
6
6
|
import { DialogContent } from '@mui/material'
|
|
7
7
|
import { observer } from 'mobx-react'
|
|
8
8
|
|
|
9
|
-
import SequenceTextArea from '../SequenceTextArea'
|
|
9
|
+
import SequenceTextArea from '../SequenceTextArea.tsx'
|
|
10
10
|
|
|
11
|
-
import type { MsaViewModel } from '../../model'
|
|
11
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
12
12
|
|
|
13
13
|
const MetadataDialog = observer(function ({
|
|
14
14
|
model,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
import { observer } from 'mobx-react'
|
|
14
14
|
import { makeStyles } from 'tss-react/mui'
|
|
15
15
|
|
|
16
|
-
import colorSchemes from '../../colorSchemes'
|
|
17
|
-
import Checkbox2 from '../Checkbox2'
|
|
16
|
+
import colorSchemes from '../../colorSchemes.ts'
|
|
17
|
+
import Checkbox2 from '../Checkbox2.tsx'
|
|
18
18
|
|
|
19
|
-
import type { MsaViewModel } from '../../model'
|
|
19
|
+
import type { MsaViewModel } from '../../model.ts'
|
|
20
20
|
|
|
21
21
|
const useStyles = makeStyles()(theme => ({
|
|
22
22
|
field: {
|