@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.
Files changed (86) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +14 -7
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +203 -125
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +20 -15
  4. package/BaseFeatureWidget/index.d.ts +23 -2
  5. package/BaseFeatureWidget/index.js +100 -3
  6. package/BaseFeatureWidget/index.test.js +48 -30
  7. package/PluginManager.d.ts +58 -86
  8. package/ReExports/Attributes.d.ts +2 -0
  9. package/ReExports/Attributes.js +12 -0
  10. package/ReExports/BaseCard.d.ts +2 -0
  11. package/ReExports/BaseCard.js +12 -0
  12. package/ReExports/DataGrid.d.ts +2 -0
  13. package/ReExports/DataGrid.js +13 -0
  14. package/ReExports/FeatureDetails.d.ts +2 -0
  15. package/ReExports/FeatureDetails.js +12 -0
  16. package/ReExports/list.js +1 -1
  17. package/ReExports/material-ui-colors.d.ts +1 -19
  18. package/ReExports/material-ui-colors.js +11 -152
  19. package/ReExports/modules.d.ts +59 -91
  20. package/ReExports/modules.js +683 -127
  21. package/TextSearch/TextSearchManager.d.ts +3 -1
  22. package/assemblyManager/assembly.d.ts +6 -7
  23. package/assemblyManager/assembly.js +27 -16
  24. package/assemblyManager/assemblyManager.d.ts +82 -24
  25. package/assemblyManager/assemblyManager.js +32 -36
  26. package/configuration/util.d.ts +1 -1
  27. package/package.json +15 -15
  28. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -10
  29. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
  30. package/pluggableElementTypes/models/BaseTrackModel.js +24 -25
  31. package/pluggableElementTypes/models/baseTrackConfig.js +20 -13
  32. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +2 -2
  33. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +2 -2
  34. package/pluggableElementTypes/renderers/ServerSideRendererType.js +1 -1
  35. package/rpc/BaseRpcDriver.js +1 -1
  36. package/tsconfig.build.tsbuildinfo +1 -1
  37. package/ui/AboutDialog.d.ts +1 -1
  38. package/ui/AboutDialog.js +38 -16
  39. package/ui/App.js +18 -37
  40. package/ui/AssemblySelector.d.ts +1 -1
  41. package/ui/AssemblySelector.js +10 -5
  42. package/ui/CascadingMenu.d.ts +9 -0
  43. package/ui/CascadingMenu.js +207 -0
  44. package/ui/Drawer.js +8 -5
  45. package/ui/DrawerWidget.js +39 -45
  46. package/ui/DropDownMenu.d.ts +0 -8
  47. package/ui/DropDownMenu.js +9 -15
  48. package/ui/EditableTypography.d.ts +1 -1
  49. package/ui/EditableTypography.js +42 -48
  50. package/ui/ErrorMessage.js +13 -23
  51. package/ui/FactoryResetDialog.js +6 -6
  52. package/ui/FatalErrorDialog.js +5 -5
  53. package/ui/FileSelector/FileSelector.js +19 -19
  54. package/ui/FileSelector/LocalFileChooser.js +12 -8
  55. package/ui/FileSelector/UrlChooser.js +2 -2
  56. package/ui/Icons.d.ts +1 -1
  57. package/ui/Icons.js +1 -1
  58. package/ui/Menu.d.ts +11 -1
  59. package/ui/Menu.js +32 -38
  60. package/ui/PrerenderedCanvas.js +10 -1
  61. package/ui/ResizeHandle.js +8 -6
  62. package/ui/ReturnToImportFormDialog.js +14 -10
  63. package/ui/SanitizedHTML.js +15 -21
  64. package/ui/Snackbar.js +11 -9
  65. package/ui/Tooltip.d.ts +3 -1
  66. package/ui/Tooltip.js +5 -3
  67. package/ui/ViewContainer.js +38 -25
  68. package/ui/index.d.ts +1 -0
  69. package/ui/index.js +9 -0
  70. package/ui/theme.d.ts +279 -131
  71. package/ui/theme.js +174 -154
  72. package/ui/theme.test.js +56 -75
  73. package/util/Base1DViewModel.d.ts +1 -8
  74. package/util/Base1DViewModel.js +11 -13
  75. package/util/color/index.js +6 -6
  76. package/util/index.d.ts +4 -8
  77. package/util/index.js +29 -19
  78. package/util/jexl.js +42 -43
  79. package/util/layouts/GranularRectLayout.js +1 -3
  80. package/util/layouts/PrecomputedLayout.js +1 -3
  81. package/util/offscreenCanvasPonyfill.js +10 -12
  82. package/util/tracks.js +4 -2
  83. package/util/types/index.d.ts +14 -4
  84. package/util/types/index.js +6 -0
  85. package/util/types/mst.d.ts +3 -3
  86. 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 _core = require("@material-ui/core");
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, _core.makeStyles)(function (theme) {
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 classes = useStyles();
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(_core.Box, {
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(_core.Box, null, /*#__PURE__*/_react.default.createElement(_core.FormControl, {
48
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, null, /*#__PURE__*/_react.default.createElement(_material.FormControl, {
45
49
  fullWidth: true
46
- }, /*#__PURE__*/_react.default.createElement(_core.Button, {
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(_core.Box, null, /*#__PURE__*/_react.default.createElement(_core.Typography, {
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(_core.Typography, {
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 _core = require("@material-ui/core");
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(_core.TextField, {
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-ui/core/SvgIcon';
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-ui/core/SvgIcon"));
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-ui/core';
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 _core = require("@material-ui/core");
23
+ var _material = require("@mui/material");
23
24
 
24
- var _ArrowRight = _interopRequireDefault(require("@material-ui/icons/ArrowRight"));
25
+ var _mui = require("tss-react/mui");
25
26
 
26
- var _CheckBox = _interopRequireDefault(require("@material-ui/icons/CheckBox"));
27
+ var _ArrowRight = _interopRequireDefault(require("@mui/icons-material/ArrowRight"));
27
28
 
28
- var _CheckBoxOutlineBlank = _interopRequireDefault(require("@material-ui/icons/CheckBoxOutlineBlank"));
29
+ var _CheckBox = _interopRequireDefault(require("@mui/icons-material/CheckBox"));
29
30
 
30
- var _RadioButtonChecked = _interopRequireDefault(require("@material-ui/icons/RadioButtonChecked"));
31
+ var _CheckBoxOutlineBlank = _interopRequireDefault(require("@mui/icons-material/CheckBoxOutlineBlank"));
31
32
 
32
- var _RadioButtonUnchecked = _interopRequireDefault(require("@material-ui/icons/RadioButtonUnchecked"));
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, _core.makeStyles)({
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
- position: 'absolute',
63
- right: 16,
64
- top: '50%',
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 classes = useStyles();
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
- var classes = useStyles();
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(_core.MenuList, {
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(_core.Divider, {
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(_core.ListSubheader, {
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(_core.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(Icon, null));
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(_core.MenuItem, {
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(_core.ListItemText, {
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
- if (top) {
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(_core.Paper, {
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(_core.Popover, (0, _extends2.default)({
356
+ return /*#__PURE__*/_react.default.createElement(_material.Popover, (0, _extends2.default)({
363
357
  transitionDuration: 0,
364
358
  open: open,
365
359
  onClose: onClose,
@@ -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,
@@ -17,9 +17,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
- var _styles = require("@material-ui/core/styles");
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, _styles.makeStyles)({
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
- var classes = useStyles();
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: (0, _clsx.default)(className, originalClassName)
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 _styles = require("@material-ui/core/styles");
14
+ var _material = require("@mui/material");
15
15
 
16
- var _core = require("@material-ui/core");
16
+ var _mui = require("tss-react/mui");
17
17
 
18
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
18
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
19
19
 
20
- var useStyles = (0, _styles.makeStyles)(function (theme) {
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
- var classes = useStyles();
35
- return /*#__PURE__*/_react.default.createElement(_core.Dialog, {
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(_core.DialogTitle, null, "Reference sequence", handleClose ? /*#__PURE__*/_react.default.createElement(_core.IconButton, {
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
- }, /*#__PURE__*/_react.default.createElement(_Close.default, null)) : null), /*#__PURE__*/_react.default.createElement(_core.Divider, null), /*#__PURE__*/_react.default.createElement(_core.DialogContent, null, /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Are you sure you want to return to the import form? This will lose your current view")), /*#__PURE__*/_react.default.createElement(_core.DialogActions, null, /*#__PURE__*/_react.default.createElement(_core.Button, {
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(_core.Button, {
56
+ }, "OK"), /*#__PURE__*/_react.default.createElement(_material.Button, {
53
57
  onClick: function onClick() {
54
58
  return handleClose();
55
59
  },
@@ -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 = _interopRequireWildcard(require("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
- (0, _react.useEffect)(function () {
44
- if (!added) {
45
- added = true; // see https://github.com/cure53/DOMPurify/issues/317
46
- // only have to add this once, and can't do it globally because dompurify
47
- // not yet initialized at global scope
48
-
49
- _dompurify.default.addHook('afterSanitizeAttributes', function (node) {
50
- if (node.tagName === 'A') {
51
- node.setAttribute('rel', 'noopener noreferrer');
52
- node.setAttribute('target', '_blank');
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 _core = require("@material-ui/core");
16
+ var _material = require("@mui/material");
17
17
 
18
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
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(_core.Snackbar, {
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
- action: action ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Button, {
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(_core.IconButton, {
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: import("mobx-state-tree").ModelInstanceTypeProps<Record<string, any>> & {
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 _core = require("@material-ui/core");
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, _core.makeStyles)({
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
- var classes = useStyles();
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),