@jbrowse/core 2.18.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +6 -11
- package/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +16 -17
- package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -5
- package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +4 -6
- package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +5 -7
- package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -46
- package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +11 -27
- package/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -6
- package/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/Position.js +2 -5
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +2 -4
- package/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +2 -4
- package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +3 -4
- package/BaseFeatureWidget/BaseFeatureDetail/index.js +5 -7
- package/BaseFeatureWidget/BaseFeatureDetail/util.js +4 -8
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +10 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +48 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +33 -34
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +29 -22
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +8 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +28 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +2 -10
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +10 -75
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +5 -23
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +8 -42
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +98 -90
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +49 -53
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +18 -53
- package/BaseFeatureWidget/SequenceFeatureDetails/model.js +3 -10
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +6 -9
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +5 -8
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +3 -8
- package/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/types.js +2 -0
- package/CorePlugin.js +17 -7
- package/PluginManager.d.ts +2 -1
- package/PluginManager.js +4 -2
- package/ReExports/list.js +3 -0
- package/ReExports/modules.d.ts +4 -2
- package/ReExports/modules.js +29 -19
- package/TextSearch/BaseResults.d.ts +1 -1
- package/assemblyManager/assembly.js +4 -4
- package/configuration/configurationSlot.d.ts +1 -1
- package/data_adapters/CytobandAdapter/CytobandAdapter.js +1 -4
- package/data_adapters/CytobandAdapter/index.js +20 -7
- package/data_adapters/dataAdapterCache.d.ts +0 -1
- package/data_adapters/dataAdapterCache.js +2 -9
- package/data_adapters/util.d.ts +1 -0
- package/data_adapters/util.js +10 -0
- package/package.json +14 -16
- package/pluggableElementTypes/models/BaseTrackModel.js +9 -5
- package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +1 -2
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +2 -2
- package/pluggableElementTypes/renderers/RendererType.d.ts +2 -2
- package/pluggableElementTypes/renderers/RendererType.js +2 -2
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +1 -2
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +9 -65
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -2
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +9 -65
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +3 -3
- package/stories/examples/WithSequencePanel.d.ts +5 -6
- package/stories/examples/WithSequencePanel.js +6 -6
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AppLogo.d.ts +1 -2
- package/ui/AppLogo.js +2 -5
- package/ui/AssemblySelector.d.ts +3 -3
- package/ui/AssemblySelector.js +11 -33
- package/ui/BaseTooltip.d.ts +1 -2
- package/ui/BaseTooltip.js +9 -12
- package/ui/CascadingMenu.d.ts +1 -2
- package/ui/CascadingMenu.js +15 -53
- package/ui/CascadingMenuButton.d.ts +1 -2
- package/ui/CascadingMenuButton.js +17 -41
- package/ui/ColorPicker.d.ts +3 -4
- package/ui/ColorPicker.js +33 -31
- package/ui/Dialog.d.ts +1 -2
- package/ui/Dialog.js +13 -21
- package/ui/DraggableDialog.d.ts +5 -0
- package/ui/DraggableDialog.js +32 -0
- package/ui/DropDownMenu.d.ts +1 -2
- package/ui/DropDownMenu.js +8 -34
- package/ui/EditableTypography.d.ts +1 -2
- package/ui/EditableTypography.js +29 -54
- package/ui/ErrorBoundary.d.ts +2 -2
- package/ui/ErrorBoundary.js +3 -25
- package/ui/ErrorMessage.d.ts +1 -2
- package/ui/ErrorMessage.js +25 -25
- package/ui/ErrorMessageStackTraceDialog.d.ts +1 -2
- package/ui/ErrorMessageStackTraceDialog.js +11 -44
- package/ui/FactoryResetDialog.d.ts +1 -2
- package/ui/FactoryResetDialog.js +7 -12
- package/ui/FatalErrorDialog.d.ts +1 -2
- package/ui/FatalErrorDialog.js +10 -41
- package/ui/FileSelector/FileSelector.d.ts +1 -2
- package/ui/FileSelector/FileSelector.js +37 -76
- package/ui/FileSelector/LocalFileChooser.d.ts +1 -2
- package/ui/FileSelector/LocalFileChooser.js +17 -28
- package/ui/FileSelector/UrlChooser.d.ts +1 -2
- package/ui/FileSelector/UrlChooser.js +2 -5
- package/ui/Icons.d.ts +9 -10
- package/ui/Icons.js +10 -19
- package/ui/LoadingEllipses.d.ts +1 -2
- package/ui/LoadingEllipses.js +2 -5
- package/ui/Logo.d.ts +2 -3
- package/ui/Logo.js +5 -23
- package/ui/Menu.d.ts +2 -3
- package/ui/Menu.js +83 -113
- package/ui/MenuButton.d.ts +1 -2
- package/ui/MenuButton.js +11 -35
- package/ui/PrerenderedCanvas.d.ts +1 -2
- package/ui/PrerenderedCanvas.js +3 -25
- package/ui/RedErrorMessageBox.d.ts +1 -2
- package/ui/RedErrorMessageBox.js +2 -5
- package/ui/ResizeHandle.d.ts +1 -2
- package/ui/ResizeHandle.js +3 -25
- package/ui/ReturnToImportFormDialog.d.ts +1 -2
- package/ui/ReturnToImportFormDialog.js +7 -12
- package/ui/SanitizedHTML.d.ts +2 -3
- package/ui/SanitizedHTML.js +3 -3
- package/ui/Snackbar.d.ts +1 -2
- package/ui/Snackbar.js +41 -20
- package/ui/SnackbarContents.d.ts +5 -0
- package/ui/SnackbarContents.js +16 -0
- package/ui/SnackbarModel.js +20 -9
- package/ui/colors.js +1 -1
- package/ui/index.d.ts +0 -2
- package/ui/index.js +1 -5
- package/ui/react-colorful.js +17 -7
- package/ui/theme.js +7 -0
- package/util/index.d.ts +13 -11
- package/util/index.js +31 -11
- package/util/io/RemoteFileWithRangeCache.d.ts +3 -5
- package/util/io/RemoteFileWithRangeCache.js +8 -6
- package/util/io/index.d.ts +1 -1
- package/util/io/index.js +3 -3
- package/util/nanoid.d.ts +1 -1
- package/util/offscreenCanvasUtils.d.ts +2 -3
- package/util/offscreenCanvasUtils.js +21 -13
- package/util/tracks.d.ts +1 -1
- package/util/tracks.js +8 -3
- package/util/useMeasure.d.ts +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = SnackbarContents;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
9
|
+
const material_1 = require("@mui/material");
|
|
10
|
+
function SnackbarContents({ onClose, contents, }) {
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Snackbar, { open: true, onClose: onClose, anchorOrigin: { vertical: 'bottom', horizontal: 'center' }, children: (0, jsx_runtime_1.jsx)(material_1.Alert, { onClose: onClose, action: contents.action ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { color: "inherit", onClick: e => {
|
|
12
|
+
var _a;
|
|
13
|
+
(_a = contents.action) === null || _a === void 0 ? void 0 : _a.onClick();
|
|
14
|
+
onClose(e);
|
|
15
|
+
}, children: contents.action.name }), (0, jsx_runtime_1.jsx)(material_1.IconButton, { color: "inherit", onClick: onClose, children: (0, jsx_runtime_1.jsx)(Close_1.default, {}) })] })) : null, severity: contents.level || 'warning', children: contents.message }) }));
|
|
16
|
+
}
|
package/ui/SnackbarModel.js
CHANGED
|
@@ -15,19 +15,30 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
39
|
exports.default = SnackbarModel;
|
|
30
|
-
const
|
|
40
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
41
|
+
const react_1 = require("react");
|
|
31
42
|
const Report_1 = __importDefault(require("@mui/icons-material/Report"));
|
|
32
43
|
const mobx_1 = require("mobx");
|
|
33
44
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
@@ -54,7 +65,7 @@ function SnackbarModel() {
|
|
|
54
65
|
},
|
|
55
66
|
notifyError(errorMessage, error, extra) {
|
|
56
67
|
this.notify(errorMessage, 'error', {
|
|
57
|
-
name:
|
|
68
|
+
name: (0, jsx_runtime_1.jsx)(Report_1.default, {}),
|
|
58
69
|
onClick: () => {
|
|
59
70
|
self.queueDialog((onClose) => [
|
|
60
71
|
ErrorMessageStackTraceDialog,
|
package/ui/colors.js
CHANGED
package/ui/index.d.ts
CHANGED
|
@@ -5,13 +5,11 @@ export { default as CascadingMenu } from './CascadingMenu';
|
|
|
5
5
|
export { default as Dialog } from './Dialog';
|
|
6
6
|
export { default as EditableTypography } from './EditableTypography';
|
|
7
7
|
export { default as ErrorMessage } from './ErrorMessage';
|
|
8
|
-
export { default as FactoryResetDialog } from './FactoryResetDialog';
|
|
9
8
|
export { default as FatalErrorDialog } from './FatalErrorDialog';
|
|
10
9
|
export { default as FileSelector } from './FileSelector';
|
|
11
10
|
export { default as LoadingEllipses } from './LoadingEllipses';
|
|
12
11
|
export { default as Menu } from './Menu';
|
|
13
12
|
export { default as PrerenderedCanvas } from './PrerenderedCanvas';
|
|
14
|
-
export { default as ReturnToImportFormDialog } from './ReturnToImportFormDialog';
|
|
15
13
|
export { default as ResizeHandle } from './ResizeHandle';
|
|
16
14
|
export { default as SanitizedHTML } from './SanitizedHTML';
|
|
17
15
|
export * from './Menu';
|
package/ui/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.SanitizedHTML = exports.ResizeHandle = exports.
|
|
20
|
+
exports.SanitizedHTML = exports.ResizeHandle = exports.PrerenderedCanvas = exports.Menu = exports.LoadingEllipses = exports.FileSelector = exports.FatalErrorDialog = exports.ErrorMessage = exports.EditableTypography = exports.Dialog = exports.CascadingMenu = exports.AssemblySelector = exports.Logomark = exports.LogoFull = void 0;
|
|
21
21
|
__exportStar(require("./theme"), exports);
|
|
22
22
|
var Logo_1 = require("./Logo");
|
|
23
23
|
Object.defineProperty(exports, "LogoFull", { enumerable: true, get: function () { return Logo_1.LogoFull; } });
|
|
@@ -32,8 +32,6 @@ var EditableTypography_1 = require("./EditableTypography");
|
|
|
32
32
|
Object.defineProperty(exports, "EditableTypography", { enumerable: true, get: function () { return __importDefault(EditableTypography_1).default; } });
|
|
33
33
|
var ErrorMessage_1 = require("./ErrorMessage");
|
|
34
34
|
Object.defineProperty(exports, "ErrorMessage", { enumerable: true, get: function () { return __importDefault(ErrorMessage_1).default; } });
|
|
35
|
-
var FactoryResetDialog_1 = require("./FactoryResetDialog");
|
|
36
|
-
Object.defineProperty(exports, "FactoryResetDialog", { enumerable: true, get: function () { return __importDefault(FactoryResetDialog_1).default; } });
|
|
37
35
|
var FatalErrorDialog_1 = require("./FatalErrorDialog");
|
|
38
36
|
Object.defineProperty(exports, "FatalErrorDialog", { enumerable: true, get: function () { return __importDefault(FatalErrorDialog_1).default; } });
|
|
39
37
|
var FileSelector_1 = require("./FileSelector");
|
|
@@ -44,8 +42,6 @@ var Menu_1 = require("./Menu");
|
|
|
44
42
|
Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return __importDefault(Menu_1).default; } });
|
|
45
43
|
var PrerenderedCanvas_1 = require("./PrerenderedCanvas");
|
|
46
44
|
Object.defineProperty(exports, "PrerenderedCanvas", { enumerable: true, get: function () { return __importDefault(PrerenderedCanvas_1).default; } });
|
|
47
|
-
var ReturnToImportFormDialog_1 = require("./ReturnToImportFormDialog");
|
|
48
|
-
Object.defineProperty(exports, "ReturnToImportFormDialog", { enumerable: true, get: function () { return __importDefault(ReturnToImportFormDialog_1).default; } });
|
|
49
45
|
var ResizeHandle_1 = require("./ResizeHandle");
|
|
50
46
|
Object.defineProperty(exports, "ResizeHandle", { enumerable: true, get: function () { return __importDefault(ResizeHandle_1).default; } });
|
|
51
47
|
var SanitizedHTML_1 = require("./SanitizedHTML");
|
package/ui/react-colorful.js
CHANGED
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.setNonce = exports.RgbaStringColorPicker = exports.RgbaColorPicker = exports.RgbStringColorPicker = exports.RgbColorPicker = exports.HsvaStringColorPicker = exports.HsvaColorPicker = exports.HsvStringColorPicker = exports.HsvColorPicker = exports.HslaStringColorPicker = exports.HslaColorPicker = exports.HslStringColorPicker = exports.HslColorPicker = exports.HexColorPicker = exports.HexColorInput = void 0;
|
|
27
37
|
const react_1 = __importStar(require("react"));
|
package/ui/theme.js
CHANGED
package/util/index.d.ts
CHANGED
|
@@ -5,8 +5,7 @@ import type { Feature } from './simpleFeature';
|
|
|
5
5
|
import type { AssemblyManager, Region, TypeTestedByPredicate } from './types';
|
|
6
6
|
import type { Region as MUIRegion } from './types/mst';
|
|
7
7
|
import type { BaseOptions } from '../data_adapters/BaseAdapter';
|
|
8
|
-
import type {
|
|
9
|
-
import type { GenericFilehandle } from 'generic-filehandle';
|
|
8
|
+
import type { GenericFilehandle } from 'generic-filehandle2';
|
|
10
9
|
import type { IAnyStateTreeNode, IStateTreeNode, Instance } from 'mobx-state-tree';
|
|
11
10
|
export * from './types';
|
|
12
11
|
export * from './when';
|
|
@@ -17,7 +16,7 @@ export * from './offscreenCanvasUtils';
|
|
|
17
16
|
export declare function useDebounce<T>(value: T, delay: number): T;
|
|
18
17
|
export declare function useWidthSetter(view: {
|
|
19
18
|
setWidth: (arg: number) => void;
|
|
20
|
-
}, padding: string): React.RefObject<HTMLDivElement>;
|
|
19
|
+
}, padding: string): React.RefObject<HTMLDivElement | null>;
|
|
21
20
|
export declare function useDebouncedCallback<T>(callback: (...args: T[]) => void, wait?: number): (...args: T[]) => void;
|
|
22
21
|
export declare function findParentThat(node: IAnyStateTreeNode, predicate: (thing: IAnyStateTreeNode) => boolean): IAnyStateTreeNode;
|
|
23
22
|
export declare function springAnimate(fromValue: number, toValue: number, setValue: (value: number) => void, onFinish?: () => void, precision?: number, tension?: number, friction?: number, clamp?: boolean): (() => void)[];
|
|
@@ -226,9 +225,9 @@ export declare function getEnv(obj: any): {
|
|
|
226
225
|
};
|
|
227
226
|
export declare function localStorageGetItem(item: string): string | null | undefined;
|
|
228
227
|
export declare function localStorageSetItem(str: string, item: string): void;
|
|
229
|
-
export declare function max(arr: number
|
|
230
|
-
export declare function min(arr: number
|
|
231
|
-
export declare function sum(arr: number
|
|
228
|
+
export declare function max(arr: Iterable<number>, init?: number): number;
|
|
229
|
+
export declare function min(arr: Iterable<number>, init?: number): number;
|
|
230
|
+
export declare function sum(arr: Iterable<number>): number;
|
|
232
231
|
export declare function avg(arr: number[]): number;
|
|
233
232
|
export declare function groupBy<T>(array: Iterable<T>, predicate: (v: T) => string): Record<string, T[]>;
|
|
234
233
|
export declare function notEmpty<T>(value: T | null | undefined): value is T;
|
|
@@ -251,11 +250,14 @@ export declare function getFillProps(str: string): {
|
|
|
251
250
|
fillOpacity: number;
|
|
252
251
|
fill: string;
|
|
253
252
|
};
|
|
254
|
-
export declare function renderToStaticMarkup(node: React.ReactElement
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
export declare function
|
|
258
|
-
export declare function
|
|
253
|
+
export declare function renderToStaticMarkup(node: React.ReactElement): string;
|
|
254
|
+
export declare function isGzip(buf: Uint8Array): boolean;
|
|
255
|
+
export declare function fetchAndMaybeUnzip(loc: GenericFilehandle, opts?: BaseOptions): Promise<Uint8Array<ArrayBufferLike>>;
|
|
256
|
+
export declare function fetchAndMaybeUnzipText(loc: GenericFilehandle, opts?: BaseOptions): Promise<string>;
|
|
257
|
+
export declare function isObject(x: unknown): x is Record<string | symbol | number, unknown>;
|
|
258
|
+
export declare function localStorageGetNumber(key: string, defaultVal: number): number;
|
|
259
|
+
export declare function localStorageGetBoolean(key: string, defaultVal: boolean): boolean;
|
|
260
|
+
export declare function testAdapter(fileName: string, regex: RegExp, adapterHint: string | undefined, expected: string): boolean;
|
|
259
261
|
export { type Feature, type SimpleFeatureSerialized, type SimpleFeatureSerializedNoId, default as SimpleFeature, isFeature, } from './simpleFeature';
|
|
260
262
|
export { blobToDataURL } from './blobToDataURL';
|
|
261
263
|
export { makeAbortableReaction } from './makeAbortableReaction';
|
package/util/index.js
CHANGED
|
@@ -90,12 +90,17 @@ exports.getFillProps = getFillProps;
|
|
|
90
90
|
exports.renderToStaticMarkup = renderToStaticMarkup;
|
|
91
91
|
exports.isGzip = isGzip;
|
|
92
92
|
exports.fetchAndMaybeUnzip = fetchAndMaybeUnzip;
|
|
93
|
+
exports.fetchAndMaybeUnzipText = fetchAndMaybeUnzipText;
|
|
94
|
+
exports.isObject = isObject;
|
|
95
|
+
exports.localStorageGetNumber = localStorageGetNumber;
|
|
96
|
+
exports.localStorageGetBoolean = localStorageGetBoolean;
|
|
97
|
+
exports.testAdapter = testAdapter;
|
|
93
98
|
const react_1 = require("react");
|
|
94
99
|
const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
|
|
95
100
|
const useMeasure_1 = __importDefault(require("@jbrowse/core/util/useMeasure"));
|
|
96
|
-
const is_object_1 = __importDefault(require("is-object"));
|
|
97
101
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
98
102
|
const react_dom_1 = require("react-dom");
|
|
103
|
+
const client_1 = require("react-dom/client");
|
|
99
104
|
const colord_1 = require("./colord");
|
|
100
105
|
const stopToken_1 = require("./stopToken");
|
|
101
106
|
const types_1 = require("./types");
|
|
@@ -129,8 +134,8 @@ function useWidthSetter(view, padding) {
|
|
|
129
134
|
return ref;
|
|
130
135
|
}
|
|
131
136
|
function useDebouncedCallback(callback, wait = 400) {
|
|
132
|
-
const argsRef = (0, react_1.useRef)();
|
|
133
|
-
const timeout = (0, react_1.useRef)();
|
|
137
|
+
const argsRef = (0, react_1.useRef)(null);
|
|
138
|
+
const timeout = (0, react_1.useRef)(null);
|
|
134
139
|
(0, react_1.useEffect)(() => {
|
|
135
140
|
if (timeout.current) {
|
|
136
141
|
clearTimeout(timeout.current);
|
|
@@ -829,7 +834,7 @@ function getUriLink(value) {
|
|
|
829
834
|
return href;
|
|
830
835
|
}
|
|
831
836
|
function getStr(obj) {
|
|
832
|
-
return (
|
|
837
|
+
return isObject(obj)
|
|
833
838
|
? (0, types_1.isUriLocation)(obj)
|
|
834
839
|
? getUriLink(obj)
|
|
835
840
|
: JSON.stringify(obj)
|
|
@@ -949,15 +954,10 @@ function getFillProps(str) {
|
|
|
949
954
|
fill: c.alpha(1).toHex(),
|
|
950
955
|
};
|
|
951
956
|
}
|
|
952
|
-
function renderToStaticMarkup(node
|
|
957
|
+
function renderToStaticMarkup(node) {
|
|
953
958
|
const div = document.createElement('div');
|
|
954
959
|
(0, react_dom_1.flushSync)(() => {
|
|
955
|
-
|
|
956
|
-
createRootFn(div).render(node);
|
|
957
|
-
}
|
|
958
|
-
else {
|
|
959
|
-
(0, react_dom_1.render)(node, div);
|
|
960
|
-
}
|
|
960
|
+
(0, client_1.createRoot)(div).render(node);
|
|
961
961
|
});
|
|
962
962
|
return div.innerHTML.replaceAll(/\brgba\((.+?),[^,]+?\)/g, 'rgb($1)');
|
|
963
963
|
}
|
|
@@ -971,6 +971,26 @@ async function fetchAndMaybeUnzip(loc, opts) {
|
|
|
971
971
|
? await updateStatus('Unzipping', statusCallback, () => (0, bgzf_filehandle_1.unzip)(buf))
|
|
972
972
|
: buf;
|
|
973
973
|
}
|
|
974
|
+
async function fetchAndMaybeUnzipText(loc, opts) {
|
|
975
|
+
const buffer = await fetchAndMaybeUnzip(loc, opts);
|
|
976
|
+
if (buffer.length > 536870888) {
|
|
977
|
+
throw new Error('Data exceeds maximum string length (512MB)');
|
|
978
|
+
}
|
|
979
|
+
return new TextDecoder('utf8', { fatal: true }).decode(buffer);
|
|
980
|
+
}
|
|
981
|
+
function isObject(x) {
|
|
982
|
+
return typeof x === 'object' && x !== null;
|
|
983
|
+
}
|
|
984
|
+
function localStorageGetNumber(key, defaultVal) {
|
|
985
|
+
var _a;
|
|
986
|
+
return +((_a = localStorageGetItem(key)) !== null && _a !== void 0 ? _a : defaultVal);
|
|
987
|
+
}
|
|
988
|
+
function localStorageGetBoolean(key, defaultVal) {
|
|
989
|
+
return Boolean(JSON.parse(localStorageGetItem(key) || JSON.stringify(defaultVal)));
|
|
990
|
+
}
|
|
991
|
+
function testAdapter(fileName, regex, adapterHint, expected) {
|
|
992
|
+
return (regex.test(fileName) && !adapterHint) || adapterHint === expected;
|
|
993
|
+
}
|
|
974
994
|
var simpleFeature_1 = require("./simpleFeature");
|
|
975
995
|
Object.defineProperty(exports, "SimpleFeature", { enumerable: true, get: function () { return __importDefault(simpleFeature_1).default; } });
|
|
976
996
|
Object.defineProperty(exports, "isFeature", { enumerable: true, get: function () { return simpleFeature_1.isFeature; } });
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RemoteFile } from 'generic-filehandle';
|
|
3
|
-
import type { PolyfilledResponse } from 'generic-filehandle';
|
|
1
|
+
import { RemoteFile } from 'generic-filehandle2';
|
|
4
2
|
export interface BinaryRangeResponse {
|
|
5
3
|
headers: Record<string, string>;
|
|
6
4
|
requestDate: Date;
|
|
7
5
|
responseDate: Date;
|
|
8
|
-
buffer:
|
|
6
|
+
buffer: Uint8Array;
|
|
9
7
|
}
|
|
10
8
|
export declare function clearCache(): void;
|
|
11
9
|
export declare class RemoteFileWithRangeCache extends RemoteFile {
|
|
12
|
-
fetch(url: RequestInfo, init?: RequestInit): Promise<
|
|
10
|
+
fetch(url: string | RequestInfo, init?: RequestInit): Promise<Response>;
|
|
13
11
|
fetchBinaryRange(url: string, start: number, end: number, options?: {
|
|
14
12
|
headers?: HeadersInit;
|
|
15
13
|
stopToken?: string;
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RemoteFileWithRangeCache = void 0;
|
|
4
4
|
exports.clearCache = clearCache;
|
|
5
|
-
const buffer_1 = require("buffer");
|
|
6
5
|
const http_range_fetcher_1 = require("@gmod/http-range-fetcher");
|
|
7
|
-
const
|
|
6
|
+
const generic_filehandle2_1 = require("generic-filehandle2");
|
|
8
7
|
const fetchers = {};
|
|
9
8
|
function binaryRangeFetch(url, start, end, options = {}) {
|
|
10
9
|
const fetcher = fetchers[url];
|
|
@@ -23,7 +22,7 @@ const globalRangeCache = new http_range_fetcher_1.HttpRangeFetcher({
|
|
|
23
22
|
function clearCache() {
|
|
24
23
|
globalRangeCache.reset();
|
|
25
24
|
}
|
|
26
|
-
class RemoteFileWithRangeCache extends
|
|
25
|
+
class RemoteFileWithRangeCache extends generic_filehandle2_1.RemoteFile {
|
|
27
26
|
async fetch(url, init) {
|
|
28
27
|
const str = String(url);
|
|
29
28
|
if (!fetchers[str]) {
|
|
@@ -37,8 +36,11 @@ class RemoteFileWithRangeCache extends generic_filehandle_1.RemoteFile {
|
|
|
37
36
|
const s = Number.parseInt(start, 10);
|
|
38
37
|
const e = Number.parseInt(end, 10);
|
|
39
38
|
const len = e - s;
|
|
40
|
-
const { buffer, headers } = (await globalRangeCache.getRange(url
|
|
41
|
-
return new Response(buffer, {
|
|
39
|
+
const { buffer, headers } = (await globalRangeCache.getRange(`${url}`, s, len + 1));
|
|
40
|
+
return new Response(buffer, {
|
|
41
|
+
status: 206,
|
|
42
|
+
headers,
|
|
43
|
+
});
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
return super.fetch(url, init);
|
|
@@ -67,7 +69,7 @@ class RemoteFileWithRangeCache extends generic_filehandle_1.RemoteFile {
|
|
|
67
69
|
headers,
|
|
68
70
|
requestDate,
|
|
69
71
|
responseDate,
|
|
70
|
-
buffer:
|
|
72
|
+
buffer: new Uint8Array(arrayBuffer),
|
|
71
73
|
};
|
|
72
74
|
}
|
|
73
75
|
}
|
package/util/io/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type PluginManager from '../../PluginManager';
|
|
2
2
|
import type { FileLocation, UriLocation } from '../types';
|
|
3
|
-
import type { Fetcher, GenericFilehandle } from 'generic-
|
|
3
|
+
import type { Fetcher, GenericFilehandle } from 'generic-filehandle2';
|
|
4
4
|
export declare function resolveUriLocation(location: UriLocation): UriLocation;
|
|
5
5
|
export declare function openLocation(location: FileLocation, pluginManager?: PluginManager): GenericFilehandle;
|
|
6
6
|
export declare function getFetcher(location: FileLocation, pluginManager?: PluginManager): Fetcher;
|
package/util/io/index.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.resolveUriLocation = resolveUriLocation;
|
|
|
8
8
|
exports.openLocation = openLocation;
|
|
9
9
|
exports.getFetcher = getFetcher;
|
|
10
10
|
const detect_node_1 = __importDefault(require("detect-node"));
|
|
11
|
-
const
|
|
11
|
+
const generic_filehandle2_1 = require("generic-filehandle2");
|
|
12
12
|
const RemoteFileWithRangeCache_1 = require("./RemoteFileWithRangeCache");
|
|
13
13
|
const __1 = require("../");
|
|
14
14
|
const tracks_1 = require("../tracks");
|
|
@@ -30,7 +30,7 @@ function openLocation(location, pluginManager) {
|
|
|
30
30
|
throw new Error('No local path provided');
|
|
31
31
|
}
|
|
32
32
|
if (detect_node_1.default || __1.isElectron) {
|
|
33
|
-
return new
|
|
33
|
+
return new generic_filehandle2_1.LocalFile(location.localPath);
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
36
|
throw new Error("can't use local files in the browser");
|
|
@@ -41,7 +41,7 @@ function openLocation(location, pluginManager) {
|
|
|
41
41
|
if (!blob) {
|
|
42
42
|
throw new Error(`file ("${location.name}") was opened locally from a previous session. To restore it, go to track settings and reopen the file`);
|
|
43
43
|
}
|
|
44
|
-
return new
|
|
44
|
+
return new generic_filehandle2_1.BlobFile(blob);
|
|
45
45
|
}
|
|
46
46
|
if ((0, types_1.isUriLocation)(location)) {
|
|
47
47
|
if (!location.uri) {
|
package/util/nanoid.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const urlAlphabet: "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
2
|
-
export function random(bytes: any): Uint8Array
|
|
2
|
+
export function random(bytes: any): Uint8Array<any>;
|
|
3
3
|
export function customRandom(alphabet: any, defaultSize: any, getRandom: any): (size?: any) => string;
|
|
4
4
|
export function customAlphabet(alphabet: any, size?: number): (size?: any) => string;
|
|
5
5
|
export function nanoid(size?: number): string;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
export type RenderReturn = Record<string, unknown> | undefined;
|
|
3
2
|
type RendererRet = Promise<RenderReturn> | RenderReturn;
|
|
4
3
|
export declare function renderToAbstractCanvas(width: number, height: number, opts: {
|
|
@@ -10,7 +9,7 @@ export declare function renderToAbstractCanvas(width: number, height: number, op
|
|
|
10
9
|
}, cb: (ctx: CanvasRenderingContext2D) => RendererRet): Promise<{
|
|
11
10
|
canvasRecordedData: any;
|
|
12
11
|
} | {
|
|
13
|
-
reactElement:
|
|
12
|
+
reactElement: import("react/jsx-runtime").JSX.Element;
|
|
14
13
|
} | {
|
|
15
14
|
imageData: any;
|
|
16
15
|
}>;
|
|
@@ -24,5 +23,5 @@ export declare function ReactRendering({ rendering, }: {
|
|
|
24
23
|
reactElement?: React.ReactNode;
|
|
25
24
|
html?: string;
|
|
26
25
|
};
|
|
27
|
-
}):
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
28
27
|
export {};
|
|
@@ -15,21 +15,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
28
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
36
|
exports.renderToAbstractCanvas = renderToAbstractCanvas;
|
|
30
37
|
exports.getSerializedSvg = getSerializedSvg;
|
|
31
38
|
exports.ReactRendering = ReactRendering;
|
|
32
|
-
const
|
|
39
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
+
const react_1 = require("react");
|
|
33
41
|
const canvas_sequencer_1 = require("canvas-sequencer");
|
|
34
42
|
const blobToDataURL_1 = require("./blobToDataURL");
|
|
35
43
|
const offscreenCanvasPonyfill_1 = require("./offscreenCanvasPonyfill");
|
|
@@ -55,7 +63,7 @@ async function renderToAbstractCanvas(width, height, opts, cb) {
|
|
|
55
63
|
const result = await cb(ctx);
|
|
56
64
|
return {
|
|
57
65
|
...result,
|
|
58
|
-
reactElement: (
|
|
66
|
+
reactElement: ((0, jsx_runtime_1.jsx)("image", { width: width, height: height, xlinkHref: 'convertToBlob' in canvas
|
|
59
67
|
? await (0, blobToDataURL_1.blobToDataURL)(await canvas.convertToBlob({
|
|
60
68
|
type: 'image/png',
|
|
61
69
|
}))
|
|
@@ -84,5 +92,5 @@ async function getSerializedSvg(results) {
|
|
|
84
92
|
return ctx.getSvg().innerHTML;
|
|
85
93
|
}
|
|
86
94
|
function ReactRendering({ rendering, }) {
|
|
87
|
-
return react_1.
|
|
95
|
+
return (0, react_1.isValidElement)(rendering.reactElement) ? (rendering.reactElement) : ((0, jsx_runtime_1.jsx)("g", { dangerouslySetInnerHTML: { __html: rendering.html || '' } }));
|
|
88
96
|
}
|
package/util/tracks.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export declare function generateUnsupportedTrackConf(trackName: string, trackUrl
|
|
|
43
43
|
category: string[] | undefined;
|
|
44
44
|
trackId: string;
|
|
45
45
|
};
|
|
46
|
-
export declare function generateUnknownTrackConf(trackName: string, trackUrl: string, categories
|
|
46
|
+
export declare function generateUnknownTrackConf(trackName: string, trackUrl: string, categories?: string[]): {
|
|
47
47
|
type: string;
|
|
48
48
|
name: string;
|
|
49
49
|
description: string;
|
package/util/tracks.js
CHANGED
|
@@ -79,15 +79,20 @@ function storeBlobLocation(location) {
|
|
|
79
79
|
}
|
|
80
80
|
function makeIndex(location, suffix) {
|
|
81
81
|
if ('uri' in location) {
|
|
82
|
-
return {
|
|
82
|
+
return {
|
|
83
|
+
uri: location.uri + suffix,
|
|
84
|
+
locationType: 'UriLocation',
|
|
85
|
+
};
|
|
83
86
|
}
|
|
84
|
-
if ('localPath' in location) {
|
|
87
|
+
else if ('localPath' in location) {
|
|
85
88
|
return {
|
|
86
89
|
localPath: location.localPath + suffix,
|
|
87
90
|
locationType: 'LocalPathLocation',
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
|
-
|
|
93
|
+
else {
|
|
94
|
+
return location;
|
|
95
|
+
}
|
|
91
96
|
}
|
|
92
97
|
function makeIndexType(name, typeA, typeB) {
|
|
93
98
|
return (name === null || name === void 0 ? void 0 : name.toUpperCase().endsWith(typeA)) ? typeA : typeB;
|
package/util/useMeasure.d.ts
CHANGED