@jbrowse/core 2.18.0 → 3.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 (165) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +1 -2
  2. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +6 -11
  3. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +1 -2
  4. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +16 -17
  5. package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -2
  6. package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -5
  7. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -2
  8. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +4 -6
  9. package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -2
  10. package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +5 -7
  11. package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -2
  12. package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -46
  13. package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +1 -2
  14. package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +11 -27
  15. package/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -2
  16. package/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -6
  17. package/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -2
  18. package/BaseFeatureWidget/BaseFeatureDetail/Position.js +2 -5
  19. package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +1 -2
  20. package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +2 -4
  21. package/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +1 -2
  22. package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +2 -4
  23. package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +3 -4
  24. package/BaseFeatureWidget/BaseFeatureDetail/index.js +5 -7
  25. package/BaseFeatureWidget/BaseFeatureDetail/util.js +4 -8
  26. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +10 -0
  27. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +48 -0
  28. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +1 -2
  29. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +33 -34
  30. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -2
  31. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +29 -22
  32. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +8 -0
  33. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +28 -0
  34. package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +2 -10
  35. package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +10 -75
  36. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -2
  37. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +5 -23
  38. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +1 -2
  39. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +8 -42
  40. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +1 -2
  41. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +98 -90
  42. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -2
  43. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +49 -53
  44. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -2
  45. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +18 -53
  46. package/BaseFeatureWidget/SequenceFeatureDetails/model.js +3 -10
  47. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +1 -2
  48. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +6 -9
  49. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -2
  50. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +2 -2
  51. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +1 -2
  52. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +5 -8
  53. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +1 -2
  54. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +2 -2
  55. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +1 -2
  56. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +3 -8
  57. package/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -0
  58. package/BaseFeatureWidget/SequenceFeatureDetails/types.js +2 -0
  59. package/CorePlugin.js +17 -7
  60. package/PluginManager.d.ts +2 -1
  61. package/PluginManager.js +4 -2
  62. package/ReExports/list.js +3 -0
  63. package/ReExports/modules.d.ts +4 -2
  64. package/ReExports/modules.js +29 -19
  65. package/TextSearch/BaseResults.d.ts +1 -1
  66. package/assemblyManager/assembly.js +4 -4
  67. package/configuration/configurationSlot.d.ts +1 -1
  68. package/data_adapters/CytobandAdapter/CytobandAdapter.js +1 -4
  69. package/data_adapters/CytobandAdapter/index.js +20 -7
  70. package/data_adapters/dataAdapterCache.d.ts +0 -1
  71. package/data_adapters/dataAdapterCache.js +2 -9
  72. package/data_adapters/util.d.ts +1 -0
  73. package/data_adapters/util.js +10 -0
  74. package/package.json +7 -9
  75. package/pluggableElementTypes/models/BaseTrackModel.js +9 -5
  76. package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +1 -2
  77. package/pluggableElementTypes/renderers/CircularChordRendererType.js +2 -2
  78. package/pluggableElementTypes/renderers/RendererType.d.ts +2 -2
  79. package/pluggableElementTypes/renderers/RendererType.js +2 -2
  80. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +1 -2
  81. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +9 -65
  82. package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -2
  83. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +9 -65
  84. package/pluggableElementTypes/renderers/ServerSideRendererType.js +3 -3
  85. package/stories/examples/WithSequencePanel.d.ts +5 -6
  86. package/stories/examples/WithSequencePanel.js +6 -6
  87. package/tsconfig.build.tsbuildinfo +1 -1
  88. package/ui/AppLogo.d.ts +1 -2
  89. package/ui/AppLogo.js +2 -5
  90. package/ui/AssemblySelector.d.ts +3 -3
  91. package/ui/AssemblySelector.js +11 -33
  92. package/ui/BaseTooltip.d.ts +1 -2
  93. package/ui/BaseTooltip.js +9 -12
  94. package/ui/CascadingMenu.d.ts +1 -2
  95. package/ui/CascadingMenu.js +15 -53
  96. package/ui/CascadingMenuButton.d.ts +1 -2
  97. package/ui/CascadingMenuButton.js +17 -41
  98. package/ui/ColorPicker.d.ts +3 -4
  99. package/ui/ColorPicker.js +33 -31
  100. package/ui/Dialog.d.ts +1 -2
  101. package/ui/Dialog.js +13 -21
  102. package/ui/DraggableDialog.d.ts +5 -0
  103. package/ui/DraggableDialog.js +32 -0
  104. package/ui/DropDownMenu.d.ts +1 -2
  105. package/ui/DropDownMenu.js +8 -34
  106. package/ui/EditableTypography.d.ts +1 -2
  107. package/ui/EditableTypography.js +29 -54
  108. package/ui/ErrorBoundary.d.ts +2 -2
  109. package/ui/ErrorBoundary.js +3 -25
  110. package/ui/ErrorMessage.d.ts +1 -2
  111. package/ui/ErrorMessage.js +25 -25
  112. package/ui/ErrorMessageStackTraceDialog.d.ts +1 -2
  113. package/ui/ErrorMessageStackTraceDialog.js +11 -44
  114. package/ui/FactoryResetDialog.d.ts +1 -2
  115. package/ui/FactoryResetDialog.js +7 -12
  116. package/ui/FatalErrorDialog.d.ts +1 -2
  117. package/ui/FatalErrorDialog.js +10 -41
  118. package/ui/FileSelector/FileSelector.d.ts +1 -2
  119. package/ui/FileSelector/FileSelector.js +37 -76
  120. package/ui/FileSelector/LocalFileChooser.d.ts +1 -2
  121. package/ui/FileSelector/LocalFileChooser.js +17 -28
  122. package/ui/FileSelector/UrlChooser.d.ts +1 -2
  123. package/ui/FileSelector/UrlChooser.js +2 -5
  124. package/ui/Icons.d.ts +9 -10
  125. package/ui/Icons.js +10 -19
  126. package/ui/LoadingEllipses.d.ts +1 -2
  127. package/ui/LoadingEllipses.js +2 -5
  128. package/ui/Logo.d.ts +2 -3
  129. package/ui/Logo.js +5 -23
  130. package/ui/Menu.d.ts +2 -3
  131. package/ui/Menu.js +83 -113
  132. package/ui/MenuButton.d.ts +1 -2
  133. package/ui/MenuButton.js +11 -35
  134. package/ui/PrerenderedCanvas.d.ts +1 -2
  135. package/ui/PrerenderedCanvas.js +3 -25
  136. package/ui/RedErrorMessageBox.d.ts +1 -2
  137. package/ui/RedErrorMessageBox.js +2 -5
  138. package/ui/ResizeHandle.d.ts +1 -2
  139. package/ui/ResizeHandle.js +3 -25
  140. package/ui/ReturnToImportFormDialog.d.ts +1 -2
  141. package/ui/ReturnToImportFormDialog.js +7 -12
  142. package/ui/SanitizedHTML.d.ts +2 -3
  143. package/ui/SanitizedHTML.js +3 -3
  144. package/ui/Snackbar.d.ts +1 -2
  145. package/ui/Snackbar.js +41 -20
  146. package/ui/SnackbarContents.d.ts +5 -0
  147. package/ui/SnackbarContents.js +16 -0
  148. package/ui/SnackbarModel.js +20 -9
  149. package/ui/colors.js +1 -1
  150. package/ui/index.d.ts +0 -2
  151. package/ui/index.js +1 -5
  152. package/ui/react-colorful.js +17 -7
  153. package/ui/theme.js +7 -0
  154. package/util/index.d.ts +13 -11
  155. package/util/index.js +31 -11
  156. package/util/io/RemoteFileWithRangeCache.d.ts +3 -5
  157. package/util/io/RemoteFileWithRangeCache.js +8 -6
  158. package/util/io/index.d.ts +1 -1
  159. package/util/io/index.js +3 -3
  160. package/util/nanoid.d.ts +1 -1
  161. package/util/offscreenCanvasUtils.d.ts +2 -3
  162. package/util/offscreenCanvasUtils.js +21 -13
  163. package/util/tracks.d.ts +1 -1
  164. package/util/tracks.js +8 -3
  165. package/util/useMeasure.d.ts +1 -1
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { Feat } from '../../util';
3
2
  import type { SequenceFeatureDetailsModel } from '../model';
4
3
  declare const ProteinSequence: ({ cds, sequence, codonTable, model, }: {
@@ -6,5 +5,5 @@ declare const ProteinSequence: ({ cds, sequence, codonTable, model, }: {
6
5
  sequence: string;
7
6
  codonTable: Record<string, string>;
8
7
  model: SequenceFeatureDetailsModel;
9
- }) => React.JSX.Element;
8
+ }) => import("react/jsx-runtime").JSX.Element;
10
9
  export default ProteinSequence;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const mobx_react_1 = require("mobx-react");
8
8
  const util_1 = require("../../util");
9
9
  const util_2 = require("../util");
@@ -20,6 +20,6 @@ const ProteinSequence = (0, mobx_react_1.observer)(function ({ cds, sequence, co
20
20
  charactersPerRow,
21
21
  showCoordinates,
22
22
  });
23
- return (react_1.default.createElement(SequenceDisplay_1.default, { model: model, color: util_2.proteinColor, chunks: segments, start: 0 }));
23
+ return ((0, jsx_runtime_1.jsx)(SequenceDisplay_1.default, { model: model, color: util_2.proteinColor, chunks: segments, start: 0 }));
24
24
  });
25
25
  exports.default = ProteinSequence;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { SequenceFeatureDetailsModel } from '../model';
3
2
  declare const SequenceDisplay: ({ chunks, start, color, strand, coordStart, model, }: {
4
3
  chunks: string[];
@@ -7,5 +6,5 @@ declare const SequenceDisplay: ({ chunks, start, color, strand, coordStart, mode
7
6
  strand?: number;
8
7
  color?: string;
9
8
  model: SequenceFeatureDetailsModel;
10
- }) => React.JSX.Element[];
9
+ }) => import("react/jsx-runtime").JSX.Element[];
11
10
  export default SequenceDisplay;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
7
5
  const mobx_react_1 = require("mobx-react");
8
6
  const SequenceDisplay = (0, mobx_react_1.observer)(function ({ chunks, start, color, strand = 1, coordStart = start, model, }) {
9
7
  const { charactersPerRow, showCoordinates } = model;
@@ -21,10 +19,7 @@ const SequenceDisplay = (0, mobx_react_1.observer)(function ({ chunks, start, co
21
19
  : showCoordinates
22
20
  ? ' \n'
23
21
  : '';
24
- return (react_1.default.createElement(react_1.default.Fragment, { key: `${chunk}-${idx}` },
25
- showCoordinates ? prefix : null,
26
- react_1.default.createElement("span", { style: { background: color } }, chunk),
27
- postfix));
22
+ return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [showCoordinates ? prefix : null, (0, jsx_runtime_1.jsx)("span", { style: { background: color }, children: chunk }), postfix] }, `${chunk}-${idx}`));
28
23
  });
29
24
  });
30
25
  exports.default = SequenceDisplay;
@@ -0,0 +1,8 @@
1
+ import type { SequenceFeatureDetailsModel } from './model';
2
+ import type { SimpleFeatureSerialized } from '../../util';
3
+ import type { SeqState } from '../util';
4
+ export interface SequencePanelProps {
5
+ sequence: SeqState;
6
+ feature: SimpleFeatureSerialized;
7
+ model: SequenceFeatureDetailsModel;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/CorePlugin.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -207,10 +207,11 @@ export default class PluginManager {
207
207
  react: typeof import("react");
208
208
  'react/jsx-runtime': typeof import("react/jsx-runtime");
209
209
  'react-dom': typeof import("react-dom");
210
+ 'react-dom/client': typeof import("react-dom/client");
210
211
  'mobx-react': typeof import("mobx-react");
211
212
  '@mui/x-data-grid': {
212
213
  useGridApiContext: typeof import("@mui/x-data-grid").useGridApiContext;
213
- useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon = import("@mui/x-data-grid/internals").GridApiCommunity>() => React.MutableRefObject<Api>;
214
+ useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon = import("@mui/x-data-grid/internals").GridApiCommunity>() => import("@mui/x-internals/types").RefObject<Api>;
214
215
  useGridRootProps: () => import("@mui/x-data-grid/internals").DataGridProcessedProps;
215
216
  };
216
217
  '@mui/material/utils': typeof import("@mui/material/utils");
package/PluginManager.js CHANGED
@@ -213,9 +213,11 @@ class PluginManager {
213
213
  throw new Error(`cannot add a ${groupName} with no name`);
214
214
  }
215
215
  if (typeRecord.has(newElement.name)) {
216
- throw new Error(`${groupName} ${newElement.name} already registered, cannot register it again`);
216
+ console.warn(`${groupName} ${newElement.name} already registered, cannot register it again`);
217
+ }
218
+ else {
219
+ typeRecord.add(newElement.name, this.evaluateExtensionPoint('Core-extendPluggableElement', newElement));
217
220
  }
218
- typeRecord.add(newElement.name, this.evaluateExtensionPoint('Core-extendPluggableElement', newElement));
219
221
  });
220
222
  return this;
221
223
  }
package/ReExports/list.js CHANGED
@@ -6,6 +6,7 @@ exports.default = [
6
6
  'react',
7
7
  'react/jsx-runtime',
8
8
  'react-dom',
9
+ 'react-dom/client',
9
10
  'mobx-react',
10
11
  '@mui/x-data-grid',
11
12
  '@mui/material/utils',
@@ -57,6 +58,7 @@ exports.default = [
57
58
  '@material-ui/core/FormHelperText',
58
59
  '@material-ui/core/FormGroup',
59
60
  '@material-ui/core/Grid',
61
+ '@material-ui/core/Grid2',
60
62
  '@material-ui/core/Grow',
61
63
  '@material-ui/core/Icon',
62
64
  '@material-ui/core/IconButton',
@@ -166,6 +168,7 @@ exports.default = [
166
168
  '@mui/material/FormHelperText',
167
169
  '@mui/material/FormGroup',
168
170
  '@mui/material/Grid',
171
+ '@mui/material/Grid2',
169
172
  '@mui/material/Grow',
170
173
  '@mui/material/Icon',
171
174
  '@mui/material/IconButton',
@@ -1,5 +1,5 @@
1
1
  import type { LazyExoticComponent } from 'react';
2
- import React from 'react';
2
+ import * as React from 'react';
3
3
  import { useTheme } from '@mui/material';
4
4
  import * as MUIStyles from '@mui/material/styles';
5
5
  import * as MUIUtils from '@mui/material/utils';
@@ -9,6 +9,7 @@ import * as mxreact from 'mobx-react';
9
9
  import * as mst from 'mobx-state-tree';
10
10
  import * as ReactJSXRuntime from 'react/jsx-runtime';
11
11
  import * as ReactDom from 'react-dom';
12
+ import * as ReactDomClient from 'react-dom/client';
12
13
  import Plugin from '../Plugin';
13
14
  import * as Configuration from '../configuration';
14
15
  import * as BaseAdapterExports from '../data_adapters/BaseAdapter';
@@ -126,10 +127,11 @@ declare const libs: {
126
127
  react: typeof React;
127
128
  'react/jsx-runtime': typeof ReactJSXRuntime;
128
129
  'react-dom': typeof ReactDom;
130
+ 'react-dom/client': typeof ReactDomClient;
129
131
  'mobx-react': typeof mxreact;
130
132
  '@mui/x-data-grid': {
131
133
  useGridApiContext: typeof useGridApiContext;
132
- useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon = import("@mui/x-data-grid/internals").GridApiCommunity>() => React.MutableRefObject<Api>;
134
+ useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon = import("@mui/x-data-grid/internals").GridApiCommunity>() => import("@mui/x-internals/types").RefObject<Api>;
133
135
  useGridRootProps: () => import("@mui/x-data-grid/internals").DataGridProcessedProps;
134
136
  };
135
137
  '@mui/material/utils': typeof MUIUtils;
@@ -15,18 +15,30 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const React = __importStar(require("react"));
41
+ const react_1 = require("react");
30
42
  const material_1 = require("@mui/material");
31
43
  const MUIStyles = __importStar(require("@mui/material/styles"));
32
44
  const MUIUtils = __importStar(require("@mui/material/utils"));
@@ -36,6 +48,7 @@ const mxreact = __importStar(require("mobx-react"));
36
48
  const mst = __importStar(require("mobx-state-tree"));
37
49
  const ReactJSXRuntime = __importStar(require("react/jsx-runtime"));
38
50
  const ReactDom = __importStar(require("react-dom"));
51
+ const ReactDomClient = __importStar(require("react-dom/client"));
39
52
  const mui_1 = require("tss-react/mui");
40
53
  const Plugin_1 = __importDefault(require("../Plugin"));
41
54
  const Configuration = __importStar(require("../configuration"));
@@ -106,6 +119,7 @@ const Entries = {
106
119
  FormHelperText: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/FormHelperText')))),
107
120
  FormGroup: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/FormGroup')))),
108
121
  Grid: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/Grid')))),
122
+ Grid2: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/Grid2')))),
109
123
  Grow: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/Grow')))),
110
124
  Icon: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/Icon')))),
111
125
  IconButton: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/IconButton')))),
@@ -175,8 +189,7 @@ const Entries = {
175
189
  Typography: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@mui/material/Typography')))),
176
190
  };
177
191
  const LazyMUICore = Object.fromEntries(Object.entries(Entries).map(([key, ReactComponent]) => {
178
- const Component = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
179
- react_1.default.createElement(ReactComponent, { ...props, ref: ref }))));
192
+ const Component = (0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(ReactComponent, { ...props, ref: ref }) })));
180
193
  Component.displayName = key;
181
194
  return [key, Component];
182
195
  }));
@@ -343,26 +356,23 @@ const DataGridEntries = {
343
356
  }))),
344
357
  };
345
358
  const LazyDataGridComponents = Object.fromEntries(Object.entries(DataGridEntries).map(([key, ReactComponent]) => {
346
- const Component = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
347
- react_1.default.createElement(ReactComponent, { ...props, ref: ref }))));
359
+ const Component = (0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(ReactComponent, { ...props, ref: ref }) })));
348
360
  Component.displayName = key;
349
361
  return [key, Component];
350
362
  }));
351
- const LazyAttributes = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
352
- react_1.default.createElement(Attributes, { ...props, ref: ref }))));
363
+ const LazyAttributes = (0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(Attributes, { ...props, ref: ref }) })));
353
364
  LazyAttributes.displayName = 'Attributes';
354
- const LazyFeatureDetails = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
355
- react_1.default.createElement(FeatureDetails, { ...props, ref: ref }))));
365
+ const LazyFeatureDetails = (0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(FeatureDetails, { ...props, ref: ref }) })));
356
366
  LazyFeatureDetails.displayName = 'FeatureDetails';
357
- const LazyBaseCard = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
358
- react_1.default.createElement(BaseCard, { ...props, ref: ref }))));
367
+ const LazyBaseCard = (0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(BaseCard, { ...props, ref: ref }) })));
359
368
  LazyBaseCard.displayName = 'BaseCard';
360
369
  const libs = {
361
370
  mobx,
362
371
  'mobx-state-tree': mst,
363
- react: react_1.default,
372
+ react: React,
364
373
  'react/jsx-runtime': ReactJSXRuntime,
365
374
  'react-dom': ReactDom,
375
+ 'react-dom/client': ReactDomClient,
366
376
  'mobx-react': mxreact,
367
377
  '@mui/x-data-grid': {
368
378
  useGridApiContext: x_data_grid_1.useGridApiContext,
@@ -30,7 +30,7 @@ export default class BaseResult {
30
30
  constructor(args: BaseResultArgs);
31
31
  getLabel(): string;
32
32
  getDisplayString(): string;
33
- getRenderingComponent(): React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
33
+ getRenderingComponent(): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined;
34
34
  getTrackId(): string | undefined;
35
35
  getScore(): number;
36
36
  updateScore(newScore: number): number;
@@ -7,8 +7,8 @@ exports.default = assemblyFactory;
7
7
  const abortable_promise_cache_1 = __importDefault(require("@gmod/abortable-promise-cache"));
8
8
  const mobx_state_tree_1 = require("mobx-state-tree");
9
9
  const configuration_1 = require("../configuration");
10
- const dataAdapterCache_1 = require("../data_adapters/dataAdapterCache");
11
- const util_1 = require("../util");
10
+ const util_1 = require("../data_adapters/util");
11
+ const util_2 = require("../util");
12
12
  const QuickLRU_1 = __importDefault(require("../util/QuickLRU"));
13
13
  const refNameRegex = new RegExp('[0-9A-Za-z!#$%&+./:;?@^_|~-][0-9A-Za-z!#$%&*+./:;=?@^_|~-]*');
14
14
  const refNameColors = [
@@ -41,7 +41,7 @@ const refNameColors = [
41
41
  ];
42
42
  async function loadRefNameMap(assembly, adapterConfig, options, stopToken) {
43
43
  const { sessionId } = options;
44
- await (0, util_1.when)(() => !!(assembly.regions && assembly.refNameAliases), {
44
+ await (0, util_2.when)(() => !!(assembly.regions && assembly.refNameAliases), {
45
45
  name: 'when assembly ready',
46
46
  });
47
47
  const refNames = (await assembly.rpcManager.call(sessionId || 'assemblyRpc', 'CoreGetRefNames', {
@@ -259,7 +259,7 @@ function assemblyFactory(assemblyConfigType, pluginManager) {
259
259
  if (!options.sessionId) {
260
260
  throw new Error('sessionId is required');
261
261
  }
262
- return adapterLoads.get((0, dataAdapterCache_1.adapterConfigCacheKey)(adapterConf), {
262
+ return adapterLoads.get((0, util_1.adapterConfigCacheKey)(adapterConf), {
263
263
  adapterConf,
264
264
  self,
265
265
  options: rest,
@@ -17,7 +17,7 @@ export default function ConfigSlot(slotName: string, { description, model, type,
17
17
  readonly isCallback: boolean;
18
18
  } & {
19
19
  readonly expr: any;
20
- readonly valueJSON: string | any[] | Record<string, any> | undefined;
20
+ readonly valueJSON: any[] | Record<string, any> | string | undefined;
21
21
  } & {
22
22
  set(newVal: any): void;
23
23
  reset(): void;
@@ -9,10 +9,7 @@ class CytobandAdapter extends BaseAdapter_1.BaseAdapter {
9
9
  if (conf.uri === '' || conf.uri === '/path/to/cytoband.txt.gz') {
10
10
  return [];
11
11
  }
12
- const pm = this.pluginManager;
13
- const buf = await (0, util_1.fetchAndMaybeUnzip)((0, io_1.openLocation)(conf, pm), opts);
14
- const decoder = new TextDecoder('utf8', { fatal: true });
15
- const text = decoder.decode(buf);
12
+ const text = await (0, util_1.fetchAndMaybeUnzipText)((0, io_1.openLocation)(conf, this.pluginManager), opts);
16
13
  return text
17
14
  .split(/\n|\r\n|\r/)
18
15
  .filter(f => !!f.trim())
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -33,6 +43,9 @@ function CytobandAdapterF(pluginManager) {
33
43
  pluginManager.addAdapterType(() => new pluggableElementTypes_1.AdapterType({
34
44
  name: 'CytobandAdapter',
35
45
  configSchema: configSchema_1.default,
46
+ adapterMetadata: {
47
+ hiddenFromGUI: true,
48
+ },
36
49
  getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./CytobandAdapter'))).then(f => f.default),
37
50
  }));
38
51
  }
@@ -3,7 +3,6 @@ import type { AnyConfigurationSchemaType } from '../configuration';
3
3
  import type { AnyDataAdapter } from './BaseAdapter';
4
4
  import type { SnapshotIn } from 'mobx-state-tree';
5
5
  type ConfigSnap = SnapshotIn<AnyConfigurationSchemaType>;
6
- export declare function adapterConfigCacheKey(conf?: Record<string, unknown>): string;
7
6
  interface AdapterCacheEntry {
8
7
  dataAdapter: AnyDataAdapter;
9
8
  sessionIds: Set<string>;
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.adapterConfigCacheKey = adapterConfigCacheKey;
7
3
  exports.getAdapter = getAdapter;
8
4
  exports.freeAdapterResources = freeAdapterResources;
9
5
  exports.clearAdapterCache = clearAdapterCache;
10
- const idMaker_1 = __importDefault(require("../util/idMaker"));
11
- function adapterConfigCacheKey(conf = {}) {
12
- return `${(0, idMaker_1.default)(conf)}`;
13
- }
6
+ const util_1 = require("./util");
14
7
  let adapterCache = {};
15
8
  async function getAdapter(pluginManager, sessionId, adapterConfigSnapshot) {
16
- const cacheKey = adapterConfigCacheKey(adapterConfigSnapshot);
9
+ const cacheKey = (0, util_1.adapterConfigCacheKey)(adapterConfigSnapshot);
17
10
  if (!adapterCache[cacheKey]) {
18
11
  const adapterType = adapterConfigSnapshot === null || adapterConfigSnapshot === void 0 ? void 0 : adapterConfigSnapshot.type;
19
12
  if (!adapterType) {
@@ -0,0 +1 @@
1
+ export declare function adapterConfigCacheKey(conf?: Record<string, unknown>): string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.adapterConfigCacheKey = adapterConfigCacheKey;
7
+ const idMaker_1 = __importDefault(require("../util/idMaker"));
8
+ function adapterConfigCacheKey(conf = {}) {
9
+ return `${(0, idMaker_1.default)(conf)}`;
10
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "2.18.0",
3
+ "version": "3.0.0",
4
4
  "description": "JBrowse 2 core libraries used by plugins",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -30,11 +30,10 @@
30
30
  "build": "tsc -b tsconfig.build.json && cp package.json README.md ../../LICENSE dist/"
31
31
  },
32
32
  "dependencies": {
33
- "@babel/runtime": "^7.17.9",
34
33
  "@floating-ui/react": "^0.27.0",
35
34
  "@gmod/abortable-promise-cache": "^2.0.0",
36
- "@gmod/bgzf-filehandle": "^1.4.3",
37
- "@gmod/http-range-fetcher": "^3.0.4",
35
+ "@gmod/bgzf-filehandle": "^2.0.1",
36
+ "@gmod/http-range-fetcher": "^4.0.0",
38
37
  "@mui/icons-material": "^6.0.0",
39
38
  "@mui/x-data-grid": "^7.0.0",
40
39
  "canvas-sequencer": "^3.1.0",
@@ -46,16 +45,15 @@
46
45
  "dompurify": "^3.2.0",
47
46
  "escape-html": "^1.0.3",
48
47
  "fast-deep-equal": "^3.1.3",
49
- "generic-filehandle": "^3.0.0",
50
- "is-object": "^1.0.1",
48
+ "generic-filehandle2": "^1.0.0",
51
49
  "jexl": "^2.3.0",
52
50
  "librpc-web-mod": "^1.1.5",
53
51
  "load-script": "^2.0.0",
54
52
  "material-ui-popup-state": "^5.0.0",
55
53
  "rbush": "^3.0.1",
54
+ "react-draggable": "^4.4.5",
56
55
  "serialize-error": "^8.0.0",
57
- "source-map-js": "^1.0.2",
58
- "svg-path-generator": "^1.1.0"
56
+ "source-map-js": "^1.0.2"
59
57
  },
60
58
  "peerDependencies": {
61
59
  "@mui/material": "^6.0.0",
@@ -71,5 +69,5 @@
71
69
  "access": "public",
72
70
  "directory": "dist"
73
71
  },
74
- "gitHead": "c344ea60099cb7e460b77f15808946b24a7eee74"
72
+ "gitHead": "2c6897f1fa732b1db5b094d1dca197e333e95319"
75
73
  }
@@ -5,12 +5,13 @@ exports.createBaseTrackModel = createBaseTrackModel;
5
5
  const mobx_1 = require("mobx");
6
6
  const mobx_state_tree_1 = require("mobx-state-tree");
7
7
  const configuration_1 = require("../../configuration");
8
- const util_1 = require("../../util");
8
+ const util_1 = require("../../data_adapters/util");
9
+ const util_2 = require("../../util");
9
10
  const types_1 = require("../../util/types");
10
11
  const mst_1 = require("../../util/types/mst");
11
12
  function getCompatibleDisplays(self) {
12
- const { pluginManager } = (0, util_1.getEnv)(self);
13
- const view = (0, util_1.getContainingView)(self);
13
+ const { pluginManager } = (0, util_2.getEnv)(self);
14
+ const view = (0, util_2.getContainingView)(self);
14
15
  const viewType = pluginManager.getViewType(view.type);
15
16
  const compatTypes = new Set(viewType.displayTypes.map(d => d.name));
16
17
  const displays = self.configuration.displays;
@@ -27,7 +28,10 @@ function createBaseTrackModel(pm, trackType, baseTrackConfig) {
27
28
  })
28
29
  .views(self => ({
29
30
  get rpcSessionId() {
30
- return self.configuration.trackId;
31
+ const adapter = (0, configuration_1.getConf)(self, 'adapter');
32
+ return adapter
33
+ ? (0, util_1.adapterConfigCacheKey)(adapter)
34
+ : self.configuration.trackId;
31
35
  },
32
36
  get name() {
33
37
  return (0, configuration_1.getConf)(self, 'name');
@@ -50,7 +54,7 @@ function createBaseTrackModel(pm, trackType, baseTrackConfig) {
50
54
  return self.displays.flatMap(d => d.viewMenuActions);
51
55
  },
52
56
  get canConfigure() {
53
- const session = (0, util_1.getSession)(self);
57
+ const session = (0, util_2.getSession)(self);
54
58
  const { sessionTracks, adminMode } = session;
55
59
  return ((0, types_1.isSessionModelWithConfigEditing)(session) &&
56
60
  (adminMode ||
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import FeatureRenderer from './FeatureRendererType';
3
2
  import { SimpleFeature } from '../../util';
4
3
  import type { SimpleFeatureSerialized } from '../../util';
@@ -21,7 +20,7 @@ export default class CircularChordRendererType extends FeatureRenderer {
21
20
  } | {
22
21
  features: Map<string, SimpleFeature>;
23
22
  blockKey: string;
24
- reactElement: React.JSX.Element;
23
+ reactElement: import("react/jsx-runtime").JSX.Element;
25
24
  html: string;
26
25
  };
27
26
  }
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const FeatureRendererType_1 = __importDefault(require("./FeatureRendererType"));
8
8
  const RpcRenderedSvgGroup_1 = __importDefault(require("./RpcRenderedSvgGroup"));
9
9
  const util_1 = require("../../util");
@@ -28,7 +28,7 @@ class CircularChordRendererType extends FeatureRendererType_1.default {
28
28
  ...res,
29
29
  features: deserializedFeatures,
30
30
  blockKey: 'circularChord',
31
- reactElement: (react_1.default.createElement(RpcRenderedSvgGroup_1.default, { ...args, ...res, features: deserializedFeatures, RenderingComponent: this.ReactComponent })),
31
+ reactElement: ((0, jsx_runtime_1.jsx)(RpcRenderedSvgGroup_1.default, { ...args, ...res, features: deserializedFeatures, RenderingComponent: this.ReactComponent })),
32
32
  };
33
33
  }
34
34
  }
@@ -1,11 +1,11 @@
1
- import type { ReactElement } from 'react';
1
+ import type React from 'react';
2
2
  import PluggableElementBase from '../PluggableElementBase';
3
3
  import type PluginManager from '../../PluginManager';
4
4
  import type { AnyConfigurationSchemaType } from '../../configuration';
5
5
  import type { AnyReactComponentType } from '../../util';
6
6
  export type RenderProps = Record<string, unknown>;
7
7
  export interface RenderResults {
8
- reactElement?: ReactElement;
8
+ reactElement?: React.ReactElement;
9
9
  html?: string;
10
10
  }
11
11
  export default class RendererType extends PluggableElementBase {
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const PluggableElementBase_1 = __importDefault(require("../PluggableElementBase"));
8
8
  class RendererType extends PluggableElementBase_1.default {
9
9
  constructor(stuff) {
@@ -15,7 +15,7 @@ class RendererType extends PluggableElementBase_1.default {
15
15
  }
16
16
  async render(props) {
17
17
  return {
18
- reactElement: react_1.default.createElement(this.ReactComponent, props, null),
18
+ reactElement: (0, jsx_runtime_1.jsx)(this.ReactComponent, { ...props }),
19
19
  };
20
20
  }
21
21
  freeResources() {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { AnyReactComponentType, Feature } from '../../util';
3
2
  import type { ThemeOptions } from '@mui/material';
4
3
  interface Props {
@@ -8,5 +7,5 @@ interface Props {
8
7
  displayModel?: any;
9
8
  RenderingComponent: AnyReactComponentType;
10
9
  }
11
- declare const RpcRenderedSvgGroup: (props: Props) => React.JSX.Element;
10
+ declare const RpcRenderedSvgGroup: (props: Props) => import("react/jsx-runtime").JSX.Element;
12
11
  export default RpcRenderedSvgGroup;