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.
- package/README.md +19 -10
- package/bundle/index.js +74 -74
- package/bundle/index.js.map +4 -4
- package/dist/colorSchemes.js +1 -3
- package/dist/colorSchemes.js.map +1 -1
- package/dist/columnCounts.d.ts +0 -1
- package/dist/columnCounts.js +1 -1
- package/dist/columnCounts.js.map +1 -1
- package/dist/components/Loading.js +5 -5
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +1891 -4
- package/dist/components/MSAViewer.js +144 -201
- package/dist/components/MSAViewer.js.map +1 -1
- package/dist/components/ResizeHandles.js +3 -2
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/Track.js +2 -1
- package/dist/components/Track.js.map +1 -1
- package/dist/components/controls.d.ts +11 -0
- package/dist/components/controls.js +48 -0
- package/dist/components/controls.js.map +1 -0
- package/dist/components/dialogs/AnnotationFileDialog.js +5 -16
- package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +5 -7
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/dialogs/HelpDialog.d.ts +6 -0
- package/dist/components/dialogs/HelpDialog.js +30 -0
- package/dist/components/dialogs/HelpDialog.js.map +1 -0
- package/dist/components/header/FileMenu.js +33 -7
- package/dist/components/header/FileMenu.js.map +1 -1
- package/dist/components/header/Header.js +4 -6
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/TreeSettingsMenu.d.ts +1 -1
- package/dist/components/header/TreeSettingsMenu.js +1 -32
- package/dist/components/header/TreeSettingsMenu.js.map +1 -1
- package/dist/components/header/ZoomControls.js +28 -44
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/header/settingsMenuItems.d.ts +1 -0
- package/dist/components/header/settingsMenuItems.js +44 -0
- package/dist/components/header/settingsMenuItems.js.map +1 -1
- package/dist/components/import/data/seq2.d.ts +0 -1
- package/dist/components/import/data/seq2.js +0 -17
- package/dist/components/import/data/seq2.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +2 -1
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +2 -5
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/drawFeatureSpans.d.ts +50 -11
- package/dist/components/msa/drawFeatureSpans.js +99 -56
- package/dist/components/msa/drawFeatureSpans.js.map +1 -1
- package/dist/components/msa/msaRaster.d.ts +14 -1
- package/dist/components/msa/msaRaster.js +19 -9
- package/dist/components/msa/msaRaster.js.map +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +9 -0
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +19 -8
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderHighlights.d.ts +2 -2
- package/dist/components/msa/renderHighlights.js +2 -3
- package/dist/components/msa/renderHighlights.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +2 -1
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/renderCtx.d.ts +1 -1
- package/dist/components/rowpanels/renderFeaturePanel.d.ts +5 -1
- package/dist/components/rowpanels/renderFeaturePanel.js +12 -5
- package/dist/components/rowpanels/renderFeaturePanel.js.map +1 -1
- package/dist/components/tracks/drawTracks.d.ts +1 -53
- package/dist/components/tracks/drawTracks.js +5 -5
- package/dist/components/tracks/drawTracks.js.map +1 -1
- package/dist/components/tree/CladeLabels.d.ts +1 -1
- package/dist/components/tree/CladeLabels.js +22 -34
- package/dist/components/tree/CladeLabels.js.map +1 -1
- package/dist/components/tree/cladeBrackets.d.ts +17 -10
- package/dist/components/tree/cladeBrackets.js +33 -3
- package/dist/components/tree/cladeBrackets.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.js +2 -8
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/tree/renderTreeOverview.js +4 -11
- package/dist/components/tree/renderTreeOverview.js.map +1 -1
- package/dist/element.js +3 -6
- package/dist/element.js.map +1 -1
- package/dist/exportLayout.d.ts +39 -0
- package/dist/exportLayout.js +78 -0
- package/dist/exportLayout.js.map +1 -0
- package/dist/headlessRenderEnv.d.ts +12 -39
- package/dist/headlessRenderEnv.js +18 -12
- package/dist/headlessRenderEnv.js.map +1 -1
- package/dist/hierarchy.d.ts +5 -8
- package/dist/hierarchy.js +5 -79
- package/dist/hierarchy.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/measureTextCanvas.d.ts +7 -0
- package/dist/measureTextCanvas.js +8 -6
- package/dist/measureTextCanvas.js.map +1 -1
- package/dist/model/treeModel.d.ts +0 -5
- package/dist/model/treeModel.js +0 -7
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +38 -44
- package/dist/model.js +153 -112
- package/dist/model.js.map +1 -1
- package/dist/renderToSvg.d.ts +2 -7
- package/dist/renderToSvg.js +32 -120
- package/dist/renderToSvg.js.map +1 -1
- package/dist/svgTestUtil.d.ts +12 -20
- package/dist/types.d.ts +0 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/viewerSnapshot.d.ts +169 -0
- package/dist/viewerSnapshot.js +100 -0
- package/dist/viewerSnapshot.js.map +1 -0
- package/package.json +3 -3
- package/src/colorSchemes.ts +1 -4
- package/src/columnCounts.ts +1 -1
- package/src/components/Loading.tsx +19 -12
- package/src/components/MSAViewer.tsx +275 -251
- package/src/components/ResizeHandles.tsx +9 -2
- package/src/components/Track.tsx +2 -1
- package/src/components/controls.ts +61 -0
- package/src/components/dialogs/AnnotationFileDialog.tsx +5 -21
- package/src/components/dialogs/ExportSVGDialog.tsx +8 -19
- package/src/components/dialogs/HelpDialog.tsx +79 -0
- package/src/components/header/FileMenu.tsx +33 -7
- package/src/components/header/Header.tsx +4 -6
- package/src/components/header/TreeSettingsMenu.tsx +2 -32
- package/src/components/header/ZoomControls.tsx +30 -66
- package/src/components/header/settingsMenuItems.ts +59 -0
- package/src/components/import/data/seq2.ts +0 -18
- package/src/components/msa/MSACanvas.tsx +2 -1
- package/src/components/msa/MSACanvasBlock.tsx +2 -6
- package/src/components/msa/drawFeatureSpans.ts +160 -79
- package/src/components/msa/msaRaster.ts +27 -9
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +39 -24
- package/src/components/msa/renderHighlights.ts +2 -3
- package/src/components/msa/renderMSAMouseover.ts +5 -1
- package/src/components/renderCtx.ts +0 -1
- package/src/components/rowpanels/renderFeaturePanel.ts +26 -7
- package/src/components/tracks/drawTracks.ts +5 -5
- package/src/components/tree/CladeLabels.tsx +30 -54
- package/src/components/tree/cladeBrackets.ts +50 -3
- package/src/components/tree/renderTreeCanvas.ts +2 -13
- package/src/components/tree/renderTreeOverview.ts +7 -14
- package/src/element.ts +3 -7
- package/src/exportLayout.ts +134 -0
- package/src/headlessRenderEnv.ts +24 -11
- package/src/hierarchy.ts +5 -88
- package/src/index.ts +5 -5
- package/src/measureTextCanvas.ts +8 -6
- package/src/model/treeModel.ts +0 -7
- package/src/model.ts +170 -122
- package/src/renderToSvg.tsx +55 -194
- package/src/types.ts +0 -1
- package/src/version.ts +1 -1
- package/src/viewerSnapshot.ts +147 -0
- package/dist/components/header/ZoomMenu.d.ts +0 -6
- package/dist/components/header/ZoomMenu.js +0 -37
- package/dist/components/header/ZoomMenu.js.map +0 -1
- 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
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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,
|
package/dist/element.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAa,CAAA;AAkCnC,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,UAAU;IACV,SAAS;IACT,cAAc;IACd,QAAQ;IACR,aAAa;IACb,OAAO;IACP,eAAe;IACf,iBAAiB;CACT,CAAA;AAEV,yEAAyE;AACzE,MAAM,qBAAqB,GAAG,CAAC,eAAe,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;AAE3E,SAAS,
|
|
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
|
|
39
|
-
* average for layout and
|
|
40
|
-
* compute the width a renderer will see
|
|
41
|
-
*
|
|
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
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
65
|
-
* average for layout and
|
|
66
|
-
* compute the width a renderer will see
|
|
67
|
-
*
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"headlessRenderEnv.js","sourceRoot":"","sources":["../src/headlessRenderEnv.ts"],"names":[],"mappings":"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"}
|
package/dist/hierarchy.d.ts
CHANGED
|
@@ -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
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
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
|
|
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
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
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
|
|
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
|
*/
|
package/dist/hierarchy.js.map
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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,
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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 *
|
|
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
|
|
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"}
|