@jbrowse/core 2.10.3 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +1 -1
  2. package/BaseFeatureWidget/BaseFeatureDetail/index.js +10 -2
  3. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +7 -2
  4. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +80 -86
  5. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +8 -0
  6. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +67 -0
  7. package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +5 -3
  8. package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +7 -7
  9. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +7 -0
  10. package/BaseFeatureWidget/SequenceFeatureDetails/{SequenceFeatureSettingsDialog.js → dialogs/SettingsDialog.js} +20 -10
  11. package/BaseFeatureWidget/SequenceFeatureDetails/hooks.js +2 -8
  12. package/BaseFeatureWidget/SequenceFeatureDetails/index.d.ts +1 -3
  13. package/BaseFeatureWidget/SequenceFeatureDetails/index.js +3 -67
  14. package/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +14 -0
  15. package/BaseFeatureWidget/SequenceFeatureDetails/model.js +40 -0
  16. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +15 -0
  17. package/BaseFeatureWidget/SequenceFeatureDetails/{CDNASequence.js → seqtypes/CDNASequence.js} +17 -8
  18. package/BaseFeatureWidget/SequenceFeatureDetails/{CDSSequence.d.ts → seqtypes/CDSSequence.d.ts} +1 -1
  19. package/BaseFeatureWidget/SequenceFeatureDetails/{CDSSequence.js → seqtypes/CDSSequence.js} +2 -2
  20. package/BaseFeatureWidget/SequenceFeatureDetails/{GenomicSequence.js → seqtypes/GenomicSequence.js} +1 -1
  21. package/BaseFeatureWidget/SequenceFeatureDetails/{ProteinSequence.d.ts → seqtypes/ProteinSequence.d.ts} +1 -1
  22. package/BaseFeatureWidget/SequenceFeatureDetails/{ProteinSequence.js → seqtypes/ProteinSequence.js} +2 -2
  23. package/BaseFeatureWidget/stateModelFactory.d.ts +32 -0
  24. package/BaseFeatureWidget/stateModelFactory.js +5 -0
  25. package/BaseFeatureWidget/types.d.ts +2 -7
  26. package/BaseFeatureWidget/util.d.ts +4 -2
  27. package/PluginLoader.d.ts +1 -1
  28. package/PluginLoader.js +1 -0
  29. package/PluginManager.d.ts +14 -10
  30. package/PluginManager.js +8 -3
  31. package/ReExports/modules.d.ts +9 -3
  32. package/ReExports/modules.js +16 -5
  33. package/data_adapters/CytobandAdapter/index.d.ts +1 -2
  34. package/data_adapters/CytobandAdapter/index.js +3 -2
  35. package/package.json +3 -3
  36. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -0
  37. package/pluggableElementTypes/models/BaseTrackModel.js +2 -1
  38. package/pluggableElementTypes/models/InternetAccountModel.d.ts +1 -0
  39. package/rpc/BaseRpcDriver.js +1 -0
  40. package/tsconfig.build.tsbuildinfo +1 -1
  41. package/ui/AssemblySelector.d.ts +5 -5
  42. package/ui/CascadingMenuButton.d.ts +6 -6
  43. package/ui/Dialog.js +1 -1
  44. package/ui/ErrorMessage.d.ts +2 -1
  45. package/ui/ErrorMessage.js +16 -3
  46. package/ui/ErrorMessageStackTraceDialog.d.ts +3 -2
  47. package/ui/ErrorMessageStackTraceDialog.js +50 -23
  48. package/ui/FileSelector/FileSelector.d.ts +5 -5
  49. package/ui/FileSelector/UrlChooser.d.ts +2 -2
  50. package/ui/MenuButton.d.ts +5 -5
  51. package/ui/SnackbarModel.d.ts +21 -30
  52. package/ui/SnackbarModel.js +87 -50
  53. package/ui/index.d.ts +0 -1
  54. package/ui/index.js +1 -3
  55. package/ui/theme.d.ts +38 -0
  56. package/ui/theme.js +121 -104
  57. package/util/Base1DViewModel.d.ts +1 -1
  58. package/util/index.d.ts +11 -1
  59. package/util/index.js +27 -6
  60. package/util/io/RemoteFileWithRangeCache.js +14 -31
  61. package/util/jexl.d.ts +1 -1
  62. package/util/jexl.js +3 -2
  63. package/util/offscreenCanvasUtils.js +2 -2
  64. package/util/simpleFeature.d.ts +4 -0
  65. package/util/types/index.d.ts +2 -1
  66. package/BaseFeatureWidget/SequenceFeatureDetails/CDNASequence.d.ts +0 -13
  67. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureSettingsDialog.d.ts +0 -9
  68. package/ui/Tooltip.d.ts +0 -11
  69. package/ui/Tooltip.js +0 -54
  70. /package/BaseFeatureWidget/SequenceFeatureDetails/{SequenceHelpDialog.d.ts → dialogs/HelpDialog.d.ts} +0 -0
  71. /package/BaseFeatureWidget/SequenceFeatureDetails/{SequenceHelpDialog.js → dialogs/HelpDialog.js} +0 -0
  72. /package/BaseFeatureWidget/SequenceFeatureDetails/{GenomicSequence.d.ts → seqtypes/GenomicSequence.d.ts} +0 -0
@@ -4,22 +4,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const util_1 = require("./util");
8
- function CDNASequence({ utr, cds, exons, sequence, upstream, downstream, includeIntrons, collapseIntron, intronBp, }) {
7
+ const mobx_react_1 = require("mobx-react");
8
+ const util_1 = require("../util");
9
+ const CDNASequence = (0, mobx_react_1.observer)(function ({ utr, cds, exons, sequence, upstream, downstream, includeIntrons, collapseIntron, model, }) {
10
+ const { upperCaseCDS, intronBp } = model;
11
+ const hasCds = cds.length > 0;
9
12
  const chunks = (cds.length ? [...cds, ...utr].sort((a, b) => a.start - b.start) : exons).filter(f => f.start !== f.end);
13
+ const toLower = (s) => (upperCaseCDS ? s.toLowerCase() : s);
14
+ const toUpper = (s) => (upperCaseCDS ? s.toUpperCase() : s);
10
15
  return (react_1.default.createElement(react_1.default.Fragment, null,
11
- upstream ? (react_1.default.createElement("span", { style: { background: util_1.updownstreamColor } }, upstream)) : null,
16
+ upstream ? (react_1.default.createElement("span", { style: { background: util_1.updownstreamColor } }, toLower(upstream))) : null,
12
17
  chunks.map((chunk, idx) => {
13
18
  var _a;
14
19
  const intron = sequence.slice(chunk.end, (_a = chunks[idx + 1]) === null || _a === void 0 ? void 0 : _a.start);
15
20
  return (react_1.default.createElement(react_1.default.Fragment, { key: JSON.stringify(chunk) },
16
21
  react_1.default.createElement("span", { style: {
17
22
  background: chunk.type === 'CDS' ? util_1.cdsColor : util_1.utrColor,
18
- } }, sequence.slice(chunk.start, chunk.end)),
19
- includeIntrons && idx < chunks.length - 1 ? (react_1.default.createElement("span", { style: { background: util_1.intronColor } }, collapseIntron && intron.length > intronBp * 2
23
+ } }, hasCds
24
+ ? chunk.type === 'CDS'
25
+ ? toUpper(sequence.slice(chunk.start, chunk.end))
26
+ : toLower(sequence.slice(chunk.start, chunk.end))
27
+ : toUpper(sequence.slice(chunk.start, chunk.end))),
28
+ includeIntrons && idx < chunks.length - 1 ? (react_1.default.createElement("span", { style: { background: util_1.intronColor } }, toLower(collapseIntron && intron.length > intronBp * 2
20
29
  ? `${intron.slice(0, intronBp)}...${intron.slice(-intronBp)}`
21
- : intron)) : null));
30
+ : intron))) : null));
22
31
  }),
23
- downstream ? (react_1.default.createElement("span", { style: { background: util_1.updownstreamColor } }, downstream)) : null));
24
- }
32
+ downstream ? (react_1.default.createElement("span", { style: { background: util_1.updownstreamColor } }, toLower(downstream))) : null));
33
+ });
25
34
  exports.default = CDNASequence;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Feat } from '../util';
2
+ import { Feat } from '../../util';
3
3
  export default function CDSSequence({ cds, sequence, }: {
4
4
  cds: Feat[];
5
5
  sequence: string;
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const util_1 = require("./util");
8
- const util_2 = require("../util");
7
+ const util_1 = require("../util");
8
+ const util_2 = require("../../util");
9
9
  function CDSSequence({ cds, sequence, }) {
10
10
  return react_1.default.createElement("span", { style: { background: util_1.cdsColor } }, (0, util_2.stitch)(cds, sequence));
11
11
  }
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const util_1 = require("./util");
7
+ const util_1 = require("../util");
8
8
  function GenomicSequence({ sequence, upstream, downstream, }) {
9
9
  return (react_1.default.createElement(react_1.default.Fragment, null,
10
10
  upstream ? (react_1.default.createElement("span", { style: { background: util_1.updownstreamColor } }, upstream)) : null,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Feat } from '../util';
2
+ import { Feat } from '../../util';
3
3
  export default function ProteinSequence({ cds, sequence, codonTable, }: {
4
4
  cds: Feat[];
5
5
  sequence: string;
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const util_1 = require("../util");
8
- const util_2 = require("./util");
7
+ const util_1 = require("../../util");
8
+ const util_2 = require("../util");
9
9
  function ProteinSequence({ cds, sequence, codonTable, }) {
10
10
  const str = (0, util_1.stitch)(cds, sequence);
11
11
  let protein = '';
@@ -1,3 +1,4 @@
1
+ import { Instance } from 'mobx-state-tree';
1
2
  import PluginManager from '../PluginManager';
2
3
  /**
3
4
  * #stateModel BaseFeatureWidget
@@ -47,6 +48,20 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
47
48
  * #property
48
49
  */
49
50
  maxDepth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
51
+ /**
52
+ * #property
53
+ */
54
+ sequenceFeatureDetails: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{}, {
55
+ intronBp: number;
56
+ upDownBp: number;
57
+ upperCaseCDS: boolean;
58
+ } & {
59
+ setUpDownBp(f: number): void;
60
+ setIntronBp(f: number): void;
61
+ setUpperCaseCDS(f: boolean): void;
62
+ } & {
63
+ afterAttach(): void;
64
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
50
65
  }, {
51
66
  error: unknown;
52
67
  } & {
@@ -113,6 +128,20 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
113
128
  * #property
114
129
  */
115
130
  maxDepth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
131
+ /**
132
+ * #property
133
+ */
134
+ sequenceFeatureDetails: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{}, {
135
+ intronBp: number;
136
+ upDownBp: number;
137
+ upperCaseCDS: boolean;
138
+ } & {
139
+ setUpDownBp(f: number): void;
140
+ setIntronBp(f: number): void;
141
+ setUpperCaseCDS(f: boolean): void;
142
+ } & {
143
+ afterAttach(): void;
144
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
116
145
  }>>, {
117
146
  id: string;
118
147
  type: "BaseFeatureWidget";
@@ -122,5 +151,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
122
151
  trackType: string | undefined;
123
152
  maxDepth: number | undefined;
124
153
  formattedFields: any;
154
+ sequenceFeatureDetails: import("mobx-state-tree").ModelSnapshotType<{}>;
125
155
  finalizedFeatureData: any;
126
156
  }>;
157
+ export type BaseFeatureWidgetStateModel = ReturnType<typeof stateModelFactory>;
158
+ export type BaseFeatureWidgetModel = Instance<BaseFeatureWidgetStateModel>;
@@ -10,6 +10,7 @@ const clone_1 = __importDefault(require("clone"));
10
10
  const configuration_1 = require("../configuration");
11
11
  const util_1 = require("../util");
12
12
  const mst_1 = require("../util/types/mst");
13
+ const model_1 = require("./SequenceFeatureDetails/model");
13
14
  function formatSubfeatures(obj, depth, parse, currentDepth = 0, returnObj = {}) {
14
15
  var _a;
15
16
  if (depth <= currentDepth) {
@@ -70,6 +71,10 @@ function stateModelFactory(pluginManager) {
70
71
  * #property
71
72
  */
72
73
  maxDepth: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
74
+ /**
75
+ * #property
76
+ */
77
+ sequenceFeatureDetails: mobx_state_tree_1.types.optional((0, model_1.SequenceFeatureDetailsF)(), {}),
73
78
  })
74
79
  .volatile(() => ({
75
80
  error: undefined,
@@ -1,16 +1,11 @@
1
1
  import React from 'react';
2
- import { IAnyStateTreeNode } from 'mobx-state-tree';
3
2
  import { SimpleFeatureSerialized } from '../util/simpleFeature';
4
- import { AbstractViewModel } from '../util';
3
+ import { BaseFeatureWidgetModel } from './stateModelFactory';
5
4
  export interface BaseProps extends BaseCardProps {
6
5
  feature: SimpleFeatureSerialized;
7
6
  formatter?: (val: unknown, key: string) => React.ReactNode;
8
7
  descriptions?: Record<string, React.ReactNode>;
9
- model?: IAnyStateTreeNode & {
10
- view?: AbstractViewModel & {
11
- assemblyNames?: string[];
12
- };
13
- };
8
+ model?: BaseFeatureWidgetModel;
14
9
  }
15
10
  export interface BaseCardProps {
16
11
  title?: string;
@@ -1,7 +1,7 @@
1
1
  export interface Feat {
2
2
  start: number;
3
3
  end: number;
4
- type: string;
4
+ type?: string;
5
5
  name?: string;
6
6
  id?: string;
7
7
  }
@@ -25,7 +25,7 @@ export declare function dedupe(list: Feat[]): Feat[];
25
25
  export declare function revlist(list: Feat[], seqlen: number): {
26
26
  start: number;
27
27
  end: number;
28
- type: string;
28
+ type?: string | undefined;
29
29
  name?: string | undefined;
30
30
  id?: string | undefined;
31
31
  }[];
@@ -33,6 +33,8 @@ export declare function calculateUTRs(cds: Feat[], exons: Feat[]): {
33
33
  type: string;
34
34
  start: number;
35
35
  end: number;
36
+ name?: string | undefined;
37
+ id?: string | undefined;
36
38
  }[];
37
39
  export declare function calculateUTRs2(cds: Feat[], parentFeat: Feat): {
38
40
  type: string;
package/PluginLoader.d.ts CHANGED
@@ -55,7 +55,7 @@ export default class PluginLoader {
55
55
  default: PluginConstructor;
56
56
  }>;
57
57
  loadPlugin(def: PluginDefinition, baseUri?: string): Promise<PluginConstructor>;
58
- installGlobalReExports(target: WindowOrWorkerGlobalScope): void;
58
+ installGlobalReExports(target: WindowOrWorkerGlobalScope): this;
59
59
  load(baseUri?: string): Promise<{
60
60
  plugin: PluginConstructor;
61
61
  definition: PluginDefinition;
package/PluginLoader.js CHANGED
@@ -152,6 +152,7 @@ class PluginLoader {
152
152
  target.JBrowseExports = Object.fromEntries(Object.entries(ReExports_1.default).map(([moduleName, module]) => {
153
153
  return [moduleName, module];
154
154
  }));
155
+ return this;
155
156
  }
156
157
  async load(baseUri) {
157
158
  return Promise.all(this.definitions.map(async (definition) => ({
@@ -17,8 +17,6 @@ import ReExports from './ReExports';
17
17
  import { PluggableElementType, PluggableElementMember } from './pluggableElementTypes';
18
18
  import { AbstractRootModel } from './util';
19
19
  import { PluginDefinition } from './PluginLoader';
20
- /** little helper class that keeps groups of callbacks that are
21
- then run in a specified order by group */
22
20
  declare class PhasedScheduler<PhaseName extends string> {
23
21
  phaseCallbacks: Map<PhaseName, Function[]>;
24
22
  phaseOrder: PhaseName[];
@@ -44,11 +42,11 @@ declare class TypeRecord<ElementClass extends PluggableElementBase> {
44
42
  }
45
43
  type AnyFunction = (...args: any) => any;
46
44
  /**
47
- * free-form string-to-unknown mapping of metadata related to the instance
48
- * of this plugin. `isCore` is typically set to `Boolean(true)` if the plugin was
49
- * loaded as part of the "core" set of plugins for this application.
50
- * Can also use this metadata to stash other things about why the plugin is
51
- * loaded, such as where it came from, what plugin depends on it, etc.
45
+ * free-form string-to-unknown mapping of metadata related to the instance of
46
+ * this plugin. `isCore` is typically set to `Boolean(true)` if the plugin was
47
+ * loaded as part of the "core" set of plugins for this application. Can also
48
+ * use this metadata to stash other things about why the plugin is loaded, such
49
+ * as where it came from, what plugin depends on it, etc.
52
50
  */
53
51
  export type PluginMetadata = Record<string, unknown>;
54
52
  export interface PluginLoadRecord {
@@ -232,7 +230,7 @@ export default class PluginManager {
232
230
  '@mui/x-data-grid': {
233
231
  useGridApiContext: typeof import("@mui/x-data-grid").useGridApiContext;
234
232
  useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon<any, any> = import("@mui/x-data-grid/internals").GridApiCommunity>() => import("react").MutableRefObject<Api>;
235
- useGridRootProps: () => import("@mui/x-data-grid/models/props/DataGridProps").DataGridProcessedProps<any>;
233
+ useGridRootProps: () => import("@mui/x-data-grid/internals").DataGridProcessedProps<any>;
236
234
  };
237
235
  '@mui/material/utils': typeof import("@mui/material/utils");
238
236
  '@material-ui/core/utils': typeof import("@mui/material/utils");
@@ -260,8 +258,14 @@ export default class PluginManager {
260
258
  useTheme: typeof import("@mui/material").useTheme;
261
259
  };
262
260
  'prop-types': typeof import("prop-types");
263
- '@mui/material/styles': typeof import("@mui/material/styles");
264
- '@material-ui/core/styles': typeof import("@mui/material/styles");
261
+ '@mui/material/styles': {
262
+ MUIStyles: typeof import("@mui/material/styles");
263
+ makeStyles: (args: any) => () => Record<string, string>;
264
+ };
265
+ '@material-ui/core/styles': {
266
+ MUIStyles: typeof import("@mui/material/styles");
267
+ makeStyles: (args: any) => () => Record<string, string>;
268
+ };
265
269
  };
266
270
  load: <FTYPE extends AnyFunction>(lib: FTYPE) => ReturnType<FTYPE>;
267
271
  /**
package/PluginManager.js CHANGED
@@ -19,8 +19,8 @@ const configuration_1 = require("./configuration");
19
19
  const ReExports_1 = __importDefault(require("./ReExports"));
20
20
  const CorePlugin_1 = __importDefault(require("./CorePlugin"));
21
21
  const jexl_1 = __importDefault(require("./util/jexl"));
22
- /** little helper class that keeps groups of callbacks that are
23
- then run in a specified order by group */
22
+ // helper class that keeps groups of callbacks that are then run in a specified
23
+ // order by group
24
24
  class PhasedScheduler {
25
25
  constructor(...phaseOrder) {
26
26
  this.phaseCallbacks = new Map();
@@ -119,7 +119,12 @@ class PluginManager {
119
119
  throw new TypeError('lib passed to jbrequire must be either a string or a function');
120
120
  };
121
121
  // add the core plugin
122
- this.addPlugin({ plugin: new CorePlugin_1.default(), metadata: { isCore: true } });
122
+ this.addPlugin({
123
+ plugin: new CorePlugin_1.default(),
124
+ metadata: {
125
+ isCore: true,
126
+ },
127
+ });
123
128
  // add all the initial plugins
124
129
  initialPlugins.forEach(plugin => {
125
130
  this.addPlugin(plugin);
@@ -138,7 +138,7 @@ declare const libs: {
138
138
  '@mui/x-data-grid': {
139
139
  useGridApiContext: typeof useGridApiContext;
140
140
  useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon<any, any> = import("@mui/x-data-grid/internals").GridApiCommunity>() => React.MutableRefObject<Api>;
141
- useGridRootProps: () => import("@mui/x-data-grid/models/props/DataGridProps").DataGridProcessedProps<any>;
141
+ useGridRootProps: () => import("@mui/x-data-grid/internals").DataGridProcessedProps<any>;
142
142
  };
143
143
  '@mui/material/utils': typeof MUIUtils;
144
144
  '@material-ui/core/utils': typeof MUIUtils;
@@ -166,7 +166,13 @@ declare const libs: {
166
166
  useTheme: typeof MUIStyles.useTheme;
167
167
  };
168
168
  'prop-types': typeof PropTypes;
169
- '@mui/material/styles': typeof MUIStyles;
170
- '@material-ui/core/styles': typeof MUIStyles;
169
+ '@mui/material/styles': {
170
+ MUIStyles: typeof MUIStyles;
171
+ makeStyles: (args: any) => () => Record<string, string>;
172
+ };
173
+ '@material-ui/core/styles': {
174
+ MUIStyles: typeof MUIStyles;
175
+ makeStyles: (args: any) => () => Record<string, string>;
176
+ };
171
177
  };
172
178
  export default libs;
@@ -295,9 +295,6 @@ const DataGridEntries = {
295
295
  GridPanelWrapper: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/x-data-grid'))).then(module => ({
296
296
  default: module.GridPanelWrapper,
297
297
  }))),
298
- GridPreferencesPanel: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/x-data-grid'))).then(module => ({
299
- default: module.GridPreferencesPanel,
300
- }))),
301
298
  GridRemoveIcon: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/x-data-grid'))).then(module => ({
302
299
  default: module.GridRemoveIcon,
303
300
  }))),
@@ -405,8 +402,22 @@ const libs = {
405
402
  'prop-types': prop_types_1.default,
406
403
  // end special case
407
404
  // material-ui subcomponents, should get rid of these
408
- '@mui/material/styles': MUIStyles,
409
- '@material-ui/core/styles': MUIStyles,
405
+ '@mui/material/styles': {
406
+ MUIStyles,
407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
408
+ makeStyles: (args) => {
409
+ const useStyles = (0, mui_1.makeStyles)()(args);
410
+ return () => useStyles().classes;
411
+ },
412
+ },
413
+ '@material-ui/core/styles': {
414
+ MUIStyles,
415
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
416
+ makeStyles: (args) => {
417
+ const useStyles = (0, mui_1.makeStyles)()(args);
418
+ return () => useStyles().classes;
419
+ },
420
+ },
410
421
  ...MaterialPrefixMUI,
411
422
  ...MuiPrefixMUI,
412
423
  // these are core in @mui/material, but used to be in @material-ui/lab
@@ -1,3 +1,2 @@
1
1
  import PluginManager from '../../PluginManager';
2
- declare const _default: (pluginManager: PluginManager) => void;
3
- export default _default;
2
+ export default function CytobandAdapterF(pluginManager: PluginManager): void;
@@ -28,10 +28,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const pluggableElementTypes_1 = require("../../pluggableElementTypes");
30
30
  const configSchema_1 = __importDefault(require("./configSchema"));
31
- exports.default = (pluginManager) => {
31
+ function CytobandAdapterF(pluginManager) {
32
32
  pluginManager.addAdapterType(() => new pluggableElementTypes_1.AdapterType({
33
33
  name: 'CytobandAdapter',
34
34
  configSchema: configSchema_1.default,
35
35
  getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./CytobandAdapter'))).then(f => f.default),
36
36
  }));
37
- };
37
+ }
38
+ exports.default = CytobandAdapterF;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "2.10.3",
3
+ "version": "2.11.1",
4
4
  "description": "JBrowse 2 core libraries used by plugins",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -58,7 +58,7 @@
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@mui/material": "^5.0.0",
61
- "@mui/x-data-grid": "^6.0.1",
61
+ "@mui/x-data-grid": "^7.0.0",
62
62
  "mobx": "^6.0.0",
63
63
  "mobx-react": "^9.0.0",
64
64
  "mobx-state-tree": "^5.0.0",
@@ -72,5 +72,5 @@
72
72
  "access": "public",
73
73
  "directory": "dist"
74
74
  },
75
- "gitHead": "c8fc800cd17decd72b2e971c7a6add3b95214e72"
75
+ "gitHead": "11b28d66d782eb06f92ccb993108bb6c3c82819e"
76
76
  }
@@ -10,6 +10,7 @@ export declare function getCompatibleDisplays(self: IAnyStateTreeNode): ({
10
10
  /**
11
11
  * #stateModel BaseTrackModel
12
12
  * #category track
13
+ *
13
14
  * these MST models only exist for tracks that are *shown*. they should contain
14
15
  * only UI state for the track, and have a reference to a track configuration.
15
16
  * note that multiple displayed tracks could use the same configuration.
@@ -20,6 +20,7 @@ exports.getCompatibleDisplays = getCompatibleDisplays;
20
20
  /**
21
21
  * #stateModel BaseTrackModel
22
22
  * #category track
23
+ *
23
24
  * these MST models only exist for tracks that are *shown*. they should contain
24
25
  * only UI state for the track, and have a reference to a track configuration.
25
26
  * note that multiple displayed tracks could use the same configuration.
@@ -97,7 +98,7 @@ function createBaseTrackModel(pm, trackType, baseTrackConfig) {
97
98
  const { sessionTracks, adminMode } = session;
98
99
  return ((0, types_1.isSessionModelWithConfigEditing)(session) &&
99
100
  (adminMode ||
100
- (sessionTracks === null || sessionTracks === void 0 ? void 0 : sessionTracks.find(track => { var _a; return track.trackId === ((_a = self.configuration) === null || _a === void 0 ? void 0 : _a.trackId); }))));
101
+ (sessionTracks === null || sessionTracks === void 0 ? void 0 : sessionTracks.find(t => { var _a; return t.trackId === ((_a = self.configuration) === null || _a === void 0 ? void 0 : _a.trackId); }))));
101
102
  },
102
103
  }))
103
104
  .actions(self => ({
@@ -156,6 +156,7 @@ export declare const InternetAccount: import("mobx-state-tree").IModelType<{
156
156
  keepalive?: boolean | undefined;
157
157
  method?: string | undefined;
158
158
  mode?: RequestMode | undefined;
159
+ priority?: RequestPriority | undefined;
159
160
  redirect?: RequestRedirect | undefined;
160
161
  referrer?: string | undefined;
161
162
  referrerPolicy?: ReferrerPolicy | undefined;
@@ -12,6 +12,7 @@ function isClonable(thing) {
12
12
  // the worker times out
13
13
  async function watchWorker(worker, pingTime, rpcDriverClassName) {
14
14
  // after first ping succeeds, apply wait for timeout
15
+ // eslint-disable-next-line no-constant-condition
15
16
  while (true) {
16
17
  await worker.call('ping', [], {
17
18
  timeout: pingTime * 2,