@jbrowse/core 1.5.6 → 1.6.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 (155) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.js +91 -78
  2. package/BaseFeatureWidget/SequenceFeatureDetails.js +65 -57
  3. package/BaseFeatureWidget/SequenceFeatureDetails.test.js +9 -9
  4. package/BaseFeatureWidget/index.js +1 -1
  5. package/BaseFeatureWidget/index.test.js +4 -4
  6. package/BaseFeatureWidget/util.js +13 -9
  7. package/CorePlugin.js +32 -20
  8. package/Plugin.js +13 -11
  9. package/PluginLoader.js +38 -33
  10. package/PluginManager.d.ts +8 -5
  11. package/PluginManager.js +142 -53
  12. package/ReExports/index.js +4 -4
  13. package/ReExports/list.js +2 -2
  14. package/ReExports/material-ui-colors.js +20 -20
  15. package/ReExports/modules.d.ts +7 -5
  16. package/ReExports/modules.js +51 -47
  17. package/TextSearch/BaseResults.js +34 -24
  18. package/TextSearch/BaseResults.test.js +7 -3
  19. package/TextSearch/TextSearchManager.js +17 -15
  20. package/assemblyManager/assembly.js +39 -34
  21. package/assemblyManager/assemblyConfigSchema.js +2 -2
  22. package/assemblyManager/assemblyManager.js +20 -16
  23. package/assemblyManager/index.js +3 -3
  24. package/babel.config.d.ts +15 -0
  25. package/babel.config.js +19 -0
  26. package/configuration/configurationSchema.js +19 -17
  27. package/configuration/configurationSlot.js +11 -11
  28. package/configuration/configurationSlot.test.js +5 -5
  29. package/configuration/index.d.ts +1 -0
  30. package/configuration/util.js +5 -5
  31. package/data_adapters/BaseAdapter.d.ts +15 -3
  32. package/data_adapters/BaseAdapter.js +216 -62
  33. package/data_adapters/BaseAdapter.test.js +30 -24
  34. package/data_adapters/CytobandAdapter.d.ts +1 -1
  35. package/data_adapters/CytobandAdapter.js +25 -19
  36. package/data_adapters/dataAdapterCache.js +9 -9
  37. package/package.json +4 -5
  38. package/pluggableElementTypes/AdapterType.js +31 -22
  39. package/pluggableElementTypes/ConnectionType.js +28 -18
  40. package/pluggableElementTypes/DisplayType.js +27 -17
  41. package/pluggableElementTypes/InternetAccountType.js +24 -14
  42. package/pluggableElementTypes/PluggableElementBase.js +10 -8
  43. package/pluggableElementTypes/RpcMethodType.d.ts +1 -1
  44. package/pluggableElementTypes/RpcMethodType.js +141 -118
  45. package/pluggableElementTypes/RpcMethodType.test.js +23 -17
  46. package/pluggableElementTypes/TextSearchAdapterType.js +25 -15
  47. package/pluggableElementTypes/TrackType.js +25 -15
  48. package/pluggableElementTypes/ViewType.js +25 -15
  49. package/pluggableElementTypes/WidgetType.js +27 -17
  50. package/pluggableElementTypes/index.js +11 -11
  51. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +5 -5
  52. package/pluggableElementTypes/models/BaseDisplayModel.js +8 -5
  53. package/pluggableElementTypes/models/BaseTrackModel.js +11 -8
  54. package/pluggableElementTypes/models/BaseViewModel.js +3 -3
  55. package/pluggableElementTypes/models/InternetAccountModel.d.ts +1 -1
  56. package/pluggableElementTypes/models/InternetAccountModel.js +5 -5
  57. package/pluggableElementTypes/models/baseConnectionConfig.js +2 -2
  58. package/pluggableElementTypes/models/baseTrackConfig.js +7 -4
  59. package/pluggableElementTypes/models/index.js +4 -4
  60. package/pluggableElementTypes/renderers/BoxRendererType.js +49 -39
  61. package/pluggableElementTypes/renderers/CircularChordRendererType.js +18 -12
  62. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +35 -27
  63. package/pluggableElementTypes/renderers/FeatureRendererType.js +46 -36
  64. package/pluggableElementTypes/renderers/RendererType.js +31 -21
  65. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +12 -8
  66. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +1 -1
  67. package/pluggableElementTypes/renderers/ServerSideRendererType.js +45 -33
  68. package/pluggableElementTypes/renderers/index.js +8 -8
  69. package/pluggableElementTypes/renderers/util/serializableFilterChain.js +10 -8
  70. package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +2 -2
  71. package/rpc/BaseRpcDriver.js +43 -38
  72. package/rpc/BaseRpcDriver.test.js +63 -49
  73. package/rpc/MainThreadRpcDriver.js +32 -22
  74. package/rpc/RpcManager.js +19 -17
  75. package/rpc/WebWorkerRpcDriver.js +38 -28
  76. package/rpc/configSchema.js +2 -2
  77. package/rpc/coreRpcMethods.d.ts +16 -0
  78. package/rpc/coreRpcMethods.js +248 -121
  79. package/rpc/remoteAbortSignals.js +3 -3
  80. package/ui/AboutDialog.js +21 -17
  81. package/ui/App.js +42 -38
  82. package/ui/AssemblySelector.d.ts +1 -1
  83. package/ui/AssemblySelector.js +6 -6
  84. package/ui/Drawer.js +7 -7
  85. package/ui/DrawerWidget.d.ts +1 -1
  86. package/ui/DrawerWidget.js +37 -33
  87. package/ui/DropDownMenu.js +21 -9
  88. package/ui/EditableTypography.js +30 -19
  89. package/ui/ErrorMessage.js +5 -5
  90. package/ui/FactoryResetDialog.js +8 -8
  91. package/ui/FatalErrorDialog.js +29 -12
  92. package/ui/FatalErrorDialog.test.js +11 -11
  93. package/ui/FileSelector/FileSelector.js +42 -32
  94. package/ui/FileSelector/LocalFileChooser.js +9 -9
  95. package/ui/FileSelector/UrlChooser.js +4 -4
  96. package/ui/FileSelector/index.js +4 -4
  97. package/ui/Icons.js +9 -9
  98. package/ui/Logo.js +19 -19
  99. package/ui/Menu.js +46 -35
  100. package/ui/NewSessionCards.js +29 -19
  101. package/ui/PrerenderedCanvas.js +27 -10
  102. package/ui/ResizeHandle.js +17 -10
  103. package/ui/SanitizedHTML.js +5 -5
  104. package/ui/SanitizedHTML.test.js +4 -4
  105. package/ui/Snackbar.js +16 -12
  106. package/ui/SnackbarModel.js +1 -1
  107. package/ui/Tooltip.js +11 -7
  108. package/ui/ViewContainer.d.ts +2 -5
  109. package/ui/ViewContainer.js +44 -49
  110. package/ui/index.d.ts +1 -0
  111. package/ui/index.js +26 -13
  112. package/ui/theme.js +15 -11
  113. package/util/Base1DViewModel.d.ts +14 -12
  114. package/util/Base1DViewModel.js +51 -55
  115. package/util/Base1DViewModel.test.js +5 -5
  116. package/util/QuickLRU.js +31 -27
  117. package/util/aborting.js +26 -16
  118. package/util/analytics.d.ts +1 -0
  119. package/util/analytics.js +15 -7
  120. package/util/blockTypes.js +48 -36
  121. package/util/calculateDynamicBlocks.js +4 -4
  122. package/util/calculateDynamicBlocks.test.js +14 -10
  123. package/util/calculateStaticBlocks.js +1 -1
  124. package/util/calculateStaticBlocks.test.js +15 -15
  125. package/util/compositeMap.js +31 -27
  126. package/util/idMaker.js +4 -4
  127. package/util/index.d.ts +23 -1
  128. package/util/index.js +133 -39
  129. package/util/index.test.js +11 -7
  130. package/util/io/RemoteFileWithRangeCache.js +41 -29
  131. package/util/io/index.js +6 -6
  132. package/util/jexl.js +5 -5
  133. package/util/jexlStrings.js +2 -2
  134. package/util/jexlStrings.test.js +2 -2
  135. package/util/layouts/GranularRectLayout.js +33 -27
  136. package/util/layouts/GranularRectLayout.test.js +10 -10
  137. package/util/layouts/MultiLayout.js +19 -13
  138. package/util/layouts/PrecomputedLayout.js +16 -14
  139. package/util/layouts/PrecomputedMultiLayout.js +23 -17
  140. package/util/layouts/SceneGraph.js +18 -12
  141. package/util/layouts/index.js +6 -6
  142. package/util/offscreenCanvasPonyfill.js +31 -29
  143. package/util/offscreenCanvasUtils.js +6 -6
  144. package/util/range.test.js +20 -20
  145. package/util/rxjs.js +2 -2
  146. package/util/simpleFeature.js +23 -18
  147. package/util/simpleFeature.test.js +3 -3
  148. package/util/stats.d.ts +1 -1
  149. package/util/stats.js +11 -7
  150. package/util/stats.test.js +16 -16
  151. package/util/tracks.js +1 -3
  152. package/util/types/index.d.ts +1 -1
  153. package/util/types/index.js +36 -31
  154. package/util/types/mst.js +19 -15
  155. package/util/when.js +6 -6
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  var _react = _interopRequireDefault(require("react"));
6
6
 
@@ -11,7 +11,7 @@ var _react2 = require("@testing-library/react");
11
11
  var _SanitizedHTML = _interopRequireDefault(require("./SanitizedHTML"));
12
12
 
13
13
  test('test basic escaping with bold', function () {
14
- var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SanitizedHTML["default"], {
14
+ var _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_SanitizedHTML.default, {
15
15
  html: "<b>Test</b"
16
16
  })),
17
17
  getByText = _render.getByText;
@@ -19,7 +19,7 @@ test('test basic escaping with bold', function () {
19
19
  expect(getByText('Test')).toBeInTheDocument();
20
20
  });
21
21
  test('test escaping', function () {
22
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SanitizedHTML["default"], {
22
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_SanitizedHTML.default, {
23
23
  html: "<bb>Test</b"
24
24
  })),
25
25
  getByText = _render2.getByText;
@@ -27,7 +27,7 @@ test('test escaping', function () {
27
27
  expect(getByText('<bb>Test</b')).toBeInTheDocument();
28
28
  });
29
29
  test('test <TRA>', function () {
30
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SanitizedHTML["default"], {
30
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_SanitizedHTML.default, {
31
31
  html: "<TRA><DEL><INS><DEL:ME>"
32
32
  })),
33
33
  getByText = _render3.getByText;
package/ui/Snackbar.js CHANGED
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = void 0;
10
+ exports.default = void 0;
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
@@ -21,16 +21,20 @@ var _Alert = _interopRequireDefault(require("@material-ui/lab/Alert"));
21
21
 
22
22
  var _mobxReact = require("mobx-react");
23
23
 
24
+ 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); }
25
+
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; }
27
+
24
28
  function MessageSnackbar(_ref) {
25
29
  var session = _ref.session;
26
30
 
27
31
  var _useState = (0, _react.useState)(false),
28
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
32
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
33
  open = _useState2[0],
30
34
  setOpen = _useState2[1];
31
35
 
32
36
  var _useState3 = (0, _react.useState)(),
33
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
37
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
34
38
  snackbarMessage = _useState4[0],
35
39
  setSnackbarMessage = _useState4[1];
36
40
 
@@ -70,19 +74,19 @@ function MessageSnackbar(_ref) {
70
74
  };
71
75
 
72
76
  var _ref2 = snackbarMessage || [],
73
- _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
77
+ _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
74
78
  message = _ref3[0],
75
79
  level = _ref3[1];
76
80
 
77
- return /*#__PURE__*/_react["default"].createElement(_core.Snackbar, {
81
+ return /*#__PURE__*/_react.default.createElement(_core.Snackbar, {
78
82
  open: open && !!message,
79
83
  onClose: handleClose,
80
- action: /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
84
+ action: /*#__PURE__*/_react.default.createElement(_core.IconButton, {
81
85
  "aria-label": "close",
82
86
  color: "inherit",
83
87
  onClick: handleClose
84
- }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))
85
- }, /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
88
+ }, /*#__PURE__*/_react.default.createElement(_Close.default, null))
89
+ }, /*#__PURE__*/_react.default.createElement(_Alert.default, {
86
90
  onClose: handleClose,
87
91
  severity: level || 'warning'
88
92
  }, message));
@@ -90,4 +94,4 @@ function MessageSnackbar(_ref) {
90
94
 
91
95
  var _default = (0, _mobxReact.observer)(MessageSnackbar);
92
96
 
93
- exports["default"] = _default;
97
+ exports.default = _default;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = addSnackbarToModel;
6
+ exports.default = addSnackbarToModel;
7
7
 
8
8
  var _mobx = require("mobx");
9
9
 
package/ui/Tooltip.js CHANGED
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = void 0;
10
+ exports.default = void 0;
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
@@ -19,6 +19,10 @@ var _mobxReact = require("mobx-react");
19
19
 
20
20
  var _configuration = require("../configuration");
21
21
 
22
+ 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); }
23
+
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
+
22
26
  var useStyles = (0, _styles.makeStyles)({
23
27
  hoverLabel: {
24
28
  border: '1px solid black',
@@ -39,7 +43,7 @@ var Tooltip = function Tooltip(_ref) {
39
43
  var classes = useStyles();
40
44
 
41
45
  var _useState = (0, _react.useState)(false),
42
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
46
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
43
47
  shown = _useState2[0],
44
48
  setShown = _useState2[1];
45
49
 
@@ -58,7 +62,7 @@ var Tooltip = function Tooltip(_ref) {
58
62
  var text = (0, _configuration.readConfObject)(configuration, 'mouseover', {
59
63
  feature: feature
60
64
  });
61
- return /*#__PURE__*/_react["default"].createElement("div", {
65
+ return /*#__PURE__*/_react.default.createElement("div", {
62
66
  className: classes.hoverLabel,
63
67
  style: {
64
68
  left: offsetX,
@@ -72,4 +76,4 @@ var Tooltip = function Tooltip(_ref) {
72
76
 
73
77
  var _default = (0, _mobxReact.observer)(Tooltip);
74
78
 
75
- exports["default"] = _default;
79
+ exports.default = _default;
@@ -1,12 +1,9 @@
1
1
  import React from 'react';
2
- import { ContentRect } from 'react-measure';
3
2
  import { IBaseViewModel } from '../pluggableElementTypes/models';
4
3
  declare const _default: React.ComponentType<{
5
4
  view: IBaseViewModel;
6
- onClose: () => void;
7
5
  style: React.CSSProperties;
8
6
  children: React.ReactNode;
9
- contentRect: ContentRect;
10
- measureRef: React.RefObject<HTMLDivElement>;
11
- }>;
7
+ onClose: () => void;
8
+ } & import("react-sizeme").WithSizeProps>;
12
9
  export default _default;
@@ -1,38 +1,46 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = void 0;
10
+ exports.default = void 0;
11
11
 
12
- var _objectSpread2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/objectSpread2.js"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
- var _slicedToArray2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
 
16
- var _core = require("@material-ui/core");
17
-
18
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
17
 
20
- var _Menu = _interopRequireDefault(require("@material-ui/icons/Menu"));
18
+ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
- var _styles = require("@material-ui/core/styles");
20
+ var _core = require("@material-ui/core");
23
21
 
24
22
  var _mobxReact = require("mobx-react");
25
23
 
26
24
  var _mobxStateTree = require("mobx-state-tree");
27
25
 
28
- var _react = _interopRequireWildcard(require("react"));
26
+ var _reactSizeme = require("react-sizeme");
27
+
28
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
29
29
 
30
- var _reactMeasure = require("react-measure");
30
+ var _Menu = _interopRequireDefault(require("@material-ui/icons/Menu"));
31
31
 
32
32
  var _EditableTypography = _interopRequireDefault(require("./EditableTypography"));
33
33
 
34
34
  var _Menu2 = _interopRequireDefault(require("./Menu"));
35
35
 
36
+ 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); }
37
+
38
+ 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; }
39
+
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
+
42
+ 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; }
43
+
36
44
  var useStyles = (0, _core.makeStyles)(function (theme) {
37
45
  return {
38
46
  viewContainer: {
@@ -48,7 +56,7 @@ var useStyles = (0, _core.makeStyles)(function (theme) {
48
56
  },
49
57
  iconRoot: {
50
58
  '&:hover': {
51
- backgroundColor: (0, _styles.alpha)(theme.palette.secondary.contrastText, theme.palette.action.hoverOpacity),
59
+ backgroundColor: (0, _core.alpha)(theme.palette.secondary.contrastText, theme.palette.action.hoverOpacity),
52
60
  '@media (hover: none)': {
53
61
  backgroundColor: 'transparent'
54
62
  }
@@ -78,14 +86,14 @@ var ViewMenu = (0, _mobxReact.observer)(function (_ref) {
78
86
  IconProps = _ref.IconProps;
79
87
 
80
88
  var _useState = (0, _react.useState)(),
81
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
89
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
82
90
  anchorEl = _useState2[0],
83
91
  setAnchorEl = _useState2[1];
84
92
 
85
93
  var menuItems = model.menuItems; // <=1.3.3 didn't use a function
86
94
 
87
95
  var items = typeof menuItems === 'function' ? menuItems() : menuItems;
88
- return items !== null && items !== void 0 && items.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.IconButton, Object.assign({}, IconButtonProps, {
96
+ return items !== null && items !== void 0 && items.length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.IconButton, (0, _extends2.default)({}, IconButtonProps, {
89
97
  "aria-label": "more",
90
98
  "aria-controls": "view-menu",
91
99
  "aria-haspopup": "true",
@@ -93,7 +101,7 @@ var ViewMenu = (0, _mobxReact.observer)(function (_ref) {
93
101
  setAnchorEl(event.currentTarget);
94
102
  },
95
103
  "data-testid": "view_menu_icon"
96
- }), /*#__PURE__*/_react["default"].createElement(_Menu["default"], IconProps)), /*#__PURE__*/_react["default"].createElement(_Menu2["default"], {
104
+ }), /*#__PURE__*/_react.default.createElement(_Menu.default, IconProps)), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
97
105
  anchorEl: anchorEl,
98
106
  open: Boolean(anchorEl),
99
107
  onMenuItemClick: function onMenuItemClick(_event, callback) {
@@ -107,28 +115,18 @@ var ViewMenu = (0, _mobxReact.observer)(function (_ref) {
107
115
  })) : null;
108
116
  });
109
117
 
110
- var _default = (0, _reactMeasure.withContentRect)('bounds')((0, _mobxReact.observer)(function (_ref2) {
118
+ var _default = (0, _reactSizeme.withSize)()((0, _mobxReact.observer)(function (_ref2) {
111
119
  var view = _ref2.view,
112
120
  onClose = _ref2.onClose,
113
121
  style = _ref2.style,
114
122
  children = _ref2.children,
115
- contentRect = _ref2.contentRect,
116
- measureRef = _ref2.measureRef;
123
+ width = _ref2.size.width;
117
124
  var classes = useStyles();
118
125
  var theme = (0, _core.useTheme)();
119
126
  var padWidth = theme.spacing(1);
120
- var width = 0;
121
-
122
- if (contentRect.bounds) {
123
- ;
124
- width = contentRect.bounds.width;
125
- }
126
-
127
127
  (0, _react.useEffect)(function () {
128
- if (width) {
129
- if ((0, _mobxStateTree.isAlive)(view)) {
130
- view.setWidth(width - padWidth * 2);
131
- }
128
+ if (width && (0, _mobxStateTree.isAlive)(view)) {
129
+ view.setWidth(width - padWidth * 2);
132
130
  }
133
131
  }, [padWidth, view, width]);
134
132
  var scrollRef = (0, _react.useRef)(null); // scroll the view into view when first mounted
@@ -136,27 +134,24 @@ var _default = (0, _reactMeasure.withContentRect)('bounds')((0, _mobxReact.obser
136
134
  // the empty array second param
137
135
 
138
136
  (0, _react.useEffect)(function () {
139
- var _scrollRef$current;
137
+ var _scrollRef$current, _scrollRef$current$sc;
140
138
 
141
- if (scrollRef !== null && scrollRef !== void 0 && (_scrollRef$current = scrollRef.current) !== null && _scrollRef$current !== void 0 && _scrollRef$current.scrollIntoView) {
142
- scrollRef.current.scrollIntoView({
143
- block: 'center'
144
- });
145
- }
139
+ (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : (_scrollRef$current$sc = _scrollRef$current.scrollIntoView) === null || _scrollRef$current$sc === void 0 ? void 0 : _scrollRef$current$sc.call(_scrollRef$current, {
140
+ block: 'center'
141
+ });
146
142
  }, []);
147
- return /*#__PURE__*/_react["default"].createElement(_core.Paper, {
143
+ return /*#__PURE__*/_react.default.createElement(_core.Paper, {
148
144
  elevation: 12,
149
- ref: measureRef,
150
145
  className: classes.viewContainer,
151
- style: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, style), {}, {
146
+ style: _objectSpread(_objectSpread({}, style), {}, {
152
147
  padding: "0px ".concat(padWidth, "px ").concat(padWidth, "px")
153
148
  })
154
- }, /*#__PURE__*/_react["default"].createElement("div", {
149
+ }, /*#__PURE__*/_react.default.createElement("div", {
155
150
  ref: scrollRef,
156
151
  style: {
157
152
  display: 'flex'
158
153
  }
159
- }, /*#__PURE__*/_react["default"].createElement(ViewMenu, {
154
+ }, /*#__PURE__*/_react.default.createElement(ViewMenu, {
160
155
  model: view,
161
156
  IconButtonProps: {
162
157
  classes: {
@@ -167,12 +162,12 @@ var _default = (0, _reactMeasure.withContentRect)('bounds')((0, _mobxReact.obser
167
162
  IconProps: {
168
163
  className: classes.icon
169
164
  }
170
- }), /*#__PURE__*/_react["default"].createElement("div", {
165
+ }), /*#__PURE__*/_react.default.createElement("div", {
171
166
  className: classes.grow
172
- }), /*#__PURE__*/_react["default"].createElement(_core.Tooltip, {
167
+ }), /*#__PURE__*/_react.default.createElement(_core.Tooltip, {
173
168
  title: "Rename view",
174
169
  arrow: true
175
- }, /*#__PURE__*/_react["default"].createElement(_EditableTypography["default"], {
170
+ }, /*#__PURE__*/_react.default.createElement(_EditableTypography.default, {
176
171
  value: view.displayName || ( // @ts-ignore
177
172
  view.assemblyNames ? // @ts-ignore
178
173
  view.assemblyNames.join(',') : 'Untitled view'),
@@ -186,18 +181,18 @@ var _default = (0, _reactMeasure.withContentRect)('bounds')((0, _mobxReact.obser
186
181
  inputRoot: classes.inputRoot,
187
182
  inputFocused: classes.inputFocused
188
183
  }
189
- })), /*#__PURE__*/_react["default"].createElement("div", {
184
+ })), /*#__PURE__*/_react.default.createElement("div", {
190
185
  className: classes.grow
191
- }), /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
186
+ }), /*#__PURE__*/_react.default.createElement(_core.IconButton, {
192
187
  "data-testid": "close_view",
193
188
  classes: {
194
189
  root: classes.iconRoot
195
190
  },
196
191
  edge: "end",
197
192
  onClick: onClose
198
- }, /*#__PURE__*/_react["default"].createElement(_Close["default"], {
193
+ }, /*#__PURE__*/_react.default.createElement(_Close.default, {
199
194
  className: classes.icon
200
- }))), /*#__PURE__*/_react["default"].createElement(_core.Paper, null, children));
195
+ }))), /*#__PURE__*/_react.default.createElement(_core.Paper, null, children));
201
196
  }));
202
197
 
203
- exports["default"] = _default;
198
+ exports.default = _default;
package/ui/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './theme';
2
2
  export { LogoFull, Logomark } from './Logo';
3
3
  export { default as App } from './App';
4
+ export { default as ErrorMessage } from './ErrorMessage';
4
5
  export { default as FileSelector } from './FileSelector';
5
6
  export { default as PrerenderedCanvas } from './PrerenderedCanvas';
6
7
  export { default as ResizeHandle } from './ResizeHandle';
package/ui/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
@@ -11,6 +11,7 @@ var _exportNames = {
11
11
  LogoFull: true,
12
12
  Logomark: true,
13
13
  App: true,
14
+ ErrorMessage: true,
14
15
  FileSelector: true,
15
16
  PrerenderedCanvas: true,
16
17
  ResizeHandle: true,
@@ -24,31 +25,37 @@ var _exportNames = {
24
25
  Object.defineProperty(exports, "App", {
25
26
  enumerable: true,
26
27
  get: function get() {
27
- return _App["default"];
28
+ return _App.default;
28
29
  }
29
30
  });
30
31
  Object.defineProperty(exports, "EditableTypography", {
31
32
  enumerable: true,
32
33
  get: function get() {
33
- return _EditableTypography["default"];
34
+ return _EditableTypography.default;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "ErrorMessage", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _ErrorMessage.default;
34
41
  }
35
42
  });
36
43
  Object.defineProperty(exports, "FactoryResetDialog", {
37
44
  enumerable: true,
38
45
  get: function get() {
39
- return _FactoryResetDialog["default"];
46
+ return _FactoryResetDialog.default;
40
47
  }
41
48
  });
42
49
  Object.defineProperty(exports, "FatalErrorDialog", {
43
50
  enumerable: true,
44
51
  get: function get() {
45
- return _FatalErrorDialog["default"];
52
+ return _FatalErrorDialog.default;
46
53
  }
47
54
  });
48
55
  Object.defineProperty(exports, "FileSelector", {
49
56
  enumerable: true,
50
57
  get: function get() {
51
- return _FileSelector["default"];
58
+ return _FileSelector.default;
52
59
  }
53
60
  });
54
61
  Object.defineProperty(exports, "LogoFull", {
@@ -66,31 +73,31 @@ Object.defineProperty(exports, "Logomark", {
66
73
  Object.defineProperty(exports, "Menu", {
67
74
  enumerable: true,
68
75
  get: function get() {
69
- return _Menu["default"];
76
+ return _Menu.default;
70
77
  }
71
78
  });
72
79
  Object.defineProperty(exports, "PrerenderedCanvas", {
73
80
  enumerable: true,
74
81
  get: function get() {
75
- return _PrerenderedCanvas["default"];
82
+ return _PrerenderedCanvas.default;
76
83
  }
77
84
  });
78
85
  Object.defineProperty(exports, "ResizeHandle", {
79
86
  enumerable: true,
80
87
  get: function get() {
81
- return _ResizeHandle["default"];
88
+ return _ResizeHandle.default;
82
89
  }
83
90
  });
84
91
  Object.defineProperty(exports, "SanitizedHTML", {
85
92
  enumerable: true,
86
93
  get: function get() {
87
- return _SanitizedHTML["default"];
94
+ return _SanitizedHTML.default;
88
95
  }
89
96
  });
90
97
  Object.defineProperty(exports, "Tooltip", {
91
98
  enumerable: true,
92
99
  get: function get() {
93
- return _Tooltip["default"];
100
+ return _Tooltip.default;
94
101
  }
95
102
  });
96
103
 
@@ -112,6 +119,8 @@ var _Logo = require("./Logo");
112
119
 
113
120
  var _App = _interopRequireDefault(require("./App"));
114
121
 
122
+ var _ErrorMessage = _interopRequireDefault(require("./ErrorMessage"));
123
+
115
124
  var _FileSelector = _interopRequireDefault(require("./FileSelector"));
116
125
 
117
126
  var _PrerenderedCanvas = _interopRequireDefault(require("./PrerenderedCanvas"));
@@ -140,4 +149,8 @@ Object.keys(_Menu).forEach(function (key) {
140
149
  });
141
150
  });
142
151
 
143
- var _SanitizedHTML = _interopRequireDefault(require("./SanitizedHTML"));
152
+ var _SanitizedHTML = _interopRequireDefault(require("./SanitizedHTML"));
153
+
154
+ 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); }
155
+
156
+ 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; }
package/ui/theme.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -10,7 +10,7 @@ exports.createJBrowseDefaultProps = createJBrowseDefaultProps;
10
10
  exports.createJBrowseTheme = createJBrowseTheme;
11
11
  exports.jbrowseDefaultPalette = exports.jbrowseBaseTheme = void 0;
12
12
 
13
- var _objectSpread2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/objectSpread2.js"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
 
15
15
  var _colors = require("@material-ui/core/colors");
16
16
 
@@ -20,6 +20,10 @@ var _createPalette = require("@material-ui/core/styles/createPalette");
20
20
 
21
21
  var _deepmerge = _interopRequireDefault(require("deepmerge"));
22
22
 
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
+
25
+ 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; }
26
+
23
27
  var midnight = '#0D233F';
24
28
  var grape = '#721E63';
25
29
  var forest = '#135560';
@@ -111,7 +115,7 @@ createJBrowseDefaultProps() {
111
115
 
112
116
  function createJBrowseDefaultOverrides() {
113
117
  var palette = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
114
- var generatedPalette = (0, _deepmerge["default"])(jbrowseDefaultPalette, palette);
118
+ var generatedPalette = (0, _deepmerge.default)(jbrowseDefaultPalette, palette);
115
119
  return {
116
120
  MuiIconButton: {
117
121
  colorSecondary: {
@@ -197,24 +201,24 @@ function createJBrowseTheme(theme) {
197
201
  }
198
202
 
199
203
  if ((_theme$palette = theme.palette) !== null && _theme$palette !== void 0 && _theme$palette.tertiary) {
200
- theme = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, theme), {}, {
201
- palette: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, theme.palette), {}, {
204
+ theme = _objectSpread(_objectSpread({}, theme), {}, {
205
+ palette: _objectSpread(_objectSpread({}, theme.palette), {}, {
202
206
  tertiary: refTheme.palette.augmentColor(theme.palette.tertiary)
203
207
  })
204
208
  });
205
209
  }
206
210
 
207
211
  if ((_theme$palette2 = theme.palette) !== null && _theme$palette2 !== void 0 && _theme$palette2.quaternary) {
208
- theme = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, theme), {}, {
209
- palette: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, theme.palette), {}, {
212
+ theme = _objectSpread(_objectSpread({}, theme), {}, {
213
+ palette: _objectSpread(_objectSpread({}, theme.palette), {}, {
210
214
  quaternary: refTheme.palette.augmentColor(theme.palette.quaternary)
211
215
  })
212
216
  });
213
217
  }
214
218
 
215
- theme = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, theme), {}, {
216
- props: (0, _deepmerge["default"])(createJBrowseDefaultProps(), theme.props || {}),
217
- overrides: (0, _deepmerge["default"])(createJBrowseDefaultOverrides(theme.palette), theme.overrides || {})
219
+ theme = _objectSpread(_objectSpread({}, theme), {}, {
220
+ props: (0, _deepmerge.default)(createJBrowseDefaultProps(), theme.props || {}),
221
+ overrides: (0, _deepmerge.default)(createJBrowseDefaultOverrides(theme.palette), theme.overrides || {})
218
222
  });
219
- return (0, _styles.createTheme)((0, _deepmerge["default"])(jbrowseBaseTheme, theme));
223
+ return (0, _styles.createTheme)((0, _deepmerge.default)(jbrowseBaseTheme, theme));
220
224
  }
@@ -36,18 +36,6 @@ declare const Base1DView: import("mobx-state-tree").IModelType<{
36
36
  readonly maxOffset: number;
37
37
  readonly minOffset: number;
38
38
  readonly totalBp: number;
39
- /**
40
- * calculates the Px at which coord is found.
41
- *
42
- * @param refName - string, refName of region
43
- * @param coord - number, bp to be translated to Px
44
- * @param regionNumber - number, index of displayedRegion in displayedRegions array
45
- */
46
- bpToPx({ refName, coord, regionNumber, }: {
47
- refName: string;
48
- coord: number;
49
- regionNumber?: number | undefined;
50
- }): number | undefined;
51
39
  pxToBp(px: number): {
52
40
  oob: boolean;
53
41
  coord: number;
@@ -72,6 +60,18 @@ declare const Base1DView: import("mobx-state-tree").IModelType<{
72
60
  readonly dynamicBlocks: import("./blockTypes").BlockSet;
73
61
  readonly staticBlocks: import("./blockTypes").BlockSet;
74
62
  readonly currBp: number;
63
+ /**
64
+ * calculates the Px at which coord is found.
65
+ *
66
+ * @param refName - string, refName of region
67
+ * @param coord - number, bp to be translated to Px
68
+ * @param regionNumber - number, index of displayedRegion in displayedRegions array
69
+ */
70
+ bpToPx({ refName, coord, regionNumber, }: {
71
+ refName: string;
72
+ coord: number;
73
+ regionNumber?: number | undefined;
74
+ }): number | undefined;
75
75
  } & {
76
76
  setFeatures(features: Feature[]): void;
77
77
  zoomToDisplayedRegions(leftPx: BpOffset | undefined, rightPx: BpOffset | undefined): void;
@@ -87,6 +87,8 @@ declare const Base1DView: import("mobx-state-tree").IModelType<{
87
87
  zoomOut(): void;
88
88
  zoomIn(): void;
89
89
  zoomTo(newBpPerPx: number, offset?: number): void;
90
+ scrollTo(offsetPx: number): number;
91
+ centerAt(bp: number, refName: string, regionIndex: number): void;
90
92
  scroll(distance: number): number;
91
93
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
92
94
  export declare type Base1DViewStateModel = typeof Base1DView;