@jbrowse/core 1.7.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BaseFeatureWidget/BaseFeatureDetail.d.ts +14 -7
- package/BaseFeatureWidget/BaseFeatureDetail.js +203 -125
- package/BaseFeatureWidget/SequenceFeatureDetails.js +20 -15
- package/BaseFeatureWidget/index.d.ts +23 -2
- package/BaseFeatureWidget/index.js +100 -3
- package/BaseFeatureWidget/index.test.js +48 -30
- package/PluginManager.d.ts +58 -86
- package/ReExports/Attributes.d.ts +2 -0
- package/ReExports/Attributes.js +12 -0
- package/ReExports/BaseCard.d.ts +2 -0
- package/ReExports/BaseCard.js +12 -0
- package/ReExports/DataGrid.d.ts +2 -0
- package/ReExports/DataGrid.js +13 -0
- package/ReExports/FeatureDetails.d.ts +2 -0
- package/ReExports/FeatureDetails.js +12 -0
- package/ReExports/list.js +1 -1
- package/ReExports/material-ui-colors.d.ts +1 -19
- package/ReExports/material-ui-colors.js +11 -152
- package/ReExports/modules.d.ts +59 -91
- package/ReExports/modules.js +683 -127
- package/TextSearch/TextSearchManager.d.ts +3 -1
- package/assemblyManager/assembly.d.ts +6 -7
- package/assemblyManager/assembly.js +27 -16
- package/assemblyManager/assemblyManager.d.ts +82 -24
- package/assemblyManager/assemblyManager.js +32 -36
- package/configuration/util.d.ts +1 -1
- package/package.json +15 -15
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -10
- package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
- package/pluggableElementTypes/models/BaseTrackModel.js +24 -25
- package/pluggableElementTypes/models/baseTrackConfig.js +20 -13
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +2 -2
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +2 -2
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +1 -1
- package/rpc/BaseRpcDriver.js +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AboutDialog.d.ts +1 -1
- package/ui/AboutDialog.js +38 -16
- package/ui/App.js +18 -37
- package/ui/AssemblySelector.d.ts +1 -1
- package/ui/AssemblySelector.js +10 -5
- package/ui/CascadingMenu.d.ts +9 -0
- package/ui/CascadingMenu.js +207 -0
- package/ui/Drawer.js +8 -5
- package/ui/DrawerWidget.js +39 -45
- package/ui/DropDownMenu.d.ts +0 -8
- package/ui/DropDownMenu.js +9 -15
- package/ui/EditableTypography.d.ts +1 -1
- package/ui/EditableTypography.js +42 -48
- package/ui/ErrorMessage.js +13 -23
- package/ui/FactoryResetDialog.js +6 -6
- package/ui/FatalErrorDialog.js +5 -5
- package/ui/FileSelector/FileSelector.js +19 -19
- package/ui/FileSelector/LocalFileChooser.js +12 -8
- package/ui/FileSelector/UrlChooser.js +2 -2
- package/ui/Icons.d.ts +1 -1
- package/ui/Icons.js +1 -1
- package/ui/Menu.d.ts +11 -1
- package/ui/Menu.js +32 -38
- package/ui/PrerenderedCanvas.js +10 -1
- package/ui/ResizeHandle.js +8 -6
- package/ui/ReturnToImportFormDialog.js +14 -10
- package/ui/SanitizedHTML.js +15 -21
- package/ui/Snackbar.js +11 -9
- package/ui/Tooltip.d.ts +3 -1
- package/ui/Tooltip.js +5 -3
- package/ui/ViewContainer.js +38 -25
- package/ui/index.d.ts +1 -0
- package/ui/index.js +9 -0
- package/ui/theme.d.ts +279 -131
- package/ui/theme.js +174 -154
- package/ui/theme.test.js +56 -75
- package/util/Base1DViewModel.d.ts +1 -8
- package/util/Base1DViewModel.js +11 -13
- package/util/color/index.js +6 -6
- package/util/index.d.ts +4 -8
- package/util/index.js +29 -19
- package/util/jexl.js +42 -43
- package/util/layouts/GranularRectLayout.js +1 -3
- package/util/layouts/PrecomputedLayout.js +1 -3
- package/util/offscreenCanvasPonyfill.js +10 -12
- package/util/tracks.js +4 -2
- package/util/types/index.d.ts +14 -4
- package/util/types/index.js +6 -0
- package/util/types/mst.d.ts +3 -3
- package/util/types/mst.js +11 -7
|
@@ -9,7 +9,9 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _material = require("@mui/material");
|
|
13
|
+
|
|
14
|
+
var _mui = require("tss-react/mui");
|
|
13
15
|
|
|
14
16
|
var _util = require("../../util");
|
|
15
17
|
|
|
@@ -23,7 +25,7 @@ function isBlobLocation(location) {
|
|
|
23
25
|
return 'blobId' in location;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
var useStyles = (0,
|
|
28
|
+
var useStyles = (0, _mui.makeStyles)()(function (theme) {
|
|
27
29
|
return {
|
|
28
30
|
filename: {
|
|
29
31
|
marginLeft: theme.spacing(1)
|
|
@@ -32,18 +34,20 @@ var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
|
32
34
|
});
|
|
33
35
|
|
|
34
36
|
function LocalFileChooser(props) {
|
|
35
|
-
var
|
|
37
|
+
var _useStyles = useStyles(),
|
|
38
|
+
classes = _useStyles.classes;
|
|
39
|
+
|
|
36
40
|
var location = props.location,
|
|
37
41
|
setLocation = props.setLocation;
|
|
38
42
|
var filename = location && (isBlobLocation(location) && location.name || isLocalPathLocation(location) && location.localPath);
|
|
39
43
|
var needToReload = location && isBlobLocation(location) && !(0, _tracks.getBlob)(location.blobId);
|
|
40
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
41
45
|
display: "flex",
|
|
42
46
|
flexDirection: "row",
|
|
43
47
|
alignItems: "center"
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Box, null, /*#__PURE__*/_react.default.createElement(_material.FormControl, {
|
|
45
49
|
fullWidth: true
|
|
46
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
47
51
|
variant: "outlined",
|
|
48
52
|
component: "label"
|
|
49
53
|
}, "Choose File", /*#__PURE__*/_react.default.createElement("input", {
|
|
@@ -66,11 +70,11 @@ function LocalFileChooser(props) {
|
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
|
-
})))), /*#__PURE__*/_react.default.createElement(
|
|
73
|
+
})))), /*#__PURE__*/_react.default.createElement(_material.Box, null, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
70
74
|
component: "span",
|
|
71
75
|
className: classes.filename,
|
|
72
76
|
color: filename ? 'initial' : 'textSecondary'
|
|
73
|
-
}, filename || 'No file chosen'), needToReload ? /*#__PURE__*/_react.default.createElement(
|
|
77
|
+
}, filename || 'No file chosen'), needToReload ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
74
78
|
color: "error"
|
|
75
79
|
}, "(need to reload)") : null));
|
|
76
80
|
}
|
|
@@ -9,7 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _material = require("@mui/material");
|
|
13
13
|
|
|
14
14
|
var _mobxReact = require("mobx-react");
|
|
15
15
|
|
|
@@ -19,7 +19,7 @@ function UrlChooser(props) {
|
|
|
19
19
|
var location = props.location,
|
|
20
20
|
setLocation = props.setLocation,
|
|
21
21
|
label = props.label;
|
|
22
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.TextField, {
|
|
23
23
|
fullWidth: true,
|
|
24
24
|
variant: "outlined",
|
|
25
25
|
inputProps: {
|
package/ui/Icons.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { SvgIconProps } from '@material
|
|
2
|
+
import { SvgIconProps } from '@mui/material/SvgIcon';
|
|
3
3
|
export declare function ContentCopy(props: SvgIconProps): JSX.Element;
|
|
4
4
|
export declare function Indexing(props: SvgIconProps): JSX.Element;
|
|
5
5
|
export declare function ContentCut(props: SvgIconProps): JSX.Element;
|
package/ui/Icons.js
CHANGED
|
@@ -15,7 +15,7 @@ exports.Save = Save;
|
|
|
15
15
|
exports.SaveAs = SaveAs;
|
|
16
16
|
exports.TrackSelector = TrackSelector;
|
|
17
17
|
|
|
18
|
-
var _SvgIcon = _interopRequireDefault(require("@material
|
|
18
|
+
var _SvgIcon = _interopRequireDefault(require("@mui/material/SvgIcon"));
|
|
19
19
|
|
|
20
20
|
var _react = _interopRequireDefault(require("react"));
|
|
21
21
|
|
package/ui/Menu.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { PopoverProps, SvgIconProps } from '@material
|
|
2
|
+
import { PopoverProps, SvgIconProps } from '@mui/material';
|
|
3
|
+
interface MenuItemEndDecorationSubMenuProps {
|
|
4
|
+
type: 'subMenu';
|
|
5
|
+
}
|
|
6
|
+
interface MenuItemEndDecorationSelectorProps {
|
|
7
|
+
type: 'checkbox' | 'radio';
|
|
8
|
+
checked: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare type MenuItemEndDecorationProps = MenuItemEndDecorationSubMenuProps | MenuItemEndDecorationSelectorProps;
|
|
12
|
+
export declare function MenuItemEndDecoration(props: MenuItemEndDecorationProps): JSX.Element;
|
|
3
13
|
export interface MenuDivider {
|
|
4
14
|
priority?: number;
|
|
5
15
|
type: 'divider';
|
package/ui/Menu.js
CHANGED
|
@@ -7,6 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
+
exports.MenuItemEndDecoration = MenuItemEndDecoration;
|
|
10
11
|
exports.default = void 0;
|
|
11
12
|
|
|
12
13
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
@@ -19,17 +20,19 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
19
20
|
|
|
20
21
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
22
|
|
|
22
|
-
var
|
|
23
|
+
var _material = require("@mui/material");
|
|
23
24
|
|
|
24
|
-
var
|
|
25
|
+
var _mui = require("tss-react/mui");
|
|
25
26
|
|
|
26
|
-
var
|
|
27
|
+
var _ArrowRight = _interopRequireDefault(require("@mui/icons-material/ArrowRight"));
|
|
27
28
|
|
|
28
|
-
var
|
|
29
|
+
var _CheckBox = _interopRequireDefault(require("@mui/icons-material/CheckBox"));
|
|
29
30
|
|
|
30
|
-
var
|
|
31
|
+
var _CheckBoxOutlineBlank = _interopRequireDefault(require("@mui/icons-material/CheckBoxOutlineBlank"));
|
|
31
32
|
|
|
32
|
-
var
|
|
33
|
+
var _RadioButtonChecked = _interopRequireDefault(require("@mui/icons-material/RadioButtonChecked"));
|
|
34
|
+
|
|
35
|
+
var _RadioButtonUnchecked = _interopRequireDefault(require("@mui/icons-material/RadioButtonUnchecked"));
|
|
33
36
|
|
|
34
37
|
var _util = require("../util");
|
|
35
38
|
|
|
@@ -43,7 +46,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
43
46
|
|
|
44
47
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
45
48
|
|
|
46
|
-
var useStyles = (0,
|
|
49
|
+
var useStyles = (0, _mui.makeStyles)()({
|
|
47
50
|
paper: {
|
|
48
51
|
position: 'fixed',
|
|
49
52
|
overflowY: 'auto',
|
|
@@ -59,18 +62,16 @@ var useStyles = (0, _core.makeStyles)({
|
|
|
59
62
|
outline: 0
|
|
60
63
|
},
|
|
61
64
|
menuItemEndDecoration: {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
transform: 'translateY(-50%)',
|
|
66
|
-
padding: 2,
|
|
67
|
-
marginRight: -12,
|
|
68
|
-
display: 'inline-flex'
|
|
65
|
+
padding: 0,
|
|
66
|
+
margin: 0,
|
|
67
|
+
height: 16
|
|
69
68
|
}
|
|
70
69
|
});
|
|
71
70
|
|
|
72
71
|
function MenuItemEndDecoration(props) {
|
|
73
|
-
var
|
|
72
|
+
var _useStyles = useStyles(),
|
|
73
|
+
classes = _useStyles.classes;
|
|
74
|
+
|
|
74
75
|
var type = props.type;
|
|
75
76
|
var checked;
|
|
76
77
|
var disabled;
|
|
@@ -161,8 +162,11 @@ var MenuPage = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
161
162
|
position = _useState10[0],
|
|
162
163
|
setPosition = _useState10[1];
|
|
163
164
|
|
|
164
|
-
var paperRef = (0, _react.useRef)();
|
|
165
|
-
|
|
165
|
+
var paperRef = (0, _react.useRef)(null);
|
|
166
|
+
|
|
167
|
+
var _useStyles2 = useStyles(),
|
|
168
|
+
classes = _useStyles2.classes;
|
|
169
|
+
|
|
166
170
|
var menuItems = props.menuItems,
|
|
167
171
|
onMenuItemClick = props.onMenuItemClick,
|
|
168
172
|
open = props.open,
|
|
@@ -215,38 +219,32 @@ var MenuPage = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
215
219
|
setPosition({});
|
|
216
220
|
}
|
|
217
221
|
}, [position, anchorEl]);
|
|
218
|
-
var hasEndDecoration = menuItems.some(function (menuItem) {
|
|
219
|
-
return 'subMenu' in menuItem || menuItem.type === 'checkbox' || menuItem.type === 'radio';
|
|
220
|
-
});
|
|
221
222
|
var hasIcon = menuItems.some(function (menuItem) {
|
|
222
223
|
return 'icon' in menuItem && menuItem.icon;
|
|
223
224
|
});
|
|
224
225
|
var menuItemStyle = {};
|
|
225
226
|
|
|
226
|
-
if (hasEndDecoration) {
|
|
227
|
-
menuItemStyle.paddingRight = 48;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
227
|
function handleClick(callback) {
|
|
231
228
|
return function (event) {
|
|
232
229
|
onMenuItemClick(event, callback);
|
|
233
230
|
};
|
|
234
231
|
}
|
|
235
232
|
|
|
236
|
-
var ListContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
237
|
-
autoFocusItem: open && !isSubMenuOpen
|
|
233
|
+
var ListContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.MenuList, {
|
|
234
|
+
autoFocusItem: open && !isSubMenuOpen,
|
|
235
|
+
dense: true
|
|
238
236
|
}, menuItems.sort(function (a, b) {
|
|
239
237
|
return (b.priority || 0) - (a.priority || 0);
|
|
240
238
|
}).map(function (menuItem, idx) {
|
|
241
239
|
if (menuItem.type === 'divider') {
|
|
242
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
240
|
+
return /*#__PURE__*/_react.default.createElement(_material.Divider, {
|
|
243
241
|
key: "divider-".concat(idx),
|
|
244
242
|
component: "li"
|
|
245
243
|
});
|
|
246
244
|
}
|
|
247
245
|
|
|
248
246
|
if (menuItem.type === 'subHeader') {
|
|
249
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
247
|
+
return /*#__PURE__*/_react.default.createElement(_material.ListSubheader, {
|
|
250
248
|
key: "subHeader-".concat(menuItem.label, "-").concat(idx)
|
|
251
249
|
}, menuItem.label);
|
|
252
250
|
}
|
|
@@ -256,7 +254,7 @@ var MenuPage = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
256
254
|
|
|
257
255
|
if (menuItem.icon) {
|
|
258
256
|
var Icon = menuItem.icon;
|
|
259
|
-
icon = /*#__PURE__*/_react.default.createElement(
|
|
257
|
+
icon = /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(Icon, null));
|
|
260
258
|
}
|
|
261
259
|
|
|
262
260
|
if ('subMenu' in menuItem) {
|
|
@@ -272,7 +270,7 @@ var MenuPage = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
272
270
|
}
|
|
273
271
|
|
|
274
272
|
var onClick = 'onClick' in menuItem ? handleClick(menuItem.onClick) : undefined;
|
|
275
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
273
|
+
return /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
276
274
|
key: menuItem.label,
|
|
277
275
|
style: menuItemStyle,
|
|
278
276
|
selected: idx === selectedMenuItemIdx,
|
|
@@ -310,7 +308,7 @@ var MenuPage = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
310
308
|
}
|
|
311
309
|
},
|
|
312
310
|
disabled: Boolean(menuItem.disabled)
|
|
313
|
-
}, icon, /*#__PURE__*/_react.default.createElement(
|
|
311
|
+
}, icon, /*#__PURE__*/_react.default.createElement(_material.ListItemText, {
|
|
314
312
|
primary: menuItem.label,
|
|
315
313
|
secondary: menuItem.subLabel,
|
|
316
314
|
inset: hasIcon && !menuItem.icon
|
|
@@ -335,17 +333,13 @@ var MenuPage = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
335
333
|
return subMenu;
|
|
336
334
|
}));
|
|
337
335
|
|
|
338
|
-
|
|
339
|
-
return ListContents;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
return /*#__PURE__*/_react.default.createElement(_core.Grow, {
|
|
336
|
+
return top ? ListContents : /*#__PURE__*/_react.default.createElement(_material.Grow, {
|
|
343
337
|
in: open,
|
|
344
338
|
style: {
|
|
345
339
|
transformOrigin: "0 0 0"
|
|
346
340
|
},
|
|
347
341
|
ref: ref
|
|
348
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
342
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Paper, {
|
|
349
343
|
elevation: 8,
|
|
350
344
|
ref: paperRef,
|
|
351
345
|
className: classes.paper,
|
|
@@ -359,7 +353,7 @@ function Menu(props) {
|
|
|
359
353
|
menuItems = props.menuItems,
|
|
360
354
|
onMenuItemClick = props.onMenuItemClick,
|
|
361
355
|
other = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
362
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
356
|
+
return /*#__PURE__*/_react.default.createElement(_material.Popover, (0, _extends2.default)({
|
|
363
357
|
transitionDuration: 0,
|
|
364
358
|
open: open,
|
|
365
359
|
onClose: onClose,
|
package/ui/PrerenderedCanvas.js
CHANGED
|
@@ -11,6 +11,8 @@ exports.default = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
14
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
17
|
|
|
16
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -33,6 +35,12 @@ function PrerenderedCanvas(props) {
|
|
|
33
35
|
imageData = props.imageData,
|
|
34
36
|
blockKey = props.blockKey,
|
|
35
37
|
showSoftClip = props.showSoftClip;
|
|
38
|
+
|
|
39
|
+
var _useState = (0, _react.useState)(false),
|
|
40
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
41
|
+
done = _useState2[0],
|
|
42
|
+
setDone = _useState2[1];
|
|
43
|
+
|
|
36
44
|
var featureCanvas = (0, _react.useRef)(null);
|
|
37
45
|
(0, _react.useEffect)(function () {
|
|
38
46
|
if (!imageData) {
|
|
@@ -52,10 +60,11 @@ function PrerenderedCanvas(props) {
|
|
|
52
60
|
}
|
|
53
61
|
|
|
54
62
|
(0, _offscreenCanvasPonyfill.drawImageOntoCanvasContext)(imageData, context);
|
|
63
|
+
setDone(true);
|
|
55
64
|
}, [imageData]);
|
|
56
65
|
var softClipString = showSoftClip ? '_softclipped' : '';
|
|
57
66
|
var blockKeyStr = blockKey ? '_' + blockKey : '';
|
|
58
|
-
var testId = "prerendered_canvas".concat(softClipString).concat(blockKeyStr);
|
|
67
|
+
var testId = "prerendered_canvas".concat(softClipString).concat(blockKeyStr).concat(done ? '_done' : '');
|
|
59
68
|
return /*#__PURE__*/_react.default.createElement("canvas", {
|
|
60
69
|
"data-testid": testId,
|
|
61
70
|
ref: featureCanvas,
|
package/ui/ResizeHandle.js
CHANGED
|
@@ -17,9 +17,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
20
|
+
var _mui = require("tss-react/mui");
|
|
23
21
|
|
|
24
22
|
var _excluded = ["onDrag", "vertical", "flexbox", "className"];
|
|
25
23
|
|
|
@@ -27,7 +25,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
25
|
|
|
28
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
27
|
|
|
30
|
-
var useStyles = (0,
|
|
28
|
+
var useStyles = (0, _mui.makeStyles)()({
|
|
31
29
|
horizontalHandle: {
|
|
32
30
|
cursor: 'row-resize',
|
|
33
31
|
width: '100%'
|
|
@@ -63,7 +61,11 @@ function ResizeHandle(_ref) {
|
|
|
63
61
|
setMouseDragging = _useState2[1];
|
|
64
62
|
|
|
65
63
|
var prevPos = (0, _react.useRef)(0);
|
|
66
|
-
|
|
64
|
+
|
|
65
|
+
var _useStyles = useStyles(),
|
|
66
|
+
classes = _useStyles.classes,
|
|
67
|
+
cx = _useStyles.cx;
|
|
68
|
+
|
|
67
69
|
(0, _react.useEffect)(function () {
|
|
68
70
|
function mouseMove(event) {
|
|
69
71
|
event.preventDefault();
|
|
@@ -113,7 +115,7 @@ function ResizeHandle(_ref) {
|
|
|
113
115
|
setMouseDragging(true);
|
|
114
116
|
},
|
|
115
117
|
role: "presentation",
|
|
116
|
-
className: (
|
|
118
|
+
className: cx(className, originalClassName)
|
|
117
119
|
}, props));
|
|
118
120
|
}
|
|
119
121
|
|
|
@@ -11,13 +11,13 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _mobxReact = require("mobx-react");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _material = require("@mui/material");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _mui = require("tss-react/mui");
|
|
17
17
|
|
|
18
|
-
var _Close = _interopRequireDefault(require("@
|
|
18
|
+
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
19
19
|
|
|
20
|
-
var useStyles = (0,
|
|
20
|
+
var useStyles = (0, _mui.makeStyles)()(function (theme) {
|
|
21
21
|
return {
|
|
22
22
|
closeButton: {
|
|
23
23
|
position: 'absolute',
|
|
@@ -31,17 +31,21 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
|
31
31
|
function ReturnToImportFormDialog(_ref) {
|
|
32
32
|
var model = _ref.model,
|
|
33
33
|
handleClose = _ref.handleClose;
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
|
|
35
|
+
var _useStyles = useStyles(),
|
|
36
|
+
classes = _useStyles.classes;
|
|
37
|
+
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_material.Dialog, {
|
|
36
39
|
maxWidth: "xl",
|
|
37
40
|
open: true,
|
|
38
41
|
onClose: handleClose
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement(_material.DialogTitle, null, "Reference sequence", handleClose ? /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
40
43
|
className: classes.closeButton,
|
|
41
44
|
onClick: function onClick() {
|
|
42
45
|
return handleClose();
|
|
43
|
-
}
|
|
44
|
-
|
|
46
|
+
},
|
|
47
|
+
size: "large"
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement(_Close.default, null)) : null), /*#__PURE__*/_react.default.createElement(_material.Divider, null), /*#__PURE__*/_react.default.createElement(_material.DialogContent, null, /*#__PURE__*/_react.default.createElement(_material.Typography, null, "Are you sure you want to return to the import form? This will lose your current view")), /*#__PURE__*/_react.default.createElement(_material.DialogActions, null, /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
45
49
|
onClick: function onClick() {
|
|
46
50
|
model.clearView();
|
|
47
51
|
handleClose();
|
|
@@ -49,7 +53,7 @@ function ReturnToImportFormDialog(_ref) {
|
|
|
49
53
|
variant: "contained",
|
|
50
54
|
color: "primary",
|
|
51
55
|
autoFocus: true
|
|
52
|
-
}, "OK"), /*#__PURE__*/_react.default.createElement(
|
|
56
|
+
}, "OK"), /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
53
57
|
onClick: function onClick() {
|
|
54
58
|
return handleClose();
|
|
55
59
|
},
|
package/ui/SanitizedHTML.js
CHANGED
|
@@ -2,24 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = SanitizedHTML;
|
|
11
9
|
exports.isHTML = isHTML;
|
|
12
10
|
|
|
13
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
12
|
|
|
15
13
|
var _escapeHtml = _interopRequireDefault(require("escape-html"));
|
|
16
14
|
|
|
17
15
|
var _dompurify = _interopRequireDefault(require("dompurify"));
|
|
18
16
|
|
|
19
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
|
-
|
|
21
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
-
|
|
23
17
|
// source https://github.com/sindresorhus/html-tags/blob/master/html-tags.json
|
|
24
18
|
// with some random uncommon ones removed. note: we just use this to run the content
|
|
25
19
|
// through dompurify without escaping if we see an htmlTag from this list
|
|
@@ -40,20 +34,20 @@ function isHTML(str) {
|
|
|
40
34
|
function SanitizedHTML(_ref) {
|
|
41
35
|
var html = _ref.html;
|
|
42
36
|
var value = isHTML(html) ? html : (0, _escapeHtml.default)(html);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
37
|
+
|
|
38
|
+
if (!added) {
|
|
39
|
+
added = true; // see https://github.com/cure53/DOMPurify/issues/317
|
|
40
|
+
// only have to add this once, and can't do it globally because dompurify
|
|
41
|
+
// not yet initialized at global scope
|
|
42
|
+
|
|
43
|
+
_dompurify.default.addHook('afterSanitizeAttributes', function (node) {
|
|
44
|
+
if (node.tagName === 'A') {
|
|
45
|
+
node.setAttribute('rel', 'noopener noreferrer');
|
|
46
|
+
node.setAttribute('target', '_blank');
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
57
51
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
58
52
|
// eslint-disable-next-line react/no-danger
|
|
59
53
|
dangerouslySetInnerHTML: {
|
package/ui/Snackbar.js
CHANGED
|
@@ -13,11 +13,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _material = require("@mui/material");
|
|
17
17
|
|
|
18
|
-
var _Close = _interopRequireDefault(require("@
|
|
19
|
-
|
|
20
|
-
var _Alert = _interopRequireDefault(require("@material-ui/lab/Alert"));
|
|
18
|
+
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
21
19
|
|
|
22
20
|
var _mobxReact = require("mobx-react");
|
|
23
21
|
|
|
@@ -79,18 +77,22 @@ function MessageSnackbar(_ref) {
|
|
|
79
77
|
level = _ref3[1],
|
|
80
78
|
action = _ref3[2];
|
|
81
79
|
|
|
82
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement(_material.Snackbar, {
|
|
83
81
|
open: open && !!message,
|
|
84
|
-
onClose: handleClose
|
|
85
|
-
}, /*#__PURE__*/_react.default.createElement(_Alert.default, {
|
|
86
82
|
onClose: handleClose,
|
|
87
|
-
|
|
83
|
+
anchorOrigin: {
|
|
84
|
+
vertical: 'bottom',
|
|
85
|
+
horizontal: 'center'
|
|
86
|
+
}
|
|
87
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Alert, {
|
|
88
|
+
onClose: handleClose,
|
|
89
|
+
action: action ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
88
90
|
color: "inherit",
|
|
89
91
|
onClick: function onClick(e) {
|
|
90
92
|
action.onClick();
|
|
91
93
|
handleClose(e);
|
|
92
94
|
}
|
|
93
|
-
}, action.name), /*#__PURE__*/_react.default.createElement(
|
|
95
|
+
}, action.name), /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
94
96
|
"aria-label": "close",
|
|
95
97
|
color: "inherit",
|
|
96
98
|
onClick: handleClose
|
package/ui/Tooltip.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ import { Feature } from '../util/simpleFeature';
|
|
|
3
3
|
declare const _default: ({ offsetX, offsetY, configuration, feature, timeout, }: {
|
|
4
4
|
offsetX: number;
|
|
5
5
|
offsetY: number;
|
|
6
|
-
configuration:
|
|
6
|
+
configuration: {
|
|
7
|
+
[x: string]: any;
|
|
8
|
+
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
7
9
|
setSubschema(slotName: string, data: unknown): any;
|
|
8
10
|
} & import("mobx-state-tree").IStateTreeNode<import("../configuration").AnyConfigurationSchemaType>;
|
|
9
11
|
feature?: Feature | undefined;
|
package/ui/Tooltip.js
CHANGED
|
@@ -13,7 +13,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _mui = require("tss-react/mui");
|
|
17
17
|
|
|
18
18
|
var _mobxReact = require("mobx-react");
|
|
19
19
|
|
|
@@ -23,7 +23,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
23
23
|
|
|
24
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
25
|
|
|
26
|
-
var useStyles = (0,
|
|
26
|
+
var useStyles = (0, _mui.makeStyles)()({
|
|
27
27
|
hoverLabel: {
|
|
28
28
|
border: '1px solid black',
|
|
29
29
|
position: 'absolute',
|
|
@@ -40,7 +40,9 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
40
40
|
feature = _ref.feature,
|
|
41
41
|
_ref$timeout = _ref.timeout,
|
|
42
42
|
timeout = _ref$timeout === void 0 ? 300 : _ref$timeout;
|
|
43
|
-
|
|
43
|
+
|
|
44
|
+
var _useStyles = useStyles(),
|
|
45
|
+
classes = _useStyles.classes;
|
|
44
46
|
|
|
45
47
|
var _useState = (0, _react.useState)(false),
|
|
46
48
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|