@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
@@ -0,0 +1,16 @@
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.default = SnackbarContents;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const Close_1 = __importDefault(require("@mui/icons-material/Close"));
9
+ const material_1 = require("@mui/material");
10
+ function SnackbarContents({ onClose, contents, }) {
11
+ return ((0, jsx_runtime_1.jsx)(material_1.Snackbar, { open: true, onClose: onClose, anchorOrigin: { vertical: 'bottom', horizontal: 'center' }, children: (0, jsx_runtime_1.jsx)(material_1.Alert, { onClose: onClose, action: contents.action ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { color: "inherit", onClick: e => {
12
+ var _a;
13
+ (_a = contents.action) === null || _a === void 0 ? void 0 : _a.onClick();
14
+ onClose(e);
15
+ }, children: contents.action.name }), (0, jsx_runtime_1.jsx)(material_1.IconButton, { color: "inherit", onClick: onClose, children: (0, jsx_runtime_1.jsx)(Close_1.default, {}) })] })) : null, severity: contents.level || 'warning', children: contents.message }) }));
16
+ }
@@ -15,19 +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
39
  exports.default = SnackbarModel;
30
- const react_1 = __importStar(require("react"));
40
+ const jsx_runtime_1 = require("react/jsx-runtime");
41
+ const react_1 = require("react");
31
42
  const Report_1 = __importDefault(require("@mui/icons-material/Report"));
32
43
  const mobx_1 = require("mobx");
33
44
  const mobx_state_tree_1 = require("mobx-state-tree");
@@ -54,7 +65,7 @@ function SnackbarModel() {
54
65
  },
55
66
  notifyError(errorMessage, error, extra) {
56
67
  this.notify(errorMessage, 'error', {
57
- name: react_1.default.createElement(Report_1.default, null),
68
+ name: (0, jsx_runtime_1.jsx)(Report_1.default, {}),
58
69
  onClick: () => {
59
70
  self.queueDialog((onClose) => [
60
71
  ErrorMessageStackTraceDialog,
package/ui/colors.js CHANGED
@@ -26,8 +26,8 @@ const dark2 = [
26
26
  ];
27
27
  exports.dark2 = dark2;
28
28
  const set1 = [
29
- '#e41a1c',
30
29
  '#377eb8',
30
+ '#e41a1c',
31
31
  '#4daf4a',
32
32
  '#984ea3',
33
33
  '#ff7f00',
package/ui/index.d.ts CHANGED
@@ -5,13 +5,11 @@ export { default as CascadingMenu } from './CascadingMenu';
5
5
  export { default as Dialog } from './Dialog';
6
6
  export { default as EditableTypography } from './EditableTypography';
7
7
  export { default as ErrorMessage } from './ErrorMessage';
8
- export { default as FactoryResetDialog } from './FactoryResetDialog';
9
8
  export { default as FatalErrorDialog } from './FatalErrorDialog';
10
9
  export { default as FileSelector } from './FileSelector';
11
10
  export { default as LoadingEllipses } from './LoadingEllipses';
12
11
  export { default as Menu } from './Menu';
13
12
  export { default as PrerenderedCanvas } from './PrerenderedCanvas';
14
- export { default as ReturnToImportFormDialog } from './ReturnToImportFormDialog';
15
13
  export { default as ResizeHandle } from './ResizeHandle';
16
14
  export { default as SanitizedHTML } from './SanitizedHTML';
17
15
  export * from './Menu';
package/ui/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.SanitizedHTML = exports.ResizeHandle = exports.ReturnToImportFormDialog = exports.PrerenderedCanvas = exports.Menu = exports.LoadingEllipses = exports.FileSelector = exports.FatalErrorDialog = exports.FactoryResetDialog = exports.ErrorMessage = exports.EditableTypography = exports.Dialog = exports.CascadingMenu = exports.AssemblySelector = exports.Logomark = exports.LogoFull = void 0;
20
+ exports.SanitizedHTML = exports.ResizeHandle = exports.PrerenderedCanvas = exports.Menu = exports.LoadingEllipses = exports.FileSelector = exports.FatalErrorDialog = exports.ErrorMessage = exports.EditableTypography = exports.Dialog = exports.CascadingMenu = exports.AssemblySelector = exports.Logomark = exports.LogoFull = void 0;
21
21
  __exportStar(require("./theme"), exports);
22
22
  var Logo_1 = require("./Logo");
23
23
  Object.defineProperty(exports, "LogoFull", { enumerable: true, get: function () { return Logo_1.LogoFull; } });
@@ -32,8 +32,6 @@ var EditableTypography_1 = require("./EditableTypography");
32
32
  Object.defineProperty(exports, "EditableTypography", { enumerable: true, get: function () { return __importDefault(EditableTypography_1).default; } });
33
33
  var ErrorMessage_1 = require("./ErrorMessage");
34
34
  Object.defineProperty(exports, "ErrorMessage", { enumerable: true, get: function () { return __importDefault(ErrorMessage_1).default; } });
35
- var FactoryResetDialog_1 = require("./FactoryResetDialog");
36
- Object.defineProperty(exports, "FactoryResetDialog", { enumerable: true, get: function () { return __importDefault(FactoryResetDialog_1).default; } });
37
35
  var FatalErrorDialog_1 = require("./FatalErrorDialog");
38
36
  Object.defineProperty(exports, "FatalErrorDialog", { enumerable: true, get: function () { return __importDefault(FatalErrorDialog_1).default; } });
39
37
  var FileSelector_1 = require("./FileSelector");
@@ -44,8 +42,6 @@ var Menu_1 = require("./Menu");
44
42
  Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return __importDefault(Menu_1).default; } });
45
43
  var PrerenderedCanvas_1 = require("./PrerenderedCanvas");
46
44
  Object.defineProperty(exports, "PrerenderedCanvas", { enumerable: true, get: function () { return __importDefault(PrerenderedCanvas_1).default; } });
47
- var ReturnToImportFormDialog_1 = require("./ReturnToImportFormDialog");
48
- Object.defineProperty(exports, "ReturnToImportFormDialog", { enumerable: true, get: function () { return __importDefault(ReturnToImportFormDialog_1).default; } });
49
45
  var ResizeHandle_1 = require("./ResizeHandle");
50
46
  Object.defineProperty(exports, "ResizeHandle", { enumerable: true, get: function () { return __importDefault(ResizeHandle_1).default; } });
51
47
  var SanitizedHTML_1 = require("./SanitizedHTML");
@@ -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
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.setNonce = exports.RgbaStringColorPicker = exports.RgbaColorPicker = exports.RgbStringColorPicker = exports.RgbColorPicker = exports.HsvaStringColorPicker = exports.HsvaColorPicker = exports.HsvStringColorPicker = exports.HsvColorPicker = exports.HslaStringColorPicker = exports.HslaColorPicker = exports.HslStringColorPicker = exports.HslColorPicker = exports.HexColorPicker = exports.HexColorInput = void 0;
27
37
  const react_1 = __importStar(require("react"));
package/ui/theme.js CHANGED
@@ -163,6 +163,13 @@ function createJBrowseBaseTheme(theme) {
163
163
  },
164
164
  spacing: 4,
165
165
  components: {
166
+ MuiTooltip: {
167
+ styleOverrides: {
168
+ tooltip: {
169
+ fontSize: 12,
170
+ },
171
+ },
172
+ },
166
173
  MuiButton: {
167
174
  defaultProps: {
168
175
  size: 'small',
package/util/index.d.ts CHANGED
@@ -5,8 +5,7 @@ import type { Feature } from './simpleFeature';
5
5
  import type { AssemblyManager, Region, TypeTestedByPredicate } from './types';
6
6
  import type { Region as MUIRegion } from './types/mst';
7
7
  import type { BaseOptions } from '../data_adapters/BaseAdapter';
8
- import type { Buffer } from 'buffer';
9
- import type { GenericFilehandle } from 'generic-filehandle';
8
+ import type { GenericFilehandle } from 'generic-filehandle2';
10
9
  import type { IAnyStateTreeNode, IStateTreeNode, Instance } from 'mobx-state-tree';
11
10
  export * from './types';
12
11
  export * from './when';
@@ -17,7 +16,7 @@ export * from './offscreenCanvasUtils';
17
16
  export declare function useDebounce<T>(value: T, delay: number): T;
18
17
  export declare function useWidthSetter(view: {
19
18
  setWidth: (arg: number) => void;
20
- }, padding: string): React.RefObject<HTMLDivElement>;
19
+ }, padding: string): React.RefObject<HTMLDivElement | null>;
21
20
  export declare function useDebouncedCallback<T>(callback: (...args: T[]) => void, wait?: number): (...args: T[]) => void;
22
21
  export declare function findParentThat(node: IAnyStateTreeNode, predicate: (thing: IAnyStateTreeNode) => boolean): IAnyStateTreeNode;
23
22
  export declare function springAnimate(fromValue: number, toValue: number, setValue: (value: number) => void, onFinish?: () => void, precision?: number, tension?: number, friction?: number, clamp?: boolean): (() => void)[];
@@ -226,9 +225,9 @@ export declare function getEnv(obj: any): {
226
225
  };
227
226
  export declare function localStorageGetItem(item: string): string | null | undefined;
228
227
  export declare function localStorageSetItem(str: string, item: string): void;
229
- export declare function max(arr: number[], init?: number): number;
230
- export declare function min(arr: number[], init?: number): number;
231
- export declare function sum(arr: number[]): number;
228
+ export declare function max(arr: Iterable<number>, init?: number): number;
229
+ export declare function min(arr: Iterable<number>, init?: number): number;
230
+ export declare function sum(arr: Iterable<number>): number;
232
231
  export declare function avg(arr: number[]): number;
233
232
  export declare function groupBy<T>(array: Iterable<T>, predicate: (v: T) => string): Record<string, T[]>;
234
233
  export declare function notEmpty<T>(value: T | null | undefined): value is T;
@@ -251,11 +250,14 @@ export declare function getFillProps(str: string): {
251
250
  fillOpacity: number;
252
251
  fill: string;
253
252
  };
254
- export declare function renderToStaticMarkup(node: React.ReactElement, createRootFn?: (elt: Element | DocumentFragment) => {
255
- render: (node: React.ReactElement) => unknown;
256
- }): string;
257
- export declare function isGzip(buf: Buffer): boolean;
258
- export declare function fetchAndMaybeUnzip(loc: GenericFilehandle, opts?: BaseOptions): Promise<Buffer>;
253
+ export declare function renderToStaticMarkup(node: React.ReactElement): string;
254
+ export declare function isGzip(buf: Uint8Array): boolean;
255
+ export declare function fetchAndMaybeUnzip(loc: GenericFilehandle, opts?: BaseOptions): Promise<Uint8Array<ArrayBufferLike>>;
256
+ export declare function fetchAndMaybeUnzipText(loc: GenericFilehandle, opts?: BaseOptions): Promise<string>;
257
+ export declare function isObject(x: unknown): x is Record<string | symbol | number, unknown>;
258
+ export declare function localStorageGetNumber(key: string, defaultVal: number): number;
259
+ export declare function localStorageGetBoolean(key: string, defaultVal: boolean): boolean;
260
+ export declare function testAdapter(fileName: string, regex: RegExp, adapterHint: string | undefined, expected: string): boolean;
259
261
  export { type Feature, type SimpleFeatureSerialized, type SimpleFeatureSerializedNoId, default as SimpleFeature, isFeature, } from './simpleFeature';
260
262
  export { blobToDataURL } from './blobToDataURL';
261
263
  export { makeAbortableReaction } from './makeAbortableReaction';
package/util/index.js CHANGED
@@ -90,12 +90,17 @@ exports.getFillProps = getFillProps;
90
90
  exports.renderToStaticMarkup = renderToStaticMarkup;
91
91
  exports.isGzip = isGzip;
92
92
  exports.fetchAndMaybeUnzip = fetchAndMaybeUnzip;
93
+ exports.fetchAndMaybeUnzipText = fetchAndMaybeUnzipText;
94
+ exports.isObject = isObject;
95
+ exports.localStorageGetNumber = localStorageGetNumber;
96
+ exports.localStorageGetBoolean = localStorageGetBoolean;
97
+ exports.testAdapter = testAdapter;
93
98
  const react_1 = require("react");
94
99
  const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
95
100
  const useMeasure_1 = __importDefault(require("@jbrowse/core/util/useMeasure"));
96
- const is_object_1 = __importDefault(require("is-object"));
97
101
  const mobx_state_tree_1 = require("mobx-state-tree");
98
102
  const react_dom_1 = require("react-dom");
103
+ const client_1 = require("react-dom/client");
99
104
  const colord_1 = require("./colord");
100
105
  const stopToken_1 = require("./stopToken");
101
106
  const types_1 = require("./types");
@@ -129,8 +134,8 @@ function useWidthSetter(view, padding) {
129
134
  return ref;
130
135
  }
131
136
  function useDebouncedCallback(callback, wait = 400) {
132
- const argsRef = (0, react_1.useRef)();
133
- const timeout = (0, react_1.useRef)();
137
+ const argsRef = (0, react_1.useRef)(null);
138
+ const timeout = (0, react_1.useRef)(null);
134
139
  (0, react_1.useEffect)(() => {
135
140
  if (timeout.current) {
136
141
  clearTimeout(timeout.current);
@@ -829,7 +834,7 @@ function getUriLink(value) {
829
834
  return href;
830
835
  }
831
836
  function getStr(obj) {
832
- return (0, is_object_1.default)(obj)
837
+ return isObject(obj)
833
838
  ? (0, types_1.isUriLocation)(obj)
834
839
  ? getUriLink(obj)
835
840
  : JSON.stringify(obj)
@@ -949,15 +954,10 @@ function getFillProps(str) {
949
954
  fill: c.alpha(1).toHex(),
950
955
  };
951
956
  }
952
- function renderToStaticMarkup(node, createRootFn) {
957
+ function renderToStaticMarkup(node) {
953
958
  const div = document.createElement('div');
954
959
  (0, react_dom_1.flushSync)(() => {
955
- if (createRootFn) {
956
- createRootFn(div).render(node);
957
- }
958
- else {
959
- (0, react_dom_1.render)(node, div);
960
- }
960
+ (0, client_1.createRoot)(div).render(node);
961
961
  });
962
962
  return div.innerHTML.replaceAll(/\brgba\((.+?),[^,]+?\)/g, 'rgb($1)');
963
963
  }
@@ -971,6 +971,26 @@ async function fetchAndMaybeUnzip(loc, opts) {
971
971
  ? await updateStatus('Unzipping', statusCallback, () => (0, bgzf_filehandle_1.unzip)(buf))
972
972
  : buf;
973
973
  }
974
+ async function fetchAndMaybeUnzipText(loc, opts) {
975
+ const buffer = await fetchAndMaybeUnzip(loc, opts);
976
+ if (buffer.length > 536870888) {
977
+ throw new Error('Data exceeds maximum string length (512MB)');
978
+ }
979
+ return new TextDecoder('utf8', { fatal: true }).decode(buffer);
980
+ }
981
+ function isObject(x) {
982
+ return typeof x === 'object' && x !== null;
983
+ }
984
+ function localStorageGetNumber(key, defaultVal) {
985
+ var _a;
986
+ return +((_a = localStorageGetItem(key)) !== null && _a !== void 0 ? _a : defaultVal);
987
+ }
988
+ function localStorageGetBoolean(key, defaultVal) {
989
+ return Boolean(JSON.parse(localStorageGetItem(key) || JSON.stringify(defaultVal)));
990
+ }
991
+ function testAdapter(fileName, regex, adapterHint, expected) {
992
+ return (regex.test(fileName) && !adapterHint) || adapterHint === expected;
993
+ }
974
994
  var simpleFeature_1 = require("./simpleFeature");
975
995
  Object.defineProperty(exports, "SimpleFeature", { enumerable: true, get: function () { return __importDefault(simpleFeature_1).default; } });
976
996
  Object.defineProperty(exports, "isFeature", { enumerable: true, get: function () { return simpleFeature_1.isFeature; } });
@@ -1,15 +1,13 @@
1
- import { Buffer } from 'buffer';
2
- import { RemoteFile } from 'generic-filehandle';
3
- import type { PolyfilledResponse } from 'generic-filehandle';
1
+ import { RemoteFile } from 'generic-filehandle2';
4
2
  export interface BinaryRangeResponse {
5
3
  headers: Record<string, string>;
6
4
  requestDate: Date;
7
5
  responseDate: Date;
8
- buffer: Buffer;
6
+ buffer: Uint8Array;
9
7
  }
10
8
  export declare function clearCache(): void;
11
9
  export declare class RemoteFileWithRangeCache extends RemoteFile {
12
- fetch(url: RequestInfo, init?: RequestInit): Promise<PolyfilledResponse>;
10
+ fetch(url: string | RequestInfo, init?: RequestInit): Promise<Response>;
13
11
  fetchBinaryRange(url: string, start: number, end: number, options?: {
14
12
  headers?: HeadersInit;
15
13
  stopToken?: string;
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RemoteFileWithRangeCache = void 0;
4
4
  exports.clearCache = clearCache;
5
- const buffer_1 = require("buffer");
6
5
  const http_range_fetcher_1 = require("@gmod/http-range-fetcher");
7
- const generic_filehandle_1 = require("generic-filehandle");
6
+ const generic_filehandle2_1 = require("generic-filehandle2");
8
7
  const fetchers = {};
9
8
  function binaryRangeFetch(url, start, end, options = {}) {
10
9
  const fetcher = fetchers[url];
@@ -23,7 +22,7 @@ const globalRangeCache = new http_range_fetcher_1.HttpRangeFetcher({
23
22
  function clearCache() {
24
23
  globalRangeCache.reset();
25
24
  }
26
- class RemoteFileWithRangeCache extends generic_filehandle_1.RemoteFile {
25
+ class RemoteFileWithRangeCache extends generic_filehandle2_1.RemoteFile {
27
26
  async fetch(url, init) {
28
27
  const str = String(url);
29
28
  if (!fetchers[str]) {
@@ -37,8 +36,11 @@ class RemoteFileWithRangeCache extends generic_filehandle_1.RemoteFile {
37
36
  const s = Number.parseInt(start, 10);
38
37
  const e = Number.parseInt(end, 10);
39
38
  const len = e - s;
40
- const { buffer, headers } = (await globalRangeCache.getRange(url, s, len + 1));
41
- return new Response(buffer, { status: 206, headers });
39
+ const { buffer, headers } = (await globalRangeCache.getRange(`${url}`, s, len + 1));
40
+ return new Response(buffer, {
41
+ status: 206,
42
+ headers,
43
+ });
42
44
  }
43
45
  }
44
46
  return super.fetch(url, init);
@@ -67,7 +69,7 @@ class RemoteFileWithRangeCache extends generic_filehandle_1.RemoteFile {
67
69
  headers,
68
70
  requestDate,
69
71
  responseDate,
70
- buffer: buffer_1.Buffer.from(arrayBuffer),
72
+ buffer: new Uint8Array(arrayBuffer),
71
73
  };
72
74
  }
73
75
  }
@@ -1,6 +1,6 @@
1
1
  import type PluginManager from '../../PluginManager';
2
2
  import type { FileLocation, UriLocation } from '../types';
3
- import type { Fetcher, GenericFilehandle } from 'generic-filehandle';
3
+ import type { Fetcher, GenericFilehandle } from 'generic-filehandle2';
4
4
  export declare function resolveUriLocation(location: UriLocation): UriLocation;
5
5
  export declare function openLocation(location: FileLocation, pluginManager?: PluginManager): GenericFilehandle;
6
6
  export declare function getFetcher(location: FileLocation, pluginManager?: PluginManager): Fetcher;
package/util/io/index.js CHANGED
@@ -8,7 +8,7 @@ exports.resolveUriLocation = resolveUriLocation;
8
8
  exports.openLocation = openLocation;
9
9
  exports.getFetcher = getFetcher;
10
10
  const detect_node_1 = __importDefault(require("detect-node"));
11
- const generic_filehandle_1 = require("generic-filehandle");
11
+ const generic_filehandle2_1 = require("generic-filehandle2");
12
12
  const RemoteFileWithRangeCache_1 = require("./RemoteFileWithRangeCache");
13
13
  const __1 = require("../");
14
14
  const tracks_1 = require("../tracks");
@@ -30,7 +30,7 @@ function openLocation(location, pluginManager) {
30
30
  throw new Error('No local path provided');
31
31
  }
32
32
  if (detect_node_1.default || __1.isElectron) {
33
- return new generic_filehandle_1.LocalFile(location.localPath);
33
+ return new generic_filehandle2_1.LocalFile(location.localPath);
34
34
  }
35
35
  else {
36
36
  throw new Error("can't use local files in the browser");
@@ -41,7 +41,7 @@ function openLocation(location, pluginManager) {
41
41
  if (!blob) {
42
42
  throw new Error(`file ("${location.name}") was opened locally from a previous session. To restore it, go to track settings and reopen the file`);
43
43
  }
44
- return new generic_filehandle_1.BlobFile(blob);
44
+ return new generic_filehandle2_1.BlobFile(blob);
45
45
  }
46
46
  if ((0, types_1.isUriLocation)(location)) {
47
47
  if (!location.uri) {
package/util/nanoid.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export const urlAlphabet: "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
2
- export function random(bytes: any): Uint8Array;
2
+ export function random(bytes: any): Uint8Array<any>;
3
3
  export function customRandom(alphabet: any, defaultSize: any, getRandom: any): (size?: any) => string;
4
4
  export function customAlphabet(alphabet: any, size?: number): (size?: any) => string;
5
5
  export function nanoid(size?: number): string;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  export type RenderReturn = Record<string, unknown> | undefined;
3
2
  type RendererRet = Promise<RenderReturn> | RenderReturn;
4
3
  export declare function renderToAbstractCanvas(width: number, height: number, opts: {
@@ -10,7 +9,7 @@ export declare function renderToAbstractCanvas(width: number, height: number, op
10
9
  }, cb: (ctx: CanvasRenderingContext2D) => RendererRet): Promise<{
11
10
  canvasRecordedData: any;
12
11
  } | {
13
- reactElement: React.JSX.Element;
12
+ reactElement: import("react/jsx-runtime").JSX.Element;
14
13
  } | {
15
14
  imageData: any;
16
15
  }>;
@@ -24,5 +23,5 @@ export declare function ReactRendering({ rendering, }: {
24
23
  reactElement?: React.ReactNode;
25
24
  html?: string;
26
25
  };
27
- }): React.JSX.Element;
26
+ }): import("react/jsx-runtime").JSX.Element;
28
27
  export {};
@@ -15,21 +15,29 @@ 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
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
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
+ })();
28
35
  Object.defineProperty(exports, "__esModule", { value: true });
29
36
  exports.renderToAbstractCanvas = renderToAbstractCanvas;
30
37
  exports.getSerializedSvg = getSerializedSvg;
31
38
  exports.ReactRendering = ReactRendering;
32
- const react_1 = __importDefault(require("react"));
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const react_1 = require("react");
33
41
  const canvas_sequencer_1 = require("canvas-sequencer");
34
42
  const blobToDataURL_1 = require("./blobToDataURL");
35
43
  const offscreenCanvasPonyfill_1 = require("./offscreenCanvasPonyfill");
@@ -55,7 +63,7 @@ async function renderToAbstractCanvas(width, height, opts, cb) {
55
63
  const result = await cb(ctx);
56
64
  return {
57
65
  ...result,
58
- reactElement: (react_1.default.createElement("image", { width: width, height: height, xlinkHref: 'convertToBlob' in canvas
66
+ reactElement: ((0, jsx_runtime_1.jsx)("image", { width: width, height: height, xlinkHref: 'convertToBlob' in canvas
59
67
  ? await (0, blobToDataURL_1.blobToDataURL)(await canvas.convertToBlob({
60
68
  type: 'image/png',
61
69
  }))
@@ -84,5 +92,5 @@ async function getSerializedSvg(results) {
84
92
  return ctx.getSvg().innerHTML;
85
93
  }
86
94
  function ReactRendering({ rendering, }) {
87
- return react_1.default.isValidElement(rendering.reactElement) ? (rendering.reactElement) : (react_1.default.createElement("g", { dangerouslySetInnerHTML: { __html: rendering.html || '' } }));
95
+ return (0, react_1.isValidElement)(rendering.reactElement) ? (rendering.reactElement) : ((0, jsx_runtime_1.jsx)("g", { dangerouslySetInnerHTML: { __html: rendering.html || '' } }));
88
96
  }
package/util/tracks.d.ts CHANGED
@@ -43,7 +43,7 @@ export declare function generateUnsupportedTrackConf(trackName: string, trackUrl
43
43
  category: string[] | undefined;
44
44
  trackId: string;
45
45
  };
46
- export declare function generateUnknownTrackConf(trackName: string, trackUrl: string, categories: string[] | undefined): {
46
+ export declare function generateUnknownTrackConf(trackName: string, trackUrl: string, categories?: string[]): {
47
47
  type: string;
48
48
  name: string;
49
49
  description: string;
package/util/tracks.js CHANGED
@@ -79,15 +79,20 @@ function storeBlobLocation(location) {
79
79
  }
80
80
  function makeIndex(location, suffix) {
81
81
  if ('uri' in location) {
82
- return { uri: location.uri + suffix, locationType: 'UriLocation' };
82
+ return {
83
+ uri: location.uri + suffix,
84
+ locationType: 'UriLocation',
85
+ };
83
86
  }
84
- if ('localPath' in location) {
87
+ else if ('localPath' in location) {
85
88
  return {
86
89
  localPath: location.localPath + suffix,
87
90
  locationType: 'LocalPathLocation',
88
91
  };
89
92
  }
90
- return location;
93
+ else {
94
+ return location;
95
+ }
91
96
  }
92
97
  function makeIndexType(name, typeA, typeB) {
93
98
  return (name === null || name === void 0 ? void 0 : name.toUpperCase().endsWith(typeA)) ? typeA : typeB;
@@ -1,4 +1,4 @@
1
- export default function useMeasure(): readonly [import("react").RefObject<HTMLDivElement>, {
1
+ export default function useMeasure(): readonly [import("react").RefObject<HTMLDivElement | null>, {
2
2
  width?: number;
3
3
  height?: number;
4
4
  }];