react-msaview 9.0.0 → 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 (157) 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/MSAViewer.d.ts +1891 -4
  12. package/dist/components/MSAViewer.js +144 -201
  13. package/dist/components/MSAViewer.js.map +1 -1
  14. package/dist/components/ResizeHandles.js +3 -2
  15. package/dist/components/ResizeHandles.js.map +1 -1
  16. package/dist/components/Track.js +2 -1
  17. package/dist/components/Track.js.map +1 -1
  18. package/dist/components/controls.d.ts +11 -0
  19. package/dist/components/controls.js +48 -0
  20. package/dist/components/controls.js.map +1 -0
  21. package/dist/components/dialogs/AnnotationFileDialog.js +5 -16
  22. package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -1
  23. package/dist/components/dialogs/ExportSVGDialog.js +5 -7
  24. package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
  25. package/dist/components/dialogs/HelpDialog.d.ts +6 -0
  26. package/dist/components/dialogs/HelpDialog.js +30 -0
  27. package/dist/components/dialogs/HelpDialog.js.map +1 -0
  28. package/dist/components/header/FileMenu.js +33 -7
  29. package/dist/components/header/FileMenu.js.map +1 -1
  30. package/dist/components/header/Header.js +4 -6
  31. package/dist/components/header/Header.js.map +1 -1
  32. package/dist/components/header/TreeSettingsMenu.d.ts +1 -1
  33. package/dist/components/header/TreeSettingsMenu.js +1 -32
  34. package/dist/components/header/TreeSettingsMenu.js.map +1 -1
  35. package/dist/components/header/ZoomControls.js +28 -44
  36. package/dist/components/header/ZoomControls.js.map +1 -1
  37. package/dist/components/header/settingsMenuItems.d.ts +1 -0
  38. package/dist/components/header/settingsMenuItems.js +44 -0
  39. package/dist/components/header/settingsMenuItems.js.map +1 -1
  40. package/dist/components/import/data/seq2.d.ts +0 -1
  41. package/dist/components/import/data/seq2.js +0 -17
  42. package/dist/components/import/data/seq2.js.map +1 -1
  43. package/dist/components/msa/MSACanvas.js +2 -1
  44. package/dist/components/msa/MSACanvas.js.map +1 -1
  45. package/dist/components/msa/MSACanvasBlock.js +2 -5
  46. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  47. package/dist/components/msa/drawFeatureSpans.d.ts +50 -11
  48. package/dist/components/msa/drawFeatureSpans.js +99 -56
  49. package/dist/components/msa/drawFeatureSpans.js.map +1 -1
  50. package/dist/components/msa/msaRaster.d.ts +14 -1
  51. package/dist/components/msa/msaRaster.js +19 -9
  52. package/dist/components/msa/msaRaster.js.map +1 -1
  53. package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +9 -0
  54. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +19 -8
  55. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  56. package/dist/components/msa/renderHighlights.d.ts +2 -2
  57. package/dist/components/msa/renderHighlights.js +2 -3
  58. package/dist/components/msa/renderHighlights.js.map +1 -1
  59. package/dist/components/msa/renderMSAMouseover.js +2 -1
  60. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  61. package/dist/components/renderCtx.d.ts +1 -1
  62. package/dist/components/rowpanels/renderFeaturePanel.d.ts +5 -1
  63. package/dist/components/rowpanels/renderFeaturePanel.js +12 -5
  64. package/dist/components/rowpanels/renderFeaturePanel.js.map +1 -1
  65. package/dist/components/tracks/drawTracks.d.ts +1 -53
  66. package/dist/components/tracks/drawTracks.js +5 -5
  67. package/dist/components/tracks/drawTracks.js.map +1 -1
  68. package/dist/components/tree/CladeLabels.d.ts +1 -1
  69. package/dist/components/tree/CladeLabels.js +22 -34
  70. package/dist/components/tree/CladeLabels.js.map +1 -1
  71. package/dist/components/tree/cladeBrackets.d.ts +17 -10
  72. package/dist/components/tree/cladeBrackets.js +33 -3
  73. package/dist/components/tree/cladeBrackets.js.map +1 -1
  74. package/dist/components/tree/renderTreeCanvas.js +2 -8
  75. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  76. package/dist/components/tree/renderTreeOverview.js +4 -11
  77. package/dist/components/tree/renderTreeOverview.js.map +1 -1
  78. package/dist/element.js +3 -6
  79. package/dist/element.js.map +1 -1
  80. package/dist/exportLayout.d.ts +39 -0
  81. package/dist/exportLayout.js +78 -0
  82. package/dist/exportLayout.js.map +1 -0
  83. package/dist/headlessRenderEnv.d.ts +12 -39
  84. package/dist/headlessRenderEnv.js +18 -12
  85. package/dist/headlessRenderEnv.js.map +1 -1
  86. package/dist/hierarchy.d.ts +5 -8
  87. package/dist/hierarchy.js +5 -79
  88. package/dist/hierarchy.js.map +1 -1
  89. package/dist/index.d.ts +3 -1
  90. package/dist/index.js +4 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/measureTextCanvas.d.ts +7 -0
  93. package/dist/measureTextCanvas.js +8 -6
  94. package/dist/measureTextCanvas.js.map +1 -1
  95. package/dist/model/treeModel.d.ts +0 -5
  96. package/dist/model/treeModel.js +0 -7
  97. package/dist/model/treeModel.js.map +1 -1
  98. package/dist/model.d.ts +38 -44
  99. package/dist/model.js +153 -112
  100. package/dist/model.js.map +1 -1
  101. package/dist/renderToSvg.d.ts +2 -7
  102. package/dist/renderToSvg.js +32 -120
  103. package/dist/renderToSvg.js.map +1 -1
  104. package/dist/svgTestUtil.d.ts +12 -20
  105. package/dist/types.d.ts +0 -1
  106. package/dist/version.d.ts +1 -1
  107. package/dist/version.js +1 -1
  108. package/dist/viewerSnapshot.d.ts +169 -0
  109. package/dist/viewerSnapshot.js +100 -0
  110. package/dist/viewerSnapshot.js.map +1 -0
  111. package/package.json +3 -3
  112. package/src/colorSchemes.ts +1 -4
  113. package/src/columnCounts.ts +1 -1
  114. package/src/components/Loading.tsx +19 -12
  115. package/src/components/MSAViewer.tsx +275 -251
  116. package/src/components/ResizeHandles.tsx +9 -2
  117. package/src/components/Track.tsx +2 -1
  118. package/src/components/controls.ts +61 -0
  119. package/src/components/dialogs/AnnotationFileDialog.tsx +5 -21
  120. package/src/components/dialogs/ExportSVGDialog.tsx +8 -19
  121. package/src/components/dialogs/HelpDialog.tsx +79 -0
  122. package/src/components/header/FileMenu.tsx +33 -7
  123. package/src/components/header/Header.tsx +4 -6
  124. package/src/components/header/TreeSettingsMenu.tsx +2 -32
  125. package/src/components/header/ZoomControls.tsx +30 -66
  126. package/src/components/header/settingsMenuItems.ts +59 -0
  127. package/src/components/import/data/seq2.ts +0 -18
  128. package/src/components/msa/MSACanvas.tsx +2 -1
  129. package/src/components/msa/MSACanvasBlock.tsx +2 -6
  130. package/src/components/msa/drawFeatureSpans.ts +160 -79
  131. package/src/components/msa/msaRaster.ts +27 -9
  132. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +39 -24
  133. package/src/components/msa/renderHighlights.ts +2 -3
  134. package/src/components/msa/renderMSAMouseover.ts +5 -1
  135. package/src/components/renderCtx.ts +0 -1
  136. package/src/components/rowpanels/renderFeaturePanel.ts +26 -7
  137. package/src/components/tracks/drawTracks.ts +5 -5
  138. package/src/components/tree/CladeLabels.tsx +30 -54
  139. package/src/components/tree/cladeBrackets.ts +50 -3
  140. package/src/components/tree/renderTreeCanvas.ts +2 -13
  141. package/src/components/tree/renderTreeOverview.ts +7 -14
  142. package/src/element.ts +3 -7
  143. package/src/exportLayout.ts +134 -0
  144. package/src/headlessRenderEnv.ts +24 -11
  145. package/src/hierarchy.ts +5 -88
  146. package/src/index.ts +5 -5
  147. package/src/measureTextCanvas.ts +8 -6
  148. package/src/model/treeModel.ts +0 -7
  149. package/src/model.ts +170 -122
  150. package/src/renderToSvg.tsx +55 -194
  151. package/src/types.ts +0 -1
  152. package/src/version.ts +1 -1
  153. package/src/viewerSnapshot.ts +147 -0
  154. package/dist/components/header/ZoomMenu.d.ts +0 -6
  155. package/dist/components/header/ZoomMenu.js +0 -37
  156. package/dist/components/header/ZoomMenu.js.map +0 -1
  157. package/src/components/header/ZoomMenu.tsx +0 -48
package/dist/element.js CHANGED
@@ -13,9 +13,6 @@ const ownAttributes = [
13
13
  ];
14
14
  // the attributes a <nightingale-manager> writes on the elements it holds
15
15
  const nightingaleAttributes = ['display-start', 'display-end', 'highlight'];
16
- function location(uri) {
17
- return uri ? { uri, locationType: 'UriLocation' } : undefined;
18
- }
19
16
  function numberAttribute(value) {
20
17
  const n = value ? Number(value) : Number.NaN;
21
18
  return Number.isFinite(n) ? n : undefined;
@@ -141,9 +138,9 @@ export function defineMsaElement(tagName = 'jbrowse-msa') {
141
138
  const theme = this.getAttribute('theme');
142
139
  return {
143
140
  ...this.#data,
144
- msaFilehandle: location(this.getAttribute('msa-url')),
145
- treeFilehandle: location(this.getAttribute('tree-url')),
146
- gffFilehandle: location(this.getAttribute('gff-url')),
141
+ msaUrl: this.getAttribute('msa-url') ?? undefined,
142
+ treeUrl: this.getAttribute('tree-url') ?? undefined,
143
+ gffUrl: this.getAttribute('gff-url') ?? undefined,
147
144
  colorScheme: this.#data.colorScheme ??
148
145
  this.getAttribute('color-scheme') ??
149
146
  undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { LegendRow } from './components/msa/legendRows.ts';
2
+ import type { MsaViewModel } from './model.ts';
3
+ import type { Theme } from '@mui/material';
4
+ export interface ExportSvgOptions {
5
+ theme: Theme;
6
+ includeMinimap?: boolean;
7
+ includeTracks?: boolean;
8
+ exportType: 'entire' | 'viewport';
9
+ }
10
+ export declare const LEGEND_PAD = 8;
11
+ export declare const LEGEND_ROW_H = 16;
12
+ export declare const LEGEND_SWATCH = 12;
13
+ export declare const LEGEND_FONT = 12;
14
+ export declare const LEGEND_CHAR_W = 7;
15
+ export declare const LEGEND_MAX_W = 360;
16
+ export declare const LEGEND_TEXT_X: number;
17
+ export declare function getLegendWidth(rows: LegendRow[]): number;
18
+ export declare function legendHeight(rows: LegendRow[]): number;
19
+ export interface Layout {
20
+ width: number;
21
+ msaAreaWidth: number;
22
+ height: number;
23
+ contentHeight: number;
24
+ trackHeight: number;
25
+ topHeight: number;
26
+ offsetX: number;
27
+ offsetY: number;
28
+ includeMinimap: boolean;
29
+ legendWidth: number;
30
+ }
31
+ export declare function getLayout(model: MsaViewModel, opts: ExportSvgOptions): Layout;
32
+ /**
33
+ * the exported page's size: the layout plus the legend column, and as tall as
34
+ * the legend where the key outgrows a short alignment
35
+ */
36
+ export declare function exportPageSize(model: MsaViewModel, layout: Layout): {
37
+ width: number;
38
+ height: number;
39
+ };
@@ -0,0 +1,78 @@
1
+ import { legendRows } from './components/msa/legendRows.js';
2
+ import { treeScaleBarHeight } from './constants.js';
3
+ // legend geometry, shared by the width calculation and the renderer so the
4
+ // reserved column on the right exactly fits the drawn legends
5
+ export const LEGEND_PAD = 8;
6
+ export const LEGEND_ROW_H = 16;
7
+ export const LEGEND_SWATCH = 12;
8
+ export const LEGEND_FONT = 12;
9
+ export const LEGEND_CHAR_W = 7;
10
+ export const LEGEND_MAX_W = 360;
11
+ export const LEGEND_TEXT_X = LEGEND_PAD + LEGEND_SWATCH + 6;
12
+ export function getLegendWidth(rows) {
13
+ const maxLen = rows.reduce((a, r) => Math.max(a, r.label.length), 0);
14
+ const w = LEGEND_TEXT_X + LEGEND_PAD + maxLen * LEGEND_CHAR_W;
15
+ return Math.min(LEGEND_MAX_W, Math.max(120, w));
16
+ }
17
+ export function legendHeight(rows) {
18
+ return LEGEND_PAD * 2 + rows.length * LEGEND_ROW_H;
19
+ }
20
+ export function getLayout(model, opts) {
21
+ const { scrollX, scrollY, totalWidth, totalHeight, effectiveTreeAreaWidth, rowPanelsWidth, rowPanelsHeaderHeight, totalTrackAreaHeight, minimapHeight, msaAreaHeight, msaCanvasWidth, showHorizontalScrollbar, treeOverviewHeight, treeScaleBar, } = model;
22
+ const trackHeight = opts.includeTracks ? totalTrackAreaHeight : 0;
23
+ // the minimap reflects the live viewport scroll position, so it's only
24
+ // meaningful for a viewport export, never for the entire alignment -- and
25
+ // only when the live view shows one at all, since a minimap over an alignment
26
+ // that already fits marks a viewport wider than the bar
27
+ const includeMinimap = opts.exportType === 'viewport' &&
28
+ !!opts.includeMinimap &&
29
+ showHorizontalScrollbar;
30
+ const rows = legendRows(model.legends);
31
+ const legendWidth = rows.length > 0 ? getLegendWidth(rows) : 0;
32
+ const topHeight = Math.max(includeMinimap ? minimapHeight : 0, rowPanelsHeaderHeight, treeOverviewHeight + (treeScaleBar ? treeScaleBarHeight : 0));
33
+ const gutterWidth = effectiveTreeAreaWidth + rowPanelsWidth;
34
+ // width stays content-only; the legend occupies an extra column added at the
35
+ // svg root in MsaSvg. The viewport export takes the alignment canvas's own
36
+ // size rather than the widget's -- the widget box also covers the header, the
37
+ // resize handle and the scrollbars, and rendering that box exports rows and
38
+ // columns the scrollbars hide on screen
39
+ return opts.exportType === 'entire'
40
+ ? {
41
+ width: totalWidth + gutterWidth,
42
+ msaAreaWidth: totalWidth,
43
+ height: totalHeight + trackHeight + topHeight,
44
+ contentHeight: totalHeight,
45
+ trackHeight,
46
+ topHeight,
47
+ offsetX: 0,
48
+ offsetY: 0,
49
+ includeMinimap,
50
+ legendWidth,
51
+ }
52
+ : {
53
+ width: msaCanvasWidth + gutterWidth,
54
+ msaAreaWidth: msaCanvasWidth,
55
+ height: msaAreaHeight + topHeight + trackHeight,
56
+ contentHeight: msaAreaHeight,
57
+ trackHeight,
58
+ topHeight,
59
+ offsetX: -scrollX,
60
+ offsetY: -scrollY,
61
+ includeMinimap,
62
+ legendWidth,
63
+ };
64
+ }
65
+ /**
66
+ * the exported page's size: the layout plus the legend column, and as tall as
67
+ * the legend where the key outgrows a short alignment
68
+ */
69
+ export function exportPageSize(model, layout) {
70
+ const { width, height, legendWidth, topHeight } = layout;
71
+ return {
72
+ width: width + legendWidth,
73
+ height: legendWidth > 0
74
+ ? Math.max(height, topHeight + legendHeight(legendRows(model.legends)))
75
+ : height,
76
+ };
77
+ }
78
+ //# sourceMappingURL=exportLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportLayout.js","sourceRoot":"","sources":["../src/exportLayout.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,21 @@
1
- /**
2
- * DOM shims for driving `renderToSvg` outside a browser -- the SVG-export
3
- * tests, the README figure generator, and react-msaview-cli all need them.
4
- *
5
- * jsdom implements neither DOMMatrix nor a canvas 2D context, and
6
- * `@jbrowse/svgcanvas` needs both: it tracks the current transform as a real
7
- * matrix, and the renderers ask a throwaway canvas to measure text.
8
- *
9
- * The matrix stub has to accept the ARRAY constructor. svgcanvas normalizes
10
- * every transform through `new DOMMatrix([a, b, c, d, e, f])`, so a stub that
11
- * only takes six positional arguments silently binds the whole array to `a` and
12
- * leaves the rest undefined -- every emitted transform then carries `NaN` in its
13
- * x components, which no assertion on a drawn x-position can survive.
14
- */
15
- export declare class HeadlessDOMMatrix {
16
- a: number;
17
- b: number;
18
- c: number;
19
- d: number;
20
- e: number;
21
- f: number;
22
- constructor(init?: number[]);
23
- multiply(o: HeadlessDOMMatrix): HeadlessDOMMatrix;
24
- translate(x: number, y?: number): HeadlessDOMMatrix;
25
- scale(x: number, y?: number): HeadlessDOMMatrix;
26
- }
27
- export declare class HeadlessDOMPoint {
28
- x: number;
29
- y: number;
30
- constructor(x?: number, y?: number);
31
- matrixTransform(m: HeadlessDOMMatrix): HeadlessDOMPoint;
32
- }
33
1
  /**
34
2
  * Install the shims, into `globalThis` by default. A Node caller that builds
35
3
  * its own jsdom passes that window instead, because Node has no global
36
4
  * HTMLCanvasElement to patch.
37
5
  *
38
- * `measureText` reports 0.6em per character, close enough to a real sans-serif
39
- * average for layout and, more usefully, exactly predictable: a caller can
40
- * compute the width a renderer will see rather than hardcoding a number
41
- * measured from one machine's fonts.
6
+ * Without `measureContext`, `measureText` reports 0.6em per character, close
7
+ * enough to a real sans-serif average for layout and exactly predictable: a
8
+ * test can compute the width a renderer will see. A caller with a real canvas,
9
+ * such as react-msaview-cli with @napi-rs/canvas, passes one of its 2D
10
+ * contexts as `measureContext` to measure with the installed fonts.
42
11
  *
43
12
  * `contextExtras` adds to the context a test hands out -- the raster test
44
13
  * supplies the ImageData methods that make the export take its image path.
45
14
  */
46
- export declare function installHeadlessRenderEnv(win?: unknown, contextExtras?: Partial<CanvasRenderingContext2D>): void;
47
- /** the per-character width factor `measureText` above reports */
48
- export declare const CHAR_WIDTH_RATIO = 0.6;
15
+ export declare function installHeadlessRenderEnv(win?: unknown, contextExtras?: Partial<CanvasRenderingContext2D>, measureContext?: MeasureContext): void;
16
+ export interface MeasureContext {
17
+ font: string;
18
+ measureText(text: string): {
19
+ width: number;
20
+ };
21
+ }
@@ -12,7 +12,8 @@
12
12
  * leaves the rest undefined -- every emitted transform then carries `NaN` in its
13
13
  * x components, which no assertion on a drawn x-position can survive.
14
14
  */
15
- export class HeadlessDOMMatrix {
15
+ import { CHAR_WIDTH_RATIO } from './measureTextCanvas.js';
16
+ class HeadlessDOMMatrix {
16
17
  a;
17
18
  b;
18
19
  c;
@@ -45,7 +46,7 @@ export class HeadlessDOMMatrix {
45
46
  return this.multiply(new HeadlessDOMMatrix([x, 0, 0, y, 0, 0]));
46
47
  }
47
48
  }
48
- export class HeadlessDOMPoint {
49
+ class HeadlessDOMPoint {
49
50
  x;
50
51
  y;
51
52
  constructor(x = 0, y = 0) {
@@ -61,15 +62,16 @@ export class HeadlessDOMPoint {
61
62
  * its own jsdom passes that window instead, because Node has no global
62
63
  * HTMLCanvasElement to patch.
63
64
  *
64
- * `measureText` reports 0.6em per character, close enough to a real sans-serif
65
- * average for layout and, more usefully, exactly predictable: a caller can
66
- * compute the width a renderer will see rather than hardcoding a number
67
- * measured from one machine's fonts.
65
+ * Without `measureContext`, `measureText` reports 0.6em per character, close
66
+ * enough to a real sans-serif average for layout and exactly predictable: a
67
+ * test can compute the width a renderer will see. A caller with a real canvas,
68
+ * such as react-msaview-cli with @napi-rs/canvas, passes one of its 2D
69
+ * contexts as `measureContext` to measure with the installed fonts.
68
70
  *
69
71
  * `contextExtras` adds to the context a test hands out -- the raster test
70
72
  * supplies the ImageData methods that make the export take its image path.
71
73
  */
72
- export function installHeadlessRenderEnv(win = globalThis, contextExtras = {}) {
74
+ export function installHeadlessRenderEnv(win = globalThis, contextExtras = {}, measureContext) {
73
75
  const g = globalThis;
74
76
  g.DOMMatrix = HeadlessDOMMatrix;
75
77
  g.DOMPoint = HeadlessDOMPoint;
@@ -84,12 +86,16 @@ export function installHeadlessRenderEnv(win = globalThis, contextExtras = {}) {
84
86
  set font(v) {
85
87
  font = v;
86
88
  },
87
- measureText: (t) => ({
88
- width: t.length * (Number.parseFloat(font) || 10) * CHAR_WIDTH_RATIO,
89
- }),
89
+ measureText: (t) => {
90
+ if (measureContext) {
91
+ measureContext.font = font;
92
+ return { width: measureContext.measureText(t).width };
93
+ }
94
+ return {
95
+ width: t.length * (Number.parseFloat(font) || 10) * CHAR_WIDTH_RATIO,
96
+ };
97
+ },
90
98
  }, contextExtras);
91
99
  };
92
100
  }
93
- /** the per-character width factor `measureText` above reports */
94
- export const CHAR_WIDTH_RATIO = 0.6;
95
101
  //# sourceMappingURL=headlessRenderEnv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headlessRenderEnv.js","sourceRoot":"","sources":["../src/headlessRenderEnv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headlessRenderEnv.js","sourceRoot":"","sources":["../src/headlessRenderEnv.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,6 @@ export interface HierarchyNode<T = NodeWithIds> extends CoreHierarchyNode<T> {
23
23
  export { descendants, find, forEachDescendant, forEachLink, leaves, links, sort, sum, };
24
24
  export type { HierarchyLink } from '@gmod/newick';
25
25
  export declare function hierarchy<T>(data: T, childrenAccessor: (d: T) => T[] | undefined): HierarchyNode<T>;
26
- export declare function clusterLayout<T>(root: HierarchyNode<T>, sizeX: number, sizeY: number): void;
27
26
  export interface TreeScale {
28
27
  readonly rowHeight: number;
29
28
  readonly treeWidth: number;
@@ -63,10 +62,10 @@ export declare class LaidOutNode<T> implements HierarchyNode<T> {
63
62
  get collapsedTipXFar(): number | undefined;
64
63
  }
65
64
  /**
66
- * The layout `clusterLayout` and `setBrLength` write, on new nodes: tips one
67
- * row apart, a parent at the mean of its children, and branch length measured
68
- * from the root, whose own branch is not drawn. A collapsed node records the
69
- * farthest tip of its hidden subtree, where the base of its triangle goes.
65
+ * The tree laid out on new nodes: tips one row apart, a parent at the mean of
66
+ * its children, and branch length measured from the root, whose own branch is
67
+ * not drawn. A collapsed node records the farthest tip of its hidden subtree,
68
+ * where the base of its triangle goes.
70
69
  */
71
70
  export declare function layoutTree<T extends {
72
71
  length?: number;
@@ -80,8 +79,6 @@ export declare function collapsedSubtreeMaxLength<T extends {
80
79
  length?: number;
81
80
  }>(node: HierarchyNode<T>): number;
82
81
  export declare function calcDepthToLeaf<T>(node: HierarchyNode<T>): number;
83
- export declare function maxLength(d: HierarchyNode): number;
84
- export declare function setBrLength(d: HierarchyNode, y0: number, k: number): void;
85
82
  /**
86
83
  * Every leaf by name, with a name two leaves share mapping to undefined: a tip
87
84
  * set naming it cannot say which tip it means.
@@ -104,7 +101,7 @@ export declare function mrca<T extends {
104
101
  }>(root: HierarchyNode<T>, names: string[], index?: Map<string, HierarchyNode<T> | undefined>): HierarchyNode<T> | undefined;
105
102
  /**
106
103
  * The deepest node whose subtree covers a run of rows, given in the row-space
107
- * coordinates clusterLayout writes to xMin/xMax. A subtree's leaves are one
104
+ * coordinates layoutTree writes to xMin/xMax. A subtree's leaves are one
108
105
  * contiguous run, so at most one child per level covers the run and the descent
109
106
  * visits the tree's depth rather than its nodes.
110
107
  */
package/dist/hierarchy.js CHANGED
@@ -7,49 +7,6 @@ export { descendants, find, forEachDescendant, forEachLink, leaves, links, sort,
7
7
  export function hierarchy(data, childrenAccessor) {
8
8
  return coreHierarchy(data, childrenAccessor);
9
9
  }
10
- export function clusterLayout(root, sizeX, sizeY) {
11
- const leafNodes = leaves(root);
12
- const n = leafNodes.length;
13
- const step = sizeX / n;
14
- for (let i = 0; i < n; i++) {
15
- leafNodes[i].x = (i + 0.5) * step;
16
- }
17
- // x of an internal node is the mean of its children's x, so process in
18
- // post-order (children before parents). The subtree span comes from the same
19
- // pass, for the block culls in the tree renderer.
20
- const nodes = descendants(root);
21
- for (let i = nodes.length - 1; i >= 0; i--) {
22
- const node = nodes[i];
23
- if (node.children) {
24
- let sum = 0;
25
- let min = Infinity;
26
- let max = -Infinity;
27
- for (const child of node.children) {
28
- sum += child.x;
29
- min = Math.min(min, child.xMin);
30
- max = Math.max(max, child.xMax);
31
- }
32
- node.x = sum / node.children.length;
33
- node.xMin = min;
34
- node.xMax = max;
35
- }
36
- else {
37
- node.xMin = node.x;
38
- node.xMax = node.x;
39
- }
40
- }
41
- const rootHeight = root.height;
42
- const stack = [{ node: root, depth: 0 }];
43
- while (stack.length > 0) {
44
- const { node, depth } = stack.pop();
45
- node.y = rootHeight === 0 ? sizeY : (depth / rootHeight) * sizeY;
46
- if (node.children) {
47
- for (const child of node.children) {
48
- stack.push({ node: child, depth: depth + 1 });
49
- }
50
- }
51
- }
52
- }
53
10
  /**
54
11
  * A node of `layoutTree`: its source node's fields plus its place in unit
55
12
  * space, rows down and branch length across. The pixel getters multiply by the
@@ -106,10 +63,10 @@ export class LaidOutNode {
106
63
  }
107
64
  }
108
65
  /**
109
- * The layout `clusterLayout` and `setBrLength` write, on new nodes: tips one
110
- * row apart, a parent at the mean of its children, and branch length measured
111
- * from the root, whose own branch is not drawn. A collapsed node records the
112
- * farthest tip of its hidden subtree, where the base of its triangle goes.
66
+ * The tree laid out on new nodes: tips one row apart, a parent at the mean of
67
+ * its children, and branch length measured from the root, whose own branch is
68
+ * not drawn. A collapsed node records the farthest tip of its hidden subtree,
69
+ * where the base of its triangle goes.
113
70
  */
114
71
  export function layoutTree(root, scale) {
115
72
  const frame = { scale, rootToTipLength: 0 };
@@ -242,37 +199,6 @@ export function calcDepthToLeaf(node) {
242
199
  }
243
200
  return node.depthToLeaf;
244
201
  }
245
- // Max root-to-leaf sum of branch lengths within the subtree at d. Negative
246
- // lengths are floored at zero, the same as setBrLength does when it lays the
247
- // tree out, so the extent this reports is the one that gets drawn
248
- export function maxLength(d) {
249
- const nodes = descendants(d);
250
- const pathLen = new Map();
251
- for (let i = nodes.length - 1; i >= 0; i--) {
252
- const n = nodes[i];
253
- let childMax = 0;
254
- if (n.children) {
255
- for (const child of n.children) {
256
- childMax = Math.max(childMax, pathLen.get(child));
257
- }
258
- }
259
- pathLen.set(n, Math.max(n.data.length || 0, 0) + childMax);
260
- }
261
- return pathLen.get(d);
262
- }
263
- export function setBrLength(d, y0, k) {
264
- const stack = [{ node: d, y0 }];
265
- while (stack.length > 0) {
266
- const { node, y0: acc } = stack.pop();
267
- const next = acc + Math.max(node.data.length || 0, 0);
268
- node.len = next * k;
269
- if (node.children) {
270
- for (const child of node.children) {
271
- stack.push({ node: child, y0: next });
272
- }
273
- }
274
- }
275
- }
276
202
  /**
277
203
  * Every leaf by name, with a name two leaves share mapping to undefined: a tip
278
204
  * set naming it cannot say which tip it means.
@@ -321,7 +247,7 @@ export function mrca(root, names, index = leafIndex(root)) {
321
247
  }
322
248
  /**
323
249
  * The deepest node whose subtree covers a run of rows, given in the row-space
324
- * coordinates clusterLayout writes to xMin/xMax. A subtree's leaves are one
250
+ * coordinates layoutTree writes to xMin/xMax. A subtree's leaves are one
325
251
  * contiguous run, so at most one child per level covers the run and the descent
326
252
  * visits the tree's depth rather than its nodes.
327
253
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACX,SAAS,IAAI,aAAa,EAC1B,MAAM,EACN,KAAK,EACL,IAAI,EACJ,GAAG,GACJ,MAAM,cAAc,CAAA;AA8BrB,+EAA+E;AAC/E,0EAA0E;AAC1E,OAAO,EACL,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,KAAK,EACL,IAAI,EACJ,GAAG,GACJ,CAAA;AAGD,4EAA4E;AAC5E,0CAA0C;AAC1C,MAAM,UAAU,SAAS,CACvB,IAAO,EACP,gBAA2C;IAE3C,OAAO,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAC9C,CAAC;AAYD;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAgBX,MAAM;IACE,KAAK;IAhBxB,IAAI,CAAG;IACP,KAAK,CAAQ;IACb,MAAM,CAAQ;IACd,KAAK,CAAS;IACd,QAAQ,CAAyB;IACjC,WAAW,GAAG,CAAC,CAAA;IACf,GAAG,GAAG,CAAC,CAAA;IACP,MAAM,GAAG,CAAC,CAAA;IACV,MAAM,GAAG,CAAC,CAAA;IACV,aAAa,GAAG,CAAC,CAAA;IACjB,YAAY,GAAG,CAAC,CAAA;IAChB,qBAAqB,CAAS;IAE9B,YACE,MAAwB,EACf,MAA6B,EACrB,KAAkB;sBAD1B,MAAM;qBACE,KAAK;QAEtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7C,CAAC;IAED,IAAY,iBAAiB;QAC3B,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC7C,OAAO,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;IAC9C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;IACjD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;IACjD,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;IACxD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAA;IACnD,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAA;IACzD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,IAAsB,EACtB,KAAgB;IAEhB,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAA;IACxD,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,MAAM,SAAS,GAAqB,EAAE,CAAA;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;IAC9B,MAAM,KAAK,GAAkE;QAC3E,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KAC/B,CAAA;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,IAAI,CAAC,aAAa;YAChB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAA;QACjE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC,YAAY;gBACf,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5D,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAC5E,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,qBAAqB;gBACxB,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG,CAAA;YACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;YAC1C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,IAAI,GAAG,GAAG,QAAQ,CAAA;YAClB,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAA;YACnB,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAA;gBAChB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;YAC5D,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;YACrC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;YACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;YACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAA;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE;QACf,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,IAAsB;IAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,oEAAoE;QACpE,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,sDAAsD;QACtD,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,+EAA+E;AAC/E,8CAA8C;AAC9C,MAAM,UAAU,yBAAyB,CACvC,IAAsB;IAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;IAC7C,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;SACzC,CAAC,CAAC,CAAA;QACH,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;YACrC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAA;YACtC,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;qBAC/C,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAI,IAAsB;IACvD,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,gEAAgE;IAChE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;YACnB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,QAAQ,GAAG,CAAC,CAAA;gBAChB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,WAAY,CAAC,CAAA;oBACvD,CAAC;gBACH,CAAC;gBACD,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,WAAY,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAA6B,IAAsB;IAC1E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwC,CAAA;IAC7D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAClB,IAAsB,EACtB,KAAe,EACf,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;IAEvB,IAAI,IAAkC,CAAA;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,KAAK,CAAA;YACZ,SAAQ;QACV,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,MAAO,CAAA;QACrB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,GAAG,KAAK,CAAC,MAAO,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,MAAO,CAAA;YACnB,KAAK,GAAG,KAAK,CAAC,MAAO,CAAA;QACvB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAsB,EACtB,GAAW,EACX,MAAc;IAEd,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,IAAI,GAAG,IAAI,CAAC,CAAC,IAAK,IAAI,MAAM,CAAC,CAAA;QAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,GAAG,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  export { renderToSvg } from './renderToSvg.tsx';
2
2
  export type { ExportSvgOptions } from './renderToSvg.tsx';
3
- export { CHAR_WIDTH_RATIO, installHeadlessRenderEnv, } from './headlessRenderEnv.ts';
3
+ export { installHeadlessRenderEnv } from './headlessRenderEnv.ts';
4
+ export { CHAR_WIDTH_RATIO } from './measureTextCanvas.ts';
4
5
  export { maxNeighborJoiningRows } from './constants.ts';
5
6
  export { expandSpec, residueLabel } from './expandSpec.ts';
6
7
  export type { ColumnTrackShorthand, HighlightShorthand, MsaSpec, RegionShorthand, } from './expandSpec.ts';
7
8
  export { default as MSAView } from './components/Loading.tsx';
8
9
  export { default as MSAViewer } from './components/MSAViewer.tsx';
9
10
  export type { MSAViewerProps } from './components/MSAViewer.tsx';
11
+ export { resolveTheme, viewerSnapshot } from './viewerSnapshot.ts';
10
12
  export { mount } from './mount.tsx';
11
13
  export { defineMsaElement } from './element.ts';
12
14
  export { useMsaSvgFigure } from './useMsaSvgFigure.ts';
package/dist/index.js CHANGED
@@ -10,7 +10,8 @@
10
10
  export { renderToSvg } from './renderToSvg.js';
11
11
  // renderToSvg outside a browser needs DOM bits jsdom omits; react-msaview-cli
12
12
  // and the README figure generator both drive it that way
13
- export { CHAR_WIDTH_RATIO, installHeadlessRenderEnv, } from './headlessRenderEnv.js';
13
+ export { installHeadlessRenderEnv } from './headlessRenderEnv.js';
14
+ export { CHAR_WIDTH_RATIO } from './measureTextCanvas.js';
14
15
  // the row count above which calculateNeighborJoiningTreeFromMSA throws, for
15
16
  // hosts gating their own menu item
16
17
  export { maxNeighborJoiningRows } from './constants.js';
@@ -18,6 +19,8 @@ export { maxNeighborJoiningRows } from './constants.js';
18
19
  export { expandSpec, residueLabel } from './expandSpec.js';
19
20
  export { default as MSAView } from './components/Loading.js';
20
21
  export { default as MSAViewer } from './components/MSAViewer.js';
22
+ // the snapshot MSAViewer builds from its props, for the CLI's --props
23
+ export { resolveTheme, viewerSnapshot } from './viewerSnapshot.js';
21
24
  export { mount } from './mount.js';
22
25
  export { defineMsaElement } from './element.js';
23
26
  export { useMsaSvgFigure } from './useMsaSvgFigure.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yDAAyD;AACzD,6EAA6E;AAC7E,+DAA+D;AAC/D,gFAAgF;AAChF,0EAA0E;AAC1E,yEAAyE;AACzE,8EAA8E;AAC9E,mEAAmE;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAA;AAE/C,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA;AAC/B,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAO1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAA0B,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA4B,CAAA;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAa,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAqB,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yDAAyD;AACzD,6EAA6E;AAC7E,+DAA+D;AAC/D,gFAAgF;AAChF,0EAA0E;AAC1E,yEAAyE;AACzE,8EAA8E;AAC9E,mEAAmE;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAA;AAE/C,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAO1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAA0B,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA4B,CAAA;AAEjE,sEAAsE;AACtE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAa,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAqB,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +1,8 @@
1
+ /**
2
+ * Rough average glyph width as a fraction of the font size for the sans-serif
3
+ * stack the labels use. measureTextCanvas falls back on it where there is no
4
+ * canvas to measure with (jsdom, SSR), and the headless render environment's
5
+ * `measureText` reports it.
6
+ */
7
+ export declare const CHAR_WIDTH_RATIO = 0.6;
1
8
  export declare function measureTextCanvas(text: string, fontSize: number): number;
@@ -13,15 +13,17 @@ function getCtx() {
13
13
  }
14
14
  return ctxHandle;
15
15
  }
16
- // Rough average glyph width as a fraction of the font size for the sans-serif
17
- // stack the tree labels use. Only reached where there is no canvas to measure
18
- // with (jsdom, SSR); estimating the label gutter beats throwing out of the
19
- // layout getters that read this on every render.
20
- const fallbackGlyphWidthRatio = 0.6;
16
+ /**
17
+ * Rough average glyph width as a fraction of the font size for the sans-serif
18
+ * stack the labels use. measureTextCanvas falls back on it where there is no
19
+ * canvas to measure with (jsdom, SSR), and the headless render environment's
20
+ * `measureText` reports it.
21
+ */
22
+ export const CHAR_WIDTH_RATIO = 0.6;
21
23
  export function measureTextCanvas(text, fontSize) {
22
24
  const ctx = getCtx();
23
25
  if (!ctx) {
24
- return text.length * fontSize * fallbackGlyphWidthRatio;
26
+ return text.length * fontSize * CHAR_WIDTH_RATIO;
25
27
  }
26
28
  setFontSize(ctx, fontSize);
27
29
  return ctx.measureText(text).width;
@@ -1 +1 @@
1
- {"version":3,"file":"measureTextCanvas.js","sourceRoot":"","sources":["../src/measureTextCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,4EAA4E;AAC5E,8BAA8B;AAC9B,+EAA+E;AAC/E,0BAA0B;AAC1B,IAAI,SAAsD,CAAA;AAE1D,SAAS,MAAM;IACb,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS;YACP,OAAO,QAAQ,KAAK,WAAW;gBAC7B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAEnC,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAgB;IAC9D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,uBAAuB,CAAA;IACzD,CAAC;IACD,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"measureTextCanvas.js","sourceRoot":"","sources":["../src/measureTextCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,4EAA4E;AAC5E,8BAA8B;AAC9B,+EAA+E;AAC/E,0BAA0B;AAC1B,IAAI,SAAsD,CAAA;AAE1D,SAAS,MAAM;IACb,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS;YACP,OAAO,QAAQ,KAAK,WAAW;gBAC7B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAEnC,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAgB;IAC9D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAAA;IAClD,CAAC;IACD,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;AACpC,CAAC"}