@jbrowse/core 2.16.1 → 2.18.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.
- package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +4 -8
- package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +2 -3
- package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +2 -3
- package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +22 -25
- package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +2 -2
- package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +6 -8
- package/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +3 -4
- package/BaseFeatureWidget/BaseFeatureDetail/index.js +5 -9
- package/BaseFeatureWidget/BaseFeatureDetail/util.js +0 -5
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +0 -7
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +1 -7
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +3 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +24 -33
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +3 -4
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +3 -6
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/hooks.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/hooks.js +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +2 -35
- package/BaseFeatureWidget/SequenceFeatureDetails/model.js +19 -44
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +3 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +5 -6
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +0 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +0 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +1 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/util.js +1 -5
- package/BaseFeatureWidget/stateModelFactory.d.ts +3 -94
- package/BaseFeatureWidget/stateModelFactory.js +3 -73
- package/BaseFeatureWidget/types.d.ts +3 -3
- package/BaseFeatureWidget/util.js +0 -4
- package/CorePlugin.d.ts +1 -1
- package/CorePlugin.js +2 -5
- package/Plugin.d.ts +2 -5
- package/Plugin.js +0 -3
- package/PluginLoader.d.ts +1 -1
- package/PluginLoader.js +2 -19
- package/PluginManager.d.ts +15 -31
- package/PluginManager.js +11 -39
- package/ReExports/DataGrid.js +0 -1
- package/ReExports/list.d.ts +0 -5
- package/ReExports/list.js +0 -5
- package/ReExports/modules.d.ts +22 -20
- package/ReExports/modules.js +16 -25
- package/TextSearch/BaseResults.d.ts +3 -3
- package/TextSearch/TextSearchManager.d.ts +4 -16
- package/TextSearch/TextSearchManager.js +1 -13
- package/assemblyManager/assembly.d.ts +5 -100
- package/assemblyManager/assembly.js +27 -143
- package/assemblyManager/assemblyConfigSchema.d.ts +1 -34
- package/assemblyManager/assemblyConfigSchema.js +12 -46
- package/assemblyManager/assemblyManager.d.ts +7 -57
- package/assemblyManager/assemblyManager.js +2 -57
- package/configuration/configurationSchema.d.ts +4 -4
- package/configuration/configurationSchema.js +2 -14
- package/configuration/configurationSlot.d.ts +1 -12
- package/configuration/configurationSlot.js +2 -32
- package/configuration/index.d.ts +2 -2
- package/configuration/index.js +2 -2
- package/configuration/types.d.ts +2 -3
- package/configuration/util.d.ts +1 -25
- package/configuration/util.js +19 -56
- package/data_adapters/BaseAdapter/BaseAdapter.d.ts +4 -14
- package/data_adapters/BaseAdapter/BaseAdapter.js +1 -10
- package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +10 -114
- package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +13 -79
- package/data_adapters/BaseAdapter/BaseOptions.d.ts +2 -2
- package/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +2 -2
- package/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +3 -6
- package/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +3 -3
- package/data_adapters/BaseAdapter/RegionsAdapter.d.ts +3 -3
- package/data_adapters/BaseAdapter/index.d.ts +4 -4
- package/data_adapters/BaseAdapter/types.d.ts +2 -2
- package/data_adapters/BaseAdapter/util.d.ts +6 -6
- package/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +2 -1
- package/data_adapters/CytobandAdapter/CytobandAdapter.js +11 -12
- package/data_adapters/CytobandAdapter/configSchema.d.ts +0 -3
- package/data_adapters/CytobandAdapter/configSchema.js +1 -7
- package/data_adapters/CytobandAdapter/index.d.ts +1 -1
- package/data_adapters/CytobandAdapter/index.js +1 -1
- package/data_adapters/dataAdapterCache.d.ts +4 -21
- package/data_adapters/dataAdapterCache.js +0 -19
- package/package.json +4 -5
- package/pluggableElementTypes/AdapterType.d.ts +2 -2
- package/pluggableElementTypes/AddTrackWorkflowType.d.ts +2 -2
- package/pluggableElementTypes/ConnectionType.d.ts +3 -3
- package/pluggableElementTypes/DisplayType.d.ts +3 -9
- package/pluggableElementTypes/InternetAccountType.d.ts +2 -2
- package/pluggableElementTypes/PluggableElementBase.d.ts +1 -1
- package/pluggableElementTypes/PluggableElementBase.js +2 -2
- package/pluggableElementTypes/RpcMethodType.d.ts +5 -11
- package/pluggableElementTypes/RpcMethodType.js +7 -19
- package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +9 -0
- package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +35 -0
- package/pluggableElementTypes/TextSearchAdapterType.d.ts +2 -2
- package/pluggableElementTypes/TrackType.d.ts +3 -3
- package/pluggableElementTypes/ViewType.d.ts +3 -3
- package/pluggableElementTypes/WidgetType.d.ts +4 -3
- package/pluggableElementTypes/index.d.ts +11 -11
- package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -29
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +1 -28
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +3 -83
- package/pluggableElementTypes/models/BaseDisplayModel.js +2 -69
- package/pluggableElementTypes/models/BaseTrackModel.d.ts +4 -46
- package/pluggableElementTypes/models/BaseTrackModel.js +0 -58
- package/pluggableElementTypes/models/BaseViewModel.d.ts +2 -42
- package/pluggableElementTypes/models/BaseViewModel.js +2 -38
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -119
- package/pluggableElementTypes/models/InternetAccountModel.js +3 -123
- package/pluggableElementTypes/models/baseConnectionConfig.d.ts +0 -6
- package/pluggableElementTypes/models/baseConnectionConfig.js +1 -13
- package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +0 -15
- package/pluggableElementTypes/models/baseInternetAccountConfig.js +1 -23
- package/pluggableElementTypes/models/baseTrackConfig.d.ts +2 -53
- package/pluggableElementTypes/models/baseTrackConfig.js +1 -58
- package/pluggableElementTypes/renderers/BoxRendererType.d.ts +7 -15
- package/pluggableElementTypes/renderers/BoxRendererType.js +3 -14
- package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +3 -2
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +1 -6
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +6 -21
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +2 -25
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +5 -47
- package/pluggableElementTypes/renderers/FeatureRendererType.js +15 -68
- package/pluggableElementTypes/renderers/RendererType.d.ts +4 -8
- package/pluggableElementTypes/renderers/RendererType.js +1 -5
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +2 -2
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +3 -12
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -1
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +6 -14
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +9 -49
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +7 -57
- package/pluggableElementTypes/renderers/index.d.ts +1 -1
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +1 -3
- package/rpc/BaseRpcDriver.d.ts +3 -4
- package/rpc/BaseRpcDriver.js +20 -80
- package/rpc/MainThreadRpcDriver.d.ts +3 -7
- package/rpc/MainThreadRpcDriver.js +0 -5
- package/rpc/RpcManager.d.ts +3 -3
- package/rpc/RpcManager.js +2 -4
- package/rpc/WebWorkerRpcDriver.d.ts +3 -2
- package/rpc/WebWorkerRpcDriver.js +2 -13
- package/rpc/baseRpcConfig.d.ts +0 -3
- package/rpc/baseRpcConfig.js +1 -7
- package/rpc/configSchema.d.ts +0 -6
- package/rpc/configSchema.js +2 -11
- package/rpc/mainThreadRpcConfig.js +1 -7
- package/rpc/methods/CoreFreeResources.d.ts +0 -6
- package/rpc/methods/CoreFreeResources.js +2 -9
- package/rpc/methods/CoreGetFeatureDensityStats.d.ts +4 -5
- package/rpc/methods/CoreGetFeatureDensityStats.js +1 -1
- package/rpc/methods/CoreGetFeatureDetails.d.ts +2 -7
- package/rpc/methods/CoreGetFeatureDetails.js +0 -5
- package/rpc/methods/CoreGetFeatures.d.ts +5 -5
- package/rpc/methods/CoreGetFeatures.js +4 -5
- package/rpc/methods/CoreGetFileInfo.d.ts +1 -2
- package/rpc/methods/CoreGetFileInfo.js +1 -1
- package/rpc/methods/CoreGetMetadata.d.ts +1 -2
- package/rpc/methods/CoreGetMetadata.js +1 -1
- package/rpc/methods/CoreGetRefNames.d.ts +1 -2
- package/rpc/methods/CoreGetRefNames.js +1 -1
- package/rpc/methods/CoreRender.d.ts +2 -6
- package/rpc/methods/CoreRender.js +5 -7
- package/rpc/methods/util.d.ts +3 -3
- package/rpc/methods/util.js +0 -1
- package/rpc/webWorkerRpcConfig.js +1 -7
- package/stories/JBrowseCore.stories.d.ts +1 -1
- package/stories/JBrowseCore.stories.js +3 -3
- package/stories/examples/WithSequencePanel.d.ts +1 -1
- package/stories/examples/WithSequencePanel.js +3 -3
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AppLogo.d.ts +1 -1
- package/ui/AppLogo.js +0 -2
- package/ui/AssemblySelector.d.ts +2 -2
- package/ui/AssemblySelector.js +5 -5
- package/ui/BaseTooltip.js +2 -6
- package/ui/CascadingMenu.d.ts +2 -2
- package/ui/CascadingMenu.js +3 -4
- package/ui/CascadingMenuButton.d.ts +1 -1
- package/ui/CascadingMenuButton.js +1 -1
- package/ui/ColorPicker.js +1 -7
- package/ui/Dialog.d.ts +1 -1
- package/ui/Dialog.js +2 -6
- package/ui/DropDownMenu.d.ts +1 -1
- package/ui/DropDownMenu.js +2 -2
- package/ui/EditableTypography.d.ts +1 -1
- package/ui/EditableTypography.js +1 -5
- package/ui/ErrorBoundary.d.ts +2 -1
- package/ui/ErrorMessage.js +2 -9
- package/ui/ErrorMessageStackTraceDialog.js +2 -10
- package/ui/FactoryResetDialog.js +1 -1
- package/ui/FatalErrorDialog.js +1 -1
- package/ui/FileSelector/FileSelector.d.ts +4 -3
- package/ui/FileSelector/FileSelector.js +40 -40
- package/ui/FileSelector/LocalFileChooser.d.ts +1 -1
- package/ui/FileSelector/LocalFileChooser.js +0 -1
- package/ui/FileSelector/UrlChooser.d.ts +4 -3
- package/ui/FileSelector/UrlChooser.js +6 -2
- package/ui/Icons.d.ts +1 -1
- package/ui/Icons.js +1 -7
- package/ui/LoadingEllipses.d.ts +1 -1
- package/ui/LoadingEllipses.js +3 -3
- package/ui/Menu.d.ts +1 -1
- package/ui/Menu.js +3 -10
- package/ui/MenuButton.d.ts +1 -1
- package/ui/ResizeHandle.js +2 -2
- package/ui/ReturnToImportFormDialog.js +1 -1
- package/ui/SanitizedHTML.js +2 -19
- package/ui/Snackbar.d.ts +2 -2
- package/ui/Snackbar.js +1 -2
- package/ui/SnackbarModel.d.ts +1 -26
- package/ui/SnackbarModel.js +2 -30
- package/ui/colors.d.ts +1 -1
- package/ui/colors.js +1 -1
- package/ui/react-colorful.js +0 -3
- package/ui/theme.d.ts +1 -1
- package/ui/theme.js +24 -84
- package/util/Base1DUtils.d.ts +1 -1
- package/util/Base1DUtils.js +0 -12
- package/util/Base1DViewModel.d.ts +4 -81
- package/util/Base1DViewModel.js +4 -108
- package/util/QuickLRU.js +0 -9
- package/util/TimeTraveller.js +0 -4
- package/util/aborting.d.ts +0 -20
- package/util/aborting.js +0 -31
- package/util/analytics.js +1 -12
- package/util/blockTypes.d.ts +0 -11
- package/util/blockTypes.js +0 -13
- package/util/calculateDynamicBlocks.d.ts +1 -20
- package/util/calculateDynamicBlocks.js +1 -22
- package/util/calculateStaticBlocks.d.ts +2 -2
- package/util/calculateStaticBlocks.js +0 -2
- package/util/color/cssColorsLevel4.js +0 -1
- package/util/color/index.d.ts +0 -19
- package/util/color/index.js +0 -30
- package/util/compositeMap.js +0 -2
- package/util/dedupe.js +0 -1
- package/util/formatFastaStrings.d.ts +0 -13
- package/util/formatFastaStrings.js +0 -13
- package/util/idMaker.d.ts +1 -1
- package/util/idMaker.js +16 -12
- package/util/index.d.ts +25 -173
- package/util/index.js +87 -326
- package/util/io/RemoteFileWithRangeCache.d.ts +3 -2
- package/util/io/RemoteFileWithRangeCache.js +6 -10
- package/util/io/index.d.ts +3 -4
- package/util/io/index.js +3 -17
- package/util/jexl.js +3 -13
- package/util/jexlStrings.d.ts +0 -6
- package/util/jexlStrings.js +0 -8
- package/util/layouts/BaseLayout.d.ts +1 -1
- package/util/layouts/GranularRectLayout.d.ts +1 -17
- package/util/layouts/GranularRectLayout.js +4 -81
- package/util/layouts/MultiLayout.d.ts +1 -6
- package/util/layouts/MultiLayout.js +0 -6
- package/util/layouts/PrecomputedLayout.d.ts +1 -4
- package/util/layouts/PrecomputedLayout.js +0 -5
- package/util/layouts/PrecomputedMultiLayout.js +0 -2
- package/util/layouts/SceneGraph.d.ts +0 -12
- package/util/layouts/SceneGraph.js +0 -13
- package/util/makeAbortableReaction.d.ts +2 -0
- package/util/makeAbortableReaction.js +50 -0
- package/util/map-obj.js +0 -4
- package/util/mst-reflection.d.ts +1 -14
- package/util/mst-reflection.js +1 -28
- package/util/nanoid.js +0 -31
- package/util/nextTick.d.ts +1 -0
- package/util/nextTick.js +6 -0
- package/util/offscreenCanvasPonyfill.d.ts +0 -1
- package/util/offscreenCanvasPonyfill.js +1 -9
- package/util/offscreenCanvasUtils.js +1 -8
- package/util/range.d.ts +0 -25
- package/util/range.js +0 -34
- package/util/rxjs.d.ts +3 -7
- package/util/rxjs.js +2 -9
- package/util/simpleFeature.d.ts +0 -58
- package/util/simpleFeature.js +0 -35
- package/util/stats.d.ts +4 -34
- package/util/stats.js +0 -60
- package/util/stopToken.d.ts +3 -0
- package/util/stopToken.js +29 -0
- package/util/tracks.d.ts +3 -25
- package/util/tracks.js +0 -30
- package/util/types/index.d.ts +14 -30
- package/util/types/index.js +5 -14
- package/util/types/mst.js +0 -9
- package/util/types/util.d.ts +2 -9
- package/util/useMeasure.js +0 -1
- package/util/when.d.ts +1 -15
- package/util/when.js +3 -70
- package/rpc/remoteAbortSignals.d.ts +0 -36
- package/rpc/remoteAbortSignals.js +0 -79
package/ui/Icons.js
CHANGED
|
@@ -12,14 +12,12 @@ exports.SaveAs = SaveAs;
|
|
|
12
12
|
exports.Save = Save;
|
|
13
13
|
exports.DNA = DNA;
|
|
14
14
|
exports.Cable = Cable;
|
|
15
|
-
const SvgIcon_1 = __importDefault(require("@mui/material/SvgIcon"));
|
|
16
15
|
const react_1 = __importDefault(require("react"));
|
|
17
|
-
|
|
16
|
+
const SvgIcon_1 = __importDefault(require("@mui/material/SvgIcon"));
|
|
18
17
|
function ContentCopy(props) {
|
|
19
18
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
20
19
|
react_1.default.createElement("path", { d: "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" })));
|
|
21
20
|
}
|
|
22
|
-
// https://materialdesignicons.com/ text-search icon
|
|
23
21
|
function Indexing(props) {
|
|
24
22
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
25
23
|
react_1.default.createElement("path", { d: "M19.31 18.9L22.39 22L21 23.39L17.88 20.32C17.19 20.75 16.37 21 15.5 21C13 21 11 19 11 16.5C11 14 13 12 15.5 12C18 12 20 14 20 16.5C20 17.38 19.75 18.21 19.31 18.9M15.5 19C16.88 19 18 17.88 18 16.5C18 15.12 16.88 14 15.5 14C14.12 14 13 15.12 13 16.5C13 17.88 14.12 19 15.5 19M21 4V6H3V4H21M3 16V14H9V16H3M3 11V9H21V11H18.97C17.96 10.37 16.77 10 15.5 10C14.23 10 13.04 10.37 12.03 11H3Z" })));
|
|
@@ -32,22 +30,18 @@ function ContentPaste(props) {
|
|
|
32
30
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
33
31
|
react_1.default.createElement("path", { d: "M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z" })));
|
|
34
32
|
}
|
|
35
|
-
// format-list-checkbox from https://materialdesignicons.com/
|
|
36
33
|
function TrackSelector(props) {
|
|
37
34
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
38
35
|
react_1.default.createElement("path", { d: "M21 19v-2H8v2h13m0-6v-2H8v2h13M8 7h13V5H8v2M4 5v2h2V5H4M3 5a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V5m1 6v2h2v-2H4m-1 0a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1v-2m1 6v2h2v-2H4m-1 0a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1v-2z" })));
|
|
39
36
|
}
|
|
40
|
-
// content-save-edit from https://materialdesignicons.com/
|
|
41
37
|
function SaveAs(props) {
|
|
42
38
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
43
39
|
react_1.default.createElement("path", { fill: "currentColor", d: "M10,19L10.14,18.86C8.9,18.5 8,17.36 8,16A3,3 0 0,1 11,13C12.36,13 13.5,13.9 13.86,15.14L20,9V7L16,3H4C2.89,3 2,3.9 2,5V19A2,2 0 0,0 4,21H10V19M4,5H14V9H4V5M20.04,12.13C19.9,12.13 19.76,12.19 19.65,12.3L18.65,13.3L20.7,15.35L21.7,14.35C21.92,14.14 21.92,13.79 21.7,13.58L20.42,12.3C20.31,12.19 20.18,12.13 20.04,12.13M18.07,13.88L12,19.94V22H14.06L20.12,15.93L18.07,13.88Z" })));
|
|
44
40
|
}
|
|
45
|
-
// content-save from https://materialdesignicons.com/
|
|
46
41
|
function Save(props) {
|
|
47
42
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
48
43
|
react_1.default.createElement("path", { fill: "currentColor", d: "M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z" })));
|
|
49
44
|
}
|
|
50
|
-
// dna from https://materialdesignicons.com/
|
|
51
45
|
function DNA(props) {
|
|
52
46
|
return (react_1.default.createElement(SvgIcon_1.default, { ...props },
|
|
53
47
|
react_1.default.createElement("path", { fill: "currentColor", d: "M4,2H6V4C6,5.44 6.68,6.61 7.88,7.78C8.74,8.61 9.89,9.41 11.09,10.2L9.26,11.39C8.27,10.72 7.31,10 6.5,9.21C5.07,7.82 4,6.1 4,4V2M18,2H20V4C20,6.1 18.93,7.82 17.5,9.21C16.09,10.59 14.29,11.73 12.54,12.84C10.79,13.96 9.09,15.05 7.88,16.22C6.68,17.39 6,18.56 6,20V22H4V20C4,17.9 5.07,16.18 6.5,14.79C7.91,13.41 9.71,12.27 11.46,11.16C13.21,10.04 14.91,8.95 16.12,7.78C17.32,6.61 18,5.44 18,4V2M14.74,12.61C15.73,13.28 16.69,14 17.5,14.79C18.93,16.18 20,17.9 20,20V22H18V20C18,18.56 17.32,17.39 16.12,16.22C15.26,15.39 14.11,14.59 12.91,13.8L14.74,12.61M7,3H17V4L16.94,4.5H7.06L7,4V3M7.68,6H16.32C16.08,6.34 15.8,6.69 15.42,7.06L14.91,7.5H9.07L8.58,7.06C8.2,6.69 7.92,6.34 7.68,6M9.09,16.5H14.93L15.42,16.94C15.8,17.31 16.08,17.66 16.32,18H7.68C7.92,17.66 8.2,17.31 8.58,16.94L9.09,16.5M7.06,19.5H16.94L17,20V21H7V20L7.06,19.5Z" })));
|
package/ui/LoadingEllipses.d.ts
CHANGED
package/ui/LoadingEllipses.js
CHANGED
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.default = LoadingEllipses;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const material_1 = require("@mui/material");
|
|
9
|
-
const mui_1 = require("tss-react/mui");
|
|
10
9
|
const tss_react_1 = require("tss-react");
|
|
10
|
+
const mui_1 = require("tss-react/mui");
|
|
11
11
|
const useStyles = (0, mui_1.makeStyles)()({
|
|
12
12
|
dots: {
|
|
13
13
|
'&::after': {
|
|
@@ -33,6 +33,6 @@ const useStyles = (0, mui_1.makeStyles)()({
|
|
|
33
33
|
},
|
|
34
34
|
});
|
|
35
35
|
function LoadingEllipses({ message, variant = 'body2', ...rest }) {
|
|
36
|
-
const { classes } = useStyles();
|
|
37
|
-
return (react_1.default.createElement(material_1.Typography, { className: classes.dots, ...rest, variant: variant }, message || 'Loading'));
|
|
36
|
+
const { cx, classes } = useStyles();
|
|
37
|
+
return (react_1.default.createElement(material_1.Typography, { className: cx(classes.dots, rest.className), ...rest, variant: variant }, message || 'Loading'));
|
|
38
38
|
}
|
package/ui/Menu.d.ts
CHANGED
package/ui/Menu.js
CHANGED
|
@@ -28,29 +28,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.MenuItemEndDecoration = MenuItemEndDecoration;
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
|
-
const material_1 = require("@mui/material");
|
|
32
|
-
const mui_1 = require("tss-react/mui");
|
|
33
|
-
// icons
|
|
34
31
|
const ArrowRight_1 = __importDefault(require("@mui/icons-material/ArrowRight"));
|
|
35
32
|
const CheckBox_1 = __importDefault(require("@mui/icons-material/CheckBox"));
|
|
36
33
|
const CheckBoxOutlineBlank_1 = __importDefault(require("@mui/icons-material/CheckBoxOutlineBlank"));
|
|
37
34
|
const RadioButtonChecked_1 = __importDefault(require("@mui/icons-material/RadioButtonChecked"));
|
|
38
35
|
const RadioButtonUnchecked_1 = __importDefault(require("@mui/icons-material/RadioButtonUnchecked"));
|
|
39
|
-
|
|
36
|
+
const material_1 = require("@mui/material");
|
|
37
|
+
const mui_1 = require("tss-react/mui");
|
|
40
38
|
const util_1 = require("../util");
|
|
41
39
|
const useStyles = (0, mui_1.makeStyles)()({
|
|
42
40
|
paper: {
|
|
43
41
|
position: 'fixed',
|
|
44
42
|
overflowY: 'auto',
|
|
45
43
|
overflowX: 'hidden',
|
|
46
|
-
// So we see the popover when it's empty.
|
|
47
44
|
minWidth: 16,
|
|
48
45
|
minHeight: 16,
|
|
49
46
|
maxWidth: 'calc(100% - 32px)',
|
|
50
47
|
maxHeight: 'calc(100% - 32px)',
|
|
51
48
|
top: 0,
|
|
52
49
|
left: 0,
|
|
53
|
-
// We disable the focus ring for mouse, touch and keyboard users.
|
|
54
50
|
outline: 0,
|
|
55
51
|
},
|
|
56
52
|
menuItemEndDecoration: {
|
|
@@ -94,7 +90,6 @@ function MenuItemEndDecoration(props) {
|
|
|
94
90
|
}
|
|
95
91
|
break;
|
|
96
92
|
}
|
|
97
|
-
// No default
|
|
98
93
|
}
|
|
99
94
|
return react_1.default.createElement("div", { className: classes.menuItemEndDecoration }, icon);
|
|
100
95
|
}
|
|
@@ -249,9 +244,7 @@ const MenuPage = react_1.default.forwardRef(function MenuPage2(props, ref) {
|
|
|
249
244
|
}
|
|
250
245
|
return subMenu;
|
|
251
246
|
})));
|
|
252
|
-
return top ? (ListContents) : (
|
|
253
|
-
// Grow is required for cascading sub-menus
|
|
254
|
-
react_1.default.createElement(material_1.Grow, { in: open, style: { transformOrigin: '0 0 0' }, ref: ref },
|
|
247
|
+
return top ? (ListContents) : (react_1.default.createElement(material_1.Grow, { in: open, style: { transformOrigin: '0 0 0' }, ref: ref },
|
|
255
248
|
react_1.default.createElement(material_1.Paper, { elevation: 8, ref: paperRef, className: classes.paper, style: { ...position } }, ListContents)));
|
|
256
249
|
});
|
|
257
250
|
function Menu(props) {
|
package/ui/MenuButton.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { MenuItem } from '@jbrowse/core/ui';
|
|
2
|
+
import type { MenuItem } from '@jbrowse/core/ui';
|
|
3
3
|
declare const MenuButton: ({ children, menuItems, closeAfterItemClick, stopPropagation, setOpen, ...rest }: {
|
|
4
4
|
closeAfterItemClick?: boolean;
|
|
5
5
|
children?: React.ReactElement;
|
package/ui/ResizeHandle.js
CHANGED
|
@@ -36,11 +36,11 @@ const useStyles = (0, mui_1.makeStyles)()({
|
|
|
36
36
|
},
|
|
37
37
|
flexbox_verticalHandle: {
|
|
38
38
|
cursor: 'col-resize',
|
|
39
|
-
alignSelf: 'stretch',
|
|
39
|
+
alignSelf: 'stretch',
|
|
40
40
|
},
|
|
41
41
|
flexbox_horizontalHandle: {
|
|
42
42
|
cursor: 'row-resize',
|
|
43
|
-
alignSelf: 'stretch',
|
|
43
|
+
alignSelf: 'stretch',
|
|
44
44
|
},
|
|
45
45
|
});
|
|
46
46
|
function ResizeHandle({ onDrag, vertical = false, flexbox = false, className: originalClassName, onMouseDown, ...props }) {
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
|
-
const mobx_react_1 = require("mobx-react");
|
|
8
7
|
const material_1 = require("@mui/material");
|
|
8
|
+
const mobx_react_1 = require("mobx-react");
|
|
9
9
|
const Dialog_1 = __importDefault(require("./Dialog"));
|
|
10
10
|
const ReturnToImportFormDialog = (0, mobx_react_1.observer)(function ({ model, handleClose, }) {
|
|
11
11
|
return (react_1.default.createElement(Dialog_1.default, { maxWidth: "xl", open: true, onClose: handleClose, title: "Reference sequence" },
|
package/ui/SanitizedHTML.js
CHANGED
|
@@ -5,14 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = SanitizedHTML;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const escape_html_1 = __importDefault(require("escape-html"));
|
|
9
8
|
const dompurify_1 = __importDefault(require("dompurify"));
|
|
9
|
+
const escape_html_1 = __importDefault(require("escape-html"));
|
|
10
10
|
const util_1 = require("../util");
|
|
11
|
-
// source https://github.com/sindresorhus/html-tags/blob/master/html-tags.json
|
|
12
|
-
// with some random uncommon ones removed. note: we just use this to run the content
|
|
13
|
-
// through dompurify without escaping if we see an htmlTag from this list
|
|
14
|
-
// otherwise we escape angle brackets and things prematurely because it might be
|
|
15
|
-
// something like <TRA> in VCF. Ref #657
|
|
16
11
|
const htmlTags = [
|
|
17
12
|
'a',
|
|
18
13
|
'b',
|
|
@@ -47,28 +42,16 @@ const htmlTags = [
|
|
|
47
42
|
'ul',
|
|
48
43
|
];
|
|
49
44
|
let added = false;
|
|
50
|
-
// adapted from is-html
|
|
51
|
-
// https://github.com/sindresorhus/is-html/blob/master/index.js
|
|
52
45
|
const full = new RegExp(htmlTags.map(tag => `<${tag}\\b[^>]*>`).join('|'), 'i');
|
|
53
46
|
function isHTML(str) {
|
|
54
47
|
return full.test(str);
|
|
55
48
|
}
|
|
56
|
-
// note this is mocked during testing, see
|
|
57
|
-
// packages/__mocks__/@jbrowse/core/ui/SanitizedHTML something about dompurify
|
|
58
|
-
// behavior causes errors during tests, was seen in
|
|
59
|
-
// products/jbrowse-web/src/tests/Connection.test.tsx test (can delete mock to
|
|
60
|
-
// see)
|
|
61
|
-
//
|
|
62
49
|
function SanitizedHTML({ html: pre, className, }) {
|
|
63
|
-
// try to add links to the text first
|
|
64
50
|
const html = (0, util_1.linkify)(pre);
|
|
65
51
|
const value = isHTML(html) ? html : (0, escape_html_1.default)(html);
|
|
66
52
|
if (!added) {
|
|
67
53
|
added = true;
|
|
68
|
-
|
|
69
|
-
// only have to add this once, and can't do it globally because dompurify
|
|
70
|
-
// not yet initialized at global scope
|
|
71
|
-
dompurify_1.default.addHook('afterSanitizeAttributes', (node) => {
|
|
54
|
+
dompurify_1.default.addHook('afterSanitizeAttributes', node => {
|
|
72
55
|
if (node.tagName === 'A') {
|
|
73
56
|
node.setAttribute('rel', 'noopener noreferrer');
|
|
74
57
|
node.setAttribute('target', '_blank');
|
package/ui/Snackbar.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AbstractSessionModel } from '../util';
|
|
3
|
-
import { SnackbarMessage } from './SnackbarModel';
|
|
2
|
+
import type { AbstractSessionModel } from '../util';
|
|
3
|
+
import type { SnackbarMessage } from './SnackbarModel';
|
|
4
4
|
interface SnackbarSession extends AbstractSessionModel {
|
|
5
5
|
snackbarMessages: SnackbarMessage[];
|
|
6
6
|
popSnackbarMessage: () => void;
|
package/ui/Snackbar.js
CHANGED
|
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
7
8
|
const material_1 = require("@mui/material");
|
|
8
9
|
const mobx_react_1 = require("mobx-react");
|
|
9
|
-
// icons
|
|
10
|
-
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
11
10
|
const Snackbar = (0, mobx_react_1.observer)(function ({ session }) {
|
|
12
11
|
const { snackbarMessages } = session;
|
|
13
12
|
const latestMessage = snackbarMessages.at(-1);
|
package/ui/SnackbarModel.d.ts
CHANGED
|
@@ -1,42 +1,17 @@
|
|
|
1
|
-
import { NotificationLevel, SnackAction } from '../util/types';
|
|
1
|
+
import type { NotificationLevel, SnackAction } from '../util/types';
|
|
2
2
|
export interface SnackbarMessage {
|
|
3
3
|
message: string;
|
|
4
4
|
level?: NotificationLevel;
|
|
5
5
|
action?: SnackAction;
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
8
|
-
* #stateModel SnackbarModel
|
|
9
|
-
* #category session
|
|
10
|
-
*/
|
|
11
7
|
export default function SnackbarModel(): import("mobx-state-tree").IModelType<{}, {
|
|
12
|
-
/**
|
|
13
|
-
* #volatile
|
|
14
|
-
*/
|
|
15
8
|
snackbarMessages: import("mobx").IObservableArray<SnackbarMessage>;
|
|
16
9
|
} & {
|
|
17
|
-
/**
|
|
18
|
-
* #getter
|
|
19
|
-
*/
|
|
20
10
|
readonly snackbarMessageSet: Map<string, SnackbarMessage>;
|
|
21
11
|
} & {
|
|
22
|
-
/**
|
|
23
|
-
* #action
|
|
24
|
-
*/
|
|
25
12
|
notify(message: string, level?: NotificationLevel, action?: SnackAction): void;
|
|
26
|
-
/**
|
|
27
|
-
* #action
|
|
28
|
-
*/
|
|
29
13
|
notifyError(errorMessage: string, error?: unknown, extra?: unknown): void;
|
|
30
|
-
/**
|
|
31
|
-
* #action
|
|
32
|
-
*/
|
|
33
14
|
pushSnackbarMessage(message: string, level?: NotificationLevel, action?: SnackAction): void;
|
|
34
|
-
/**
|
|
35
|
-
* #action
|
|
36
|
-
*/
|
|
37
15
|
popSnackbarMessage(): SnackbarMessage | undefined;
|
|
38
|
-
/**
|
|
39
|
-
* #action
|
|
40
|
-
*/
|
|
41
16
|
removeSnackbarMessage(message: string): void;
|
|
42
17
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
package/ui/SnackbarModel.js
CHANGED
|
@@ -28,37 +28,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.default = SnackbarModel;
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
|
-
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
32
|
-
const mobx_1 = require("mobx");
|
|
33
|
-
// icons
|
|
34
31
|
const Report_1 = __importDefault(require("@mui/icons-material/Report"));
|
|
35
|
-
|
|
32
|
+
const mobx_1 = require("mobx");
|
|
33
|
+
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
36
34
|
const ErrorMessageStackTraceDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('@jbrowse/core/ui/ErrorMessageStackTraceDialog'))));
|
|
37
|
-
/**
|
|
38
|
-
* #stateModel SnackbarModel
|
|
39
|
-
* #category session
|
|
40
|
-
*/
|
|
41
35
|
function SnackbarModel() {
|
|
42
36
|
return mobx_state_tree_1.types
|
|
43
37
|
.model({})
|
|
44
38
|
.volatile(() => ({
|
|
45
|
-
/**
|
|
46
|
-
* #volatile
|
|
47
|
-
*/
|
|
48
39
|
snackbarMessages: mobx_1.observable.array(),
|
|
49
40
|
}))
|
|
50
41
|
.views(self => ({
|
|
51
|
-
/**
|
|
52
|
-
* #getter
|
|
53
|
-
*/
|
|
54
42
|
get snackbarMessageSet() {
|
|
55
43
|
return new Map(self.snackbarMessages.map(s => [s.message, s]));
|
|
56
44
|
},
|
|
57
45
|
}))
|
|
58
46
|
.actions(self => ({
|
|
59
|
-
/**
|
|
60
|
-
* #action
|
|
61
|
-
*/
|
|
62
47
|
notify(message, level, action) {
|
|
63
48
|
this.pushSnackbarMessage(message, level, action);
|
|
64
49
|
if (level === 'info' || level === 'success') {
|
|
@@ -67,14 +52,10 @@ function SnackbarModel() {
|
|
|
67
52
|
}, 5000);
|
|
68
53
|
}
|
|
69
54
|
},
|
|
70
|
-
/**
|
|
71
|
-
* #action
|
|
72
|
-
*/
|
|
73
55
|
notifyError(errorMessage, error, extra) {
|
|
74
56
|
this.notify(errorMessage, 'error', {
|
|
75
57
|
name: react_1.default.createElement(Report_1.default, null),
|
|
76
58
|
onClick: () => {
|
|
77
|
-
// @ts-expect-error
|
|
78
59
|
self.queueDialog((onClose) => [
|
|
79
60
|
ErrorMessageStackTraceDialog,
|
|
80
61
|
{
|
|
@@ -86,23 +67,14 @@ function SnackbarModel() {
|
|
|
86
67
|
},
|
|
87
68
|
});
|
|
88
69
|
},
|
|
89
|
-
/**
|
|
90
|
-
* #action
|
|
91
|
-
*/
|
|
92
70
|
pushSnackbarMessage(message, level, action) {
|
|
93
71
|
if (action || !self.snackbarMessageSet.has(message)) {
|
|
94
72
|
self.snackbarMessages.push({ message, level, action });
|
|
95
73
|
}
|
|
96
74
|
},
|
|
97
|
-
/**
|
|
98
|
-
* #action
|
|
99
|
-
*/
|
|
100
75
|
popSnackbarMessage() {
|
|
101
76
|
return self.snackbarMessages.pop();
|
|
102
77
|
},
|
|
103
|
-
/**
|
|
104
|
-
* #action
|
|
105
|
-
*/
|
|
106
78
|
removeSnackbarMessage(message) {
|
|
107
79
|
const element = self.snackbarMessageSet.get(message);
|
|
108
80
|
if (element !== undefined) {
|
package/ui/colors.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ declare const ggplot2Colors6: string[];
|
|
|
7
7
|
declare const ggplot2Colors5: string[];
|
|
8
8
|
declare const ggplot2Colors4: string[];
|
|
9
9
|
declare const ggplot2Colors3: string[];
|
|
10
|
-
export {
|
|
10
|
+
export { category10, dark2, ggplot2Colors3, ggplot2Colors4, ggplot2Colors5, ggplot2Colors6, set1, set2, tableau10, };
|
package/ui/colors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.tableau10 = exports.set2 = exports.set1 = exports.ggplot2Colors6 = exports.ggplot2Colors5 = exports.ggplot2Colors4 = exports.ggplot2Colors3 = exports.dark2 = exports.category10 = void 0;
|
|
4
4
|
const category10 = [
|
|
5
5
|
'#1f77b4',
|
|
6
6
|
'#ff7f0e',
|
package/ui/react-colorful.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// vendored (e.g. copied into our source tree) because the tooling picks up "import" statements that confuse jest, could confuse other consumers of our modules
|
|
4
|
-
// copy of react-colorful/dist/index.esmodule.js
|
|
5
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
3
|
if (k2 === undefined) k2 = k;
|
|
7
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
package/ui/theme.d.ts
CHANGED
package/ui/theme.js
CHANGED
|
@@ -14,6 +14,7 @@ const midnight = '#0D233F';
|
|
|
14
14
|
const grape = '#721E63';
|
|
15
15
|
const forest = refTheme.palette.augmentColor({ color: { main: '#135560' } });
|
|
16
16
|
const mandarin = refTheme.palette.augmentColor({ color: { main: '#FFB11D' } });
|
|
17
|
+
const lightgrey = refTheme.palette.augmentColor({ color: { main: '#aaa' } });
|
|
17
18
|
const bases = {
|
|
18
19
|
A: refTheme.palette.augmentColor({ color: colors_1.green }),
|
|
19
20
|
C: refTheme.palette.augmentColor({ color: colors_1.blue }),
|
|
@@ -58,8 +59,6 @@ function stockTheme() {
|
|
|
58
59
|
components: {
|
|
59
60
|
MuiLink: {
|
|
60
61
|
styleOverrides: {
|
|
61
|
-
// the default link color uses theme.palette.primary.main which is
|
|
62
|
-
// very bad with dark mode+midnight primary
|
|
63
62
|
root: ({ theme }) => ({
|
|
64
63
|
color: theme.palette.tertiary.main,
|
|
65
64
|
}),
|
|
@@ -169,13 +168,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
169
168
|
size: 'small',
|
|
170
169
|
},
|
|
171
170
|
styleOverrides: {
|
|
172
|
-
// the default button, especially when not using variant=contained,
|
|
173
|
-
// uses theme.palette.primary.main for text which is very bad with
|
|
174
|
-
// dark mode+midnight primary
|
|
175
|
-
//
|
|
176
|
-
// keeps text secondary for darkmode, uses
|
|
177
|
-
// a text-like coloring to ensure contrast
|
|
178
|
-
// xref https://stackoverflow.com/a/72546130/2129219
|
|
179
171
|
root: ({ theme }) => theme.palette.mode === 'dark'
|
|
180
172
|
? {
|
|
181
173
|
color: theme.palette.text.primary,
|
|
@@ -251,7 +243,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
251
243
|
},
|
|
252
244
|
styleOverrides: {
|
|
253
245
|
secondary: {
|
|
254
|
-
// @ts-expect-error
|
|
255
246
|
backgroundColor: (_b = (_a = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _a === void 0 ? void 0 : _a.quaternary) === null || _b === void 0 ? void 0 : _b.main,
|
|
256
247
|
},
|
|
257
248
|
},
|
|
@@ -284,8 +275,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
284
275
|
},
|
|
285
276
|
MuiLink: {
|
|
286
277
|
styleOverrides: {
|
|
287
|
-
// the default link color uses theme.palette.primary.main which is
|
|
288
|
-
// very bad with dark mode+midnight primary
|
|
289
278
|
root: ({ theme }) => ({
|
|
290
279
|
color: theme.palette.text.secondary,
|
|
291
280
|
}),
|
|
@@ -293,13 +282,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
293
282
|
},
|
|
294
283
|
MuiCheckbox: {
|
|
295
284
|
styleOverrides: {
|
|
296
|
-
// the default checkbox-when-checked color uses
|
|
297
|
-
// theme.palette.primary.main which is very bad with dark
|
|
298
|
-
// mode+midnight primary
|
|
299
|
-
//
|
|
300
|
-
// keeps the forest-green checkbox by default but for darkmode, uses
|
|
301
|
-
// a text-like coloring to ensure contrast xref
|
|
302
|
-
// https://stackoverflow.com/a/72546130/2129219
|
|
303
285
|
root: ({ theme }) => theme.palette.mode === 'dark'
|
|
304
286
|
? {
|
|
305
287
|
color: theme.palette.text.secondary,
|
|
@@ -312,13 +294,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
312
294
|
},
|
|
313
295
|
MuiRadio: {
|
|
314
296
|
styleOverrides: {
|
|
315
|
-
// the default checkbox-when-checked color uses
|
|
316
|
-
// theme.palette.primary.main which is very bad with dark
|
|
317
|
-
// mode+midnight primary
|
|
318
|
-
//
|
|
319
|
-
// keeps the forest-green checkbox by default but for darkmode, uses
|
|
320
|
-
// a text-like coloring to ensure contrast
|
|
321
|
-
// xref https://stackoverflow.com/a/72546130/2129219
|
|
322
297
|
root: ({ theme }) => theme.palette.mode === 'dark'
|
|
323
298
|
? {
|
|
324
299
|
color: theme.palette.text.secondary,
|
|
@@ -331,14 +306,6 @@ function createJBrowseBaseTheme(theme) {
|
|
|
331
306
|
},
|
|
332
307
|
MuiFormLabel: {
|
|
333
308
|
styleOverrides: {
|
|
334
|
-
// the default checkbox-when-checked color uses
|
|
335
|
-
// theme.palette.primary.main which is very bad with dark
|
|
336
|
-
// mode+midnight primary
|
|
337
|
-
//
|
|
338
|
-
// keeps the forest-green checkbox by default but for darkmode, uses
|
|
339
|
-
// a text-like coloring to ensure contrast
|
|
340
|
-
// xref https://stackoverflow.com/a/72546130/2129219
|
|
341
|
-
//
|
|
342
309
|
root: ({ theme }) => theme.palette.mode === 'dark'
|
|
343
310
|
? {
|
|
344
311
|
color: theme.palette.text.secondary,
|
|
@@ -352,11 +319,9 @@ function createJBrowseBaseTheme(theme) {
|
|
|
352
319
|
MuiAccordionSummary: {
|
|
353
320
|
styleOverrides: {
|
|
354
321
|
root: {
|
|
355
|
-
// @ts-expect-error
|
|
356
322
|
backgroundColor: (_d = (_c = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _c === void 0 ? void 0 : _c.tertiary) === null || _d === void 0 ? void 0 : _d.main,
|
|
357
323
|
},
|
|
358
324
|
content: {
|
|
359
|
-
// @ts-expect-error
|
|
360
325
|
color: (_f = (_e = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _e === void 0 ? void 0 : _e.tertiary) === null || _f === void 0 ? void 0 : _f.contrastText,
|
|
361
326
|
},
|
|
362
327
|
},
|
|
@@ -372,58 +337,33 @@ function createJBrowseBaseTheme(theme) {
|
|
|
372
337
|
}
|
|
373
338
|
function createJBrowseTheme(configTheme = {}, themes = exports.defaultThemes, themeName = 'default') {
|
|
374
339
|
return (0, styles_1.createTheme)(createJBrowseBaseTheme(themeName === 'default'
|
|
375
|
-
? (0, deepmerge_1.default)(themes.default,
|
|
340
|
+
? (0, deepmerge_1.default)(themes.default, augmentThemeColors(configTheme), {
|
|
376
341
|
arrayMerge: overwriteArrayMerge,
|
|
377
342
|
})
|
|
378
|
-
:
|
|
343
|
+
: addMissingColors(themes[themeName])));
|
|
379
344
|
}
|
|
380
|
-
function
|
|
381
|
-
var _a
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
theme = (0, deepmerge_1.default)(theme, {
|
|
393
|
-
palette: {
|
|
394
|
-
quaternary: refTheme.palette.augmentColor('color' in theme.palette.quaternary
|
|
395
|
-
? theme.palette.quaternary
|
|
396
|
-
: { color: theme.palette.quaternary }),
|
|
397
|
-
},
|
|
398
|
-
});
|
|
345
|
+
function augmentThemeColors(theme = {}) {
|
|
346
|
+
var _a;
|
|
347
|
+
for (const entry of ['tertiary', 'quaternary', 'highlight']) {
|
|
348
|
+
if ((_a = theme.palette) === null || _a === void 0 ? void 0 : _a[entry]) {
|
|
349
|
+
theme = (0, deepmerge_1.default)(theme, {
|
|
350
|
+
palette: {
|
|
351
|
+
[entry]: refTheme.palette.augmentColor('color' in theme.palette[entry]
|
|
352
|
+
? theme.palette[entry]
|
|
353
|
+
: { color: theme.palette[entry] }),
|
|
354
|
+
},
|
|
355
|
+
});
|
|
356
|
+
}
|
|
399
357
|
}
|
|
400
358
|
return theme;
|
|
401
359
|
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
palette:
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
main: '#aaa',
|
|
412
|
-
},
|
|
413
|
-
}),
|
|
414
|
-
},
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
if (!((_b = theme.palette) === null || _b === void 0 ? void 0 : _b.tertiary)) {
|
|
418
|
-
theme = (0, deepmerge_1.default)(theme, {
|
|
419
|
-
palette: {
|
|
420
|
-
tertiary: refTheme.palette.augmentColor({
|
|
421
|
-
color: {
|
|
422
|
-
main: '#aaa',
|
|
423
|
-
},
|
|
424
|
-
}),
|
|
425
|
-
},
|
|
426
|
-
});
|
|
427
|
-
}
|
|
428
|
-
return theme;
|
|
360
|
+
function addMissingColors(theme = {}) {
|
|
361
|
+
var _a, _b, _c;
|
|
362
|
+
return augmentThemeColors((0, deepmerge_1.default)(theme, {
|
|
363
|
+
palette: {
|
|
364
|
+
quaternary: ((_a = theme.palette) === null || _a === void 0 ? void 0 : _a.quaternary) || lightgrey,
|
|
365
|
+
tertiary: ((_b = theme.palette) === null || _b === void 0 ? void 0 : _b.tertiary) || lightgrey,
|
|
366
|
+
highlight: ((_c = theme.palette) === null || _c === void 0 ? void 0 : _c.highlight) || mandarin,
|
|
367
|
+
},
|
|
368
|
+
}));
|
|
429
369
|
}
|
package/util/Base1DUtils.d.ts
CHANGED
package/util/Base1DUtils.js
CHANGED
|
@@ -39,8 +39,6 @@ function moveTo(self, start, end) {
|
|
|
39
39
|
}
|
|
40
40
|
const targetBpPerPx = len / (width - interRegionPaddingWidth * numBlocksWideEnough);
|
|
41
41
|
const newBpPerPx = self.zoomTo(targetBpPerPx);
|
|
42
|
-
// If our target bpPerPx was smaller than the allowed minBpPerPx, adjust
|
|
43
|
-
// the scroll so the requested range is in the middle of the screen
|
|
44
42
|
let extraBp = 0;
|
|
45
43
|
if (targetBpPerPx < newBpPerPx) {
|
|
46
44
|
extraBp = ((newBpPerPx - targetBpPerPx) * self.width) / 2;
|
|
@@ -61,7 +59,6 @@ function moveTo(self, start, end) {
|
|
|
61
59
|
function coord(r, bp) {
|
|
62
60
|
return Math.floor(r.reversed ? r.end - bp : r.start + bp) + 1;
|
|
63
61
|
}
|
|
64
|
-
// manual return type since getSnapshot hard to infer here
|
|
65
62
|
function pxToBp(self, px) {
|
|
66
63
|
var _a;
|
|
67
64
|
let bpSoFar = 0;
|
|
@@ -72,7 +69,6 @@ function pxToBp(self, px) {
|
|
|
72
69
|
const r = displayedRegions[0];
|
|
73
70
|
const snap = r;
|
|
74
71
|
return {
|
|
75
|
-
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
76
72
|
...snap,
|
|
77
73
|
oob: true,
|
|
78
74
|
coord: coord(r, bp),
|
|
@@ -89,7 +85,6 @@ function pxToBp(self, px) {
|
|
|
89
85
|
if (len + bpSoFar > bp && bpSoFar <= bp) {
|
|
90
86
|
const snap = r;
|
|
91
87
|
return {
|
|
92
|
-
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
93
88
|
...snap,
|
|
94
89
|
oob: false,
|
|
95
90
|
offset,
|
|
@@ -97,8 +92,6 @@ function pxToBp(self, px) {
|
|
|
97
92
|
index: i,
|
|
98
93
|
};
|
|
99
94
|
}
|
|
100
|
-
// add the interRegionPaddingWidth if the boundary is in the screen e.g. in
|
|
101
|
-
// a static block
|
|
102
95
|
if (((_a = blocks[currBlock]) === null || _a === void 0 ? void 0 : _a.regionNumber) === i) {
|
|
103
96
|
bpSoFar += len + interRegionPaddingBp;
|
|
104
97
|
currBlock++;
|
|
@@ -113,7 +106,6 @@ function pxToBp(self, px) {
|
|
|
113
106
|
const offset = bp - bpSoFar + len;
|
|
114
107
|
const snap = r;
|
|
115
108
|
return {
|
|
116
|
-
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
117
109
|
...snap,
|
|
118
110
|
oob: true,
|
|
119
111
|
offset,
|
|
@@ -151,8 +143,6 @@ function bpToPx({ refName, coord, regionNumber, self, }) {
|
|
|
151
143
|
bpSoFar += r.reversed ? r.end - coord : coord - r.start;
|
|
152
144
|
break;
|
|
153
145
|
}
|
|
154
|
-
// add the interRegionPaddingWidth if the boundary is in the screen e.g. in
|
|
155
|
-
// a static block
|
|
156
146
|
if (((_a = blocks[currBlock]) === null || _a === void 0 ? void 0 : _a.regionNumber) === i) {
|
|
157
147
|
bpSoFar += len + interRegionPaddingBp;
|
|
158
148
|
currBlock++;
|
|
@@ -189,8 +179,6 @@ function bpToPxMap({ refName, coord, regionNumber, self, }) {
|
|
|
189
179
|
bpSoFar += r.reversed ? r.end - coord : coord - r.start;
|
|
190
180
|
break;
|
|
191
181
|
}
|
|
192
|
-
// add the interRegionPaddingWidth if the boundary is in the screen e.g. in
|
|
193
|
-
// a static block
|
|
194
182
|
if (((_a = blocks[currBlock]) === null || _a === void 0 ? void 0 : _a.regionNumber) === i) {
|
|
195
183
|
bpSoFar += len + interRegionPaddingBp;
|
|
196
184
|
currBlock++;
|