react-msaview 8.4.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/README.md +19 -10
  2. package/bundle/index.js +74 -74
  3. package/bundle/index.js.map +4 -4
  4. package/dist/colorSchemes.js +1 -3
  5. package/dist/colorSchemes.js.map +1 -1
  6. package/dist/columnCounts.d.ts +0 -1
  7. package/dist/columnCounts.js +1 -1
  8. package/dist/columnCounts.js.map +1 -1
  9. package/dist/components/Loading.js +5 -5
  10. package/dist/components/Loading.js.map +1 -1
  11. package/dist/components/MSAView.js +2 -2
  12. package/dist/components/MSAView.js.map +1 -1
  13. package/dist/components/MSAViewer.d.ts +1892 -7
  14. package/dist/components/MSAViewer.js +144 -202
  15. package/dist/components/MSAViewer.js.map +1 -1
  16. package/dist/components/ResizeHandles.js +4 -3
  17. package/dist/components/ResizeHandles.js.map +1 -1
  18. package/dist/components/Track.js +3 -2
  19. package/dist/components/Track.js.map +1 -1
  20. package/dist/components/controls.d.ts +11 -0
  21. package/dist/components/controls.js +48 -0
  22. package/dist/components/controls.js.map +1 -0
  23. package/dist/components/dialogs/AnnotationFileDialog.js +5 -16
  24. package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -1
  25. package/dist/components/dialogs/ExportSVGDialog.js +5 -7
  26. package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
  27. package/dist/components/dialogs/HelpDialog.d.ts +6 -0
  28. package/dist/components/dialogs/HelpDialog.js +30 -0
  29. package/dist/components/dialogs/HelpDialog.js.map +1 -0
  30. package/dist/components/header/FileMenu.js +33 -7
  31. package/dist/components/header/FileMenu.js.map +1 -1
  32. package/dist/components/header/Header.js +4 -6
  33. package/dist/components/header/Header.js.map +1 -1
  34. package/dist/components/header/TreeSettingsMenu.d.ts +1 -1
  35. package/dist/components/header/TreeSettingsMenu.js +1 -32
  36. package/dist/components/header/TreeSettingsMenu.js.map +1 -1
  37. package/dist/components/header/ZoomControls.js +28 -44
  38. package/dist/components/header/ZoomControls.js.map +1 -1
  39. package/dist/components/header/settingsMenuItems.d.ts +1 -0
  40. package/dist/components/header/settingsMenuItems.js +48 -1
  41. package/dist/components/header/settingsMenuItems.js.map +1 -1
  42. package/dist/components/import/data/seq2.d.ts +0 -1
  43. package/dist/components/import/data/seq2.js +0 -17
  44. package/dist/components/import/data/seq2.js.map +1 -1
  45. package/dist/components/msa/MSACanvas.js +2 -1
  46. package/dist/components/msa/MSACanvas.js.map +1 -1
  47. package/dist/components/msa/MSACanvasBlock.js +2 -5
  48. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  49. package/dist/components/msa/drawFeatureSpans.d.ts +50 -11
  50. package/dist/components/msa/drawFeatureSpans.js +99 -56
  51. package/dist/components/msa/drawFeatureSpans.js.map +1 -1
  52. package/dist/components/msa/msaRaster.d.ts +14 -1
  53. package/dist/components/msa/msaRaster.js +19 -9
  54. package/dist/components/msa/msaRaster.js.map +1 -1
  55. package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +9 -0
  56. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +19 -8
  57. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  58. package/dist/components/msa/renderHighlights.d.ts +2 -2
  59. package/dist/components/msa/renderHighlights.js +2 -3
  60. package/dist/components/msa/renderHighlights.js.map +1 -1
  61. package/dist/components/msa/renderMSAMouseover.js +2 -1
  62. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  63. package/dist/components/renderCtx.d.ts +1 -1
  64. package/dist/components/rowpanels/renderFeaturePanel.d.ts +5 -1
  65. package/dist/components/rowpanels/renderFeaturePanel.js +12 -5
  66. package/dist/components/rowpanels/renderFeaturePanel.js.map +1 -1
  67. package/dist/components/tracks/drawTracks.d.ts +1 -53
  68. package/dist/components/tracks/drawTracks.js +5 -5
  69. package/dist/components/tracks/drawTracks.js.map +1 -1
  70. package/dist/components/tree/CladeLabels.d.ts +1 -1
  71. package/dist/components/tree/CladeLabels.js +22 -34
  72. package/dist/components/tree/CladeLabels.js.map +1 -1
  73. package/dist/components/tree/TreeCanvas.js +4 -4
  74. package/dist/components/tree/TreeCanvas.js.map +1 -1
  75. package/dist/components/tree/TreeCanvasBlock.js +4 -4
  76. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  77. package/dist/components/tree/TreeOverview.js +10 -5
  78. package/dist/components/tree/TreeOverview.js.map +1 -1
  79. package/dist/components/tree/TreePanel.js +6 -2
  80. package/dist/components/tree/TreePanel.js.map +1 -1
  81. package/dist/components/tree/TreeRuler.js +2 -2
  82. package/dist/components/tree/TreeRuler.js.map +1 -1
  83. package/dist/components/tree/cladeBrackets.d.ts +22 -17
  84. package/dist/components/tree/cladeBrackets.js +40 -9
  85. package/dist/components/tree/cladeBrackets.js.map +1 -1
  86. package/dist/components/tree/clickMap.d.ts +2 -0
  87. package/dist/components/tree/clickMap.js.map +1 -1
  88. package/dist/components/tree/ellipsize.d.ts +8 -0
  89. package/dist/components/tree/ellipsize.js +20 -0
  90. package/dist/components/tree/ellipsize.js.map +1 -0
  91. package/dist/components/tree/renderTreeCanvas.js +30 -32
  92. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  93. package/dist/components/tree/renderTreeMouseover.js +1 -1
  94. package/dist/components/tree/renderTreeMouseover.js.map +1 -1
  95. package/dist/components/tree/renderTreeOverview.js +4 -11
  96. package/dist/components/tree/renderTreeOverview.js.map +1 -1
  97. package/dist/constants.d.ts +6 -3
  98. package/dist/constants.js +16 -6
  99. package/dist/constants.js.map +1 -1
  100. package/dist/element.js +3 -6
  101. package/dist/element.js.map +1 -1
  102. package/dist/exportLayout.d.ts +39 -0
  103. package/dist/exportLayout.js +78 -0
  104. package/dist/exportLayout.js.map +1 -0
  105. package/dist/headlessRenderEnv.d.ts +12 -39
  106. package/dist/headlessRenderEnv.js +18 -12
  107. package/dist/headlessRenderEnv.js.map +1 -1
  108. package/dist/hierarchy.d.ts +5 -8
  109. package/dist/hierarchy.js +5 -79
  110. package/dist/hierarchy.js.map +1 -1
  111. package/dist/index.d.ts +3 -1
  112. package/dist/index.js +4 -1
  113. package/dist/index.js.map +1 -1
  114. package/dist/measureTextCanvas.d.ts +7 -0
  115. package/dist/measureTextCanvas.js +10 -8
  116. package/dist/measureTextCanvas.js.map +1 -1
  117. package/dist/model/treeModel.d.ts +14 -25
  118. package/dist/model/treeModel.js +16 -30
  119. package/dist/model/treeModel.js.map +1 -1
  120. package/dist/model.d.ts +108 -79
  121. package/dist/model.js +258 -209
  122. package/dist/model.js.map +1 -1
  123. package/dist/renderToSvg.d.ts +2 -7
  124. package/dist/renderToSvg.js +49 -135
  125. package/dist/renderToSvg.js.map +1 -1
  126. package/dist/svgTestUtil.d.ts +48 -48
  127. package/dist/tipLabels.d.ts +8 -0
  128. package/dist/tipLabels.js +46 -0
  129. package/dist/tipLabels.js.map +1 -0
  130. package/dist/types.d.ts +0 -1
  131. package/dist/version.d.ts +1 -1
  132. package/dist/version.js +1 -1
  133. package/dist/viewerSnapshot.d.ts +169 -0
  134. package/dist/viewerSnapshot.js +100 -0
  135. package/dist/viewerSnapshot.js.map +1 -0
  136. package/package.json +3 -3
  137. package/src/colorSchemes.ts +1 -4
  138. package/src/columnCounts.ts +1 -1
  139. package/src/components/Loading.tsx +19 -12
  140. package/src/components/MSAView.tsx +2 -2
  141. package/src/components/MSAViewer.tsx +276 -256
  142. package/src/components/ResizeHandles.tsx +10 -3
  143. package/src/components/Track.tsx +3 -2
  144. package/src/components/controls.ts +61 -0
  145. package/src/components/dialogs/AnnotationFileDialog.tsx +5 -21
  146. package/src/components/dialogs/ExportSVGDialog.tsx +8 -19
  147. package/src/components/dialogs/HelpDialog.tsx +79 -0
  148. package/src/components/header/FileMenu.tsx +33 -7
  149. package/src/components/header/Header.tsx +4 -6
  150. package/src/components/header/TreeSettingsMenu.tsx +2 -32
  151. package/src/components/header/ZoomControls.tsx +30 -66
  152. package/src/components/header/settingsMenuItems.ts +67 -0
  153. package/src/components/import/data/seq2.ts +0 -18
  154. package/src/components/msa/MSACanvas.tsx +2 -1
  155. package/src/components/msa/MSACanvasBlock.tsx +2 -6
  156. package/src/components/msa/drawFeatureSpans.ts +160 -79
  157. package/src/components/msa/msaRaster.ts +27 -9
  158. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +39 -24
  159. package/src/components/msa/renderHighlights.ts +2 -3
  160. package/src/components/msa/renderMSAMouseover.ts +5 -1
  161. package/src/components/renderCtx.ts +0 -1
  162. package/src/components/rowpanels/renderFeaturePanel.ts +26 -7
  163. package/src/components/tracks/drawTracks.ts +5 -5
  164. package/src/components/tree/CladeLabels.tsx +30 -54
  165. package/src/components/tree/TreeCanvas.tsx +10 -4
  166. package/src/components/tree/TreeCanvasBlock.tsx +4 -4
  167. package/src/components/tree/TreeOverview.tsx +10 -5
  168. package/src/components/tree/TreePanel.tsx +8 -2
  169. package/src/components/tree/TreeRuler.tsx +7 -3
  170. package/src/components/tree/cladeBrackets.ts +59 -19
  171. package/src/components/tree/clickMap.ts +2 -0
  172. package/src/components/tree/ellipsize.ts +24 -0
  173. package/src/components/tree/renderTreeCanvas.ts +37 -36
  174. package/src/components/tree/renderTreeMouseover.ts +1 -1
  175. package/src/components/tree/renderTreeOverview.ts +7 -14
  176. package/src/constants.ts +17 -6
  177. package/src/element.ts +3 -7
  178. package/src/exportLayout.ts +134 -0
  179. package/src/headlessRenderEnv.ts +24 -11
  180. package/src/hierarchy.ts +5 -88
  181. package/src/index.ts +5 -5
  182. package/src/measureTextCanvas.ts +10 -8
  183. package/src/model/treeModel.ts +17 -34
  184. package/src/model.ts +296 -243
  185. package/src/renderToSvg.tsx +72 -209
  186. package/src/tipLabels.ts +51 -0
  187. package/src/types.ts +0 -1
  188. package/src/version.ts +1 -1
  189. package/src/viewerSnapshot.ts +147 -0
  190. package/dist/components/header/ZoomMenu.d.ts +0 -6
  191. package/dist/components/header/ZoomMenu.js +0 -37
  192. package/dist/components/header/ZoomMenu.js.map +0 -1
  193. package/src/components/header/ZoomMenu.tsx +0 -48
@@ -14,15 +14,18 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
14
14
  labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
15
15
  /**
16
16
  * #property
17
- * width of the area the tree is drawn in, px
17
+ * width of the area the tree and its labels draw in, px. Undefined fits
18
+ * the area to the labels and the tree; `effectiveTreeAreaWidth` reads
19
+ * the width either way
18
20
  */
19
- treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
21
+ treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
20
22
  /**
21
23
  * #property
22
- * width of the tree within the treeArea, px. automatically synced to
23
- * fit within treeAreaWidth
24
+ * width of the tree within the tree area, px. Undefined gives the tree
25
+ * the area less the labels; `effectiveTreeWidth` reads the width either
26
+ * way
24
27
  */
25
- treeWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
28
+ treeWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
26
29
  /**
27
30
  * #property
28
31
  * use "branch length" e.g. evolutionary distance to draw tree branch
@@ -64,24 +67,19 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
64
67
  * height of the tree overview band, px
65
68
  */
66
69
  overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
67
- /**
68
- * #property
69
- * auto-size treeAreaWidth to fit the row labels (plus the tree, if drawn)
70
- * instead of using a fixed width. useful when there is no tree, so the
71
- * label gutter isn't padded out to the default 400px
72
- */
73
- autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
74
70
  }, {
75
71
  /**
76
72
  * #action
77
- * set tree area width (px)
73
+ * set the tree area width, px, or undefined to fit it to the labels and
74
+ * the tree. The tree then fills the area less the labels
78
75
  */
79
- setTreeAreaWidth(n: number): void;
76
+ setTreeAreaWidth(n: number | undefined): void;
80
77
  /**
81
78
  * #action
82
- * set tree width (px)
79
+ * set the tree width, px, or undefined to fill the tree area less the
80
+ * labels
83
81
  */
84
- setTreeWidth(n: number): void;
82
+ setTreeWidth(n: number | undefined): void;
85
83
  /**
86
84
  * #action
87
85
  */
@@ -90,10 +88,6 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
90
88
  * #action
91
89
  */
92
90
  setDrawTree(arg: boolean): void;
93
- /**
94
- * #action
95
- */
96
- setAutoTreeAreaWidth(arg: boolean): void;
97
91
  /**
98
92
  * #action
99
93
  */
@@ -114,11 +108,6 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
114
108
  * #action
115
109
  */
116
110
  setShowTreeOverview(arg: boolean): void;
117
- /**
118
- * #action
119
- * set the height of the tree overview band (px)
120
- */
121
- setOverviewHeight(n: number): void;
122
111
  /**
123
112
  * #action
124
113
  */
@@ -1,5 +1,5 @@
1
1
  import { types } from '@jbrowse/mobx-state-tree';
2
- import { defaultDrawLabels, defaultDrawNodeBubbles, defaultDrawNodeLabels, defaultDrawTree, defaultLabelsAlignRight, defaultOverviewHeight, defaultShowBranchLen, defaultTreeOrder, defaultShowTreeOverview, defaultTreeAreaWidth, defaultTreeWidth, treeOrders, } from '../constants.js';
2
+ import { defaultDrawLabels, defaultDrawNodeBubbles, defaultDrawNodeLabels, defaultDrawTree, defaultLabelsAlignRight, defaultOverviewHeight, defaultShowBranchLen, defaultTreeOrder, defaultShowTreeOverview, treeOrders, } from '../constants.js';
3
3
  import { stripDefault } from '../stripDefault.js';
4
4
  /**
5
5
  * #stateModel Tree
@@ -18,15 +18,18 @@ export function TreeModelF() {
18
18
  labelsAlignRight: stripDefault(types.boolean, defaultLabelsAlignRight),
19
19
  /**
20
20
  * #property
21
- * width of the area the tree is drawn in, px
21
+ * width of the area the tree and its labels draw in, px. Undefined fits
22
+ * the area to the labels and the tree; `effectiveTreeAreaWidth` reads
23
+ * the width either way
22
24
  */
23
- treeAreaWidth: stripDefault(types.number, defaultTreeAreaWidth),
25
+ treeAreaWidth: types.maybe(types.number),
24
26
  /**
25
27
  * #property
26
- * width of the tree within the treeArea, px. automatically synced to
27
- * fit within treeAreaWidth
28
+ * width of the tree within the tree area, px. Undefined gives the tree
29
+ * the area less the labels; `effectiveTreeWidth` reads the width either
30
+ * way
28
31
  */
29
- treeWidth: stripDefault(types.number, defaultTreeWidth),
32
+ treeWidth: types.maybe(types.number),
30
33
  /**
31
34
  * #property
32
35
  * use "branch length" e.g. evolutionary distance to draw tree branch
@@ -68,28 +71,24 @@ export function TreeModelF() {
68
71
  * height of the tree overview band, px
69
72
  */
70
73
  overviewHeight: stripDefault(types.number, defaultOverviewHeight),
71
- /**
72
- * #property
73
- * auto-size treeAreaWidth to fit the row labels (plus the tree, if drawn)
74
- * instead of using a fixed width. useful when there is no tree, so the
75
- * label gutter isn't padded out to the default 400px
76
- */
77
- autoTreeAreaWidth: stripDefault(types.boolean, false),
78
74
  })
79
75
  .actions(self => ({
80
76
  /**
81
77
  * #action
82
- * set tree area width (px)
78
+ * set the tree area width, px, or undefined to fit it to the labels and
79
+ * the tree. The tree then fills the area less the labels
83
80
  */
84
81
  setTreeAreaWidth(n) {
85
- self.treeAreaWidth = Math.round(n);
82
+ self.treeAreaWidth = n === undefined ? undefined : Math.round(n);
83
+ self.treeWidth = undefined;
86
84
  },
87
85
  /**
88
86
  * #action
89
- * set tree width (px)
87
+ * set the tree width, px, or undefined to fill the tree area less the
88
+ * labels
90
89
  */
91
90
  setTreeWidth(n) {
92
- self.treeWidth = Math.round(n);
91
+ self.treeWidth = n === undefined ? undefined : Math.round(n);
93
92
  },
94
93
  /**
95
94
  * #action
@@ -103,12 +102,6 @@ export function TreeModelF() {
103
102
  setDrawTree(arg) {
104
103
  self.drawTree = arg;
105
104
  },
106
- /**
107
- * #action
108
- */
109
- setAutoTreeAreaWidth(arg) {
110
- self.autoTreeAreaWidth = arg;
111
- },
112
105
  /**
113
106
  * #action
114
107
  */
@@ -139,13 +132,6 @@ export function TreeModelF() {
139
132
  setShowTreeOverview(arg) {
140
133
  self.showTreeOverview = arg;
141
134
  },
142
- /**
143
- * #action
144
- * set the height of the tree overview band (px)
145
- */
146
- setOverviewHeight(n) {
147
- self.overviewHeight = Math.round(n);
148
- },
149
135
  /**
150
136
  * #action
151
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"treeModel.js","sourceRoot":"","sources":["../../src/model/treeModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treeModel.js","sourceRoot":"","sources":["../../src/model/treeModel.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -5,7 +5,6 @@ import type { ExportSvgOptions } from './renderToSvg.tsx';
5
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
- import type { InterProScanResults } from 'msa-parsers';
9
8
  export declare const defaultTrackHeights: Partial<Record<TrackKind, number>>;
10
9
  type StripPanelScale = Omit<ResolvedStripPanel, 'id' | 'width' | 'offsetX'>;
11
10
  type FeaturePanelScale = Omit<ResolvedFeaturePanel, 'id' | 'width' | 'offsetX' | 'spans'>;
@@ -49,11 +48,11 @@ export declare const preservedOnReset: Set<string>;
49
48
  */
50
49
  declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
51
50
  maxInlineSnapshotBytes?: number;
52
- }): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
51
+ }): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
53
52
  drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
54
53
  labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
55
- treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
56
- treeWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
54
+ treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
55
+ treeWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
57
56
  showBranchLen: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
58
57
  treeOrder: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<TreeOrder>, [undefined]>;
59
58
  drawTree: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
@@ -61,7 +60,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
61
60
  drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
62
61
  showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
63
62
  overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
64
- autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
65
63
  }, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
66
64
  bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
67
65
  colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
@@ -603,9 +601,10 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
603
601
  /**
604
602
  * #property
605
603
  * where the view opens, in `highlights` coordinates: `{row, start,
606
- * end}` zooms onto residues of that row, `{start, end}` onto alignment
607
- * columns. Applied once the alignment and any tree file have loaded,
608
- * then cleared, so a reloaded session keeps the reader's own scroll.
604
+ * end}` zooms onto residues of that row and scrolls the row to the
605
+ * middle, `{start, end}` zooms onto alignment columns. Applied once the
606
+ * alignment and any tree file have loaded, then cleared, so a reloaded
607
+ * session keeps the reader's own scroll.
609
608
  */
610
609
  region: import("@jbrowse/mobx-state-tree").IType<Region | undefined, Region | undefined, Region | undefined>;
611
610
  /**
@@ -643,17 +642,15 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
643
642
  removeActiveDialog(): void;
644
643
  queueDialog(cb: (doneCallback: () => void) => [import("@jbrowse/core/util").DialogComponentType, unknown]): void;
645
644
  } & {
646
- setTreeAreaWidth(n: number): void;
647
- setTreeWidth(n: number): void;
645
+ setTreeAreaWidth(n: number | undefined): void;
646
+ setTreeWidth(n: number | undefined): void;
648
647
  setLabelsAlignRight(arg: boolean): void;
649
648
  setDrawTree(arg: boolean): void;
650
- setAutoTreeAreaWidth(arg: boolean): void;
651
649
  setShowBranchLen(arg: boolean): void;
652
650
  setTreeOrder(order: TreeOrder): void;
653
651
  setDrawNodeBubbles(arg: boolean): void;
654
652
  setDrawNodeLabels(arg: boolean): void;
655
653
  setShowTreeOverview(arg: boolean): void;
656
- setOverviewHeight(n: number): void;
657
654
  setDrawLabels(arg: boolean): void;
658
655
  } & {
659
656
  setColorSchemeName(name: string): void;
@@ -672,6 +669,12 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
672
669
  * of the snapshot so a link opened in the full app shows the toolbar.
673
670
  */
674
671
  hideHeader: boolean;
672
+ /**
673
+ * #volatile
674
+ * shows the import form while the view has no data. MSAViewer turns it
675
+ * off, since its host supplies the data and the form is the demo app's
676
+ */
677
+ importForm: boolean;
675
678
  /**
676
679
  * #volatile
677
680
  */
@@ -1014,13 +1017,11 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1014
1017
  } & {
1015
1018
  /**
1016
1019
  * #getter
1017
- * hideGaps takes effect when there are collapsed rows or allowedGappyness < 100
1020
+ * hideGaps takes effect when a collapse or a focus hides rows, whose
1021
+ * residues leave columns all gaps among the rest, or when
1022
+ * allowedGappyness is under 100
1018
1023
  */
1019
1024
  readonly hideGapsEffective: boolean;
1020
- /**
1021
- * #getter
1022
- */
1023
- readonly realAllowedGappyness: number;
1024
1025
  /**
1025
1026
  * #getter
1026
1027
  * the annotations the overlay, the legend and the encodings draw: the
@@ -1105,10 +1106,10 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1105
1106
  * the row table: extra fields per row, keyed by row name, which the
1106
1107
  * `encodings` channels read. It is stored as the JSON string
1107
1108
  * `data.treeMetadata`, the name that travels in existing links, so the
1108
- * inline size limit and `treeMetadataFilehandle` cover it. labelWidthMap
1109
- * reads it on every layout, so a malformed user-supplied file returns {}
1110
- * instead of throwing out of rendering, and every field is a string by
1111
- * the time a scale sorts it.
1109
+ * inline size limit and `treeMetadataFilehandle` cover it. The tree area
1110
+ * fit reads it on every layout, so a malformed user-supplied file
1111
+ * returns {} instead of throwing out of rendering, and every field is a
1112
+ * string by the time a scale sorts it.
1112
1113
  */
1113
1114
  readonly rowData: Record<string, Record<string, string> | undefined>;
1114
1115
  /**
@@ -1168,6 +1169,60 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1168
1169
  * where no clade draws a bar or a label.
1169
1170
  */
1170
1171
  readonly cladeGutterWidth: number;
1172
+ /**
1173
+ * #getter
1174
+ * whether a tree draws beside the labels: false for a file with no
1175
+ * tree, and with drawTree off
1176
+ */
1177
+ readonly treeDrawn: boolean;
1178
+ /**
1179
+ * #getter
1180
+ * the leaf names of the whole tree and its depth in levels. The fit
1181
+ * reads these, so a collapse or a focus leaves the tree area as it is
1182
+ */
1183
+ readonly treeTips: {
1184
+ names: string[];
1185
+ depth: number;
1186
+ };
1187
+ /**
1188
+ * #getter
1189
+ * the widest tip label at labelFitFontSize, measured whether or not a
1190
+ * zoom hides the labels
1191
+ */
1192
+ readonly maxTipLabelWidth: number;
1193
+ /**
1194
+ * #getter
1195
+ * the px the tip labels take across the tree area: the widest label at
1196
+ * labelFitFontSize and the gaps either side of it, or 0 with drawLabels
1197
+ * off
1198
+ */
1199
+ readonly labelColumnWidth: number;
1200
+ /**
1201
+ * #getter
1202
+ * the tree area width while treeAreaWidth is undefined: the label column
1203
+ * beside a tree that widens with its depth, up to maxTreeAreaShare of the
1204
+ * view, or the room the row panels leave where there is no alignment.
1205
+ * Where that binds, the tree keeps minTreeWidth and the renderer
1206
+ * ellipsizes the labels
1207
+ */
1208
+ readonly fittedTreeAreaWidth: number;
1209
+ /**
1210
+ * #getter
1211
+ * the width of the area the tree and its labels draw in, px:
1212
+ * treeAreaWidth where set, the fit otherwise
1213
+ */
1214
+ readonly effectiveTreeAreaWidth: number;
1215
+ /**
1216
+ * #getter
1217
+ * the width of the tree, px: treeWidth where set, otherwise the tree
1218
+ * area less the label column, which a zoom hiding the labels gives to
1219
+ * the tree
1220
+ */
1221
+ readonly effectiveTreeWidth: number;
1222
+ /**
1223
+ * #getter
1224
+ */
1225
+ readonly showTreeText: boolean;
1171
1226
  /**
1172
1227
  * #getter
1173
1228
  */
@@ -1206,7 +1261,7 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1206
1261
  * any band size.
1207
1262
  */
1208
1263
  readonly treeOverviewLayout: {
1209
- root: HierarchyNode<NodeWithIds>;
1264
+ root: import("./hierarchy.ts").LaidOutNode<NodeWithIds>;
1210
1265
  numTips: number;
1211
1266
  maxDepthToLeaf: number;
1212
1267
  showBranchLen: boolean;
@@ -1288,11 +1343,17 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1288
1343
  * lazily per row and cached on the parse.
1289
1344
  */
1290
1345
  seqPosIndex(rowName: string): Int32Array | undefined;
1346
+ /**
1347
+ * #method
1348
+ * the row's aligned sequence by the name the tree gives it, including
1349
+ * rows a collapsed clade hides. `MSA.getRow` resolves a FASTA name whose
1350
+ * colon a Newick tool wrote as an underscore, which `rowMap` does not
1351
+ */
1352
+ rowSequence(name: string): string | undefined;
1291
1353
  /**
1292
1354
  * #getter
1293
- * every sequence in the alignment, keyed by row name, including rows a
1294
- * collapsed clade hides. `rows` holds only the rows on screen; lookups
1295
- * by row name use this
1355
+ * every sequence in the alignment, keyed by the alignment's own row
1356
+ * names, including rows a collapsed clade hides
1296
1357
  */
1297
1358
  readonly rowMap: Map<string, string>;
1298
1359
  /**
@@ -1357,9 +1418,9 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1357
1418
  /**
1358
1419
  * #getter
1359
1420
  * `root` laid out on new nodes in row and branch-length units, read in
1360
- * pixels through `rowHeight` and `treeWidth`. A zoom leaves it and every
1361
- * node in it as they are, and an observer reading a node's `x` or `len`
1362
- * observes the size it scales by.
1421
+ * pixels through `rowHeight` and `effectiveTreeWidth`. A zoom leaves it
1422
+ * and every node in it as they are, and an observer reading a node's `x`
1423
+ * or `len` observes the size it scales by.
1363
1424
  */
1364
1425
  readonly treeLayout: {
1365
1426
  root: import("./hierarchy.ts").LaidOutNode<NodeWithIds>;
@@ -1385,12 +1446,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1385
1446
  * the tree's own units
1386
1447
  */
1387
1448
  readonly rootToTipLength: number;
1388
- /**
1389
- * #getter
1390
- * x-position of the farthest tip in a phylogram, px: treeWidth, or 0 for
1391
- * a tree with no branch lengths (drawn as a cladogram)
1392
- */
1393
- readonly maxBranchLength: number;
1394
1449
  /**
1395
1450
  * #getter
1396
1451
  * pixels per unit of branch length in the phylogram layout, 0 in
@@ -1421,10 +1476,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1421
1476
  * #getter
1422
1477
  */
1423
1478
  readonly showMsaLetters: boolean;
1424
- /**
1425
- * #getter
1426
- */
1427
- readonly showTreeText: boolean;
1428
1479
  } & {
1429
1480
  /**
1430
1481
  * #getter
@@ -1456,17 +1507,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1456
1507
  */
1457
1508
  readonly columnTrackModels: BasicTrack[];
1458
1509
  } & {
1459
- /**
1460
- * #getter
1461
- */
1462
- readonly labelWidthMap: Map<string, number>;
1463
- /**
1464
- * #getter
1465
- * factor turning a labelWidthMap entry into its width at the current
1466
- * font size
1467
- */
1468
- readonly labelWidthScale: number;
1469
- readonly labelsWidth: number;
1470
1510
  /**
1471
1511
  * #getter
1472
1512
  */
@@ -1794,7 +1834,9 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1794
1834
  * #action
1795
1835
  * swap in a different tree over the same alignment. Clears `collapsed`,
1796
1836
  * `rotated` and `showOnly`, since path-derived node ids (node-0-0-1) from the old
1797
- * tree would match unrelated nodes in the new one.
1837
+ * tree would match unrelated nodes in the new one, and the tree's
1838
+ * filehandle, which the snapshot would otherwise reopen in place of
1839
+ * the new tree
1798
1840
  */
1799
1841
  replaceTree(newick: string): void;
1800
1842
  /**
@@ -1807,22 +1849,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1807
1849
  * zoom by `scaleFactor` about the center of the alignment area
1808
1850
  */
1809
1851
  zoomAtCenter(scaleFactor: number, axis?: ScrollZoomAxis): void;
1810
- /**
1811
- * #action
1812
- */
1813
- zoomOutHorizontal(): void;
1814
- /**
1815
- * #action
1816
- */
1817
- zoomInHorizontal(): void;
1818
- /**
1819
- * #action
1820
- */
1821
- zoomInVertical(): void;
1822
- /**
1823
- * #action
1824
- */
1825
- zoomOutVertical(): void;
1826
1852
  /**
1827
1853
  * #action
1828
1854
  */
@@ -1861,13 +1887,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
1861
1887
  * GFF and must keep a hidden overlay hidden.
1862
1888
  */
1863
1889
  setAnnotations(annotations: Annotation[]): void;
1864
- /**
1865
- * #action
1866
- * set the overlay from raw InterProScan results keyed by row name. Kept
1867
- * for downstream plugins that hold the EBI wire format; new code should
1868
- * adapt to Annotation[] and call setAnnotations.
1869
- */
1870
- setDomains(data?: Record<string, InterProScanResults>): void;
1871
1890
  applyGFFText(gffText: string): void;
1872
1891
  /**
1873
1892
  * #action
@@ -2189,6 +2208,10 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
2189
2208
  * #action
2190
2209
  */
2191
2210
  setHideHeader(arg: boolean): void;
2211
+ /**
2212
+ * #action
2213
+ */
2214
+ setImportForm(arg: boolean): void;
2192
2215
  /**
2193
2216
  * #action
2194
2217
  * focus the subtree a click `y` pixels down the tree overview lands on.
@@ -2238,6 +2261,14 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
2238
2261
  * its width, or for a span that resolves to no visible column.
2239
2262
  */
2240
2263
  zoomToRegion(region: Region): void;
2264
+ /**
2265
+ * #action
2266
+ * zoomToRegion, and for a region naming a row, also scroll that row to
2267
+ * the middle of the alignment, as Go to does. What `region` opens on; a
2268
+ * caller following a range as it moves wants zoomToRegion alone, which
2269
+ * leaves the reader's vertical scroll where they put it.
2270
+ */
2271
+ revealRegion(region: Region): void;
2241
2272
  /**
2242
2273
  * #action
2243
2274
  * zoom and scroll so the selected columns fill the alignment's width,
@@ -2271,8 +2302,8 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
2271
2302
  msaFormat: import("msa-parsers").MSAFormat | undefined;
2272
2303
  drawLabels: boolean;
2273
2304
  labelsAlignRight: boolean;
2274
- treeAreaWidth: number;
2275
- treeWidth: number;
2305
+ treeAreaWidth: number | undefined;
2306
+ treeWidth: number | undefined;
2276
2307
  showBranchLen: boolean;
2277
2308
  treeOrder: TreeOrder;
2278
2309
  drawTree: boolean;
@@ -2280,7 +2311,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
2280
2311
  drawNodeLabels: boolean;
2281
2312
  showTreeOverview: boolean;
2282
2313
  overviewHeight: number;
2283
- autoTreeAreaWidth: boolean;
2284
2314
  columnTracks: ColumnTrackSpec[];
2285
2315
  id: string;
2286
2316
  showDomains: boolean;
@@ -2409,8 +2439,8 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
2409
2439
  msaFormat: import("msa-parsers").MSAFormat | undefined;
2410
2440
  drawLabels: boolean;
2411
2441
  labelsAlignRight: boolean;
2412
- treeAreaWidth: number;
2413
- treeWidth: number;
2442
+ treeAreaWidth: number | undefined;
2443
+ treeWidth: number | undefined;
2414
2444
  showBranchLen: boolean;
2415
2445
  treeOrder: TreeOrder;
2416
2446
  drawTree: boolean;
@@ -2418,7 +2448,6 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
2418
2448
  drawNodeLabels: boolean;
2419
2449
  showTreeOverview: boolean;
2420
2450
  overviewHeight: number;
2421
- autoTreeAreaWidth: boolean;
2422
2451
  columnTracks?: undefined;
2423
2452
  id: string;
2424
2453
  showDomains: boolean;