react-msaview 5.0.7 → 5.0.13
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/bundle/index.js +25 -25
- package/bundle/index.js.map +1 -1
- package/dist/components/Checkbox2.js +3 -6
- package/dist/components/Checkbox2.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +14 -0
- package/dist/components/MSAViewer.js +34 -0
- package/dist/components/MSAViewer.js.map +1 -0
- package/dist/components/Track.js +5 -24
- package/dist/components/Track.js.map +1 -1
- package/dist/components/dialogs/DomainDialog.js +2 -5
- package/dist/components/dialogs/DomainDialog.js.map +1 -1
- package/dist/components/dialogs/InterProScanDialog.js +7 -7
- package/dist/components/dialogs/InterProScanDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +3 -19
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/header/ColorSchemeMenu.d.ts +6 -0
- package/dist/components/header/ColorSchemeMenu.js +19 -0
- package/dist/components/header/ColorSchemeMenu.js.map +1 -0
- package/dist/components/header/{ZoomStar.d.ts → FileMenu.d.ts} +2 -2
- package/dist/components/header/FileMenu.js +71 -0
- package/dist/components/header/FileMenu.js.map +1 -0
- package/dist/components/header/Header.js +8 -6
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderMenu.js +3 -145
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/MSASettingsMenu.d.ts +6 -0
- package/dist/components/header/MSASettingsMenu.js +36 -0
- package/dist/components/header/MSASettingsMenu.js.map +1 -0
- package/dist/components/header/SettingsMenu.js +1 -21
- package/dist/components/header/SettingsMenu.js.map +1 -1
- package/dist/components/header/TreeSettingsMenu.d.ts +6 -0
- package/dist/components/header/TreeSettingsMenu.js +74 -0
- package/dist/components/header/TreeSettingsMenu.js.map +1 -0
- package/dist/components/header/ZoomMenu.js +0 -8
- package/dist/components/header/ZoomMenu.js.map +1 -1
- package/dist/components/header/getDomainsMenu.d.ts +31 -0
- package/dist/components/header/getDomainsMenu.js +75 -0
- package/dist/components/header/getDomainsMenu.js.map +1 -0
- package/dist/components/import/ImportFormExamples.js +21 -19
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +13 -84
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +1 -3
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/renderMSABlock.js +2 -4
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +1 -7
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +14 -91
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.js +5 -16
- package/dist/components/tree/TreeNodeMenu.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.js +4 -12
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/constants.d.ts +0 -2
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +1 -1
- package/dist/fetchUtils.d.ts +0 -1
- package/dist/fetchUtils.js +0 -4
- package/dist/fetchUtils.js.map +1 -1
- package/dist/flatToTree.d.ts +0 -5
- package/dist/flatToTree.js +13 -30
- package/dist/flatToTree.js.map +1 -1
- package/dist/hierarchy.d.ts +28 -0
- package/dist/hierarchy.js +164 -0
- package/dist/hierarchy.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/launchInterProScan.d.ts +0 -5
- package/dist/launchInterProScan.js +5 -3
- package/dist/launchInterProScan.js.map +1 -1
- package/dist/model/DataModel.d.ts +9 -0
- package/dist/model/DataModel.js +12 -1
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model/msaModel.d.ts +3 -0
- package/dist/model/msaModel.js +0 -1
- package/dist/model/msaModel.js.map +1 -1
- package/dist/model/treeModel.d.ts +3 -6
- package/dist/model/treeModel.js +3 -15
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +24 -77
- package/dist/model.js +117 -239
- package/dist/model.js.map +1 -1
- package/dist/neighborJoining.js +38 -629
- package/dist/neighborJoining.js.map +1 -1
- package/dist/parseAsn1.d.ts +0 -12
- package/dist/parseAsn1.js +125 -332
- package/dist/parseAsn1.js.map +1 -1
- package/dist/useWheelScroll.d.ts +8 -0
- package/dist/useWheelScroll.js +93 -0
- package/dist/useWheelScroll.js.map +1 -0
- package/dist/util.d.ts +1 -6
- package/dist/util.js +5 -34
- package/dist/util.js.map +1 -1
- package/dist/vendor/copyToClipboard.d.ts +1 -10
- package/dist/vendor/copyToClipboard.js +14 -109
- package/dist/vendor/copyToClipboard.js.map +1 -1
- package/dist/vendor/fileSaver.d.ts +1 -11
- package/dist/vendor/fileSaver.js +7 -76
- package/dist/vendor/fileSaver.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +10 -13
- package/src/collapseLogic.test.ts +115 -0
- package/src/components/Checkbox2.tsx +9 -18
- package/src/components/MSAViewer.tsx +67 -0
- package/src/components/Track.tsx +10 -26
- package/src/components/dialogs/DomainDialog.tsx +4 -5
- package/src/components/dialogs/InterProScanDialog.tsx +7 -7
- package/src/components/dialogs/SettingsDialog.tsx +0 -37
- package/src/components/header/ColorSchemeMenu.tsx +35 -0
- package/src/components/header/FileMenu.tsx +84 -0
- package/src/components/header/Header.tsx +8 -6
- package/src/components/header/HeaderMenu.tsx +4 -155
- package/src/components/header/MSASettingsMenu.tsx +48 -0
- package/src/components/header/SettingsMenu.tsx +0 -23
- package/src/components/header/TreeSettingsMenu.tsx +96 -0
- package/src/components/header/ZoomMenu.tsx +0 -8
- package/src/components/header/getDomainsMenu.ts +83 -0
- package/src/components/import/ImportFormExamples.tsx +37 -34
- package/src/components/msa/MSACanvas.tsx +21 -91
- package/src/components/msa/MSACanvasBlock.tsx +1 -3
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +1 -1
- package/src/components/msa/renderMSABlock.ts +2 -5
- package/src/components/msa/renderMSAMouseover.ts +0 -6
- package/src/components/tree/TreeCanvas.tsx +35 -100
- package/src/components/tree/TreeNodeMenu.tsx +5 -14
- package/src/components/tree/renderTreeCanvas.ts +8 -21
- package/src/constants.ts +0 -2
- package/src/fetchUtils.ts +0 -5
- package/src/flatToTree.ts +20 -38
- package/src/hierarchy.test.ts +120 -0
- package/src/hierarchy.ts +220 -0
- package/src/index.ts +2 -0
- package/src/launchInterProScan.ts +4 -3
- package/src/model/DataModel.ts +12 -1
- package/src/model/msaModel.ts +0 -2
- package/src/model/treeModel.ts +2 -18
- package/src/model.ts +179 -278
- package/src/neighborJoining.ts +38 -628
- package/src/parseAsn1.test.ts +4 -1
- package/src/parseAsn1.ts +135 -405
- package/src/useWheelScroll.ts +109 -0
- package/src/util.ts +5 -50
- package/src/vendor/copyToClipboard.ts +14 -122
- package/src/vendor/fileSaver.ts +8 -105
- package/src/version.ts +1 -1
- package/dist/components/dialogs/AddTrackDialog.d.ts +0 -8
- package/dist/components/dialogs/AddTrackDialog.js +0 -30
- package/dist/components/dialogs/AddTrackDialog.js.map +0 -1
- package/dist/components/dialogs/TabPanel.d.ts +0 -6
- package/dist/components/dialogs/TabPanel.js +0 -6
- package/dist/components/dialogs/TabPanel.js.map +0 -1
- package/dist/components/header/ZoomStar.js +0 -40
- package/dist/components/header/ZoomStar.js.map +0 -1
- package/dist/layout.d.ts +0 -26
- package/dist/layout.js +0 -74
- package/dist/layout.js.map +0 -1
- package/dist/reparseTree.d.ts +0 -2
- package/dist/reparseTree.js +0 -15
- package/dist/reparseTree.js.map +0 -1
- package/src/components/dialogs/AddTrackDialog.tsx +0 -85
- package/src/components/dialogs/TabPanel.tsx +0 -19
- package/src/components/header/ZoomStar.tsx +0 -74
- package/src/createPaletteMap.test.ts +0 -57
- package/src/layout.ts +0 -118
- package/src/reparseTree.ts +0 -18
package/dist/parseAsn1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseAsn1.js","sourceRoot":"","sources":["../src/parseAsn1.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseAsn1.js","sourceRoot":"","sources":["../src/parseAsn1.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function useWheelScroll({ ref, onScrollX, onScrollY, }: {
|
|
2
|
+
ref: React.RefObject<HTMLDivElement | null>;
|
|
3
|
+
onScrollX?: (delta: number) => void;
|
|
4
|
+
onScrollY?: (delta: number) => void;
|
|
5
|
+
}): {
|
|
6
|
+
onMouseDown: (event: React.MouseEvent) => void;
|
|
7
|
+
onMouseUp: (event: React.MouseEvent) => void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
export function useWheelScroll({ ref, onScrollX, onScrollY, }) {
|
|
3
|
+
const scheduled = useRef(false);
|
|
4
|
+
const deltaX = useRef(0);
|
|
5
|
+
const deltaY = useRef(0);
|
|
6
|
+
const prevX = useRef(0);
|
|
7
|
+
const prevY = useRef(0);
|
|
8
|
+
const [mouseDragging, setMouseDragging] = useState(false);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const curr = ref.current;
|
|
11
|
+
if (!curr) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
function onWheel(event) {
|
|
15
|
+
if (onScrollX) {
|
|
16
|
+
deltaX.current += event.deltaX;
|
|
17
|
+
}
|
|
18
|
+
if (onScrollY) {
|
|
19
|
+
deltaY.current += event.deltaY;
|
|
20
|
+
}
|
|
21
|
+
if (!scheduled.current) {
|
|
22
|
+
scheduled.current = true;
|
|
23
|
+
requestAnimationFrame(() => {
|
|
24
|
+
if (onScrollX) {
|
|
25
|
+
onScrollX(-deltaX.current);
|
|
26
|
+
deltaX.current = 0;
|
|
27
|
+
}
|
|
28
|
+
if (onScrollY) {
|
|
29
|
+
onScrollY(-deltaY.current);
|
|
30
|
+
deltaY.current = 0;
|
|
31
|
+
}
|
|
32
|
+
scheduled.current = false;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
event.stopPropagation();
|
|
37
|
+
}
|
|
38
|
+
curr.addEventListener('wheel', onWheel, { passive: false });
|
|
39
|
+
return () => {
|
|
40
|
+
curr.removeEventListener('wheel', onWheel);
|
|
41
|
+
};
|
|
42
|
+
}, [ref, onScrollX, onScrollY]);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (!mouseDragging) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
function globalMouseMove(event) {
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
const distanceX = event.clientX - prevX.current;
|
|
50
|
+
const distanceY = event.clientY - prevY.current;
|
|
51
|
+
if ((distanceX && onScrollX) || (distanceY && onScrollY)) {
|
|
52
|
+
if (!scheduled.current) {
|
|
53
|
+
scheduled.current = true;
|
|
54
|
+
requestAnimationFrame(() => {
|
|
55
|
+
onScrollX?.(distanceX);
|
|
56
|
+
onScrollY?.(distanceY);
|
|
57
|
+
scheduled.current = false;
|
|
58
|
+
prevX.current = event.clientX;
|
|
59
|
+
prevY.current = event.clientY;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function globalMouseUp() {
|
|
65
|
+
prevX.current = 0;
|
|
66
|
+
prevY.current = 0;
|
|
67
|
+
setMouseDragging(false);
|
|
68
|
+
}
|
|
69
|
+
window.addEventListener('mousemove', globalMouseMove, true);
|
|
70
|
+
window.addEventListener('mouseup', globalMouseUp, true);
|
|
71
|
+
return () => {
|
|
72
|
+
window.removeEventListener('mousemove', globalMouseMove, true);
|
|
73
|
+
window.removeEventListener('mouseup', globalMouseUp, true);
|
|
74
|
+
};
|
|
75
|
+
}, [mouseDragging, onScrollX, onScrollY]);
|
|
76
|
+
function onMouseDown(event) {
|
|
77
|
+
const target = event.target;
|
|
78
|
+
if (target.draggable || target.dataset.resizer) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (event.button === 0) {
|
|
82
|
+
prevX.current = event.clientX;
|
|
83
|
+
prevY.current = event.clientY;
|
|
84
|
+
setMouseDragging(true);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function onMouseUp(event) {
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
setMouseDragging(false);
|
|
90
|
+
}
|
|
91
|
+
return { onMouseDown, onMouseUp };
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=useWheelScroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWheelScroll.js","sourceRoot":"","sources":["../src/useWheelScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEnD,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,SAAS,EACT,SAAS,GAKV;IACC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;QACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAM;QACR,CAAC;QACD,SAAS,OAAO,CAAC,KAAiB;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;YAChC,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;YAChC,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;gBACxB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,SAAS,EAAE,CAAC;wBACd,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBAC1B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;oBACpB,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACd,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBAC1B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;oBACpB,CAAC;oBACD,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;gBAC3B,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,eAAe,EAAE,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3D,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAM;QACR,CAAC;QACD,SAAS,eAAe,CAAC,KAAiB;YACxC,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC/C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;oBACxB,qBAAqB,CAAC,GAAG,EAAE;wBACzB,SAAS,EAAE,CAAC,SAAS,CAAC,CAAA;wBACtB,SAAS,EAAE,CAAC,SAAS,CAAC,CAAA;wBACtB,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;wBACzB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;wBAC7B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;oBAC/B,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,aAAa;YACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;YACjB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;YACjB,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;QAC3D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QACvD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;YAC9D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QAC5D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAEzC,SAAS,WAAW,CAAC,KAAuB;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAA;QAC1C,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAM;QACR,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC7B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC7B,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAAC,KAAuB;QACxC,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;AACnC,CAAC"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import type { NodeWithIds } from './types.ts';
|
|
2
1
|
import type { Theme } from '@mui/material';
|
|
3
|
-
import type { HierarchyNode } from 'd3-hierarchy';
|
|
4
2
|
export declare function transform<T>(obj: Record<string, T>, cb: (arg0: [string, T]) => [string, T]): {
|
|
5
3
|
[k: string]: T;
|
|
6
4
|
};
|
|
7
5
|
export declare function colorContrast(colorScheme: Record<string, string>, theme: Theme): {
|
|
8
6
|
[k: string]: string;
|
|
9
7
|
};
|
|
10
|
-
export declare function skipBlanks(blanks: number[],
|
|
11
|
-
export declare function setBrLength(d: HierarchyNode<NodeWithIds>, y0: number, k: number): void;
|
|
12
|
-
export declare function maxLength(d: HierarchyNode<NodeWithIds>): number;
|
|
13
|
-
export declare function collapse(d: HierarchyNode<NodeWithIds>): void;
|
|
8
|
+
export declare function skipBlanks(blanks: number[], str: string): string;
|
|
14
9
|
export declare function len(a: {
|
|
15
10
|
end: number;
|
|
16
11
|
start: number;
|
package/dist/util.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { colord, extend } from 'colord';
|
|
2
2
|
import namesPlugin from 'colord/plugins/names';
|
|
3
|
-
import { max } from 'd3-array';
|
|
4
3
|
extend([namesPlugin]);
|
|
5
4
|
export function transform(obj, cb) {
|
|
6
5
|
return Object.fromEntries(Object.entries(obj).map(cb));
|
|
@@ -11,51 +10,23 @@ export function colorContrast(colorScheme, theme) {
|
|
|
11
10
|
theme.palette.getContrastText(colord(color).toHex()),
|
|
12
11
|
]);
|
|
13
12
|
}
|
|
14
|
-
export function skipBlanks(blanks,
|
|
13
|
+
export function skipBlanks(blanks, str) {
|
|
15
14
|
if (blanks.length === 0) {
|
|
16
|
-
return
|
|
15
|
+
return str;
|
|
17
16
|
}
|
|
18
17
|
const chunks = [];
|
|
19
18
|
let lastEnd = 0;
|
|
20
19
|
for (const blankIdx of blanks) {
|
|
21
20
|
if (blankIdx > lastEnd) {
|
|
22
|
-
chunks.push(
|
|
23
|
-
? arg.slice(lastEnd, blankIdx)
|
|
24
|
-
: arg.slice(lastEnd, blankIdx).join(''));
|
|
21
|
+
chunks.push(str.slice(lastEnd, blankIdx));
|
|
25
22
|
}
|
|
26
23
|
lastEnd = blankIdx + 1;
|
|
27
24
|
}
|
|
28
|
-
if (lastEnd <
|
|
29
|
-
chunks.push(
|
|
30
|
-
? arg.slice(lastEnd)
|
|
31
|
-
: arg.slice(lastEnd).join(''));
|
|
25
|
+
if (lastEnd < str.length) {
|
|
26
|
+
chunks.push(str.slice(lastEnd));
|
|
32
27
|
}
|
|
33
28
|
return chunks.join('');
|
|
34
29
|
}
|
|
35
|
-
// basically same as setRadius from https://observablehq.com/@d3/tree-of-life
|
|
36
|
-
export function setBrLength(d, y0, k) {
|
|
37
|
-
// @ts-expect-error
|
|
38
|
-
d.len = (y0 += Math.max(d.data.length || 0, 0)) * k;
|
|
39
|
-
if (d.children) {
|
|
40
|
-
d.children.forEach(d => {
|
|
41
|
-
setBrLength(d, y0, k);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// basically same as maxLength from https://observablehq.com/@d3/tree-of-life
|
|
46
|
-
export function maxLength(d) {
|
|
47
|
-
return ((d.data.length || 0) + (d.children ? max(d.children, maxLength) || 0 : 0));
|
|
48
|
-
}
|
|
49
|
-
// Collapse the node and all it's children, from
|
|
50
|
-
// https://bl.ocks.org/d3noob/43a860bc0024792f8803bba8ca0d5ecd
|
|
51
|
-
export function collapse(d) {
|
|
52
|
-
if (d.children) {
|
|
53
|
-
// @ts-expect-error
|
|
54
|
-
d._children = d.children;
|
|
55
|
-
// @ts-expect-error
|
|
56
|
-
d.children = null;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
30
|
export function len(a) {
|
|
60
31
|
return a.end - a.start;
|
|
61
32
|
}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,WAAW,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,WAAW,MAAM,sBAAsB,CAAA;AAI9C,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AAErB,MAAM,UAAU,SAAS,CACvB,GAAsB,EACtB,EAAsC;IAEtC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,WAAmC,EACnC,KAAY;IAEZ,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM;QACN,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;KACrD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,GAAW;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAiC;IACnD,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAA;AACxB,CAAC;AAED,8CAA8C;AAC9C,oCAAoC;AACpC,MAAM,UAAU,OAAO,CAAC,CAAU;IAChC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAA;AAC/B,CAAC"}
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Copy text to clipboard utility.
|
|
3
|
-
* Uses modern Clipboard API with fallback to execCommand.
|
|
4
|
-
*/
|
|
5
|
-
export interface CopyOptions {
|
|
6
|
-
debug?: boolean;
|
|
7
|
-
format?: string;
|
|
8
|
-
onCopy?: (clipboardData: DataTransfer) => void;
|
|
9
|
-
}
|
|
10
|
-
export default function copy(text: string, options?: CopyOptions): boolean;
|
|
1
|
+
export default function copy(text: string): void;
|
|
@@ -1,113 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const selection = document.getSelection();
|
|
7
|
-
if (!selection?.rangeCount) {
|
|
8
|
-
return () => { };
|
|
9
|
-
}
|
|
10
|
-
const active = document.activeElement;
|
|
11
|
-
const ranges = [];
|
|
12
|
-
for (let i = 0; i < selection.rangeCount; i++) {
|
|
13
|
-
ranges.push(selection.getRangeAt(i));
|
|
14
|
-
}
|
|
15
|
-
const tagName = active?.tagName.toUpperCase();
|
|
16
|
-
if (tagName === 'INPUT' || tagName === 'TEXTAREA') {
|
|
17
|
-
active?.blur();
|
|
18
|
-
}
|
|
19
|
-
selection.removeAllRanges();
|
|
20
|
-
return () => {
|
|
21
|
-
if (selection.type === 'Caret') {
|
|
22
|
-
selection.removeAllRanges();
|
|
23
|
-
}
|
|
24
|
-
if (!selection.rangeCount) {
|
|
25
|
-
for (const range of ranges) {
|
|
26
|
-
selection.addRange(range);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
active?.focus();
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export default function copy(text, options) {
|
|
33
|
-
const debug = options?.debug || false;
|
|
34
|
-
let success = false;
|
|
35
|
-
let reselectPrevious;
|
|
36
|
-
let range;
|
|
37
|
-
let selection = null;
|
|
38
|
-
let mark;
|
|
39
|
-
try {
|
|
40
|
-
reselectPrevious = deselectCurrent();
|
|
41
|
-
range = document.createRange();
|
|
42
|
-
selection = document.getSelection();
|
|
43
|
-
mark = document.createElement('span');
|
|
44
|
-
mark.textContent = text;
|
|
45
|
-
mark.ariaHidden = 'true';
|
|
46
|
-
mark.style.all = 'unset';
|
|
47
|
-
mark.style.position = 'fixed';
|
|
48
|
-
mark.style.top = '0';
|
|
49
|
-
mark.style.clip = 'rect(0, 0, 0, 0)';
|
|
50
|
-
mark.style.whiteSpace = 'pre';
|
|
51
|
-
mark.style.webkitUserSelect = 'text';
|
|
52
|
-
mark.style.MozUserSelect = 'text';
|
|
53
|
-
mark.style.msUserSelect = 'text';
|
|
54
|
-
mark.style.userSelect = 'text';
|
|
55
|
-
mark.addEventListener('copy', e => {
|
|
56
|
-
e.stopPropagation();
|
|
57
|
-
if (options?.format) {
|
|
58
|
-
e.preventDefault();
|
|
59
|
-
if (e.clipboardData) {
|
|
60
|
-
e.clipboardData.clearData();
|
|
61
|
-
e.clipboardData.setData(options.format, text);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (options?.onCopy && e.clipboardData) {
|
|
65
|
-
e.preventDefault();
|
|
66
|
-
options.onCopy(e.clipboardData);
|
|
67
|
-
}
|
|
1
|
+
export default function copy(text) {
|
|
2
|
+
const clip = navigator.clipboard;
|
|
3
|
+
if (clip?.writeText) {
|
|
4
|
+
clip.writeText(text).catch((e) => {
|
|
5
|
+
console.error('Failed to copy to clipboard:', e);
|
|
68
6
|
});
|
|
69
|
-
|
|
70
|
-
range.selectNodeContents(mark);
|
|
71
|
-
selection?.addRange(range);
|
|
72
|
-
const successful = document.execCommand('copy');
|
|
73
|
-
if (!successful) {
|
|
74
|
-
throw new Error('copy command was unsuccessful');
|
|
75
|
-
}
|
|
76
|
-
success = true;
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
if (debug) {
|
|
80
|
-
console.error('unable to copy using execCommand:', err);
|
|
81
|
-
}
|
|
82
|
-
try {
|
|
83
|
-
const clipboardData = window
|
|
84
|
-
.clipboardData;
|
|
85
|
-
if (clipboardData) {
|
|
86
|
-
clipboardData.setData(options?.format || 'text', text);
|
|
87
|
-
options?.onCopy?.(clipboardData);
|
|
88
|
-
success = true;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (err2) {
|
|
92
|
-
if (debug) {
|
|
93
|
-
console.error('unable to copy using clipboardData:', err2);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
finally {
|
|
98
|
-
if (selection) {
|
|
99
|
-
if (typeof selection.removeRange === 'function' && range) {
|
|
100
|
-
selection.removeRange(range);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
selection.removeAllRanges();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
if (mark) {
|
|
107
|
-
mark.remove();
|
|
108
|
-
}
|
|
109
|
-
reselectPrevious?.();
|
|
7
|
+
return;
|
|
110
8
|
}
|
|
111
|
-
|
|
9
|
+
const textarea = document.createElement('textarea');
|
|
10
|
+
textarea.value = text;
|
|
11
|
+
textarea.style.position = 'fixed';
|
|
12
|
+
textarea.style.opacity = '0';
|
|
13
|
+
document.body.append(textarea);
|
|
14
|
+
textarea.select();
|
|
15
|
+
document.execCommand('copy');
|
|
16
|
+
textarea.remove();
|
|
112
17
|
}
|
|
113
18
|
//# sourceMappingURL=copyToClipboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyToClipboard.js","sourceRoot":"","sources":["../../src/vendor/copyToClipboard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"copyToClipboard.js","sourceRoot":"","sources":["../../src/vendor/copyToClipboard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAkC,CAAA;IACzD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;YACxC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAA;AACnB,CAAC"}
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* FileSaver.js
|
|
3
|
-
* A saveAs() FileSaver implementation.
|
|
4
|
-
*
|
|
5
|
-
* By Eli Grey, http://eligrey.com
|
|
6
|
-
* License: MIT
|
|
7
|
-
* source: http://purl.eligrey.com/github/FileSaver.js
|
|
8
|
-
*
|
|
9
|
-
* Vendored and converted to ESM/TypeScript for pure ESM compatibility.
|
|
10
|
-
*/
|
|
11
|
-
export declare function saveAs(blob: Blob | string, name?: string): void;
|
|
1
|
+
export declare function saveAs(blob: Blob, name: string): void;
|
package/dist/vendor/fileSaver.js
CHANGED
|
@@ -1,80 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FileSaver.js
|
|
3
|
-
* A saveAs() FileSaver implementation.
|
|
4
|
-
*
|
|
5
|
-
* By Eli Grey, http://eligrey.com
|
|
6
|
-
* License: MIT
|
|
7
|
-
* source: http://purl.eligrey.com/github/FileSaver.js
|
|
8
|
-
*
|
|
9
|
-
* Vendored and converted to ESM/TypeScript for pure ESM compatibility.
|
|
10
|
-
*/
|
|
11
|
-
function click(node) {
|
|
12
|
-
try {
|
|
13
|
-
node.dispatchEvent(new MouseEvent('click'));
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
const evt = document.createEvent('MouseEvents');
|
|
17
|
-
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);
|
|
18
|
-
node.dispatchEvent(evt);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
// Detect WebView inside a native macOS app by ruling out all browsers
|
|
22
|
-
const isMacOSWebView = typeof navigator !== 'undefined' &&
|
|
23
|
-
navigator.userAgent.includes('Macintosh') &&
|
|
24
|
-
navigator.userAgent.includes('AppleWebKit') &&
|
|
25
|
-
!navigator.userAgent.includes('Safari');
|
|
26
1
|
export function saveAs(blob, name) {
|
|
27
|
-
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const URL = window.URL;
|
|
2
|
+
const url = URL.createObjectURL(blob);
|
|
31
3
|
const a = document.createElement('a');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
a.href = blob;
|
|
39
|
-
click(a);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
a.href = URL.createObjectURL(blob);
|
|
43
|
-
setTimeout(() => {
|
|
44
|
-
URL.revokeObjectURL(a.href);
|
|
45
|
-
}, 40000);
|
|
46
|
-
setTimeout(() => {
|
|
47
|
-
click(a);
|
|
48
|
-
}, 0);
|
|
49
|
-
}
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
// Fallback for browsers without download attribute support
|
|
53
|
-
if (typeof blob === 'string') {
|
|
54
|
-
window.open(blob, '_blank');
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const isSafari = /constructor/i.test(window.HTMLElement?.toString() ??
|
|
58
|
-
'') || !!window.safari;
|
|
59
|
-
const isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent);
|
|
60
|
-
if ((isChromeIOS || isSafari || isMacOSWebView) &&
|
|
61
|
-
typeof FileReader !== 'undefined') {
|
|
62
|
-
const reader = new FileReader();
|
|
63
|
-
reader.onloadend = () => {
|
|
64
|
-
let url = reader.result;
|
|
65
|
-
url = isChromeIOS
|
|
66
|
-
? url
|
|
67
|
-
: url.replace(/^data:[^;]*;/, 'data:attachment/file;');
|
|
68
|
-
window.open(url, '_blank');
|
|
69
|
-
};
|
|
70
|
-
reader.readAsDataURL(blob);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
const url = URL.createObjectURL(blob);
|
|
74
|
-
window.open(url, '_blank');
|
|
75
|
-
setTimeout(() => {
|
|
76
|
-
URL.revokeObjectURL(url);
|
|
77
|
-
}, 40000);
|
|
78
|
-
}
|
|
4
|
+
a.href = url;
|
|
5
|
+
a.download = name;
|
|
6
|
+
a.click();
|
|
7
|
+
setTimeout(() => {
|
|
8
|
+
URL.revokeObjectURL(url);
|
|
9
|
+
}, 40_000);
|
|
79
10
|
}
|
|
80
11
|
//# sourceMappingURL=fileSaver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSaver.js","sourceRoot":"","sources":["../../src/vendor/fileSaver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fileSaver.js","sourceRoot":"","sources":["../../src/vendor/fileSaver.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,IAAY;IAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAA;IACZ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;IACjB,CAAC,CAAC,KAAK,EAAE,CAAA;IACT,UAAU,CAAC,GAAG,EAAE;QACd,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC,EAAE,MAAM,CAAC,CAAA;AACZ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "5.0.
|
|
1
|
+
export declare const version = "5.0.13";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '5.0.
|
|
1
|
+
export const version = '5.0.13';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-msaview",
|
|
3
3
|
"author": "Colin",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.13",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/GMOD/
|
|
9
|
+
"url": "https://github.com/GMOD/JBrowseMSA.git",
|
|
10
10
|
"directory": "packages/lib"
|
|
11
11
|
},
|
|
12
|
-
"main": "dist/index.js",
|
|
13
|
-
"module": "dist/index.js",
|
|
14
|
-
"types": "dist/index.d.ts",
|
|
15
12
|
"exports": {
|
|
16
13
|
".": {
|
|
17
14
|
"types": "./dist/index.d.ts",
|
|
18
15
|
"default": "./dist/index.js"
|
|
19
16
|
}
|
|
20
17
|
},
|
|
18
|
+
"types": "dist/index.d.ts",
|
|
21
19
|
"files": [
|
|
22
20
|
"dist",
|
|
23
21
|
"bundle",
|
|
@@ -37,17 +35,15 @@
|
|
|
37
35
|
"react-dom": ">=16.8.0"
|
|
38
36
|
},
|
|
39
37
|
"devDependencies": {
|
|
40
|
-
"@types/node": "^
|
|
38
|
+
"@types/node": "^25.6.0"
|
|
41
39
|
},
|
|
42
40
|
"dependencies": {
|
|
43
|
-
"@mui/icons-material": "^7.3.
|
|
44
|
-
"@mui/material": "^7.3.
|
|
41
|
+
"@mui/icons-material": "^7.3.10",
|
|
42
|
+
"@mui/material": "^7.3.10",
|
|
45
43
|
"colord": "^2.9.3",
|
|
46
|
-
"d3-array": "^3.2.4",
|
|
47
|
-
"d3-hierarchy": "^3.1.2",
|
|
48
44
|
"flatbush": "^4.5.1",
|
|
49
|
-
"@jbrowse/svgcanvas": "5.0.
|
|
50
|
-
"msa-parsers": "5.0.
|
|
45
|
+
"@jbrowse/svgcanvas": "5.0.13",
|
|
46
|
+
"msa-parsers": "5.0.13"
|
|
51
47
|
},
|
|
52
48
|
"scripts": {
|
|
53
49
|
"clean": "rimraf dist bundle",
|
|
@@ -59,5 +55,6 @@
|
|
|
59
55
|
"statedocs": "rm -rf apidocs && mkdir apidocs && node --experimental-strip-types docgen/generateStateModelDocs.ts",
|
|
60
56
|
"poststatedocs": "pnpm format",
|
|
61
57
|
"test": "vitest"
|
|
62
|
-
}
|
|
58
|
+
},
|
|
59
|
+
"main": "dist/index.js"
|
|
63
60
|
}
|