@jbrowse/core 1.7.11 → 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 (77) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +11 -1
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +49 -26
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +20 -15
  4. package/BaseFeatureWidget/index.d.ts +2 -2
  5. package/BaseFeatureWidget/index.js +5 -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.js +1 -0
  23. package/assemblyManager/assemblyManager.d.ts +12 -10
  24. package/assemblyManager/assemblyManager.js +2 -0
  25. package/configuration/util.d.ts +1 -1
  26. package/package.json +14 -15
  27. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -10
  28. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
  29. package/pluggableElementTypes/models/BaseTrackModel.js +24 -25
  30. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +2 -2
  31. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +2 -2
  32. package/pluggableElementTypes/renderers/ServerSideRendererType.js +1 -1
  33. package/rpc/BaseRpcDriver.js +1 -1
  34. package/tsconfig.build.tsbuildinfo +1 -1
  35. package/ui/AboutDialog.js +15 -10
  36. package/ui/App.js +18 -37
  37. package/ui/AssemblySelector.d.ts +1 -1
  38. package/ui/AssemblySelector.js +10 -5
  39. package/ui/CascadingMenu.js +10 -14
  40. package/ui/Drawer.js +8 -5
  41. package/ui/DrawerWidget.js +39 -45
  42. package/ui/DropDownMenu.d.ts +0 -8
  43. package/ui/DropDownMenu.js +9 -15
  44. package/ui/EditableTypography.d.ts +1 -1
  45. package/ui/EditableTypography.js +42 -48
  46. package/ui/ErrorMessage.js +13 -23
  47. package/ui/FactoryResetDialog.js +6 -6
  48. package/ui/FatalErrorDialog.js +5 -5
  49. package/ui/FileSelector/FileSelector.js +19 -19
  50. package/ui/FileSelector/LocalFileChooser.js +12 -8
  51. package/ui/FileSelector/UrlChooser.js +2 -2
  52. package/ui/Icons.d.ts +1 -1
  53. package/ui/Icons.js +1 -1
  54. package/ui/Menu.d.ts +1 -1
  55. package/ui/Menu.js +28 -29
  56. package/ui/PrerenderedCanvas.js +10 -1
  57. package/ui/ResizeHandle.js +8 -6
  58. package/ui/ReturnToImportFormDialog.js +14 -10
  59. package/ui/SanitizedHTML.js +15 -21
  60. package/ui/Snackbar.js +11 -9
  61. package/ui/Tooltip.d.ts +3 -1
  62. package/ui/Tooltip.js +5 -3
  63. package/ui/ViewContainer.js +38 -25
  64. package/ui/theme.d.ts +279 -131
  65. package/ui/theme.js +174 -154
  66. package/ui/theme.test.js +56 -75
  67. package/util/Base1DViewModel.d.ts +1 -8
  68. package/util/Base1DViewModel.js +11 -13
  69. package/util/color/index.js +6 -6
  70. package/util/index.d.ts +1 -7
  71. package/util/index.js +8 -18
  72. package/util/layouts/GranularRectLayout.js +1 -3
  73. package/util/layouts/PrecomputedLayout.js +1 -3
  74. package/util/tracks.js +4 -2
  75. package/util/types/index.d.ts +3 -3
  76. package/util/types/mst.d.ts +3 -3
  77. package/util/types/mst.js +11 -7
package/util/index.d.ts CHANGED
@@ -149,12 +149,6 @@ export declare function bpSpanPx(leftBp: number, rightBp: number, region: {
149
149
  end: number;
150
150
  reversed?: boolean;
151
151
  }, bpPerPx: number): [number, number];
152
- export declare const objectFromEntries: {
153
- <T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
154
- [k: string]: T;
155
- };
156
- (entries: Iterable<readonly any[]>): any;
157
- };
158
152
  export declare function iterMap<T, U>(iterable: Iterable<T>, func: (item: T) => U, sizeHint?: number): U[];
159
153
  interface Assembly {
160
154
  name: string;
@@ -222,7 +216,7 @@ export declare function renameRegionsIfNeeded<ARGTYPE extends {
222
216
  export declare function minmax(a: number, b: number): number[];
223
217
  export declare function stringify({ refName, coord, oob, }: {
224
218
  coord: number;
225
- refName: string;
219
+ refName?: string;
226
220
  oob?: boolean;
227
221
  }): string;
228
222
  export declare const isElectron: boolean;
package/util/index.js CHANGED
@@ -32,7 +32,6 @@ var _exportNames = {
32
32
  cartesianToPolar: true,
33
33
  featureSpanPx: true,
34
34
  bpSpanPx: true,
35
- objectFromEntries: true,
36
35
  iterMap: true,
37
36
  mergeConfigs: true,
38
37
  findLastIndex: true,
@@ -108,7 +107,6 @@ exports.makeAbortableReaction = makeAbortableReaction;
108
107
  exports.measureText = measureText;
109
108
  exports.mergeConfigs = mergeConfigs;
110
109
  exports.minmax = minmax;
111
- exports.objectFromEntries = void 0;
112
110
  exports.objectHash = objectHash;
113
111
  exports.parseLocString = parseLocString;
114
112
  exports.parseLocStringOneBased = parseLocStringOneBased;
@@ -145,8 +143,6 @@ var _mobxStateTree = require("mobx-state-tree");
145
143
 
146
144
  var _mobx = require("mobx");
147
145
 
148
- var _object = _interopRequireDefault(require("object.fromentries"));
149
-
150
146
  var _deepmerge = _interopRequireDefault(require("deepmerge"));
151
147
 
152
148
  var _simpleFeature = _interopRequireWildcard(require("./simpleFeature"));
@@ -249,11 +245,6 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
249
245
 
250
246
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
251
247
 
252
- if (!Object.fromEntries) {
253
- // @ts-ignore
254
- _object.default.shim();
255
- }
256
-
257
248
  var inDevelopment = (typeof process === "undefined" ? "undefined" : (0, _typeof2.default)(process)) === 'object' && process.env && process.env.NODE_ENV === 'development';
258
249
  exports.inDevelopment = inDevelopment;
259
250
  var inProduction = !inDevelopment;
@@ -789,11 +780,8 @@ function bpSpanPx(leftBp, rightBp, region, bpPerPx) {
789
780
  var start = bpToPx(leftBp, region, bpPerPx);
790
781
  var end = bpToPx(rightBp, region, bpPerPx);
791
782
  return region.reversed ? [end, start] : [start, end];
792
- }
793
-
794
- var objectFromEntries = Object.fromEntries.bind(Object); // do an array map of an iterable
783
+ } // do an array map of an iterable
795
784
 
796
- exports.objectFromEntries = objectFromEntries;
797
785
 
798
786
  function iterMap(iterable, func, sizeHint) {
799
787
  var results = sizeHint ? new Array(sizeHint) : [];
@@ -871,7 +859,8 @@ function findLastIndex(array, predicate) {
871
859
  */
872
860
 
873
861
 
874
- function makeAbortableReaction(self, dataFunction, asyncReactionFunction, reactionOptions, startedFunction, successFunction, errorFunction) {
862
+ function makeAbortableReaction(self, dataFunction, asyncReactionFunction, // @ts-ignore
863
+ reactionOptions, startedFunction, successFunction, errorFunction) {
875
864
  var inProgress;
876
865
 
877
866
  function handleError(error) {
@@ -884,7 +873,7 @@ function makeAbortableReaction(self, dataFunction, asyncReactionFunction, reacti
884
873
  }
885
874
  }
886
875
 
887
- var reactionDisposer = (0, _mobx.reaction)(function () {
876
+ (0, _mobxStateTree.addDisposer)(self, (0, _mobx.reaction)(function () {
888
877
  try {
889
878
  return dataFunction(self);
890
879
  } catch (e) {
@@ -915,7 +904,8 @@ function makeAbortableReaction(self, dataFunction, asyncReactionFunction, reacti
915
904
  startedFunction(thisInProgress);
916
905
  _context.prev = 6;
917
906
  _context.next = 9;
918
- return asyncReactionFunction(data, thisInProgress.signal, self, mobxReactionHandle);
907
+ return asyncReactionFunction(data, thisInProgress.signal, self, // @ts-ignore
908
+ mobxReactionHandle);
919
909
 
920
910
  case 9:
921
911
  result = _context.sent;
@@ -949,8 +939,7 @@ function makeAbortableReaction(self, dataFunction, asyncReactionFunction, reacti
949
939
  return function (_x, _x2) {
950
940
  return _ref2.apply(this, arguments);
951
941
  };
952
- }(), reactionOptions);
953
- (0, _mobxStateTree.addDisposer)(self, reactionDisposer);
942
+ }(), reactionOptions));
954
943
  (0, _mobxStateTree.addDisposer)(self, function () {
955
944
  if (inProgress && !inProgress.signal.aborted) {
956
945
  inProgress.abort();
@@ -966,6 +955,7 @@ function renameRegionIfNeeded(refNameMap, region) {
966
955
  if (region && refNameMap && refNameMap[region.refName]) {
967
956
  // clone the region so we don't modify it
968
957
  if ((0, _mobxStateTree.isStateTreeNode)(region)) {
958
+ // @ts-ignore
969
959
  region = _objectSpread({}, (0, _mobxStateTree.getSnapshot)(region));
970
960
  } else {
971
961
  region = _objectSpread({}, region);
@@ -15,8 +15,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
- var _index = require("../index");
19
-
20
18
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
19
 
22
20
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -588,7 +586,7 @@ var GranularRectLayout = /*#__PURE__*/function () {
588
586
  }, {
589
587
  key: "toJSON",
590
588
  value: function toJSON() {
591
- var rectangles = (0, _index.objectFromEntries)(this.getRectangles());
589
+ var rectangles = Object.fromEntries(this.getRectangles());
592
590
  return {
593
591
  rectangles: rectangles,
594
592
  containsNoTransferables: true,
@@ -15,8 +15,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
- var _ = require("..");
19
-
20
18
  var _rbush = _interopRequireDefault(require("rbush"));
21
19
 
22
20
  var PrecomputedLayout = /*#__PURE__*/function () {
@@ -116,7 +114,7 @@ var PrecomputedLayout = /*#__PURE__*/function () {
116
114
  key: "toJSON",
117
115
  value: function toJSON() {
118
116
  return {
119
- rectangles: (0, _.objectFromEntries)(this.rectangles),
117
+ rectangles: Object.fromEntries(this.rectangles),
120
118
  totalHeight: this.totalHeight,
121
119
  maxHeightReached: false,
122
120
  containsNoTransferables: true
package/util/tracks.js CHANGED
@@ -46,7 +46,7 @@ function getTrackAssemblyNames(track) {
46
46
 
47
47
 
48
48
  function getRpcSessionId(thisNode) {
49
- var highestRpcSessionId;
49
+ var highestRpcSessionId; // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
50
 
51
51
  for (var node = thisNode; !(0, _mobxStateTree.isRoot)(node); node = (0, _mobxStateTree.getParent)(node)) {
52
52
  if ('rpcSessionId' in node) {
@@ -69,7 +69,9 @@ function getRpcSessionId(thisNode) {
69
69
 
70
70
 
71
71
  function getParentRenderProps(node) {
72
- for (var currentNode = (0, _mobxStateTree.getParent)(node); !(0, _mobxStateTree.isRoot)(currentNode); currentNode = (0, _mobxStateTree.getParent)(currentNode)) {
72
+ for ( // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
+ var currentNode = (0, _mobxStateTree.getParent)(node); !(0, _mobxStateTree.isRoot)(currentNode); // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
+ currentNode = (0, _mobxStateTree.getParent)(currentNode)) {
73
75
  if ('renderProps' in currentNode) {
74
76
  return currentNode.renderProps();
75
77
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Instance, SnapshotIn, IAnyStateTreeNode } from 'mobx-state-tree';
2
+ import { Instance, SnapshotIn, IAnyStateTreeNode, IStateTreeNode, IType } from 'mobx-state-tree';
3
3
  import { AnyConfigurationModel } from '../../configuration/configurationSchema';
4
4
  import assemblyManager from '../../assemblyManager';
5
5
  import TextSearchManager from '../../TextSearch/TextSearchManager';
@@ -10,10 +10,10 @@ import { Feature } from '../simpleFeature';
10
10
  import { BaseInternetAccountModel } from '../../pluggableElementTypes/models';
11
11
  export * from './util';
12
12
  /** abstract type for a model that contains multiple views */
13
- export interface AbstractViewContainer extends IAnyStateTreeNode {
13
+ export interface AbstractViewContainer extends IStateTreeNode<IType<any, unknown, any>> {
14
14
  views: AbstractViewModel[];
15
15
  removeView(view: AbstractViewModel): void;
16
- addView(typeName: string, initialState?: Record<string, unknown>): void | AbstractViewModel;
16
+ addView(typeName: string, initialState?: Record<string, unknown>): AbstractViewModel;
17
17
  }
18
18
  export declare function isViewContainer(thing: unknown): thing is AbstractViewContainer;
19
19
  export declare type NotificationLevel = 'error' | 'info' | 'warning' | 'success';
@@ -108,11 +108,11 @@ export declare const FileLocation: import("mobx-state-tree").ISnapshotProcessor<
108
108
  internetAccountType: import("mobx-state-tree").ISimpleType<string>;
109
109
  authInfo: import("mobx-state-tree").IType<any, any, any>;
110
110
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
111
- }>> | import("mobx-state-tree").ModelInstanceTypeProps<{
111
+ }>> | import("mobx-state-tree").ModelInstanceType<{
112
112
  locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
113
113
  name: import("mobx-state-tree").ISimpleType<string>;
114
114
  blobId: import("mobx-state-tree").ISimpleType<string>;
115
- }> | import("mobx-state-tree").ModelInstanceTypeProps<{
115
+ }, {}> | import("mobx-state-tree").ModelInstanceType<{
116
116
  locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
117
117
  localPath: import("mobx-state-tree").ISimpleType<string>;
118
- }>>, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
118
+ }, {}>>, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
package/util/types/mst.js CHANGED
@@ -98,8 +98,10 @@ exports.UriLocationRaw = UriLocationRaw;
98
98
 
99
99
  var UriLocation = _mobxStateTree.types.snapshotProcessor(UriLocationRaw, {
100
100
  postProcessor: function postProcessor(snap) {
101
- var baseUri = snap.baseUri,
102
- rest = (0, _objectWithoutProperties2.default)(snap, _excluded);
101
+ // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
102
+ var _ref = snap,
103
+ baseUri = _ref.baseUri,
104
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
103
105
 
104
106
  if (!baseUri) {
105
107
  return rest;
@@ -113,14 +115,16 @@ exports.UriLocation = UriLocation;
113
115
 
114
116
  var FileLocation = _mobxStateTree.types.snapshotProcessor(_mobxStateTree.types.union(LocalPathLocation, UriLocation, BlobLocation), {
115
117
  // @ts-ignore
116
- preProcessor: function preProcessor(snapshot) {
117
- if (!snapshot) {
118
+ preProcessor: function preProcessor(snap) {
119
+ if (!snap) {
118
120
  return undefined;
119
121
  } // @ts-ignore
122
+ // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
120
123
 
121
124
 
122
- var locationType = snapshot.locationType,
123
- rest = (0, _objectWithoutProperties2.default)(snapshot, _excluded2);
125
+ var _ref2 = snap,
126
+ locationType = _ref2.locationType,
127
+ rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
124
128
 
125
129
  if (!locationType) {
126
130
  // @ts-ignore
@@ -142,7 +146,7 @@ var FileLocation = _mobxStateTree.types.snapshotProcessor(_mobxStateTree.types.u
142
146
  });
143
147
  }
144
148
 
145
- return snapshot;
149
+ return snap;
146
150
  }
147
151
  });
148
152