@jbrowse/core 5.0.0-beta.1 → 5.0.0-beta.3
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.
- package/README.md +112 -43
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +2 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +4 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +2 -2
- package/esm/BaseFeatureWidget/index.d.ts +1 -1
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +8 -1
- package/esm/BaseFeatureWidget/stateModelFactory.js +6 -0
- package/esm/BaseFeatureWidget/types.d.ts +10 -2
- package/esm/PluginLoader.d.ts +1 -0
- package/esm/PluginLoader.js +52 -8
- package/esm/PluginManager.d.ts +99 -17
- package/esm/PluginManager.js +194 -26
- package/esm/ReExports/BaseFeatureDetails.js +1 -1
- package/esm/ReExports/MuiDataGridReExports.d.ts +1 -0
- package/esm/ReExports/MuiDataGridReExports.js +2 -2
- package/esm/ReExports/barrelOnlyNames.d.ts +5 -0
- package/esm/ReExports/barrelOnlyNames.js +63 -0
- package/esm/ReExports/modules.js +31 -109
- package/esm/ReExports/publicTracks.d.ts +1 -0
- package/esm/ReExports/publicTracks.js +14 -0
- package/esm/ReExports/publicUi.d.ts +4 -0
- package/esm/ReExports/publicUi.js +33 -0
- package/esm/ReExports/publicUtil.d.ts +1 -1
- package/esm/ReExports/publicUtil.js +8 -4
- package/esm/ReExports/sharedModules.d.ts +96 -0
- package/esm/ReExports/sharedModules.js +66 -0
- package/esm/ReExports/uiStub.d.ts +2 -0
- package/esm/ReExports/uiStub.js +11 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +15 -0
- package/esm/ReExports/workerNamespaceNames.d.ts +11 -0
- package/esm/ReExports/workerNamespaceNames.js +281 -0
- package/esm/configuration/configurationSchema.d.ts +5 -38
- package/esm/configuration/configurationSchema.js +64 -40
- package/esm/configuration/index.d.ts +2 -2
- package/esm/configuration/index.js +1 -1
- package/esm/configuration/promotableDefaults.d.ts +54 -19
- package/esm/configuration/promotableDefaults.js +117 -48
- package/esm/configuration/promotablePin.d.ts +50 -40
- package/esm/configuration/promotableResolve.d.ts +1 -1
- package/esm/configuration/promotableResolve.js +1 -1
- package/esm/configuration/tabixIndexFields.d.ts +2 -2
- package/esm/configuration/tabixIndexFields.js +2 -2
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +12 -0
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +35 -4
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +41 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +32 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/index.js +1 -0
- package/esm/data_adapters/BaseAdapter/stats.d.ts +33 -1
- package/esm/data_adapters/BaseAdapter/stats.js +52 -13
- package/esm/data_adapters/BaseAdapter/types.d.ts +3 -8
- package/esm/pluggableElementTypes/AdapterType.d.ts +2 -1
- package/esm/pluggableElementTypes/AdapterType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +4 -12
- package/esm/pluggableElementTypes/DisplayType.js +3 -10
- package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +27 -0
- package/esm/pluggableElementTypes/LazyStateModelElement.js +71 -0
- package/esm/pluggableElementTypes/ViewType.d.ts +20 -4
- package/esm/pluggableElementTypes/ViewType.js +32 -4
- package/esm/pluggableElementTypes/extendElementType.d.ts +1 -2
- package/esm/pluggableElementTypes/extendElementType.js +9 -5
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +44 -3
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +75 -2
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +21 -0
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +34 -2
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +49 -0
- package/esm/pluggableElementTypes/models/BaseViewModel.js +28 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +14 -10
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +25 -32
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +7 -1
- package/esm/rpc/RpcRegistry.d.ts +10 -0
- package/esm/rpc/byteBudget.d.ts +9 -0
- package/esm/rpc/coreRpcMethods.d.ts +1 -0
- package/esm/rpc/coreRpcMethods.js +1 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/svg/svgReady.d.ts +1 -0
- package/esm/ui/BaseExportSvgDialog.d.ts +1 -1
- package/esm/ui/CascadingMenu.js +30 -8
- package/esm/ui/ErrorMessageStackTraceDialog.js +5 -6
- package/esm/ui/ExportSvgDialog.d.ts +1 -1
- package/esm/ui/LoadingOverlay.d.ts +14 -0
- package/esm/ui/LoadingOverlay.js +1 -1
- package/esm/ui/MenuTypes.d.ts +14 -5
- package/esm/ui/MenuTypes.js +3 -0
- package/esm/ui/PaletteContext.d.ts +11 -4
- package/esm/ui/PaletteContext.js +34 -5
- package/esm/ui/PinAdornment.js +31 -43
- package/esm/ui/ScrollChrome.d.ts +16 -0
- package/esm/ui/ScrollChrome.js +12 -0
- package/esm/ui/ScrollZoomToggle.d.ts +4 -3
- package/esm/ui/ScrollZoomToggle.js +4 -3
- package/esm/ui/SizeSliderRow.js +1 -1
- package/esm/ui/index.d.ts +3 -3
- package/esm/ui/index.js +4 -4
- package/esm/ui/launchViewMenu.js +7 -1
- package/esm/ui/legendMenuItem.d.ts +10 -16
- package/esm/ui/legendMenuItem.js +9 -20
- package/esm/ui/makeSizeMenu.js +1 -1
- package/esm/ui/menuItemAdornment.d.ts +2 -3
- package/esm/ui/menuItemAdornment.js +2 -3
- package/esm/ui/menuItems.d.ts +2 -3
- package/esm/ui/menuItems.js +1 -2
- package/esm/ui/palette.d.ts +11 -11
- package/esm/ui/palette.js +11 -11
- package/esm/ui/promotablePinCoverage.d.ts +16 -2
- package/esm/ui/promotablePinCoverage.js +40 -3
- package/esm/ui/theme.js +5 -0
- package/esm/ui/toggleMenuItems.d.ts +14 -9
- package/esm/ui/toggleMenuItems.js +32 -15
- package/esm/util/Base1DUtils.d.ts +4 -2
- package/esm/util/Base1DUtils.js +12 -4
- package/esm/util/SvgCanvas.js +4 -3
- package/esm/util/adapterConfigKey.d.ts +12 -0
- package/esm/util/adapterConfigKey.js +14 -0
- package/esm/util/adapterMetadata.js +2 -1
- package/esm/util/addAndShowTrack.d.ts +1 -1
- package/esm/util/addAndShowTrack.js +5 -1
- package/esm/util/addTrackFromWidget.js +2 -2
- package/esm/util/analytics.js +4 -5
- package/esm/util/cacheBudgets.d.ts +22 -19
- package/esm/util/cacheBudgets.js +22 -19
- package/esm/util/clampToContig.d.ts +17 -0
- package/esm/util/clampToContig.js +19 -0
- package/esm/util/colorBits.d.ts +2 -1
- package/esm/util/colorBits.js +2 -5
- package/esm/util/createStopTokenRotation.d.ts +9 -7
- package/esm/util/createStopTokenRotation.js +7 -27
- package/esm/util/featureTypes.d.ts +24 -0
- package/esm/util/featureTypes.js +35 -0
- package/esm/util/fetchContext.d.ts +2 -2
- package/esm/util/fetchContext.js +2 -2
- package/esm/util/fetchPhases.d.ts +10 -10
- package/esm/util/hooks.d.ts +8 -0
- package/esm/util/hooks.js +27 -0
- package/esm/util/index.d.ts +6 -5
- package/esm/util/index.js +5 -4
- package/esm/util/installFetch.d.ts +71 -34
- package/esm/util/installFetch.js +57 -29
- package/esm/util/installInitAutorun.d.ts +14 -13
- package/esm/util/installInitAutorun.js +17 -17
- package/esm/util/installPrerequisiteFetch.d.ts +86 -0
- package/esm/util/installPrerequisiteFetch.js +73 -0
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/legendCandidates.d.ts +50 -0
- package/esm/util/legendCandidates.js +87 -0
- package/esm/util/mstUtils.d.ts +12 -1
- package/esm/util/mstUtils.js +20 -2
- package/esm/util/openFeatureWidget.d.ts +5 -0
- package/esm/util/openFeatureWidget.js +1 -0
- package/esm/util/openViews.d.ts +16 -0
- package/esm/util/openViews.js +22 -0
- package/esm/util/parentWalk.d.ts +1 -1
- package/esm/util/parentWalk.js +1 -1
- package/esm/util/pluginStore.d.ts +1 -0
- package/esm/util/pluginStore.js +8 -1
- package/esm/util/range.d.ts +13 -9
- package/esm/util/range.js +17 -8
- package/esm/util/renderToStaticMarkup.js +10 -0
- package/esm/util/rxjs.d.ts +16 -0
- package/esm/util/rxjs.js +49 -0
- package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
- package/esm/util/scheduleDetachedDestroy.js +24 -0
- package/esm/util/scrollLatch.d.ts +1 -0
- package/esm/util/scrollLatch.js +8 -0
- package/esm/util/stopToken.d.ts +6 -5
- package/esm/util/tabix.d.ts +10 -4
- package/esm/util/tabix.js +11 -5
- package/esm/util/trackConfigDelta.d.ts +6 -6
- package/esm/util/trackConfigDelta.js +3 -3
- package/esm/util/tracks.d.ts +48 -0
- package/esm/util/tracks.js +192 -66
- package/esm/util/types/index.d.ts +58 -10
- package/esm/util/types/index.js +3 -0
- package/esm/util/unknownSnapshotKeys.d.ts +36 -0
- package/esm/util/unknownSnapshotKeys.js +69 -0
- package/esm/util/usePanelVirtualScroll.d.ts +6 -2
- package/esm/util/usePanelVirtualScroll.js +6 -2
- package/esm/util/useRowVirtualScroll.d.ts +1 -1
- package/esm/util/useRowVirtualScroll.js +1 -1
- package/esm/util/useVirtualScrollWheel.js +11 -1
- package/esm/util/viewStatus.d.ts +23 -0
- package/esm/util/viewStatus.js +17 -0
- package/esm/util/wheelZoom.d.ts +3 -1
- package/esm/util/wheelZoom.js +39 -14
- package/esm/util/whenViewSettled.d.ts +17 -4
- package/esm/util/whenViewSettled.js +19 -6
- package/esm/util/withLaunchInput.d.ts +168 -0
- package/esm/util/withLaunchInput.js +273 -0
- package/package.json +19 -11
- package/esm/ui/promotableMenuItems.d.ts +0 -19
- package/esm/ui/promotableMenuItems.js +0 -89
- package/esm/util/applyInitSettings.d.ts +0 -79
- package/esm/util/applyInitSettings.js +0 -91
package/esm/ReExports/modules.js
CHANGED
|
@@ -1,44 +1,17 @@
|
|
|
1
|
-
// eslint-disable-next-line no-restricted-imports
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import * as mst from '@jbrowse/mobx-state-tree';
|
|
4
1
|
import { alpha, createTheme, useTheme } from '@mui/material';
|
|
5
2
|
import SvgIcon, { createSvgIcon } from '@mui/material/SvgIcon';
|
|
6
3
|
import * as MUIUtils from '@mui/material/utils';
|
|
7
|
-
import * as mobx from 'mobx';
|
|
8
4
|
import * as mxreact from 'mobx-react';
|
|
9
5
|
import * as ReactDom from 'react-dom';
|
|
10
6
|
import * as ReactDomClient from 'react-dom/client';
|
|
11
|
-
import * as ReactJSXRuntime from 'react/jsx-runtime';
|
|
12
|
-
import Plugin from '../Plugin.js';
|
|
13
|
-
import * as Configuration from '../configuration/index.js';
|
|
14
|
-
import * as BaseAdapterExports from '../data_adapters/BaseAdapter/index.js';
|
|
15
|
-
import * as dataAdapterCache from '../data_adapters/dataAdapterCache.js';
|
|
16
|
-
import AdapterType from '../pluggableElementTypes/AdapterType.js';
|
|
17
|
-
import DisplayType from '../pluggableElementTypes/DisplayType.js';
|
|
18
|
-
import TrackType from '../pluggableElementTypes/TrackType.js';
|
|
19
|
-
import ViewType from '../pluggableElementTypes/ViewType.js';
|
|
20
|
-
import WidgetType from '../pluggableElementTypes/WidgetType.js';
|
|
21
|
-
import * as pluggableElementTypes from '../pluggableElementTypes/index.js';
|
|
22
|
-
import * as pluggableElementTypeModels from '../pluggableElementTypes/models/index.js';
|
|
23
|
-
import * as coreUi from '../ui/index.js';
|
|
24
|
-
import * as corePalette from '../ui/palette.js';
|
|
25
|
-
import * as coreTheme from '../ui/theme.js';
|
|
26
|
-
import Base1DView from '../util/Base1DViewModel.js';
|
|
27
|
-
import * as coreColor from '../util/color/index.js';
|
|
28
|
-
import * as coreIo from '../util/io/index.js';
|
|
29
|
-
import * as coreLayouts from '../util/layouts/index.js';
|
|
30
|
-
import * as coreMstReflection from '../util/mst-reflection.js';
|
|
31
|
-
import * as rxjs from '../util/rxjs.js';
|
|
32
|
-
import * as trackUtils from '../util/tracks.js';
|
|
33
7
|
import { cx, keyframes, makeStyles } from '../util/tss-react/index.js';
|
|
34
|
-
import * as mstTypes from '../util/types/mst.js';
|
|
35
8
|
import { BaseFeatureDetail } from './BaseFeatureDetails.js';
|
|
36
9
|
import { DataGridEntries } from './MuiDataGridReExports.js';
|
|
37
10
|
import { Entries } from './MuiReExports.js';
|
|
38
11
|
import { MUIStyles } from './MuiStylesReExports.js';
|
|
39
12
|
import { lazyMap } from './lazify.js';
|
|
40
|
-
import
|
|
41
|
-
import
|
|
13
|
+
import * as coreUi from './publicUi.js';
|
|
14
|
+
import { sharedModules } from './sharedModules.js';
|
|
42
15
|
function makeLegacyMakeStyles() {
|
|
43
16
|
return (args) => {
|
|
44
17
|
const useStyles = makeStyles()(args);
|
|
@@ -47,15 +20,30 @@ function makeLegacyMakeStyles() {
|
|
|
47
20
|
}
|
|
48
21
|
const tssReact = { cx, keyframes, makeStyles };
|
|
49
22
|
const legacyMakeStyles = makeLegacyMakeStyles();
|
|
23
|
+
const materialUiCoreLib = {
|
|
24
|
+
...lazyMap(Entries),
|
|
25
|
+
useTheme,
|
|
26
|
+
alpha,
|
|
27
|
+
makeStyles: legacyMakeStyles,
|
|
28
|
+
};
|
|
29
|
+
const muiMaterialLib = {
|
|
30
|
+
...lazyMap(Entries),
|
|
31
|
+
alpha,
|
|
32
|
+
useTheme,
|
|
33
|
+
createTheme,
|
|
34
|
+
};
|
|
35
|
+
const materialUiLabLib = {
|
|
36
|
+
Alert: Entries.Alert,
|
|
37
|
+
Autocomplete: Entries.Autocomplete,
|
|
38
|
+
ToggleButton: Entries.ToggleButton,
|
|
39
|
+
ToggleButtonGroup: Entries.ToggleButtonGroup,
|
|
40
|
+
};
|
|
41
|
+
const muiStylesLib = { ...MUIStyles, makeStyles: legacyMakeStyles };
|
|
50
42
|
const libs = {
|
|
51
|
-
|
|
52
|
-
'
|
|
53
|
-
'mobx-state-tree': mst,
|
|
54
|
-
react: React,
|
|
55
|
-
'react/jsx-runtime': ReactJSXRuntime,
|
|
43
|
+
...sharedModules,
|
|
44
|
+
'mobx-react': mxreact,
|
|
56
45
|
'react-dom': ReactDom,
|
|
57
46
|
'react-dom/client': ReactDomClient,
|
|
58
|
-
'mobx-react': mxreact,
|
|
59
47
|
// Only lazy component entries are re-exported. The grid *hooks*
|
|
60
48
|
// (useGridApiContext/useGridApiRef/useGridRootProps) are intentionally left
|
|
61
49
|
// out: statically importing them here pulled the entire ~1.2 MB
|
|
@@ -69,18 +57,8 @@ const libs = {
|
|
|
69
57
|
'@material-ui/core/utils': MUIUtils,
|
|
70
58
|
'tss-react': tssReact,
|
|
71
59
|
'tss-react/mui': tssReact,
|
|
72
|
-
'@material-ui/core':
|
|
73
|
-
|
|
74
|
-
useTheme,
|
|
75
|
-
alpha,
|
|
76
|
-
makeStyles: legacyMakeStyles,
|
|
77
|
-
},
|
|
78
|
-
'@mui/material': {
|
|
79
|
-
...lazyMap(Entries),
|
|
80
|
-
alpha,
|
|
81
|
-
useTheme,
|
|
82
|
-
createTheme,
|
|
83
|
-
},
|
|
60
|
+
'@material-ui/core': materialUiCoreLib,
|
|
61
|
+
'@mui/material': muiMaterialLib,
|
|
84
62
|
...lazyMap(Entries, '@mui/material/'),
|
|
85
63
|
...lazyMap(Entries, '@material-ui/core/'),
|
|
86
64
|
// @mui/icons-material — bundled into external plugins — reads the
|
|
@@ -95,74 +73,18 @@ const libs = {
|
|
|
95
73
|
// Overrides the lazy entry above; verified against both bundlers.
|
|
96
74
|
// GMOD/jbrowse-components#5606.
|
|
97
75
|
'@mui/material/SvgIcon': Object.assign({}, SvgIcon, { createSvgIcon }),
|
|
98
|
-
'@mui/material/styles':
|
|
99
|
-
|
|
100
|
-
makeStyles: legacyMakeStyles,
|
|
101
|
-
},
|
|
102
|
-
'@material-ui/core/styles': {
|
|
103
|
-
...MUIStyles,
|
|
104
|
-
makeStyles: legacyMakeStyles,
|
|
105
|
-
},
|
|
76
|
+
'@mui/material/styles': muiStylesLib,
|
|
77
|
+
'@material-ui/core/styles': muiStylesLib,
|
|
106
78
|
// these are core in @mui/material, but used to be in @material-ui/lab
|
|
107
79
|
'@material-ui/lab/ToggleButton': Entries.ToggleButton,
|
|
108
80
|
'@material-ui/lab/ToggleButtonGroup': Entries.ToggleButtonGroup,
|
|
109
81
|
'@material-ui/lab/Autocomplete': Entries.Autocomplete,
|
|
110
82
|
'@material-ui/lab/Alert': Entries.Alert,
|
|
111
|
-
'@material-ui/lab':
|
|
112
|
-
Alert: Entries.Alert,
|
|
113
|
-
Autocomplete: Entries.Autocomplete,
|
|
114
|
-
ToggleButton: Entries.ToggleButton,
|
|
115
|
-
ToggleButtonGroup: Entries.ToggleButtonGroup,
|
|
116
|
-
},
|
|
117
|
-
'@jbrowse/core/Plugin': Plugin,
|
|
118
|
-
'@jbrowse/core/configuration': Configuration,
|
|
119
|
-
'@jbrowse/core/util/types/mst': mstTypes,
|
|
83
|
+
'@material-ui/lab': materialUiLabLib,
|
|
120
84
|
'@jbrowse/core/ui': coreUi,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
// re-export alone held @floating-ui (~266KB) on the startup path, since eager
|
|
125
|
-
// plugin entries import that barrel. Serving it as its own module behind
|
|
126
|
-
// React.lazy keeps it off that path while leaving external plugins a way to
|
|
127
|
-
// reach it -- published apollo deep-imports this exact path, and react-msaview
|
|
128
|
-
// (bundled by tview and msaview) reads it too, so dropping it from the barrel
|
|
129
|
-
// with no ABI home is what broke them.
|
|
130
|
-
...lazyMap({ BaseTooltip: React.lazy(() => import('../ui/BaseTooltip.js')) }, '@jbrowse/core/ui/'),
|
|
131
|
-
'@jbrowse/core/util': coreUtil,
|
|
132
|
-
'@jbrowse/core/util/color': coreColor,
|
|
133
|
-
'@jbrowse/core/util/layouts': coreLayouts,
|
|
134
|
-
'@jbrowse/core/util/tracks': trackUtils,
|
|
135
|
-
'@jbrowse/core/util/Base1DViewModel': Base1DView,
|
|
136
|
-
'@jbrowse/core/util/io': coreIo,
|
|
137
|
-
'@jbrowse/core/util/mst-reflection': coreMstReflection,
|
|
138
|
-
'@jbrowse/core/util/rxjs': rxjs,
|
|
139
|
-
'@jbrowse/core/pluggableElementTypes': pluggableElementTypes,
|
|
140
|
-
'@jbrowse/core/pluggableElementTypes/ViewType': ViewType,
|
|
141
|
-
'@jbrowse/core/pluggableElementTypes/AdapterType': AdapterType,
|
|
142
|
-
'@jbrowse/core/pluggableElementTypes/DisplayType': DisplayType,
|
|
143
|
-
'@jbrowse/core/pluggableElementTypes/TrackType': TrackType,
|
|
144
|
-
'@jbrowse/core/pluggableElementTypes/WidgetType': WidgetType,
|
|
145
|
-
'@jbrowse/core/pluggableElementTypes/models': pluggableElementTypeModels,
|
|
85
|
+
// the same lazy component publicUi.tsx puts on the namespace; published
|
|
86
|
+
// react-msaview deep-imports this path, apollo reads the namespace
|
|
87
|
+
'@jbrowse/core/ui/BaseTooltip': coreUi.BaseTooltip,
|
|
146
88
|
'@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail': BaseFeatureDetail,
|
|
147
|
-
'@jbrowse/core/data_adapters/BaseAdapter': BaseAdapterExports,
|
|
148
|
-
// `adapterCache` is module-level state, so a plugin that bundles its own copy
|
|
149
|
-
// of this file gets a second cache in the RPC worker — and `freeAdapterResources`,
|
|
150
|
-
// which CoreFreeResources calls on the host's copy when the last track using
|
|
151
|
-
// an adapter config closes, never sees it. The cache is the only strong
|
|
152
|
-
// reference to an adapter (see the comment on that function), so those
|
|
153
|
-
// adapters and everything they hold live as long as the worker. Serving the
|
|
154
|
-
// module is what makes an external RPC method share the host's cache.
|
|
155
|
-
'@jbrowse/core/data_adapters/dataAdapterCache': dataAdapterCache,
|
|
156
89
|
};
|
|
157
|
-
const libsList = Object.keys(libs);
|
|
158
|
-
// make sure that all the items in the ReExports/list array (used by build
|
|
159
|
-
// systems and such) are included here, and vice versa
|
|
160
|
-
const inLibsOnly = libsList.filter(mod => !reExportsList.includes(mod));
|
|
161
|
-
if (inLibsOnly.length > 0) {
|
|
162
|
-
throw new Error(`The following modules are in the modules libs, but not the re-exports list: ${inLibsOnly.join(', ')}`);
|
|
163
|
-
}
|
|
164
|
-
const inReExportsOnly = reExportsList.filter(mod => !libsList.includes(mod));
|
|
165
|
-
if (inReExportsOnly.length) {
|
|
166
|
-
throw new Error(`The following modules are in the re-exports list, but not the modules libs: ${inReExportsOnly.join(', ')}`);
|
|
167
|
-
}
|
|
168
90
|
export default libs;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UNKNOWN, UNSUPPORTED, addAdapterGuesser, addTrackTypeGuesser, allSessionTracks, annotationTrackIds, canonicalAssemblyNames, clearFileFromCache, ensureFileHandleReady, expandLooseTrackConfig, findFileHandleIds, generateUnknownTrackConf, generateUnsupportedTrackConf, getBlob, getBlobMap, getConfAssemblyNames, getConfAssemblyNamesOrNone, getFileFromCache, getFileName, getRpcSessionId, getTrackAssemblyNames, getTrackName, guessAdapter, guessTabixIndex, guessTrackConf, guessTrackConfForLocation, guessTrackType, hasFileHandlesInCache, hideTrackGeneric, isLooseTrackConfig, isSameAssemblyName, launchToggleTrackGeneric, launchTrackGeneric, makeIndex, makeIndexType, normalizeTrackInit, openAssemblyInLinearView, openMateLabel, pickDisplayForView, restoreFileHandles, restoreFileHandlesFromSnapshot, setBlobMap, setFileInCache, showTrackGeneric, storeBlobLocation, storeFileHandleLocation, stripFileExtension, stripTrackIds, toggleTrackGeneric, viewCanDisplayTrack, viewDisplayNames, } from '../util/tracks.ts';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// The published `@jbrowse/core/util/tracks` module, listed by name. Same split,
|
|
2
|
+
// and the same reasons, as publicUtil.ts: serving `import * as trackUtils from
|
|
3
|
+
// '../util/tracks.ts'` made the external ABI a side effect of an internal
|
|
4
|
+
// module, so moving a helper out of tracks.ts silently edited what plugins get.
|
|
5
|
+
// `getParentRenderProps` left that way -- deleted as dead in-tree code, which it
|
|
6
|
+
// was, while published apollo called it on three display models.
|
|
7
|
+
//
|
|
8
|
+
// Unlike publicUi.tsx this one is served in the RPC worker too (sharedModules.ts),
|
|
9
|
+
// so it stays React-free; sharedModules.purity.test.ts fails on the graph, not
|
|
10
|
+
// on this list.
|
|
11
|
+
//
|
|
12
|
+
// So: adding a line is how a helper becomes public, and it is a decision rather
|
|
13
|
+
// than a side effect of where the code happens to live.
|
|
14
|
+
export { UNKNOWN, UNSUPPORTED, addAdapterGuesser, addTrackTypeGuesser, allSessionTracks, annotationTrackIds, canonicalAssemblyNames, clearFileFromCache, ensureFileHandleReady, expandLooseTrackConfig, findFileHandleIds, generateUnknownTrackConf, generateUnsupportedTrackConf, getBlob, getBlobMap, getConfAssemblyNames, getConfAssemblyNamesOrNone, getFileFromCache, getFileName, getRpcSessionId, getTrackAssemblyNames, getTrackName, guessAdapter, guessTabixIndex, guessTrackConf, guessTrackConfForLocation, guessTrackType, hasFileHandlesInCache, hideTrackGeneric, isLooseTrackConfig, isSameAssemblyName, launchToggleTrackGeneric, launchTrackGeneric, makeIndex, makeIndexType, normalizeTrackInit, openAssemblyInLinearView, openMateLabel, pickDisplayForView, restoreFileHandles, restoreFileHandlesFromSnapshot, setBlobMap, setFileInCache, showTrackGeneric, storeBlobLocation, storeFileHandleLocation, stripFileExtension, stripTrackIds, toggleTrackGeneric, viewCanDisplayTrack, viewDisplayNames, } from '../util/tracks.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
declare const LazyBaseTooltip: import("react").LazyExoticComponent<typeof import("../ui/BaseTooltip.tsx").default>;
|
|
3
|
+
export declare function BaseTooltip(props: ComponentProps<typeof LazyBaseTooltip>): import("react").JSX.Element;
|
|
4
|
+
export { ActionLink, AssemblySelector, BaseExportSvgDialog, CONTEXT_MENU_Z_INDEX, CascadingMenu, CascadingMenuButton, ConfirmDialog, ContextMenu, CopyToClipboardButton, Crosshairs, Dialog, EditableTypography, ErrorBanner, ErrorBar, ErrorMessage, ErrorOverlay, ExportSvgDialog, ExternalLink, FatalErrorDialog, FileDropZone, FileSelector, GRADIENT_LEGEND_HEIGHT, GRADIENT_LEGEND_SVG_AREA_WIDTH, GRADIENT_LEGEND_WIDTH, GpuFallbackButton, INLINE_MENU_ROW_WIDTH, InfoDialog, JexlFilterDialog, LAUNCH_LABEL, LEGEND_ROW_HEIGHT, LEGEND_SWATCH, LabeledCheckbox, LegendSwatchGlyph, LoadingEllipses, LoadingOverlay, LoadingProgress, LogoFull, Logomark, MAX_LEGEND_ITEMS, Menu, MonospaceTextField, NumberTextField, PinAdornment, PluggableComponent, PluggableComponents, PluggableElements, PrerenderedCanvas, ProgressChip, RefNameAutocomplete, RefNameAutocompleteEndAdornment, ReplaceCurrentViewButton, ResetToDefaultButton, ResizeHandle, SanitizedHTML, ScrollChrome, ScrollEdgeShadow, SettingsChangesTable, ShareLinkField, SingleSlider, SliderTooltip, StatusProgressBar, SubmitDialog, SubmitForm, SvgColorLegend, SvgGradientLegend, TOOLTIP_Z_INDEX, TagTextField, VIEW_HEADER_HEIGHT, VerticalScrollbar, ViewLoadingScreen, addExtensionElement, adornmentReservePx, checkboxItem, colorFwdStrand, colorInterchrom, colorLongInsert, colorLongreadInv, colorNeutralRead, colorPairLL, colorPairLR, colorPairLRDark, colorPairRL, colorPairRR, colorRevStrand, colorShortInsert, colorSplitReadInversion, colorSupplementary, colorUnmappedMate, colorUnmappedMateDark, createJBrowseBaseTheme, createJBrowseTheme, createJBrowseThemeFromArgs, defaultThemes, displayTypesWithPromotableSlots, getInputWidth, hoverBoxStyle, launchTargetsMenuItem, legendEntries, legendIsReadable, legendSwatches, makePromotableSizeMenu, makeSizeMenu, makeSizeSubMenu, matchesTrackSelector, measureLegendText, methylated5hmC, methylated5mC, misKindedPins, nonEmptyLegendSections, promotableSlotsWithoutPin, pushIntoSubMenu, pushLaunchViewMenuItem, radioItems, replaceViewAction, resolveSubMenu, sliderScale, staysOpenOnClick, tagColorPalette, unmethylated5mC, useAssemblySelection, useCopyToClipboard, useExportSvgPreference, useMouseState, useMouseTracking, useRecentLocations, wrapComponent, } from '../ui/index.ts';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// The published `@jbrowse/core/ui` module, listed by name. Same split, and the
|
|
3
|
+
// same reasons, as publicUtil.ts: an internal barrel and an external ABI want
|
|
4
|
+
// opposite things, and serving `import * as coreUi from '../ui/index.ts'` made
|
|
5
|
+
// the second a side effect of the first.
|
|
6
|
+
//
|
|
7
|
+
// That coupling has a second cost here that util does not have, and it is the
|
|
8
|
+
// one that keeps biting: **removing a component from ui/index.ts is how this
|
|
9
|
+
// codebase does lazy loading.** The barrel is imported by eagerly-evaluated
|
|
10
|
+
// plugin entries, so a re-export of a heavy component holds it on the startup
|
|
11
|
+
// path -- that is why BaseTooltip left (the line alone held ~266KB of
|
|
12
|
+
// @floating-ui). With the ABI derived from the barrel, every such fix was also a
|
|
13
|
+
// silent ABI removal. BaseTooltip's spent two releases missing from the served
|
|
14
|
+
// namespace while apollo read it there.
|
|
15
|
+
//
|
|
16
|
+
// Splitting them makes those independent. Deleting an `export … from` line in
|
|
17
|
+
// ui/index.ts now stops compiling here, so the ABI question is asked; and the
|
|
18
|
+
// answer can be `lazy()`, since **this file may serve a component the barrel
|
|
19
|
+
// does not export** -- see BaseTooltip below, which is exactly that. The eager
|
|
20
|
+
// win and the plugin surface stop being the same edit.
|
|
21
|
+
//
|
|
22
|
+
// So: adding a line is how a component becomes public, and it is a decision
|
|
23
|
+
// rather than a side effect of where the code happens to live.
|
|
24
|
+
import { Suspense, lazy } from 'react';
|
|
25
|
+
// Deliberately not re-exported by ui/index.ts -- see above. Served from its own
|
|
26
|
+
// path too ('@jbrowse/core/ui/BaseTooltip', which published react-msaview uses),
|
|
27
|
+
// and read off this namespace by published apollo; both spellings are this one
|
|
28
|
+
// component, and neither puts @floating-ui on the startup path.
|
|
29
|
+
const LazyBaseTooltip = lazy(() => import('../ui/BaseTooltip.js'));
|
|
30
|
+
export function BaseTooltip(props) {
|
|
31
|
+
return (_jsx(Suspense, { fallback: null, children: _jsx(LazyBaseTooltip, { ...props }) }));
|
|
32
|
+
}
|
|
33
|
+
export { ActionLink, AssemblySelector, BaseExportSvgDialog, CONTEXT_MENU_Z_INDEX, CascadingMenu, CascadingMenuButton, ConfirmDialog, ContextMenu, CopyToClipboardButton, Crosshairs, Dialog, EditableTypography, ErrorBanner, ErrorBar, ErrorMessage, ErrorOverlay, ExportSvgDialog, ExternalLink, FatalErrorDialog, FileDropZone, FileSelector, GRADIENT_LEGEND_HEIGHT, GRADIENT_LEGEND_SVG_AREA_WIDTH, GRADIENT_LEGEND_WIDTH, GpuFallbackButton, INLINE_MENU_ROW_WIDTH, InfoDialog, JexlFilterDialog, LAUNCH_LABEL, LEGEND_ROW_HEIGHT, LEGEND_SWATCH, LabeledCheckbox, LegendSwatchGlyph, LoadingEllipses, LoadingOverlay, LoadingProgress, LogoFull, Logomark, MAX_LEGEND_ITEMS, Menu, MonospaceTextField, NumberTextField, PinAdornment, PluggableComponent, PluggableComponents, PluggableElements, PrerenderedCanvas, ProgressChip, RefNameAutocomplete, RefNameAutocompleteEndAdornment, ReplaceCurrentViewButton, ResetToDefaultButton, ResizeHandle, SanitizedHTML, ScrollChrome, ScrollEdgeShadow, SettingsChangesTable, ShareLinkField, SingleSlider, SliderTooltip, StatusProgressBar, SubmitDialog, SubmitForm, SvgColorLegend, SvgGradientLegend, TOOLTIP_Z_INDEX, TagTextField, VIEW_HEADER_HEIGHT, VerticalScrollbar, ViewLoadingScreen, addExtensionElement, adornmentReservePx, checkboxItem, colorFwdStrand, colorInterchrom, colorLongInsert, colorLongreadInv, colorNeutralRead, colorPairLL, colorPairLR, colorPairLRDark, colorPairRL, colorPairRR, colorRevStrand, colorShortInsert, colorSplitReadInversion, colorSupplementary, colorUnmappedMate, colorUnmappedMateDark, createJBrowseBaseTheme, createJBrowseTheme, createJBrowseThemeFromArgs, defaultThemes, displayTypesWithPromotableSlots, getInputWidth, hoverBoxStyle, launchTargetsMenuItem, legendEntries, legendIsReadable, legendSwatches, makePromotableSizeMenu, makeSizeMenu, makeSizeSubMenu, matchesTrackSelector, measureLegendText, methylated5hmC, methylated5mC, misKindedPins, nonEmptyLegendSections, promotableSlotsWithoutPin, pushIntoSubMenu, pushLaunchViewMenuItem, radioItems, replaceViewAction, resolveSubMenu, sliderScale, staysOpenOnClick, tagColorPalette, unmethylated5mC, useAssemblySelection, useCopyToClipboard, useExportSvgPreference, useMouseState, useMouseTracking, useRecentLocations, wrapComponent, } from '../ui/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { AuthNeededError, BEZIER_CONNECTOR_MAX_REACH_PX, ENCODED_PREFIX, IUPAC_MOTIF_REGEX, IntervalTree, JSON_PREFIX, MAX_ZOOM_RATE_PER_MS, SCROLL_ZOOM_FACTOR_DIVISOR, SHARE_PREFIX, SimpleFeature, UNKNOWN, UNSUPPORTED, UnknownRefNameError, ZOOM_ACTIVE_WINDOW_MS, accumulateScroll, adapterConfigFromSpec, addAdapterGuesser, addAddTrackComponent, addAndShowTrack, addOrReplaceView, addTrackFromWidget, addTrackTypeGuesser, aesDecrypt, aesEncrypt, animationAllowed, applyOrderWithin, applyZoomAccum, assembleLocString, assembleLocStringRaw, avg, b64PadSuffix, bezierConnectorPath, bpSpanPx, bpToPx, bytesForRegions, calculateRedispatchRange, canReplaceView, capitalizeFirst, checkStopToken, checkStopTokenThrottled, clamp, clearFileFromCache, cmpStr, coarseStripHTML, codonTable, compareLocStrings, compareLocs, complement, complementTable, createProgressReporter, createScrollLatch, createSharedSetup, createStatusChannel, createStatusFanOut, createStatusWindow, createStopToken, createStopTokenChecker, createStopTokenRotation, dedupe, defaultCodonTable, defaultStarts, diagonalizeRegions, diffTrackConfig, doesIntersect2, downloadStatus, drawImageOntoCanvasContext, encodeSessionParam, ensureFileHandleReady, expandLooseTrackConfig, featureSpanPx, fetchAndMaybeUnzip, fetchAndMaybeUnzipText, fetchJson, fileToLocation, findFileHandleIds, findParentThat, findParentThatIs, flattenTrackConfigDelta, formatRelativeTime, fromUrlSafeB64, gatherOverlaps, generateCodonTable, generateUnknownTrackConf, generateUnsupportedTrackConf, getAssemblyHost, getBlob, getBlobMap, getBpDisplayStr, getConfAssemblyNames, getContainingDisplay, getContainingTrack, getContainingView, getDialogHost, getEnv, getFileFromCache, getFileHandle, getFileName, getFillProps, getFrame, getNotificationSink, getNumberGrouping, getPaletteHost, getPluginUpdate, getRenderingServices, getRpcHost, getRpcSessionId, getSession, getSessionServices, getStr, getStrokeProps, getTickDisplayStr, getTrackAssemblyNames, getTrackName, getZoomNormalizer, groupBy, guessAdapter, guessTrackConf, guessTrackType, hasFileHandlesInCache, hasSharedArrayBuffer, hashCode, hideTrackGeneric, installedVersionFromUrl, intersection2, isAbortException, isAbstractMenuManager, isActivelyZooming, isAppRootModel, isAuthNeededException, isBlobLocation, isDataCurrent, isDisplayModel, isElectron, isFeature, isFileHandleLocation, isFileSystemAccessSupported, isGzip, isLocalPathLocation, isLooseTrackConfig, isNode, isObject, isPalindromic, isPluginInstalled, isRootModelWithInternetAccounts, isRpcResult, isSelectionContainer, isSessionModel, isSessionServices, isSessionModelWithConfigEditing, isSessionModelWithConnectionEditing, isSessionModelWithConnections, isSessionModelWithWidgets, isSessionWithAddAssembly, isSessionWithAddSessionTrack, isSessionWithAddTracks, isSessionWithPublishTrackConf, isSessionWithDeleteTrackConf, isSessionWithSessionPlugins, isSessionWithSessionTracks, isSessionWithShareURL, isSessionWithViewReplacement, isStopToken, isStopped, isSupportedIndexingAdapter, isTrackModel, isTrackViewModel, isUriLocation, isValidTag, isViewContainer, isViewModel, iupacToRegex, linkify, locStringsToRegions, localStorageGetBoolean, localStorageGetItem, localStorageGetJSON, localStorageGetNumber, localStorageRemoveItem, localStorageSetBoolean, localStorageSetItem, localStorageSetJSON, localStorageSetNumber, makeAbortError, makeIndex, makeIndexType, makeTrackId, markStopTokenStopped, matchTrackId, max, maxFinite, measureGridWidth, measureText, mergeIntervals, mergeTrackConfig, min, minmax, normalizeWheelDelta, notEmpty, objectHash, openFeatureWidget, openPromotableDisplays, parseLocString, parseLocStringOneBased, parseMotifList, pluralize, polarToCartesian, progressLabel, rIC, radToDeg, readSessionFromDynamo, reducePrecision, registerStopTokenBroadcaster, renameRegionIfNeeded, renameRegionsIfNeeded,
|
|
1
|
+
export { AuthNeededError, BEZIER_CONNECTOR_MAX_REACH_PX, ENCODED_PREFIX, IUPAC_MOTIF_REGEX, IntervalTree, JSON_PREFIX, MAX_ZOOM_RATE_PER_MS, SCROLL_ZOOM_FACTOR_DIVISOR, SHARE_PREFIX, SimpleFeature, UNKNOWN, UNSUPPORTED, UnknownRefNameError, ZOOM_ACTIVE_WINDOW_MS, accumulateScroll, adapterConfigFromSpec, addAdapterGuesser, addAddTrackComponent, addAndShowTrack, addOrReplaceView, addTrackFromWidget, addTrackTypeGuesser, aesDecrypt, aesEncrypt, animationAllowed, applyOrderWithin, applyZoomAccum, assembleLocString, assembleLocStringRaw, avg, b64PadSuffix, bezierConnectorPath, bpSpanPx, bpToPx, bytesForRegions, calculateRedispatchRange, canReplaceView, capitalizeFirst, checkStopToken, checkStopTokenThrottled, clamp, clearFileFromCache, cmpStr, coarseStripHTML, codonTable, compareLocStrings, compareLocs, complement, complementTable, createProgressReporter, createScrollLatch, createSharedSetup, createStatusChannel, createStatusFanOut, createStatusWindow, createStopToken, createStopTokenChecker, createStopTokenRotation, dedupe, defaultCodonTable, defaultStarts, diagonalizeRegions, diffTrackConfig, doesIntersect2, downloadStatus, drawImageOntoCanvasContext, encodeSessionParam, ensureFileHandleReady, expandLooseTrackConfig, featureSpanPx, fetchAndMaybeUnzip, fetchAndMaybeUnzipText, fetchJson, fileToLocation, findFileHandleIds, findParentThat, findParentThatIs, flattenTrackConfigDelta, formatRelativeTime, fromUrlSafeB64, gatherOverlaps, generateCodonTable, generateUnknownTrackConf, generateUnsupportedTrackConf, getAssemblyHost, getBlob, getBlobMap, getBpDisplayStr, getConfAssemblyNames, getContainingDisplay, getContainingTrack, getContainingView, getDialogHost, getEnv, launchOrReplaceView, getFileFromCache, getFileHandle, getFileName, getFillProps, getFrame, getNotificationSink, getNumberGrouping, getPaletteHost, getPluginUpdate, getRenderingServices, getRpcHost, getRpcSessionId, getSession, getSessionServices, getStr, getStrokeProps, getTickDisplayStr, getTrackAssemblyNames, getTrackName, getZoomNormalizer, groupBy, guessAdapter, guessTrackConf, guessTrackType, hasFileHandlesInCache, hasSharedArrayBuffer, hashCode, hideTrackGeneric, installedVersionFromUrl, intersection2, isAbortException, isAbstractMenuManager, isActivelyZooming, isAppRootModel, isAuthNeededException, isBlobLocation, isDataCurrent, isDisplayModel, isElectron, isFeature, isFileHandleLocation, isFileSystemAccessSupported, isGeneLikeType, isGzip, isLocalPathLocation, isLooseTrackConfig, isNode, isObject, isPalindromic, isPluginInstalled, isRootModelWithInternetAccounts, isRpcResult, isSelectionContainer, isSequenceMatchType, isSessionModel, isSessionServices, isSessionModelWithConfigEditing, isSessionModelWithConnectionEditing, isSessionModelWithConnections, isSessionModelWithWidgets, isSessionWithAddAssembly, isSessionWithAddSessionTrack, isSessionWithAddTracks, isSessionWithPublishTrackConf, isSessionWithDeleteTrackConf, isSessionWithSessionPlugins, isSessionWithSessionTracks, isSessionWithShareURL, isSessionWithViewReplacement, isStopToken, isStopped, isSupportedIndexingAdapter, isTrackModel, isTrackViewModel, isUriLocation, isValidTag, isViewContainer, isViewModel, iupacToRegex, linkify, locStringsToRegions, localStorageGetBoolean, localStorageGetItem, localStorageGetJSON, localStorageGetNumber, localStorageRemoveItem, localStorageSetBoolean, localStorageSetItem, localStorageSetJSON, localStorageSetNumber, makeAbortError, makeIndex, makeIndexType, makeTrackId, markStopTokenStopped, matchTrackId, max, maxFinite, measureGridWidth, measureText, mergeIntervals, mergeTrackConfig, min, minmax, normalizeWheelDelta, notEmpty, objectHash, openFeatureWidget, openPromotableDisplays, parseLocString, parseLocStringOneBased, parseMotifList, pluralize, polarToCartesian, progressLabel, rIC, radToDeg, readSessionFromDynamo, reducePrecision, registerStopTokenBroadcaster, renameRegionIfNeeded, renameRegionsIfNeeded, reorder, reorderWithin, resolvePlugin, resolveSelectedIds, restoreFileHandles, restoreFileHandlesFromSnapshot, revcom, reverse, reverseComplementIupac, revlist, saveAs, scheduleDetachedDestroy, saveSvgAsImage, selectNamedRegions, setBlobMap, setFileInCache, setNumberGrouping, sha256, sha256Base64, sha256Base64Url, shareEndpoint, shorten, shorten2, showTrackGeneric, springAnimate, statusFraction, statusMessageText, statusProgressLabel, statusReading, stitch, stopStopToken, stopTokenSignal, storeBlobLocation, storeFileHandle, storeFileHandleLocation, stringify, stripAlpha, stripFileExtension, stripTrackIds, sum, svgHtmlToPngBlob, tagRegex, testAdapter, toBase64, toBase64Url, toLocale, toUrlSafeB64, toggleTrackGeneric, truncateMiddle, updateStatus, useDebounce, useLocalStorage, useWidthSetter, verifyPermission, wheelFrameElapsedMs, wheelZoomAccum, withProgress, withStopTokenCheck, withStopTokenSignal, } from '../util/index.ts';
|
|
@@ -22,7 +22,11 @@
|
|
|
22
22
|
// by the time this was written. A list that has to be edited by hand cannot
|
|
23
23
|
// drift that way.
|
|
24
24
|
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
|
|
25
|
+
// '@jbrowse/core/ui' (publicUi.tsx, 128) and '@jbrowse/core/util/tracks'
|
|
26
|
+
// (publicTracks.ts, 51) are split the same way now, and each had already lost a
|
|
27
|
+
// name to the coupling: BaseTooltip and getParentRenderProps. publicUi.tsx also
|
|
28
|
+
// carries the part this file has no use for -- an ABI file may serve a component
|
|
29
|
+
// its barrel does not export, behind lazy(). That is what makes "take it out of
|
|
30
|
+
// the barrel so it leaves the startup path" a different edit from "stop serving
|
|
31
|
+
// it to plugins", which here they were not.
|
|
32
|
+
export { AuthNeededError, BEZIER_CONNECTOR_MAX_REACH_PX, ENCODED_PREFIX, IUPAC_MOTIF_REGEX, IntervalTree, JSON_PREFIX, MAX_ZOOM_RATE_PER_MS, SCROLL_ZOOM_FACTOR_DIVISOR, SHARE_PREFIX, SimpleFeature, UNKNOWN, UNSUPPORTED, UnknownRefNameError, ZOOM_ACTIVE_WINDOW_MS, accumulateScroll, adapterConfigFromSpec, addAdapterGuesser, addAddTrackComponent, addAndShowTrack, addOrReplaceView, addTrackFromWidget, addTrackTypeGuesser, aesDecrypt, aesEncrypt, animationAllowed, applyOrderWithin, applyZoomAccum, assembleLocString, assembleLocStringRaw, avg, b64PadSuffix, bezierConnectorPath, bpSpanPx, bpToPx, bytesForRegions, calculateRedispatchRange, canReplaceView, capitalizeFirst, checkStopToken, checkStopTokenThrottled, clamp, clearFileFromCache, cmpStr, coarseStripHTML, codonTable, compareLocStrings, compareLocs, complement, complementTable, createProgressReporter, createScrollLatch, createSharedSetup, createStatusChannel, createStatusFanOut, createStatusWindow, createStopToken, createStopTokenChecker, createStopTokenRotation, dedupe, defaultCodonTable, defaultStarts, diagonalizeRegions, diffTrackConfig, doesIntersect2, downloadStatus, drawImageOntoCanvasContext, encodeSessionParam, ensureFileHandleReady, expandLooseTrackConfig, featureSpanPx, fetchAndMaybeUnzip, fetchAndMaybeUnzipText, fetchJson, fileToLocation, findFileHandleIds, findParentThat, findParentThatIs, flattenTrackConfigDelta, formatRelativeTime, fromUrlSafeB64, gatherOverlaps, generateCodonTable, generateUnknownTrackConf, generateUnsupportedTrackConf, getAssemblyHost, getBlob, getBlobMap, getBpDisplayStr, getConfAssemblyNames, getContainingDisplay, getContainingTrack, getContainingView, getDialogHost, getEnv, launchOrReplaceView, getFileFromCache, getFileHandle, getFileName, getFillProps, getFrame, getNotificationSink, getNumberGrouping, getPaletteHost, getPluginUpdate, getRenderingServices, getRpcHost, getRpcSessionId, getSession, getSessionServices, getStr, getStrokeProps, getTickDisplayStr, getTrackAssemblyNames, getTrackName, getZoomNormalizer, groupBy, guessAdapter, guessTrackConf, guessTrackType, hasFileHandlesInCache, hasSharedArrayBuffer, hashCode, hideTrackGeneric, installedVersionFromUrl, intersection2, isAbortException, isAbstractMenuManager, isActivelyZooming, isAppRootModel, isAuthNeededException, isBlobLocation, isDataCurrent, isDisplayModel, isElectron, isFeature, isFileHandleLocation, isFileSystemAccessSupported, isGeneLikeType, isGzip, isLocalPathLocation, isLooseTrackConfig, isNode, isObject, isPalindromic, isPluginInstalled, isRootModelWithInternetAccounts, isRpcResult, isSelectionContainer, isSequenceMatchType, isSessionModel, isSessionServices, isSessionModelWithConfigEditing, isSessionModelWithConnectionEditing, isSessionModelWithConnections, isSessionModelWithWidgets, isSessionWithAddAssembly, isSessionWithAddSessionTrack, isSessionWithAddTracks, isSessionWithPublishTrackConf, isSessionWithDeleteTrackConf, isSessionWithSessionPlugins, isSessionWithSessionTracks, isSessionWithShareURL, isSessionWithViewReplacement, isStopToken, isStopped, isSupportedIndexingAdapter, isTrackModel, isTrackViewModel, isUriLocation, isValidTag, isViewContainer, isViewModel, iupacToRegex, linkify, locStringsToRegions, localStorageGetBoolean, localStorageGetItem, localStorageGetJSON, localStorageGetNumber, localStorageRemoveItem, localStorageSetBoolean, localStorageSetItem, localStorageSetJSON, localStorageSetNumber, makeAbortError, makeIndex, makeIndexType, makeTrackId, markStopTokenStopped, matchTrackId, max, maxFinite, measureGridWidth, measureText, mergeIntervals, mergeTrackConfig, min, minmax, normalizeWheelDelta, notEmpty, objectHash, openFeatureWidget, openPromotableDisplays, parseLocString, parseLocStringOneBased, parseMotifList, pluralize, polarToCartesian, progressLabel, rIC, radToDeg, readSessionFromDynamo, reducePrecision, registerStopTokenBroadcaster, renameRegionIfNeeded, renameRegionsIfNeeded, reorder, reorderWithin, resolvePlugin, resolveSelectedIds, restoreFileHandles, restoreFileHandlesFromSnapshot, revcom, reverse, reverseComplementIupac, revlist, saveAs, scheduleDetachedDestroy, saveSvgAsImage, selectNamedRegions, setBlobMap, setFileInCache, setNumberGrouping, sha256, sha256Base64, sha256Base64Url, shareEndpoint, shorten, shorten2, showTrackGeneric, springAnimate, statusFraction, statusMessageText, statusProgressLabel, statusReading, stitch, stopStopToken, stopTokenSignal, storeBlobLocation, storeFileHandle, storeFileHandleLocation, stringify, stripAlpha, stripFileExtension, stripTrackIds, sum, svgHtmlToPngBlob, tagRegex, testAdapter, toBase64, toBase64Url, toLocale, toUrlSafeB64, toggleTrackGeneric, truncateMiddle, updateStatus, useDebounce, useLocalStorage, useWidthSetter, verifyPermission, wheelFrameElapsedMs, wheelZoomAccum, withProgress, withStopTokenCheck, withStopTokenSignal, } from '../util/index.js';
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as mst from '@jbrowse/mobx-state-tree';
|
|
3
|
+
import * as mobx from 'mobx';
|
|
4
|
+
import * as ReactJSXRuntime from 'react/jsx-runtime';
|
|
5
|
+
import Plugin from '../Plugin.ts';
|
|
6
|
+
import * as Configuration from '../configuration/index.ts';
|
|
7
|
+
import * as BaseAdapterExports from '../data_adapters/BaseAdapter/index.ts';
|
|
8
|
+
import * as dataAdapterCache from '../data_adapters/dataAdapterCache.ts';
|
|
9
|
+
import AdapterType from '../pluggableElementTypes/AdapterType.ts';
|
|
10
|
+
import DisplayType from '../pluggableElementTypes/DisplayType.ts';
|
|
11
|
+
import TrackType from '../pluggableElementTypes/TrackType.ts';
|
|
12
|
+
import ViewType from '../pluggableElementTypes/ViewType.ts';
|
|
13
|
+
import WidgetType from '../pluggableElementTypes/WidgetType.ts';
|
|
14
|
+
import * as pluggableElementTypes from '../pluggableElementTypes/index.ts';
|
|
15
|
+
import * as pluggableElementTypeModels from '../pluggableElementTypes/models/index.ts';
|
|
16
|
+
import * as corePalette from '../ui/palette.ts';
|
|
17
|
+
import * as coreTheme from '../ui/theme.ts';
|
|
18
|
+
import * as coreColor from '../util/color/index.ts';
|
|
19
|
+
import * as coreIo from '../util/io/index.ts';
|
|
20
|
+
import * as coreLayouts from '../util/layouts/index.ts';
|
|
21
|
+
import * as coreMstReflection from '../util/mst-reflection.ts';
|
|
22
|
+
import * as rxjs from '../util/rxjs.ts';
|
|
23
|
+
import * as mstTypes from '../util/types/mst.ts';
|
|
24
|
+
import * as trackUtils from './publicTracks.ts';
|
|
25
|
+
import * as coreUtil from './publicUtil.ts';
|
|
26
|
+
export declare const sharedModules: {
|
|
27
|
+
mobx: typeof mobx;
|
|
28
|
+
'@jbrowse/mobx-state-tree': typeof mst;
|
|
29
|
+
'mobx-state-tree': typeof mst;
|
|
30
|
+
react: typeof React;
|
|
31
|
+
'react/jsx-runtime': typeof ReactJSXRuntime;
|
|
32
|
+
'@jbrowse/core/Plugin': typeof Plugin;
|
|
33
|
+
'@jbrowse/core/configuration': typeof Configuration;
|
|
34
|
+
'@jbrowse/core/util/types/mst': typeof mstTypes;
|
|
35
|
+
'@jbrowse/core/ui/theme': typeof coreTheme;
|
|
36
|
+
'@jbrowse/core/ui/palette': typeof corePalette;
|
|
37
|
+
'@jbrowse/core/util': typeof coreUtil;
|
|
38
|
+
'@jbrowse/core/util/color': typeof coreColor;
|
|
39
|
+
'@jbrowse/core/util/layouts': typeof coreLayouts;
|
|
40
|
+
'@jbrowse/core/util/tracks': typeof trackUtils;
|
|
41
|
+
'@jbrowse/core/util/Base1DViewModel': mst.IModelType<{
|
|
42
|
+
id: mst.IOptionalIType<mst.ISimpleType<string>, [undefined]>;
|
|
43
|
+
displayedRegions: mst.IOptionalIType<mst.IType<import("../util/index.ts").Region[], import("../util/index.ts").Region[], import("../util/index.ts").Region[]>, [undefined]>;
|
|
44
|
+
bpPerPx: mst.IType<number | undefined, number, number>;
|
|
45
|
+
offsetPx: mst.IType<number | undefined, number, number>;
|
|
46
|
+
minimumBlockWidth: mst.IOptionalIType<mst.ISimpleType<number>, [undefined]>;
|
|
47
|
+
}, {
|
|
48
|
+
volatileWidth: number;
|
|
49
|
+
} & {
|
|
50
|
+
setDisplayedRegions(regions: import("../util/index.ts").Region[]): void;
|
|
51
|
+
setBpPerPx(val: number): void;
|
|
52
|
+
setVolatileWidth(width: number): void;
|
|
53
|
+
} & {
|
|
54
|
+
readonly width: number;
|
|
55
|
+
readonly minBpPerPx: number;
|
|
56
|
+
readonly maxBpPerPx: number;
|
|
57
|
+
readonly assemblyNames: string[];
|
|
58
|
+
readonly displayedRegionsTotalPx: number;
|
|
59
|
+
readonly maxOffset: number;
|
|
60
|
+
readonly minOffset: number;
|
|
61
|
+
readonly totalBp: number;
|
|
62
|
+
} & {
|
|
63
|
+
readonly dynamicBlocks: import("../util/blockTypes.ts").BlockSet;
|
|
64
|
+
readonly staticBlocks: import("../util/blockTypes.ts").BlockSet;
|
|
65
|
+
readonly currBp: number;
|
|
66
|
+
} & {
|
|
67
|
+
pxToBp(px: number): import("../util/Base1DUtils.ts").PxToBpResult;
|
|
68
|
+
bpToPx(args: {
|
|
69
|
+
refName: string;
|
|
70
|
+
coord: number;
|
|
71
|
+
displayedRegionIndex?: number;
|
|
72
|
+
}): number | undefined;
|
|
73
|
+
} & {
|
|
74
|
+
showAllRegions(): void;
|
|
75
|
+
zoomOut(): void;
|
|
76
|
+
zoomIn(): void;
|
|
77
|
+
zoomTo(bpPerPx: number, offset?: any): number;
|
|
78
|
+
scrollTo(offsetPx: number): number;
|
|
79
|
+
centerAt(coord: number, refName: string | undefined, displayedRegionIndex: number): void;
|
|
80
|
+
scroll(distance: number): number;
|
|
81
|
+
} & {
|
|
82
|
+
moveTo(start?: import("../util/Base1DUtils.ts").BpOffset, end?: import("../util/Base1DUtils.ts").BpOffset): void;
|
|
83
|
+
}, mst._NotCustomized, mst._NotCustomized>;
|
|
84
|
+
'@jbrowse/core/util/io': typeof coreIo;
|
|
85
|
+
'@jbrowse/core/util/mst-reflection': typeof coreMstReflection;
|
|
86
|
+
'@jbrowse/core/util/rxjs': typeof rxjs;
|
|
87
|
+
'@jbrowse/core/pluggableElementTypes': typeof pluggableElementTypes;
|
|
88
|
+
'@jbrowse/core/pluggableElementTypes/ViewType': typeof ViewType;
|
|
89
|
+
'@jbrowse/core/pluggableElementTypes/AdapterType': typeof AdapterType;
|
|
90
|
+
'@jbrowse/core/pluggableElementTypes/DisplayType': typeof DisplayType;
|
|
91
|
+
'@jbrowse/core/pluggableElementTypes/TrackType': typeof TrackType;
|
|
92
|
+
'@jbrowse/core/pluggableElementTypes/WidgetType': typeof WidgetType;
|
|
93
|
+
'@jbrowse/core/pluggableElementTypes/models': typeof pluggableElementTypeModels;
|
|
94
|
+
'@jbrowse/core/data_adapters/BaseAdapter': typeof BaseAdapterExports;
|
|
95
|
+
'@jbrowse/core/data_adapters/dataAdapterCache': typeof dataAdapterCache;
|
|
96
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// eslint-disable-next-line no-restricted-imports
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as mst from '@jbrowse/mobx-state-tree';
|
|
4
|
+
import * as mobx from 'mobx';
|
|
5
|
+
import * as ReactJSXRuntime from 'react/jsx-runtime';
|
|
6
|
+
import Plugin from '../Plugin.js';
|
|
7
|
+
import * as Configuration from '../configuration/index.js';
|
|
8
|
+
import * as BaseAdapterExports from '../data_adapters/BaseAdapter/index.js';
|
|
9
|
+
import * as dataAdapterCache from '../data_adapters/dataAdapterCache.js';
|
|
10
|
+
import AdapterType from '../pluggableElementTypes/AdapterType.js';
|
|
11
|
+
import DisplayType from '../pluggableElementTypes/DisplayType.js';
|
|
12
|
+
import TrackType from '../pluggableElementTypes/TrackType.js';
|
|
13
|
+
import ViewType from '../pluggableElementTypes/ViewType.js';
|
|
14
|
+
import WidgetType from '../pluggableElementTypes/WidgetType.js';
|
|
15
|
+
import * as pluggableElementTypes from '../pluggableElementTypes/index.js';
|
|
16
|
+
import * as pluggableElementTypeModels from '../pluggableElementTypes/models/index.js';
|
|
17
|
+
import * as corePalette from '../ui/palette.js';
|
|
18
|
+
import * as coreTheme from '../ui/theme.js';
|
|
19
|
+
import Base1DView from '../util/Base1DViewModel.js';
|
|
20
|
+
import * as coreColor from '../util/color/index.js';
|
|
21
|
+
import * as coreIo from '../util/io/index.js';
|
|
22
|
+
import * as coreLayouts from '../util/layouts/index.js';
|
|
23
|
+
import * as coreMstReflection from '../util/mst-reflection.js';
|
|
24
|
+
import * as rxjs from '../util/rxjs.js';
|
|
25
|
+
import * as mstTypes from '../util/types/mst.js';
|
|
26
|
+
import * as trackUtils from './publicTracks.js';
|
|
27
|
+
import * as coreUtil from './publicUtil.js';
|
|
28
|
+
// The part of the runtime plugin ABI that is not UI: what a plugin evaluated in
|
|
29
|
+
// the RPC worker can actually use. modules.ts adds the UI on top of it for the
|
|
30
|
+
// main thread; workerModules.ts fills the same keys with a stub instead.
|
|
31
|
+
export const sharedModules = {
|
|
32
|
+
mobx,
|
|
33
|
+
'@jbrowse/mobx-state-tree': mst,
|
|
34
|
+
'mobx-state-tree': mst,
|
|
35
|
+
react: React,
|
|
36
|
+
'react/jsx-runtime': ReactJSXRuntime,
|
|
37
|
+
'@jbrowse/core/Plugin': Plugin,
|
|
38
|
+
'@jbrowse/core/configuration': Configuration,
|
|
39
|
+
'@jbrowse/core/util/types/mst': mstTypes,
|
|
40
|
+
'@jbrowse/core/ui/theme': coreTheme,
|
|
41
|
+
'@jbrowse/core/ui/palette': corePalette,
|
|
42
|
+
'@jbrowse/core/util': coreUtil,
|
|
43
|
+
'@jbrowse/core/util/color': coreColor,
|
|
44
|
+
'@jbrowse/core/util/layouts': coreLayouts,
|
|
45
|
+
'@jbrowse/core/util/tracks': trackUtils,
|
|
46
|
+
'@jbrowse/core/util/Base1DViewModel': Base1DView,
|
|
47
|
+
'@jbrowse/core/util/io': coreIo,
|
|
48
|
+
'@jbrowse/core/util/mst-reflection': coreMstReflection,
|
|
49
|
+
'@jbrowse/core/util/rxjs': rxjs,
|
|
50
|
+
'@jbrowse/core/pluggableElementTypes': pluggableElementTypes,
|
|
51
|
+
'@jbrowse/core/pluggableElementTypes/ViewType': ViewType,
|
|
52
|
+
'@jbrowse/core/pluggableElementTypes/AdapterType': AdapterType,
|
|
53
|
+
'@jbrowse/core/pluggableElementTypes/DisplayType': DisplayType,
|
|
54
|
+
'@jbrowse/core/pluggableElementTypes/TrackType': TrackType,
|
|
55
|
+
'@jbrowse/core/pluggableElementTypes/WidgetType': WidgetType,
|
|
56
|
+
'@jbrowse/core/pluggableElementTypes/models': pluggableElementTypeModels,
|
|
57
|
+
'@jbrowse/core/data_adapters/BaseAdapter': BaseAdapterExports,
|
|
58
|
+
// `adapterCache` is module-level state, so a plugin that bundles its own copy
|
|
59
|
+
// of this file gets a second cache in the RPC worker — and
|
|
60
|
+
// `freeAdapterResources`, which CoreFreeResources calls on the host's copy
|
|
61
|
+
// when the last track using an adapter config closes, never sees it. The
|
|
62
|
+
// cache is the only strong reference to an adapter, so those adapters and
|
|
63
|
+
// everything they hold live as long as the worker. Serving the module is what
|
|
64
|
+
// makes an external RPC method share the host's cache.
|
|
65
|
+
'@jbrowse/core/data_adapters/dataAdapterCache': dataAdapterCache,
|
|
66
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The RPC worker's stand-in for a UI entry of the plugin ABI; why, and why a
|
|
2
|
+
// namespace gets real own keys: agent-docs/reference/EAGER_BUNDLE.md.
|
|
3
|
+
export const uiStub = new Proxy(function stubTarget() { }, {
|
|
4
|
+
get: (_, key) => key === 'then' ? undefined : key === Symbol.toPrimitive ? () => '' : uiStub,
|
|
5
|
+
has: () => true,
|
|
6
|
+
apply: () => uiStub,
|
|
7
|
+
construct: () => uiStub,
|
|
8
|
+
});
|
|
9
|
+
export function uiNamespace(names) {
|
|
10
|
+
return Object.fromEntries(names.map(name => [name, uiStub]));
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import reExportsList from './list.js';
|
|
2
|
+
import { sharedModules } from './sharedModules.js';
|
|
3
|
+
import { uiNamespace, uiStub } from './uiStub.js';
|
|
4
|
+
import { WORKER_NAMESPACE_NAMES } from './workerNamespaceNames.js';
|
|
5
|
+
// Same keys as modules.ts; UI entries stubbed. agent-docs/reference/EAGER_BUNDLE.md
|
|
6
|
+
const libs = {
|
|
7
|
+
...Object.fromEntries(reExportsList.map(name => [
|
|
8
|
+
name,
|
|
9
|
+
name in WORKER_NAMESPACE_NAMES
|
|
10
|
+
? uiNamespace(WORKER_NAMESPACE_NAMES[name])
|
|
11
|
+
: uiStub,
|
|
12
|
+
])),
|
|
13
|
+
...sharedModules,
|
|
14
|
+
};
|
|
15
|
+
export default libs;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const REACT_DOM_NAMES: string[];
|
|
2
|
+
export declare const REACT_DOM_CLIENT_NAMES: string[];
|
|
3
|
+
export declare const MOBX_REACT_NAMES: string[];
|
|
4
|
+
export declare const MUI_UTILS_NAMES: string[];
|
|
5
|
+
export declare const MUI_STYLES_NAMES: string[];
|
|
6
|
+
export declare const TSS_REACT_NAMES: string[];
|
|
7
|
+
export declare const MATERIAL_UI_LAB_NAMES: string[];
|
|
8
|
+
export declare const MUI_MATERIAL_NAMES: string[];
|
|
9
|
+
export declare const MATERIAL_UI_CORE_NAMES: string[];
|
|
10
|
+
export declare const CORE_UI_NAMES: string[];
|
|
11
|
+
export declare const WORKER_NAMESPACE_NAMES: Record<string, readonly string[]>;
|