react-msaview 8.3.0 → 8.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/bundle/index.js +499 -295
  2. package/bundle/index.js.map +4 -4
  3. package/dist/blockFasta.d.ts +6 -0
  4. package/dist/blockFasta.js +12 -0
  5. package/dist/blockFasta.js.map +1 -0
  6. package/dist/colorSchemes.d.ts +7 -0
  7. package/dist/colorSchemes.js +15 -0
  8. package/dist/colorSchemes.js.map +1 -1
  9. package/dist/components/MSAView.js +15 -9
  10. package/dist/components/MSAView.js.map +1 -1
  11. package/dist/components/MSAViewer.d.ts +28 -7
  12. package/dist/components/MSAViewer.js +61 -22
  13. package/dist/components/MSAViewer.js.map +1 -1
  14. package/dist/components/MetadataTable.d.ts +5 -0
  15. package/dist/components/MetadataTable.js +29 -0
  16. package/dist/components/MetadataTable.js.map +1 -0
  17. package/dist/components/Track.js +11 -2
  18. package/dist/components/Track.js.map +1 -1
  19. package/dist/components/dialogs/MetadataDialog.js +5 -6
  20. package/dist/components/dialogs/MetadataDialog.js.map +1 -1
  21. package/dist/components/header/ColorSchemeMenu.d.ts +6 -0
  22. package/dist/components/header/ColorSchemeMenu.js +23 -5
  23. package/dist/components/header/ColorSchemeMenu.js.map +1 -1
  24. package/dist/components/header/GoToBox.d.ts +338 -0
  25. package/dist/components/header/GoToBox.js +31 -0
  26. package/dist/components/header/GoToBox.js.map +1 -0
  27. package/dist/components/header/Header.js +4 -2
  28. package/dist/components/header/Header.js.map +1 -1
  29. package/dist/components/header/SelectionMenu.d.ts +12 -0
  30. package/dist/components/header/SelectionMenu.js +72 -0
  31. package/dist/components/header/SelectionMenu.js.map +1 -0
  32. package/dist/components/header/goTo.d.ts +20 -0
  33. package/dist/components/header/goTo.js +69 -0
  34. package/dist/components/header/goTo.js.map +1 -0
  35. package/dist/components/msa/MSACanvas.js +13 -2
  36. package/dist/components/msa/MSACanvas.js.map +1 -1
  37. package/dist/components/msa/MSACanvasBlock.js +5 -1
  38. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  39. package/dist/components/msa/msaKeys.js +6 -0
  40. package/dist/components/msa/msaKeys.js.map +1 -1
  41. package/dist/components/msa/msaRaster.js +1 -0
  42. package/dist/components/msa/msaRaster.js.map +1 -1
  43. package/dist/components/msa/renderHighlights.d.ts +14 -3
  44. package/dist/components/msa/renderHighlights.js +29 -4
  45. package/dist/components/msa/renderHighlights.js.map +1 -1
  46. package/dist/components/msa/tileColor.js +9 -8
  47. package/dist/components/msa/tileColor.js.map +1 -1
  48. package/dist/components/msa/useMsaBlockMouse.d.ts +1 -1
  49. package/dist/components/msa/useMsaBlockMouse.js +18 -11
  50. package/dist/components/msa/useMsaBlockMouse.js.map +1 -1
  51. package/dist/components/overlayColors.d.ts +2 -0
  52. package/dist/components/overlayColors.js +3 -0
  53. package/dist/components/overlayColors.js.map +1 -1
  54. package/dist/components/selectionDrag.d.ts +17 -0
  55. package/dist/components/selectionDrag.js +30 -0
  56. package/dist/components/selectionDrag.js.map +1 -0
  57. package/dist/components/tracks/useTrackHover.d.ts +3 -1
  58. package/dist/components/tracks/useTrackHover.js +26 -6
  59. package/dist/components/tracks/useTrackHover.js.map +1 -1
  60. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +9 -8
  61. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
  62. package/dist/constants.d.ts +1 -1
  63. package/dist/constants.js +6 -6
  64. package/dist/constants.js.map +1 -1
  65. package/dist/element.d.ts +7 -3
  66. package/dist/element.js +32 -4
  67. package/dist/element.js.map +1 -1
  68. package/dist/featuresLayer.d.ts +8 -0
  69. package/dist/featuresLayer.js +42 -0
  70. package/dist/featuresLayer.js.map +1 -0
  71. package/dist/index.d.ts +1 -1
  72. package/dist/model/DataModel.d.ts +1 -1
  73. package/dist/model/DataModel.js +3 -3
  74. package/dist/model/DataModel.js.map +1 -1
  75. package/dist/model/msaModel.d.ts +14 -1
  76. package/dist/model/msaModel.js +17 -1
  77. package/dist/model/msaModel.js.map +1 -1
  78. package/dist/model.d.ts +242 -187
  79. package/dist/model.js +264 -45
  80. package/dist/model.js.map +1 -1
  81. package/dist/svgTestUtil.d.ts +284 -336
  82. package/dist/types.d.ts +50 -0
  83. package/dist/version.d.ts +1 -1
  84. package/dist/version.js +1 -1
  85. package/package.json +6 -6
  86. package/src/blockFasta.ts +18 -0
  87. package/src/colorSchemes.ts +20 -0
  88. package/src/components/MSAView.tsx +16 -9
  89. package/src/components/MSAViewer.tsx +95 -26
  90. package/src/components/MetadataTable.tsx +55 -0
  91. package/src/components/Track.tsx +14 -1
  92. package/src/components/dialogs/MetadataDialog.tsx +9 -8
  93. package/src/components/header/ColorSchemeMenu.tsx +31 -12
  94. package/src/components/header/GoToBox.tsx +64 -0
  95. package/src/components/header/Header.tsx +6 -2
  96. package/src/components/header/SelectionMenu.tsx +117 -0
  97. package/src/components/header/goTo.ts +75 -0
  98. package/src/components/msa/MSACanvas.tsx +12 -2
  99. package/src/components/msa/MSACanvasBlock.tsx +5 -1
  100. package/src/components/msa/msaKeys.ts +6 -0
  101. package/src/components/msa/msaRaster.ts +1 -0
  102. package/src/components/msa/renderHighlights.ts +46 -4
  103. package/src/components/msa/tileColor.ts +9 -8
  104. package/src/components/msa/useMsaBlockMouse.ts +24 -27
  105. package/src/components/overlayColors.ts +4 -0
  106. package/src/components/selectionDrag.ts +42 -0
  107. package/src/components/tracks/useTrackHover.ts +28 -6
  108. package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +14 -16
  109. package/src/constants.ts +6 -6
  110. package/src/element.ts +45 -5
  111. package/src/featuresLayer.ts +48 -0
  112. package/src/index.ts +5 -0
  113. package/src/model/DataModel.ts +3 -3
  114. package/src/model/msaModel.ts +19 -1
  115. package/src/model.ts +313 -55
  116. package/src/types.ts +58 -0
  117. package/src/version.ts +1 -1
  118. package/dist/components/header/RowSearch.d.ts +0 -6
  119. package/dist/components/header/RowSearch.js +0 -15
  120. package/dist/components/header/RowSearch.js.map +0 -1
  121. package/dist/components/header/revealRow.d.ts +0 -3
  122. package/dist/components/header/revealRow.js +0 -15
  123. package/dist/components/header/revealRow.js.map +0 -1
  124. package/src/components/header/RowSearch.tsx +0 -34
  125. package/src/components/header/revealRow.ts +0 -17
package/dist/model.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { ColumnStats } from './columnStats.ts';
2
2
  import type { ScrollZoomAxis } from './constants.ts';
3
3
  import type { HierarchyNode } from './hierarchy.ts';
4
4
  import type { ExportSvgOptions } from './renderToSvg.tsx';
5
- import type { Annotation, Arc, BasicTrack, Cell, Clade, ResidueMappingProblem, ColumnTrackSpec, DomainBand, Encoding, Highlight, Legend, NodeWithIds, Region, ResidueMapping, ResolvedClade, ResolvedEncoding, ResolvedFeaturePanel, ResolvedHighlight, TreeOrder, TreeRoot, ResolvedRowPanel, ResolvedStripPanel, RowPanelSpec, RowResidue, StructureResidue, TrackKind, UnshareableData, Viewport } from './types.ts';
5
+ import type { Annotation, Arc, BasicTrack, Cell, Clade, ResidueMappingProblem, ColumnTrackSpec, DomainBand, Encoding, Feature, Highlight, Legend, MsaSelection, NodeWithIds, Region, ResidueMapping, ResolvedClade, ResolvedEncoding, ResolvedFeaturePanel, ResolvedHighlight, ResolvedSelection, TreeOrder, TreeRoot, ResolvedRowPanel, ResolvedStripPanel, RowDataInput, RowPanelSpec, RowResidue, StructureResidue, TrackKind, UnshareableData, Viewport } from './types.ts';
6
6
  import type { FileLocation as FileLocationType } from '@jbrowse/core/util/types';
7
7
  import type { Instance } from '@jbrowse/mobx-state-tree';
8
8
  import type { InterProScanResults } from 'msa-parsers';
@@ -41,8 +41,15 @@ export declare const preservedOnReset: Set<string>;
41
41
  * const root = RootModel.create({})
42
42
  * root.view.setData({ msa: '>seq1\nACGT\n>seq2\nACGT' })
43
43
  * ```
44
+ *
45
+ * `maxInlineSnapshotBytes` is the largest pasted or local document, and the
46
+ * largest data track, the snapshot keeps; a larger one stays in the live model
47
+ * and `unshareableData` names it. The standalone app, whose links carry the
48
+ * snapshot in the URL fragment, raises it.
44
49
  */
45
- declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
50
+ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
51
+ maxInlineSnapshotBytes?: number;
52
+ }): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
46
53
  drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
47
54
  labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
48
55
  treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
@@ -55,12 +62,13 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
55
62
  showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
56
63
  overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
57
64
  autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
58
- }, "bgColor" | "colorSchemeName" | "msaFormat" | "showColumnStats"> & {
65
+ }, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
59
66
  bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
60
67
  colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
68
+ customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
61
69
  showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
62
70
  msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
63
- }, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
71
+ }, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
64
72
  /**
65
73
  * #property
66
74
  * id of view, randomly generated if not provided
@@ -158,14 +166,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
158
166
  authInfo: any;
159
167
  }> | undefined;
160
168
  }>, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
161
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
169
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
162
170
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
163
171
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
164
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
172
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
165
173
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
166
174
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
167
175
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
168
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
176
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
169
177
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
170
178
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
171
179
  }> | {
@@ -176,41 +184,27 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
176
184
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
177
185
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
178
186
  }> | undefined;
179
- }, ({
180
- blobId: string;
181
- locationType: "BlobLocation";
182
- name: string;
183
- } & Partial<{
184
- locationType: "BlobLocation";
185
- name: string;
186
- blobId: string;
187
- }>) | ({
188
- handleId: string;
189
- locationType: "FileHandleLocation";
190
- name: string;
191
- } & Partial<{
192
- locationType: "FileHandleLocation";
193
- name: string;
194
- handleId: string;
195
- }>) | ({
196
- localPath: string;
197
- locationType: "LocalPathLocation";
198
- } & Partial<{
199
- locationType: "LocalPathLocation";
200
- localPath: string;
201
- }>) | ({
202
- locationType: "UriLocation";
203
- uri: string;
204
- } & Partial<{
205
- locationType: "UriLocation";
206
- uri: string;
207
- baseUri: string | undefined;
208
- internetAccountId: string | undefined;
209
- internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").ModelCreationType<{
210
- internetAccountType: string;
211
- authInfo: any;
212
- }> | undefined;
213
- }>)>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
187
+ }, import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
188
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
189
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
190
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
191
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
192
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
193
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
194
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
195
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
196
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
197
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
198
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
199
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"UriLocation">;
200
+ uri: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
201
+ baseUri: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
202
+ internetAccountId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
203
+ internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IModelType<{
204
+ internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
205
+ authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
206
+ }, {}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
207
+ }>>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
214
208
  locationType: "LocalPathLocation";
215
209
  localPath: string;
216
210
  }> | import("@jbrowse/mobx-state-tree").ModelCreationType<{
@@ -257,14 +251,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
257
251
  authInfo: any;
258
252
  }> | undefined;
259
253
  }>, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
260
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
254
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
261
255
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
262
256
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
263
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
257
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
264
258
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
265
259
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
266
260
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
267
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
261
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
268
262
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
269
263
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
270
264
  }> | {
@@ -275,41 +269,27 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
275
269
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
276
270
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
277
271
  }> | undefined;
278
- }, ({
279
- blobId: string;
280
- locationType: "BlobLocation";
281
- name: string;
282
- } & Partial<{
283
- locationType: "BlobLocation";
284
- name: string;
285
- blobId: string;
286
- }>) | ({
287
- handleId: string;
288
- locationType: "FileHandleLocation";
289
- name: string;
290
- } & Partial<{
291
- locationType: "FileHandleLocation";
292
- name: string;
293
- handleId: string;
294
- }>) | ({
295
- localPath: string;
296
- locationType: "LocalPathLocation";
297
- } & Partial<{
298
- locationType: "LocalPathLocation";
299
- localPath: string;
300
- }>) | ({
301
- locationType: "UriLocation";
302
- uri: string;
303
- } & Partial<{
304
- locationType: "UriLocation";
305
- uri: string;
306
- baseUri: string | undefined;
307
- internetAccountId: string | undefined;
308
- internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").ModelCreationType<{
309
- internetAccountType: string;
310
- authInfo: any;
311
- }> | undefined;
312
- }>)>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
272
+ }, import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
273
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
274
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
275
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
276
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
277
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
278
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
279
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
280
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
281
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
282
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
283
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
284
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"UriLocation">;
285
+ uri: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
286
+ baseUri: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
287
+ internetAccountId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
288
+ internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IModelType<{
289
+ internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
290
+ authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
291
+ }, {}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
292
+ }>>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
313
293
  locationType: "LocalPathLocation";
314
294
  localPath: string;
315
295
  }> | import("@jbrowse/mobx-state-tree").ModelCreationType<{
@@ -355,14 +335,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
355
335
  authInfo: any;
356
336
  }> | undefined;
357
337
  }>, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
358
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
338
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
359
339
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
360
340
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
361
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
341
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
362
342
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
363
343
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
364
344
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
365
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
345
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
366
346
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
367
347
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
368
348
  }> | {
@@ -373,41 +353,27 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
373
353
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
374
354
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
375
355
  }> | undefined;
376
- }, ({
377
- blobId: string;
378
- locationType: "BlobLocation";
379
- name: string;
380
- } & Partial<{
381
- locationType: "BlobLocation";
382
- name: string;
383
- blobId: string;
384
- }>) | ({
385
- handleId: string;
386
- locationType: "FileHandleLocation";
387
- name: string;
388
- } & Partial<{
389
- locationType: "FileHandleLocation";
390
- name: string;
391
- handleId: string;
392
- }>) | ({
393
- localPath: string;
394
- locationType: "LocalPathLocation";
395
- } & Partial<{
396
- locationType: "LocalPathLocation";
397
- localPath: string;
398
- }>) | ({
399
- locationType: "UriLocation";
400
- uri: string;
401
- } & Partial<{
402
- locationType: "UriLocation";
403
- uri: string;
404
- baseUri: string | undefined;
405
- internetAccountId: string | undefined;
406
- internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").ModelCreationType<{
407
- internetAccountType: string;
408
- authInfo: any;
409
- }> | undefined;
410
- }>)>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
356
+ }, import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
357
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
358
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
359
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
360
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
361
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
362
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
363
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
364
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
365
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
366
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
367
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
368
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"UriLocation">;
369
+ uri: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
370
+ baseUri: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
371
+ internetAccountId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
372
+ internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IModelType<{
373
+ internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
374
+ authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
375
+ }, {}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
376
+ }>>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
411
377
  locationType: "LocalPathLocation";
412
378
  localPath: string;
413
379
  }> | import("@jbrowse/mobx-state-tree").ModelCreationType<{
@@ -453,14 +419,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
453
419
  authInfo: any;
454
420
  }> | undefined;
455
421
  }>, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
456
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
422
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
457
423
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
458
424
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
459
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
425
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
460
426
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
461
427
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
462
428
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
463
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
429
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
464
430
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
465
431
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
466
432
  }> | {
@@ -471,41 +437,27 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
471
437
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
472
438
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
473
439
  }> | undefined;
474
- }, ({
475
- blobId: string;
476
- locationType: "BlobLocation";
477
- name: string;
478
- } & Partial<{
479
- locationType: "BlobLocation";
480
- name: string;
481
- blobId: string;
482
- }>) | ({
483
- handleId: string;
484
- locationType: "FileHandleLocation";
485
- name: string;
486
- } & Partial<{
487
- locationType: "FileHandleLocation";
488
- name: string;
489
- handleId: string;
490
- }>) | ({
491
- localPath: string;
492
- locationType: "LocalPathLocation";
493
- } & Partial<{
494
- locationType: "LocalPathLocation";
495
- localPath: string;
496
- }>) | ({
497
- locationType: "UriLocation";
498
- uri: string;
499
- } & Partial<{
500
- locationType: "UriLocation";
501
- uri: string;
502
- baseUri: string | undefined;
503
- internetAccountId: string | undefined;
504
- internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").ModelCreationType<{
505
- internetAccountType: string;
506
- authInfo: any;
507
- }> | undefined;
508
- }>)>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
440
+ }, import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
441
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
442
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
443
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
444
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
445
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
446
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
447
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
448
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
449
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
450
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
451
+ }> | import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
452
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"UriLocation">;
453
+ uri: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
454
+ baseUri: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
455
+ internetAccountId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
456
+ internetAccountPreAuthorization: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IModelType<{
457
+ internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
458
+ authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
459
+ }, {}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
460
+ }>>, import("@jbrowse/core/util/types/mst").LegacyFileLocation | import("@jbrowse/mobx-state-tree").ModelCreationType<{
509
461
  locationType: "LocalPathLocation";
510
462
  localPath: string;
511
463
  }> | import("@jbrowse/mobx-state-tree").ModelCreationType<{
@@ -633,6 +585,21 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
633
585
  * Persists in the snapshot and the URL.
634
586
  */
635
587
  highlights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Highlight, Highlight, Highlight>>, [undefined]>;
588
+ /**
589
+ * #property
590
+ * features on the rows as data, `{row, start, end, name, ...}` in
591
+ * residues of each row, drawn with the GFF's annotations. Persists in
592
+ * the snapshot and the URL.
593
+ */
594
+ features: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Feature, Feature, Feature>>, [undefined]>;
595
+ /**
596
+ * #property
597
+ * the block the reader selected: `{start, end}` columns of the file,
598
+ * 1-based inclusive like a column highlight, and `rows` by name, every
599
+ * row where absent. Undefined until something is selected, so a view
600
+ * without one adds nothing to the shared URL.
601
+ */
602
+ selection: import("@jbrowse/mobx-state-tree").IType<MsaSelection | undefined, MsaSelection | undefined, MsaSelection | undefined>;
636
603
  /**
637
604
  * #property
638
605
  * where the view opens, in `highlights` coordinates: `{row, start,
@@ -690,6 +657,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
690
657
  setDrawLabels(arg: boolean): void;
691
658
  } & {
692
659
  setColorSchemeName(name: string): void;
660
+ setCustomColorScheme(map?: Record<string, string>): void;
693
661
  setBgColor(arg: boolean): void;
694
662
  setShowColumnStats(arg: boolean): void;
695
663
  setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
@@ -903,6 +871,20 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
903
871
  * #action
904
872
  */
905
873
  setHighlights(highlights: Highlight[]): void;
874
+ /**
875
+ * #action
876
+ */
877
+ setFeatures(features: Feature[]): void;
878
+ /**
879
+ * #action
880
+ * select a block, in `selection` coordinates. `start` and `end` may come
881
+ * in either order.
882
+ */
883
+ setSelection(selection?: MsaSelection): void;
884
+ /**
885
+ * #action
886
+ */
887
+ clearSelection(): void;
906
888
  /**
907
889
  * #action
908
890
  * replace the clades the viewer marks (see docs/layers.md)
@@ -1026,9 +1008,9 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
1026
1008
  * store the GFF text in the snapshot like the alignment and tree. The
1027
1009
  * parsed annotations are volatile and a blob filehandle is cleared once
1028
1010
  * read, so the text is the only persisted copy. An autorun parses it
1029
- * into annotations.
1011
+ * into annotations, and clears the ones it drew when the text goes.
1030
1012
  */
1031
- setGFF(result: string): void;
1013
+ setGFF(result?: string): void;
1032
1014
  } & {
1033
1015
  /**
1034
1016
  * #getter
@@ -1039,6 +1021,12 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
1039
1021
  * #getter
1040
1022
  */
1041
1023
  readonly realAllowedGappyness: number;
1024
+ /**
1025
+ * #getter
1026
+ * the annotations the overlay, the legend and the encodings draw: the
1027
+ * GFF's, then the `features` layer's
1028
+ */
1029
+ readonly allAnnotations: Annotation[];
1042
1030
  /**
1043
1031
  * #getter
1044
1032
  */
@@ -1065,6 +1053,13 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
1065
1053
  * #getter
1066
1054
  */
1067
1055
  readonly colorScheme: Record<string, string>;
1056
+ /**
1057
+ * #getter
1058
+ * the scheme coloring each cell from its column's statistics, or
1059
+ * undefined while the cells take a fixed color per letter, from the
1060
+ * built-in table or from `customColorScheme`
1061
+ */
1062
+ readonly dynamicColorSchemeName: string | undefined;
1068
1063
  /**
1069
1064
  * #getter
1070
1065
  */
@@ -1095,9 +1090,9 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
1095
1090
  * from disk or pasted in becomes inline text, and DataModel drops an
1096
1091
  * inline document past `maxInlineSnapshotBytes`.
1097
1092
  *
1098
- * The header lists these, and the standalone app drops `?data=` from
1093
+ * The header lists these, and the standalone app drops `#data=` from
1099
1094
  * the address bar while the list is non-empty or the encoded link would
1100
- * pass 8,000 characters, so a copied link never opens an empty viewer
1095
+ * pass its `maxLinkLength`, so a copied link never opens an empty viewer
1101
1096
  * unannounced. A document fetched from a URL never appears here, since
1102
1097
  * the snapshot keeps its filehandle.
1103
1098
  *
@@ -1112,7 +1107,8 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
1112
1107
  * `data.treeMetadata`, the name that travels in existing links, so the
1113
1108
  * inline size limit and `treeMetadataFilehandle` cover it. labelWidthMap
1114
1109
  * reads it on every layout, so a malformed user-supplied file returns {}
1115
- * instead of throwing out of rendering.
1110
+ * instead of throwing out of rendering, and every field is a string by
1111
+ * the time a scale sorts it.
1116
1112
  */
1117
1113
  readonly rowData: Record<string, Record<string, string> | undefined>;
1118
1114
  /**
@@ -1890,7 +1886,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
1890
1886
  * replace the row table, which the model keeps as the JSON string
1891
1887
  * `data.treeMetadata` (see docs/layers.md)
1892
1888
  */
1893
- setRowData(rowData: Record<string, Record<string, string>>): void;
1889
+ setRowData(rowData: RowDataInput): void;
1894
1890
  /**
1895
1891
  * #action
1896
1892
  * replace what the viewer's marks read from the row table
@@ -2075,6 +2071,39 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2075
2071
  * is dropped. Row names that match no row are ignored.
2076
2072
  */
2077
2073
  readonly resolvedHighlights: ResolvedHighlight[];
2074
+ /**
2075
+ * #getter
2076
+ * `selection` projected onto what is on screen, the way
2077
+ * `resolvedHighlights` projects a column span and a row set. A
2078
+ * selection whose columns are all hidden, or whose rows are all
2079
+ * collapsed away or unknown, resolves to undefined.
2080
+ */
2081
+ readonly resolvedSelection: ResolvedSelection | undefined;
2082
+ /**
2083
+ * #getter
2084
+ * the columns and rows the selection covers, for the header's readout.
2085
+ * Columns count the file's columns from `start` to `end`, hidden ones
2086
+ * included, as `selectionFasta` copies them.
2087
+ */
2088
+ readonly selectionSize: {
2089
+ columns: number;
2090
+ rows: number;
2091
+ } | undefined;
2092
+ /**
2093
+ * #getter
2094
+ * `selection`'s columns clamped to the file's
2095
+ */
2096
+ readonly selectionFileSpan: {
2097
+ start: number;
2098
+ end: number;
2099
+ } | undefined;
2100
+ /**
2101
+ * #getter
2102
+ * the selected block as FASTA: the selected rows on screen, top to
2103
+ * bottom, each with its letters across the file's columns from `start`
2104
+ * to `end`, gaps included
2105
+ */
2106
+ readonly selectionFasta: string;
2078
2107
  /**
2079
2108
  * #method
2080
2109
  * per-column summary statistics: consensus residue and its identity
@@ -2097,7 +2126,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2097
2126
  /**
2098
2127
  * #getter
2099
2128
  * each encoding with its scale resolved against the values its field
2100
- * takes: a feature channel reads them across the features drawn, every
2129
+ * takes: a feature channel reads them across every feature loaded, every
2101
2130
  * other channel across the row table. Resolved once per change of that
2102
2131
  * table or the encodings, never per row per frame.
2103
2132
  */
@@ -2209,6 +2238,26 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2209
2238
  * its width, or for a span that resolves to no visible column.
2210
2239
  */
2211
2240
  zoomToRegion(region: Region): void;
2241
+ /**
2242
+ * #action
2243
+ * zoom and scroll so the selected columns fill the alignment's width,
2244
+ * and, where the selection names its rows, so those rows fill its height
2245
+ */
2246
+ zoomToSelection(): void;
2247
+ /**
2248
+ * #action
2249
+ * select the block between two cells given as visible column and row
2250
+ * indices, the coordinates a drag reports, clamped to the alignment. A
2251
+ * cell with no `row` selects the columns across every row, and so does a
2252
+ * block spanning every row on screen.
2253
+ */
2254
+ selectBlock(anchor: {
2255
+ col: number;
2256
+ row?: number;
2257
+ }, head: {
2258
+ col: number;
2259
+ row?: number;
2260
+ }): void;
2212
2261
  /**
2213
2262
  * #action
2214
2263
  */
@@ -2217,6 +2266,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2217
2266
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, {
2218
2267
  bgColor: boolean;
2219
2268
  colorSchemeName: string;
2269
+ customColorScheme: Record<string, string> | undefined;
2220
2270
  showColumnStats: boolean;
2221
2271
  msaFormat: import("msa-parsers").MSAFormat | undefined;
2222
2272
  drawLabels: boolean;
@@ -2248,14 +2298,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2248
2298
  scrollX: number;
2249
2299
  colWidth: number;
2250
2300
  treeFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2251
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2301
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2252
2302
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2253
2303
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2254
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2304
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2255
2305
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2256
2306
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2257
2307
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2258
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2308
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2259
2309
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2260
2310
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2261
2311
  }> | {
@@ -2268,14 +2318,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2268
2318
  }> | undefined;
2269
2319
  } | undefined;
2270
2320
  msaFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2271
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2321
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2272
2322
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2273
2323
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2274
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2324
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2275
2325
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2276
2326
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2277
2327
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2278
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2328
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2279
2329
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2280
2330
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2281
2331
  }> | {
@@ -2288,14 +2338,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2288
2338
  }> | undefined;
2289
2339
  } | undefined;
2290
2340
  treeMetadataFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2291
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2341
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2292
2342
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2293
2343
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2294
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2344
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2295
2345
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2296
2346
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2297
2347
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2298
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2348
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2299
2349
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2300
2350
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2301
2351
  }> | {
@@ -2308,14 +2358,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2308
2358
  }> | undefined;
2309
2359
  } | undefined;
2310
2360
  gffFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2311
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2361
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2312
2362
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2313
2363
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2314
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2364
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2315
2365
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2316
2366
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2317
2367
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2318
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2368
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2319
2369
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2320
2370
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2321
2371
  }> | {
@@ -2339,6 +2389,8 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2339
2389
  relativeTo: string | undefined;
2340
2390
  highlightColumns: number[] | undefined;
2341
2391
  highlights: Highlight[];
2392
+ features: Feature[];
2393
+ selection: MsaSelection | undefined;
2342
2394
  region: Region | undefined;
2343
2395
  clades: Clade[];
2344
2396
  encodings: Encoding[];
@@ -2352,6 +2404,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2352
2404
  } | {
2353
2405
  bgColor: boolean;
2354
2406
  colorSchemeName: string;
2407
+ customColorScheme: Record<string, string> | undefined;
2355
2408
  showColumnStats: boolean;
2356
2409
  msaFormat: import("msa-parsers").MSAFormat | undefined;
2357
2410
  drawLabels: boolean;
@@ -2383,14 +2436,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2383
2436
  scrollX: number;
2384
2437
  colWidth: number;
2385
2438
  treeFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2386
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2439
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2387
2440
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2388
2441
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2389
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2442
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2390
2443
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2391
2444
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2392
2445
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2393
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2446
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2394
2447
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2395
2448
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2396
2449
  }> | {
@@ -2403,14 +2456,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2403
2456
  }> | undefined;
2404
2457
  } | undefined;
2405
2458
  msaFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2406
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2459
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2407
2460
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2408
2461
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2409
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2462
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2410
2463
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2411
2464
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2412
2465
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2413
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2466
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2414
2467
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2415
2468
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2416
2469
  }> | {
@@ -2423,14 +2476,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2423
2476
  }> | undefined;
2424
2477
  } | undefined;
2425
2478
  treeMetadataFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2426
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2479
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2427
2480
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2428
2481
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2429
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2482
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2430
2483
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2431
2484
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2432
2485
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2433
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2486
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2434
2487
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2435
2488
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2436
2489
  }> | {
@@ -2443,14 +2496,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2443
2496
  }> | undefined;
2444
2497
  } | undefined;
2445
2498
  gffFilehandle: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2446
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
2499
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"LocalPathLocation">;
2447
2500
  localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2448
2501
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2449
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
2502
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"BlobLocation">;
2450
2503
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2451
2504
  blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2452
2505
  }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
2453
- locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
2506
+ locationType: import("@jbrowse/mobx-state-tree").ILiteralType<"FileHandleLocation">;
2454
2507
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2455
2508
  handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
2456
2509
  }> | {
@@ -2474,6 +2527,8 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
2474
2527
  relativeTo: string | undefined;
2475
2528
  highlightColumns: number[] | undefined;
2476
2529
  highlights: Highlight[];
2530
+ features: Feature[];
2531
+ selection: MsaSelection | undefined;
2477
2532
  region: Region | undefined;
2478
2533
  clades: Clade[];
2479
2534
  encodings: Encoding[];