@jbrowse/core 2.11.2 → 2.12.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.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +17 -22
- package/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/index.js +4 -6
- package/BaseFeatureWidget/BaseFeatureDetail/util.js +4 -5
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +24 -85
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +3 -4
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +55 -24
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +9 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +69 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +126 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +6 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +68 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -10
- package/BaseFeatureWidget/SequenceFeatureDetails/hooks.js +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +47 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/model.js +84 -11
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +3 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +76 -19
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +5 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +12 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +7 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +51 -5
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +5 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +12 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +11 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +30 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +11 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/util.js +42 -0
- package/BaseFeatureWidget/stateModelFactory.d.ts +26 -0
- package/BaseFeatureWidget/stateModelFactory.js +1 -2
- package/BaseFeatureWidget/util.d.ts +5 -5
- package/BaseFeatureWidget/util.js +6 -7
- package/PluginLoader.js +4 -5
- package/PluginManager.d.ts +7 -17
- package/ReExports/modules.d.ts +7 -16
- package/TextSearch/TextSearchManager.d.ts +6 -2
- package/assemblyManager/assembly.js +1 -1
- package/assemblyManager/assemblyManager.d.ts +9 -82
- package/configuration/configurationSchema.d.ts +7 -1
- package/configuration/configurationSchema.js +2 -3
- package/configuration/configurationSlot.js +1 -1
- package/configuration/util.d.ts +1 -1
- package/configuration/util.js +7 -8
- package/data_adapters/BaseAdapter/util.js +5 -6
- package/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +0 -1
- package/data_adapters/CytobandAdapter/CytobandAdapter.js +1 -2
- package/data_adapters/CytobandAdapter/index.js +1 -1
- package/data_adapters/dataAdapterCache.js +4 -5
- package/package.json +4 -2
- package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +1 -3
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +3 -3
- package/pluggableElementTypes/models/BaseTrackModel.d.ts +6 -2
- package/pluggableElementTypes/models/BaseTrackModel.js +2 -3
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +13 -13
- package/pluggableElementTypes/models/baseTrackConfig.js +1 -2
- package/rpc/BaseRpcDriver.js +1 -2
- package/rpc/methods/util.js +1 -2
- package/rpc/remoteAbortSignals.js +5 -6
- package/stories/JBrowseCore.stories.d.ts +5 -0
- package/stories/JBrowseCore.stories.js +10 -0
- package/stories/examples/WithSequencePanel.d.ts +7 -0
- package/stories/examples/WithSequencePanel.js +42 -0
- package/stories/examples/index.d.ts +1 -0
- package/stories/examples/index.js +17 -0
- package/stories/examples/util.d.ts +33 -0
- package/stories/examples/util.js +235 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/ColorPicker.js +3 -3
- package/ui/Dialog.js +2 -1
- package/ui/ErrorMessageStackTraceDialog.js +1 -1
- package/ui/FactoryResetDialog.js +1 -1
- package/ui/FatalErrorDialog.js +1 -1
- package/ui/Icons.js +9 -10
- package/ui/LoadingEllipses.js +1 -1
- package/ui/Logo.js +2 -3
- package/ui/Menu.js +1 -2
- package/ui/RedErrorMessageBox.js +1 -1
- package/ui/SanitizedHTML.js +1 -1
- package/ui/SnackbarModel.js +1 -1
- package/ui/theme.js +3 -3
- package/util/Base1DUtils.d.ts +1 -1
- package/util/Base1DUtils.js +7 -12
- package/util/Base1DViewModel.d.ts +6 -17
- package/util/Base1DViewModel.js +6 -12
- package/util/aborting.js +5 -6
- package/util/analytics.js +3 -4
- package/util/blobToDataURL.js +1 -2
- package/util/calculateDynamicBlocks.js +1 -1
- package/util/calculateStaticBlocks.js +1 -1
- package/util/color/cssColorsLevel4.js +2 -3
- package/util/color/index.js +4 -4
- package/util/dedupe.js +1 -2
- package/util/formatFastaStrings.js +2 -3
- package/util/idMaker.js +1 -1
- package/util/index.d.ts +3 -3
- package/util/index.js +70 -71
- package/util/io/RemoteFileWithRangeCache.d.ts +0 -1
- package/util/io/RemoteFileWithRangeCache.js +2 -2
- package/util/io/index.js +4 -4
- package/util/jexl.js +1 -1
- package/util/jexlStrings.js +1 -2
- package/util/map-obj.js +1 -1
- package/util/mst-reflection.js +6 -7
- package/util/offscreenCanvasPonyfill.js +2 -2
- package/util/offscreenCanvasUtils.js +3 -4
- package/util/range.js +3 -4
- package/util/rxjs.js +1 -2
- package/util/simpleFeature.js +1 -2
- package/util/stats.js +5 -6
- package/util/tracks.d.ts +3 -2
- package/util/tracks.js +24 -20
- package/util/types/index.d.ts +4 -1
- package/util/types/index.js +23 -23
- package/util/types/mst.d.ts +0 -1
- package/util/useMeasure.d.ts +2 -3
- package/util/useMeasure.js +1 -1
- package/util/when.js +2 -3
- package/ui/useResizeBar.d.ts +0 -5
- package/ui/useResizeBar.js +0 -22
package/ui/ColorPicker.js
CHANGED
|
@@ -23,7 +23,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.PopoverPicker = void 0;
|
|
27
|
+
exports.ColorPopover = ColorPopover;
|
|
28
|
+
exports.ColorPicker = ColorPicker;
|
|
27
29
|
const react_1 = __importStar(require("react"));
|
|
28
30
|
const colord_1 = require("@jbrowse/core/util/colord");
|
|
29
31
|
const material_1 = require("@mui/material");
|
|
@@ -64,7 +66,6 @@ function ColorPopover({ anchorEl, onChange, onClose, color, }) {
|
|
|
64
66
|
return (react_1.default.createElement(material_1.Popover, { open: !!anchorEl, anchorEl: anchorEl, onClose: onClose },
|
|
65
67
|
react_1.default.createElement(ColorPicker, { color: color, onChange: onChange })));
|
|
66
68
|
}
|
|
67
|
-
exports.ColorPopover = ColorPopover;
|
|
68
69
|
function ColorPicker({ onChange, color, }) {
|
|
69
70
|
const { classes } = useStyles();
|
|
70
71
|
const [val, setVal] = (0, util_1.useLocalStorage)('colorPickerPalette', 'set1');
|
|
@@ -91,5 +92,4 @@ function ColorPicker({ onChange, color, }) {
|
|
|
91
92
|
react_1.default.createElement("div", { className: classes.swatches }, presetColors.map((presetColor, idx) => (react_1.default.createElement("button", { key: `${presetColor}-${idx}`, className: classes.swatch, style: { background: presetColor }, onClick: () => handleChange(presetColor) })))),
|
|
92
93
|
react_1.default.createElement(material_1.TextField, { helperText: 'Manually set color (hex, rgb, or css color name)', value: text, onChange: event => handleChange(event.target.value) }))));
|
|
93
94
|
}
|
|
94
|
-
exports.ColorPicker = ColorPicker;
|
|
95
95
|
exports.default = exports.PopoverPicker;
|
package/ui/Dialog.js
CHANGED
|
@@ -12,6 +12,7 @@ const react_error_boundary_1 = require("react-error-boundary");
|
|
|
12
12
|
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
13
13
|
// locals
|
|
14
14
|
const ErrorMessage_1 = __importDefault(require("./ErrorMessage"));
|
|
15
|
+
const SanitizedHTML_1 = __importDefault(require("./SanitizedHTML"));
|
|
15
16
|
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
16
17
|
closeButton: {
|
|
17
18
|
position: 'absolute',
|
|
@@ -31,7 +32,7 @@ const Dialog = (0, mobx_react_1.observer)(function (props) {
|
|
|
31
32
|
return (react_1.default.createElement(material_1.Dialog, { ...props },
|
|
32
33
|
react_1.default.createElement(material_1.ScopedCssBaseline, null,
|
|
33
34
|
react_1.default.isValidElement(header) ? (header) : (react_1.default.createElement(material_1.DialogTitle, null,
|
|
34
|
-
title,
|
|
35
|
+
react_1.default.createElement(SanitizedHTML_1.default, { html: title || '' }),
|
|
35
36
|
onClose ? (react_1.default.createElement(material_1.IconButton, { className: classes.closeButton, onClick: () => {
|
|
36
37
|
// @ts-expect-error
|
|
37
38
|
onClose();
|
|
@@ -26,6 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.default = ErrorMessageStackTraceDialog;
|
|
29
30
|
const react_1 = __importStar(require("react"));
|
|
30
31
|
const material_1 = require("@mui/material");
|
|
31
32
|
const mui_1 = require("tss-react/mui");
|
|
@@ -187,4 +188,3 @@ function ErrorMessageStackTraceDialog({ error, onClose, extra, }) {
|
|
|
187
188
|
} }, clicked ? 'Copied!' : 'Copy stack trace to clipboard'),
|
|
188
189
|
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: onClose }, "Close"))));
|
|
189
190
|
}
|
|
190
|
-
exports.default = ErrorMessageStackTraceDialog;
|
package/ui/FactoryResetDialog.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = FactoryResetDialog;
|
|
6
7
|
const react_1 = __importDefault(require("react"));
|
|
7
8
|
const material_1 = require("@mui/material");
|
|
8
9
|
const Dialog_1 = __importDefault(require("@jbrowse/core/ui/Dialog"));
|
|
@@ -20,4 +21,3 @@ function FactoryResetDialog({ onClose, open, onFactoryReset, }) {
|
|
|
20
21
|
react_1.default.createElement(material_1.Button, { onClick: () => handleDialogClose(), color: "primary" }, "Cancel"),
|
|
21
22
|
react_1.default.createElement(material_1.Button, { onClick: () => handleDialogClose('reset'), color: "primary", variant: "contained" }, "OK"))));
|
|
22
23
|
}
|
|
23
|
-
exports.default = FactoryResetDialog;
|
package/ui/FatalErrorDialog.js
CHANGED
|
@@ -26,6 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.default = FatalErrorDialog;
|
|
29
30
|
const react_1 = __importStar(require("react"));
|
|
30
31
|
const material_1 = require("@mui/material");
|
|
31
32
|
const FactoryResetDialog_1 = __importDefault(require("./FactoryResetDialog"));
|
|
@@ -46,4 +47,3 @@ function FatalErrorDialog({ componentStack, error = 'No error message provided',
|
|
|
46
47
|
react_1.default.createElement(material_1.Button, { color: "secondary", variant: "contained", onClick: () => window.location.reload() }, "Refresh"),
|
|
47
48
|
react_1.default.createElement(ResetComponent, { onFactoryReset: onFactoryReset, resetButtonText: resetButtonText }))));
|
|
48
49
|
}
|
|
49
|
-
exports.default = FatalErrorDialog;
|
package/ui/Icons.js
CHANGED
|
@@ -3,7 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.ContentCopy = ContentCopy;
|
|
7
|
+
exports.Indexing = Indexing;
|
|
8
|
+
exports.ContentCut = ContentCut;
|
|
9
|
+
exports.ContentPaste = ContentPaste;
|
|
10
|
+
exports.TrackSelector = TrackSelector;
|
|
11
|
+
exports.SaveAs = SaveAs;
|
|
12
|
+
exports.Save = Save;
|
|
13
|
+
exports.DNA = DNA;
|
|
14
|
+
exports.Cable = Cable;
|
|
7
15
|
const SvgIcon_1 = __importDefault(require("@mui/material/SvgIcon"));
|
|
8
16
|
const react_1 = __importDefault(require("react"));
|
|
9
17
|
// Icons below come from https://material.io/resources/icons/?icon=line_style&style=baseline
|
|
@@ -11,49 +19,40 @@ function ContentCopy(props) {
|
|
|
11
19
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
12
20
|
react_1.default.createElement("path", { d: "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" })));
|
|
13
21
|
}
|
|
14
|
-
exports.ContentCopy = ContentCopy;
|
|
15
22
|
// https://materialdesignicons.com/ text-search icon
|
|
16
23
|
function Indexing(props) {
|
|
17
24
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
18
25
|
react_1.default.createElement("path", { d: "M19.31 18.9L22.39 22L21 23.39L17.88 20.32C17.19 20.75 16.37 21 15.5 21C13 21 11 19 11 16.5C11 14 13 12 15.5 12C18 12 20 14 20 16.5C20 17.38 19.75 18.21 19.31 18.9M15.5 19C16.88 19 18 17.88 18 16.5C18 15.12 16.88 14 15.5 14C14.12 14 13 15.12 13 16.5C13 17.88 14.12 19 15.5 19M21 4V6H3V4H21M3 16V14H9V16H3M3 11V9H21V11H18.97C17.96 10.37 16.77 10 15.5 10C14.23 10 13.04 10.37 12.03 11H3Z" })));
|
|
19
26
|
}
|
|
20
|
-
exports.Indexing = Indexing;
|
|
21
27
|
function ContentCut(props) {
|
|
22
28
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
23
29
|
react_1.default.createElement("path", { d: "M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z" })));
|
|
24
30
|
}
|
|
25
|
-
exports.ContentCut = ContentCut;
|
|
26
31
|
function ContentPaste(props) {
|
|
27
32
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
28
33
|
react_1.default.createElement("path", { d: "M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z" })));
|
|
29
34
|
}
|
|
30
|
-
exports.ContentPaste = ContentPaste;
|
|
31
35
|
// format-list-checkbox from https://materialdesignicons.com/
|
|
32
36
|
function TrackSelector(props) {
|
|
33
37
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
34
38
|
react_1.default.createElement("path", { d: "M21 19v-2H8v2h13m0-6v-2H8v2h13M8 7h13V5H8v2M4 5v2h2V5H4M3 5a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V5m1 6v2h2v-2H4m-1 0a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1v-2m1 6v2h2v-2H4m-1 0a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1v-2z" })));
|
|
35
39
|
}
|
|
36
|
-
exports.TrackSelector = TrackSelector;
|
|
37
40
|
// content-save-edit from https://materialdesignicons.com/
|
|
38
41
|
function SaveAs(props) {
|
|
39
42
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
40
43
|
react_1.default.createElement("path", { fill: "currentColor", d: "M10,19L10.14,18.86C8.9,18.5 8,17.36 8,16A3,3 0 0,1 11,13C12.36,13 13.5,13.9 13.86,15.14L20,9V7L16,3H4C2.89,3 2,3.9 2,5V19A2,2 0 0,0 4,21H10V19M4,5H14V9H4V5M20.04,12.13C19.9,12.13 19.76,12.19 19.65,12.3L18.65,13.3L20.7,15.35L21.7,14.35C21.92,14.14 21.92,13.79 21.7,13.58L20.42,12.3C20.31,12.19 20.18,12.13 20.04,12.13M18.07,13.88L12,19.94V22H14.06L20.12,15.93L18.07,13.88Z" })));
|
|
41
44
|
}
|
|
42
|
-
exports.SaveAs = SaveAs;
|
|
43
45
|
// content-save from https://materialdesignicons.com/
|
|
44
46
|
function Save(props) {
|
|
45
47
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
46
48
|
react_1.default.createElement("path", { fill: "currentColor", d: "M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z" })));
|
|
47
49
|
}
|
|
48
|
-
exports.Save = Save;
|
|
49
50
|
// dna from https://materialdesignicons.com/
|
|
50
51
|
function DNA(props) {
|
|
51
52
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
52
53
|
react_1.default.createElement("path", { fill: "currentColor", d: "M4,2H6V4C6,5.44 6.68,6.61 7.88,7.78C8.74,8.61 9.89,9.41 11.09,10.2L9.26,11.39C8.27,10.72 7.31,10 6.5,9.21C5.07,7.82 4,6.1 4,4V2M18,2H20V4C20,6.1 18.93,7.82 17.5,9.21C16.09,10.59 14.29,11.73 12.54,12.84C10.79,13.96 9.09,15.05 7.88,16.22C6.68,17.39 6,18.56 6,20V22H4V20C4,17.9 5.07,16.18 6.5,14.79C7.91,13.41 9.71,12.27 11.46,11.16C13.21,10.04 14.91,8.95 16.12,7.78C17.32,6.61 18,5.44 18,4V2M14.74,12.61C15.73,13.28 16.69,14 17.5,14.79C18.93,16.18 20,17.9 20,20V22H18V20C18,18.56 17.32,17.39 16.12,16.22C15.26,15.39 14.11,14.59 12.91,13.8L14.74,12.61M7,3H17V4L16.94,4.5H7.06L7,4V3M7.68,6H16.32C16.08,6.34 15.8,6.69 15.42,7.06L14.91,7.5H9.07L8.58,7.06C8.2,6.69 7.92,6.34 7.68,6M9.09,16.5H14.93L15.42,16.94C15.8,17.31 16.08,17.66 16.32,18H7.68C7.92,17.66 8.2,17.31 8.58,16.94L9.09,16.5M7.06,19.5H16.94L17,20V21H7V20L7.06,19.5Z" })));
|
|
53
54
|
}
|
|
54
|
-
exports.DNA = DNA;
|
|
55
55
|
function Cable(props) {
|
|
56
56
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
57
57
|
react_1.default.createElement("path", { d: "M20 5V4c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v1h-1v4c0 .55.45 1 1 1h1v7c0 1.1-.9 2-2 2s-2-.9-2-2V7c0-2.21-1.79-4-4-4S5 4.79 5 7v7H4c-.55 0-1 .45-1 1v4h1v1c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-1h1v-4c0-.55-.45-1-1-1H7V7c0-1.1.9-2 2-2s2 .9 2 2v10c0 2.21 1.79 4 4 4s4-1.79 4-4v-7h1c.55 0 1-.45 1-1V5h-1z" })));
|
|
58
58
|
}
|
|
59
|
-
exports.Cable = Cable;
|
package/ui/LoadingEllipses.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = LoadingEllipses;
|
|
6
7
|
const react_1 = __importDefault(require("react"));
|
|
7
8
|
const material_1 = require("@mui/material");
|
|
8
9
|
const mui_1 = require("tss-react/mui");
|
|
@@ -35,4 +36,3 @@ function LoadingEllipses({ message, variant = 'body2', ...rest }) {
|
|
|
35
36
|
const { classes } = useStyles();
|
|
36
37
|
return (react_1.default.createElement(material_1.Typography, { className: classes.dots, ...rest, variant: variant }, `${message || 'Loading'}`));
|
|
37
38
|
}
|
|
38
|
-
exports.default = LoadingEllipses;
|
package/ui/Logo.js
CHANGED
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.Logomark = Logomark;
|
|
7
|
+
exports.LogoFull = LogoFull;
|
|
7
8
|
const react_1 = __importDefault(require("react"));
|
|
8
9
|
function getColors(variant) {
|
|
9
10
|
if (variant === 'black') {
|
|
@@ -36,13 +37,11 @@ function Logomark({ variant }) {
|
|
|
36
37
|
return (react_1.default.createElement("svg", { viewBox: "0 0 175 175" },
|
|
37
38
|
react_1.default.createElement(Icon, { variant: variant })));
|
|
38
39
|
}
|
|
39
|
-
exports.Logomark = Logomark;
|
|
40
40
|
function LogoFull({ variant }) {
|
|
41
41
|
return (react_1.default.createElement("svg", { viewBox: "0 0 641 175" },
|
|
42
42
|
react_1.default.createElement(Text, { variant: variant }),
|
|
43
43
|
react_1.default.createElement(Icon, { variant: variant })));
|
|
44
44
|
}
|
|
45
|
-
exports.LogoFull = LogoFull;
|
|
46
45
|
function Icon({ variant }) {
|
|
47
46
|
const colors = getColors(variant);
|
|
48
47
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
package/ui/Menu.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.MenuItemEndDecoration =
|
|
29
|
+
exports.MenuItemEndDecoration = MenuItemEndDecoration;
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
31
|
const material_1 = require("@mui/material");
|
|
32
32
|
const mui_1 = require("tss-react/mui");
|
|
@@ -98,7 +98,6 @@ function MenuItemEndDecoration(props) {
|
|
|
98
98
|
}
|
|
99
99
|
return react_1.default.createElement("div", { className: classes.menuItemEndDecoration }, icon);
|
|
100
100
|
}
|
|
101
|
-
exports.MenuItemEndDecoration = MenuItemEndDecoration;
|
|
102
101
|
function checkIfValid(m) {
|
|
103
102
|
return m.type !== 'divider' && m.type !== 'subHeader' && !m.disabled;
|
|
104
103
|
}
|
package/ui/RedErrorMessageBox.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = RedErrorMessageBox;
|
|
6
7
|
const react_1 = __importDefault(require("react"));
|
|
7
8
|
function RedErrorMessageBox({ children, }) {
|
|
8
9
|
return (react_1.default.createElement("div", { style: {
|
|
@@ -14,4 +15,3 @@ function RedErrorMessageBox({ children, }) {
|
|
|
14
15
|
border: '1px solid black',
|
|
15
16
|
} }, children));
|
|
16
17
|
}
|
|
17
|
-
exports.default = RedErrorMessageBox;
|
package/ui/SanitizedHTML.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = SanitizedHTML;
|
|
6
7
|
const react_1 = __importDefault(require("react"));
|
|
7
8
|
const escape_html_1 = __importDefault(require("escape-html"));
|
|
8
9
|
const dompurify_1 = __importDefault(require("dompurify"));
|
|
@@ -80,4 +81,3 @@ function SanitizedHTML({ html: pre, className, }) {
|
|
|
80
81
|
__html: dompurify_1.default.sanitize(value),
|
|
81
82
|
} }));
|
|
82
83
|
}
|
|
83
|
-
exports.default = SanitizedHTML;
|
package/ui/SnackbarModel.js
CHANGED
|
@@ -26,6 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.default = SnackbarModel;
|
|
29
30
|
const react_1 = __importStar(require("react"));
|
|
30
31
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
31
32
|
const mobx_1 = require("mobx");
|
|
@@ -94,4 +95,3 @@ function SnackbarModel() {
|
|
|
94
95
|
},
|
|
95
96
|
}));
|
|
96
97
|
}
|
|
97
|
-
exports.default = SnackbarModel;
|
package/ui/theme.js
CHANGED
|
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.defaultThemes = void 0;
|
|
7
|
+
exports.createJBrowseBaseTheme = createJBrowseBaseTheme;
|
|
8
|
+
exports.createJBrowseTheme = createJBrowseTheme;
|
|
7
9
|
const colors_1 = require("@mui/material/colors");
|
|
8
10
|
const styles_1 = require("@mui/material/styles");
|
|
9
11
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
@@ -365,7 +367,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
365
367
|
};
|
|
366
368
|
return (0, deepmerge_1.default)(themeP, theme || {}, { arrayMerge: overwriteArrayMerge });
|
|
367
369
|
}
|
|
368
|
-
exports.createJBrowseBaseTheme = createJBrowseBaseTheme;
|
|
369
370
|
function createJBrowseTheme(configTheme = {}, themes = exports.defaultThemes, themeName = 'default') {
|
|
370
371
|
return (0, styles_1.createTheme)(createJBrowseBaseTheme(themeName === 'default'
|
|
371
372
|
? (0, deepmerge_1.default)(themes.default, augmentTheme(configTheme), {
|
|
@@ -373,7 +374,6 @@ function createJBrowseTheme(configTheme = {}, themes = exports.defaultThemes, th
|
|
|
373
374
|
})
|
|
374
375
|
: augmentThemePlus(themes[themeName]) || themes.default));
|
|
375
376
|
}
|
|
376
|
-
exports.createJBrowseTheme = createJBrowseTheme;
|
|
377
377
|
function augmentTheme(theme = {}) {
|
|
378
378
|
var _a, _b;
|
|
379
379
|
if ((_a = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _a === void 0 ? void 0 : _a.tertiary) {
|
package/util/Base1DUtils.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare function pxToBp(self: ViewSnap, px: number): {
|
|
|
19
19
|
offset: number;
|
|
20
20
|
start: number;
|
|
21
21
|
end: number;
|
|
22
|
-
reversed
|
|
22
|
+
reversed?: boolean;
|
|
23
23
|
};
|
|
24
24
|
export declare function bpToPx({ refName, coord, regionNumber, self, }: {
|
|
25
25
|
refName: string;
|
package/util/Base1DUtils.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.moveTo = moveTo;
|
|
4
|
+
exports.pxToBp = pxToBp;
|
|
5
|
+
exports.bpToPx = bpToPx;
|
|
6
|
+
exports.bpToPxMap = bpToPxMap;
|
|
5
7
|
function lengthBetween(self, start, end) {
|
|
6
8
|
let bpSoFar = 0;
|
|
7
9
|
const { displayedRegions } = self;
|
|
@@ -56,7 +58,6 @@ function moveTo(self, start, end) {
|
|
|
56
58
|
}
|
|
57
59
|
self.scrollTo(Math.round(bpToStart / self.bpPerPx));
|
|
58
60
|
}
|
|
59
|
-
exports.moveTo = moveTo;
|
|
60
61
|
function coord(r, bp) {
|
|
61
62
|
return Math.floor(r.reversed ? r.end - bp : r.start + bp) + 1;
|
|
62
63
|
}
|
|
@@ -69,8 +70,7 @@ function pxToBp(self, px) {
|
|
|
69
70
|
const bp = (offsetPx + px) * bpPerPx;
|
|
70
71
|
if (bp < 0) {
|
|
71
72
|
const r = displayedRegions[0];
|
|
72
|
-
const snap =
|
|
73
|
-
// @ts-expect-error
|
|
73
|
+
const snap = r;
|
|
74
74
|
return {
|
|
75
75
|
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
76
76
|
...snap,
|
|
@@ -87,8 +87,7 @@ function pxToBp(self, px) {
|
|
|
87
87
|
const len = r.end - r.start;
|
|
88
88
|
const offset = bp - bpSoFar;
|
|
89
89
|
if (len + bpSoFar > bp && bpSoFar <= bp) {
|
|
90
|
-
const snap =
|
|
91
|
-
// @ts-expect-error
|
|
90
|
+
const snap = r;
|
|
92
91
|
return {
|
|
93
92
|
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
94
93
|
...snap,
|
|
@@ -112,8 +111,7 @@ function pxToBp(self, px) {
|
|
|
112
111
|
const r = displayedRegions.at(-1);
|
|
113
112
|
const len = r.end - r.start;
|
|
114
113
|
const offset = bp - bpSoFar + len;
|
|
115
|
-
const snap =
|
|
116
|
-
// @ts-expect-error
|
|
114
|
+
const snap = r;
|
|
117
115
|
return {
|
|
118
116
|
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
119
117
|
...snap,
|
|
@@ -135,7 +133,6 @@ function pxToBp(self, px) {
|
|
|
135
133
|
reversed: false,
|
|
136
134
|
};
|
|
137
135
|
}
|
|
138
|
-
exports.pxToBp = pxToBp;
|
|
139
136
|
function bpToPx({ refName, coord, regionNumber, self, }) {
|
|
140
137
|
var _a;
|
|
141
138
|
let bpSoFar = 0;
|
|
@@ -173,7 +170,6 @@ function bpToPx({ refName, coord, regionNumber, self, }) {
|
|
|
173
170
|
}
|
|
174
171
|
return undefined;
|
|
175
172
|
}
|
|
176
|
-
exports.bpToPx = bpToPx;
|
|
177
173
|
function bpToPxMap({ refName, coord, regionNumber, self, }) {
|
|
178
174
|
var _a;
|
|
179
175
|
let bpSoFar = 0;
|
|
@@ -212,4 +208,3 @@ function bpToPxMap({ refName, coord, regionNumber, self, }) {
|
|
|
212
208
|
}
|
|
213
209
|
return map;
|
|
214
210
|
}
|
|
215
|
-
exports.bpToPxMap = bpToPxMap;
|
|
@@ -4,22 +4,13 @@ import { Region as IRegion } from './types';
|
|
|
4
4
|
import { BpOffset } from './Base1DUtils';
|
|
5
5
|
declare const Base1DView: import("mobx-state-tree").IModelType<{
|
|
6
6
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
7
|
-
displayedRegions: import("mobx-state-tree").
|
|
8
|
-
refName: import("mobx-state-tree").ISimpleType<string>;
|
|
9
|
-
start: import("mobx-state-tree").ISimpleType<number>;
|
|
10
|
-
end: import("mobx-state-tree").ISimpleType<number>;
|
|
11
|
-
reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
12
|
-
} & {
|
|
13
|
-
assemblyName: import("mobx-state-tree").ISimpleType<string>;
|
|
14
|
-
}, {
|
|
15
|
-
setRefName(newRefName: string): void;
|
|
16
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
7
|
+
displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<IRegion[], IRegion[], IRegion[]>, [undefined]>;
|
|
17
8
|
bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
18
9
|
offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
19
10
|
interRegionPaddingWidth: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
20
11
|
minimumBlockWidth: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
21
12
|
}, {
|
|
22
|
-
features: Feature[]
|
|
13
|
+
features: undefined | Feature[];
|
|
23
14
|
volatileWidth: number;
|
|
24
15
|
} & {
|
|
25
16
|
/**
|
|
@@ -78,16 +69,14 @@ declare const Base1DView: import("mobx-state-tree").IModelType<{
|
|
|
78
69
|
*/
|
|
79
70
|
pxToBp(px: number): {
|
|
80
71
|
coord: number;
|
|
81
|
-
index: number;
|
|
82
|
-
* #getter
|
|
83
|
-
*/
|
|
72
|
+
index: number;
|
|
84
73
|
refName: string;
|
|
85
74
|
oob: boolean;
|
|
86
75
|
assemblyName: string;
|
|
87
76
|
offset: number;
|
|
88
77
|
start: number;
|
|
89
78
|
end: number;
|
|
90
|
-
reversed
|
|
79
|
+
reversed?: boolean;
|
|
91
80
|
};
|
|
92
81
|
/**
|
|
93
82
|
* #method
|
|
@@ -136,8 +125,8 @@ declare const Base1DView: import("mobx-state-tree").IModelType<{
|
|
|
136
125
|
} & {
|
|
137
126
|
/**
|
|
138
127
|
* #action
|
|
139
|
-
* offset is the base-pair-offset in the displayed region, index is the
|
|
140
|
-
* displayed region in the linear genome view
|
|
128
|
+
* offset is the base-pair-offset in the displayed region, index is the
|
|
129
|
+
* index of the displayed region in the linear genome view
|
|
141
130
|
*
|
|
142
131
|
* @param start - object as `{start, end, offset, index}`
|
|
143
132
|
* @param end - object as `{start, end, offset, index}`
|
package/util/Base1DViewModel.js
CHANGED
|
@@ -24,7 +24,7 @@ const Base1DView = mobx_state_tree_1.types
|
|
|
24
24
|
/**
|
|
25
25
|
* #property
|
|
26
26
|
*/
|
|
27
|
-
displayedRegions: mobx_state_tree_1.types.
|
|
27
|
+
displayedRegions: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), []),
|
|
28
28
|
/**
|
|
29
29
|
* #property
|
|
30
30
|
*/
|
|
@@ -77,9 +77,7 @@ const Base1DView = mobx_state_tree_1.types
|
|
|
77
77
|
* #getter
|
|
78
78
|
*/
|
|
79
79
|
get assemblyNames() {
|
|
80
|
-
return [
|
|
81
|
-
...new Set(self.displayedRegions.map(region => region.assemblyName)),
|
|
82
|
-
];
|
|
80
|
+
return [...new Set(self.displayedRegions.map(r => r.assemblyName))];
|
|
83
81
|
},
|
|
84
82
|
/**
|
|
85
83
|
* #getter
|
|
@@ -107,9 +105,7 @@ const Base1DView = mobx_state_tree_1.types
|
|
|
107
105
|
* #getter
|
|
108
106
|
*/
|
|
109
107
|
get totalBp() {
|
|
110
|
-
return self.displayedRegions
|
|
111
|
-
.map(a => a.end - a.start)
|
|
112
|
-
.reduce((a, b) => a + b, 0);
|
|
108
|
+
return (0, index_1.sum)(self.displayedRegions.map(a => a.end - a.start));
|
|
113
109
|
},
|
|
114
110
|
}))
|
|
115
111
|
.views(self => ({
|
|
@@ -129,9 +125,7 @@ const Base1DView = mobx_state_tree_1.types
|
|
|
129
125
|
* #getter
|
|
130
126
|
*/
|
|
131
127
|
get currBp() {
|
|
132
|
-
return this.dynamicBlocks
|
|
133
|
-
.map(a => a.end - a.start)
|
|
134
|
-
.reduce((a, b) => a + b, 0);
|
|
128
|
+
return (0, index_1.sum)(this.dynamicBlocks.map(a => a.end - a.start));
|
|
135
129
|
},
|
|
136
130
|
}))
|
|
137
131
|
.views(self => ({
|
|
@@ -230,8 +224,8 @@ const Base1DView = mobx_state_tree_1.types
|
|
|
230
224
|
.actions(self => ({
|
|
231
225
|
/**
|
|
232
226
|
* #action
|
|
233
|
-
* offset is the base-pair-offset in the displayed region, index is the
|
|
234
|
-
* displayed region in the linear genome view
|
|
227
|
+
* offset is the base-pair-offset in the displayed region, index is the
|
|
228
|
+
* index of the displayed region in the linear genome view
|
|
235
229
|
*
|
|
236
230
|
* @param start - object as `{start, end, offset, index}`
|
|
237
231
|
* @param end - object as `{start, end, offset, index}`
|
package/util/aborting.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.checkAbortSignal = checkAbortSignal;
|
|
4
|
+
exports.abortBreakPoint = abortBreakPoint;
|
|
5
|
+
exports.makeAbortError = makeAbortError;
|
|
6
|
+
exports.observeAbortSignal = observeAbortSignal;
|
|
7
|
+
exports.isAbortException = isAbortException;
|
|
4
8
|
const rxjs_1 = require("rxjs");
|
|
5
9
|
class AbortError extends Error {
|
|
6
10
|
}
|
|
@@ -26,7 +30,6 @@ function checkAbortSignal(signal) {
|
|
|
26
30
|
throw makeAbortError();
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
|
-
exports.checkAbortSignal = checkAbortSignal;
|
|
30
33
|
function timeout(ms) {
|
|
31
34
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
32
35
|
}
|
|
@@ -43,7 +46,6 @@ async function abortBreakPoint(signal) {
|
|
|
43
46
|
await timeout(1);
|
|
44
47
|
checkAbortSignal(signal);
|
|
45
48
|
}
|
|
46
|
-
exports.abortBreakPoint = abortBreakPoint;
|
|
47
49
|
function makeAbortError() {
|
|
48
50
|
if (typeof DOMException !== 'undefined') {
|
|
49
51
|
return new DOMException('aborted', 'AbortError');
|
|
@@ -52,14 +54,12 @@ function makeAbortError() {
|
|
|
52
54
|
e.code = 'ERR_ABORTED';
|
|
53
55
|
return e;
|
|
54
56
|
}
|
|
55
|
-
exports.makeAbortError = makeAbortError;
|
|
56
57
|
function observeAbortSignal(signal) {
|
|
57
58
|
if (!signal) {
|
|
58
59
|
return rxjs_1.Observable.create();
|
|
59
60
|
}
|
|
60
61
|
return (0, rxjs_1.fromEvent)(signal, 'abort');
|
|
61
62
|
}
|
|
62
|
-
exports.observeAbortSignal = observeAbortSignal;
|
|
63
63
|
/**
|
|
64
64
|
* check if the given exception was caused by an operation being intentionally aborted
|
|
65
65
|
* @param exception -
|
|
@@ -77,4 +77,3 @@ function isAbortException(exception) {
|
|
|
77
77
|
// AbortError: The user aborted a request.
|
|
78
78
|
!!/\b(aborted|aborterror)\b/i.test(exception.message)));
|
|
79
79
|
}
|
|
80
|
-
exports.isAbortException = isAbortException;
|
package/util/analytics.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.writeAWSAnalytics = writeAWSAnalytics;
|
|
4
|
+
exports.writeGAAnalytics = writeGAAnalytics;
|
|
5
|
+
exports.doAnalytics = doAnalytics;
|
|
4
6
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
7
|
const configuration_1 = require("../configuration");
|
|
6
8
|
const util_1 = require("../util");
|
|
@@ -54,7 +56,6 @@ async function writeAWSAnalytics(rootModel, initialTimeStamp, sessionQuery) {
|
|
|
54
56
|
console.error('Failed to write analytics to AWS.', e);
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
|
-
exports.writeAWSAnalytics = writeAWSAnalytics;
|
|
58
59
|
async function writeGAAnalytics(rootModel, initialTimestamp) {
|
|
59
60
|
var _a;
|
|
60
61
|
const jbrowseUser = 'UA-7115575-5';
|
|
@@ -85,7 +86,6 @@ async function writeGAAnalytics(rootModel, initialTimestamp) {
|
|
|
85
86
|
analyticsScriptNode.innerHTML = analyticsScript;
|
|
86
87
|
document.getElementsByTagName('head')[0].append(analyticsScriptNode);
|
|
87
88
|
}
|
|
88
|
-
exports.writeGAAnalytics = writeGAAnalytics;
|
|
89
89
|
function doAnalytics(rootModel, initialTimestamp, initialSessionQuery) {
|
|
90
90
|
if (rootModel &&
|
|
91
91
|
!(0, configuration_1.readConfObject)(rootModel.jbrowse.configuration, 'disableAnalytics')) {
|
|
@@ -96,4 +96,3 @@ function doAnalytics(rootModel, initialTimestamp, initialSessionQuery) {
|
|
|
96
96
|
writeGAAnalytics(rootModel, initialTimestamp);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
exports.doAnalytics = doAnalytics;
|
package/util/blobToDataURL.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.blobToDataURL =
|
|
3
|
+
exports.blobToDataURL = blobToDataURL;
|
|
4
4
|
function blobToDataURL(blob) {
|
|
5
5
|
const a = new FileReader();
|
|
6
6
|
return new Promise((resolve, reject) => {
|
|
@@ -15,4 +15,3 @@ function blobToDataURL(blob) {
|
|
|
15
15
|
a.readAsDataURL(blob);
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
exports.blobToDataURL = blobToDataURL;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = calculateDynamicBlocks;
|
|
3
4
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
4
5
|
const range_1 = require("./range");
|
|
5
6
|
const _1 = require(".");
|
|
@@ -118,4 +119,3 @@ function calculateDynamicBlocks(model, padding = true, elision = true) {
|
|
|
118
119
|
}
|
|
119
120
|
return blocks;
|
|
120
121
|
}
|
|
121
|
-
exports.default = calculateDynamicBlocks;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = calculateStaticBlocks;
|
|
3
4
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
4
5
|
const _1 = require(".");
|
|
5
6
|
const blockTypes_1 = require("./blockTypes");
|
|
@@ -101,4 +102,3 @@ function calculateStaticBlocks(model, padding = true, elision = true, extra = 0,
|
|
|
101
102
|
}
|
|
102
103
|
return blocks;
|
|
103
104
|
}
|
|
104
|
-
exports.default = calculateStaticBlocks;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// from https://www.w3.org/TR/css-color-4/#named-colors
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.namedColorToHex = namedColorToHex;
|
|
5
|
+
exports.isNamedColor = isNamedColor;
|
|
5
6
|
const colors = {
|
|
6
7
|
aliceblue: '#F0F8FF',
|
|
7
8
|
antiquewhite: '#FAEBD7',
|
|
@@ -155,8 +156,6 @@ const colors = {
|
|
|
155
156
|
function namedColorToHex(name) {
|
|
156
157
|
return colors[name];
|
|
157
158
|
}
|
|
158
|
-
exports.namedColorToHex = namedColorToHex;
|
|
159
159
|
function isNamedColor(name) {
|
|
160
160
|
return !!colors[name];
|
|
161
161
|
}
|
|
162
|
-
exports.isNamedColor = isNamedColor;
|
package/util/color/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.namedColorToHex = exports.isNamedColor =
|
|
3
|
+
exports.namedColorToHex = exports.isNamedColor = void 0;
|
|
4
|
+
exports.contrastingTextColor = contrastingTextColor;
|
|
5
|
+
exports.emphasize = emphasize;
|
|
6
|
+
exports.makeContrasting = makeContrasting;
|
|
4
7
|
const styles_1 = require("@mui/material/styles");
|
|
5
8
|
const cssColorsLevel4_1 = require("./cssColorsLevel4");
|
|
6
9
|
/**
|
|
@@ -16,7 +19,6 @@ function contrastingTextColor(color) {
|
|
|
16
19
|
const luminance = getLuminance(color);
|
|
17
20
|
return luminance > 0.5 ? 'black' : 'white';
|
|
18
21
|
}
|
|
19
|
-
exports.contrastingTextColor = contrastingTextColor;
|
|
20
22
|
/**
|
|
21
23
|
* The relative brightness of any point in a color space,
|
|
22
24
|
* normalized to 0 for darkest black and 1 for lightest white.
|
|
@@ -46,7 +48,6 @@ function emphasize(color, coefficient = 0.15) {
|
|
|
46
48
|
const convertedColor = (0, cssColorsLevel4_1.namedColorToHex)(color);
|
|
47
49
|
return (0, styles_1.emphasize)(convertedColor || color, coefficient);
|
|
48
50
|
}
|
|
49
|
-
exports.emphasize = emphasize;
|
|
50
51
|
function makeContrasting(foreground, background = 'white', minContrastRatio = 3) {
|
|
51
52
|
let convertedForeground = (0, cssColorsLevel4_1.namedColorToHex)(foreground) || foreground;
|
|
52
53
|
const convertedBackground = (0, cssColorsLevel4_1.namedColorToHex)(background) || background;
|
|
@@ -64,7 +65,6 @@ function makeContrasting(foreground, background = 'white', minContrastRatio = 3)
|
|
|
64
65
|
}
|
|
65
66
|
return convertedForeground;
|
|
66
67
|
}
|
|
67
|
-
exports.makeContrasting = makeContrasting;
|
|
68
68
|
var cssColorsLevel4_2 = require("./cssColorsLevel4");
|
|
69
69
|
Object.defineProperty(exports, "isNamedColor", { enumerable: true, get: function () { return cssColorsLevel4_2.isNamedColor; } });
|
|
70
70
|
Object.defineProperty(exports, "namedColorToHex", { enumerable: true, get: function () { return cssColorsLevel4_2.namedColorToHex; } });
|
package/util/dedupe.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dedupe =
|
|
3
|
+
exports.dedupe = dedupe;
|
|
4
4
|
// from https://github.com/seriousManual/dedupe/blob/master/LICENSE
|
|
5
5
|
function dedupe(list, hasher = JSON.stringify) {
|
|
6
6
|
const clone = [];
|
|
@@ -14,4 +14,3 @@ function dedupe(list, hasher = JSON.stringify) {
|
|
|
14
14
|
}
|
|
15
15
|
return clone;
|
|
16
16
|
}
|
|
17
|
-
exports.dedupe = dedupe;
|