@jbrowse/core 5.0.0-beta.8 → 5.0.0-beta.9
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 +427 -130
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +3 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +8 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +8 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +1 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +1 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +53 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +0 -16
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +7 -34
- package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +13 -29
- package/esm/BaseFeatureWidget/formatDetails.js +46 -79
- package/esm/BaseFeatureWidget/index.d.ts +1 -0
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +35 -28
- package/esm/BaseFeatureWidget/stateModelFactory.js +94 -102
- package/esm/BaseFeatureWidget/types.d.ts +3 -0
- package/esm/BaseFeatureWidget/util.d.ts +0 -3
- package/esm/BaseFeatureWidget/util.js +0 -17
- package/esm/PluginLoader.d.ts +14 -9
- package/esm/PluginLoader.js +34 -26
- package/esm/PluginManager.d.ts +4 -4
- package/esm/PluginManager.js +1 -1
- package/esm/ReExports/coreModules.generated.d.ts +2 -0
- package/esm/ReExports/coreModules.generated.js +492 -0
- package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/coreWorkerModules.generated.js +453 -0
- package/esm/ReExports/frameworkModules.d.ts +2 -0
- package/esm/ReExports/frameworkModules.js +67 -0
- package/esm/ReExports/frameworkShared.d.ts +12 -0
- package/esm/ReExports/frameworkShared.js +16 -0
- package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
- package/esm/ReExports/list.js +493 -79
- package/esm/ReExports/modules.d.ts +1 -1
- package/esm/ReExports/modules.js +10 -87
- package/esm/ReExports/registry.d.ts +1 -0
- package/esm/ReExports/registry.js +23 -5
- package/esm/ReExports/uiStub.d.ts +2 -1
- package/esm/ReExports/uiStub.js +24 -2
- package/esm/ReExports/workerModules.js +8 -12
- package/esm/TextSearch/TextSearchManager.d.ts +3 -12
- package/esm/TextSearch/TextSearchManager.js +22 -10
- package/esm/assemblyManager/assembly.d.ts +10 -14
- package/esm/assemblyManager/assembly.js +10 -14
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +23 -81
- package/esm/assemblyManager/assemblyManager.d.ts +10 -16
- package/esm/assemblyManager/assemblyManager.js +7 -10
- package/esm/assemblyManager/loadRefNameMap.js +3 -3
- package/esm/configuration/configurationSchema.d.ts +75 -31
- package/esm/configuration/configurationSchema.js +74 -40
- package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
- package/esm/configuration/configurationSchemaUnion.js +59 -0
- package/esm/configuration/configurationSlot.d.ts +37 -12
- package/esm/configuration/configurationSlot.js +83 -22
- package/esm/configuration/formatAboutConfigSchema.d.ts +7 -21
- package/esm/configuration/formatDetailsConfigSchema.d.ts +11 -37
- package/esm/configuration/formatDetailsConfigSchema.js +10 -13
- package/esm/configuration/getConf.d.ts +17 -9
- package/esm/configuration/getConf.js +52 -7
- package/esm/configuration/index.d.ts +11 -4
- package/esm/configuration/index.js +7 -4
- package/esm/configuration/mergeFormatCallbacks.d.ts +6 -7
- package/esm/configuration/mergeFormatCallbacks.js +13 -10
- package/esm/configuration/readConfObject.d.ts +2 -22
- package/esm/configuration/readConfObject.js +15 -49
- package/esm/configuration/requirements.d.ts +37 -0
- package/esm/configuration/requirements.js +88 -0
- package/esm/configuration/schemaRegistry.d.ts +21 -1
- package/esm/configuration/schemaRegistry.js +11 -0
- package/esm/configuration/schemaTypes.d.ts +3 -0
- package/esm/configuration/schemaTypes.js +10 -0
- package/esm/configuration/slotFacade.d.ts +35 -4
- package/esm/configuration/slotFacade.js +96 -9
- package/esm/configuration/snapshotPreprocess.d.ts +27 -0
- package/esm/configuration/snapshotPreprocess.js +102 -0
- package/esm/configuration/types.d.ts +161 -22
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +2 -2
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +11 -2
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +12 -1
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +2 -3
- package/esm/data_adapters/BaseAdapter/featureDensity.js +2 -3
- package/esm/data_adapters/BaseAdapter/index.d.ts +22 -3
- package/esm/data_adapters/BaseAdapter/types.d.ts +3 -4
- package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
- package/esm/data_adapters/BaseAdapter/zoomRange.js +1 -0
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +9 -11
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +1 -3
- package/esm/data_adapters/getSequenceSubAdapter.js +1 -3
- package/esm/pluggableElementTypes/AdapterType.d.ts +7 -7
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +1 -1
- package/esm/pluggableElementTypes/RpcMethodType.js +3 -8
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +1 -2
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
- package/esm/pluggableElementTypes/index.d.ts +1 -1
- package/esm/pluggableElementTypes/index.js +1 -1
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +17 -7
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +45 -48
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +40 -36
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +10 -13
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +6 -6
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +37 -17
- package/esm/pluggableElementTypes/models/BaseViewModel.js +25 -10
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +26 -16
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +1 -1
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -18
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +5 -5
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +26 -31
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +57 -141
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +22 -26
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +2 -2
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +3 -4
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +3 -3
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +15 -7
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +38 -29
- package/esm/pluggableElementTypes/models/index.d.ts +1 -2
- package/esm/pluggableElementTypes/models/index.js +1 -2
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +3 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +4 -4
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +3 -3
- package/esm/rpc/BaseRpcDriver.d.ts +1 -2
- package/esm/rpc/BaseRpcDriver.js +23 -30
- package/esm/rpc/MainThreadRpcDriver.d.ts +2 -2
- package/esm/rpc/MainThreadRpcDriver.js +13 -8
- package/esm/rpc/RpcClient.d.ts +17 -6
- package/esm/rpc/RpcClient.js +42 -12
- package/esm/rpc/RpcManager.d.ts +8 -10
- package/esm/rpc/RpcManager.js +1 -1
- package/esm/rpc/RpcRegistry.d.ts +8 -2
- package/esm/rpc/RpcServer.d.ts +3 -1
- package/esm/rpc/RpcServer.js +19 -12
- package/esm/rpc/WebWorkerRpcDriver.d.ts +3 -3
- package/esm/rpc/WebWorkerRpcDriver.js +9 -47
- package/esm/rpc/byteBudget.d.ts +3 -5
- package/esm/rpc/byteBudget.js +4 -4
- package/esm/rpc/configSchema.d.ts +7 -21
- package/esm/rpc/coreRpcMethods.d.ts +1 -0
- package/esm/rpc/coreRpcMethods.js +1 -0
- package/esm/rpc/methods/CoreEncodeFeatures.d.ts +6 -5
- package/esm/rpc/methods/CoreEncodeFeatures.js +26 -31
- package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.js +31 -0
- package/esm/rpc/methods/CoreGetExportData.js +2 -2
- package/esm/rpc/methods/CoreGetFeatureDensity.js +2 -2
- package/esm/rpc/methods/CoreGetFeatures.js +2 -2
- package/esm/rpc/methods/CoreGetSequence.js +2 -2
- package/esm/rpc/methods/layerFeatures.d.ts +26 -0
- package/esm/rpc/methods/layerFeatures.js +40 -0
- package/esm/svg/SvgExport.js +3 -4
- package/esm/svg/SvgThemeProviders.d.ts +12 -0
- package/esm/svg/SvgThemeProviders.js +15 -0
- package/esm/svg/exportViewSvg.d.ts +32 -0
- package/esm/svg/exportViewSvg.js +13 -0
- package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
- package/esm/svg/normalizeSvgMarkup.js +99 -0
- package/esm/svg/serializeSvg.d.ts +7 -0
- package/esm/svg/serializeSvg.js +11 -0
- package/esm/svg/svgReady.d.ts +8 -7
- package/esm/svg/svgReady.js +8 -7
- package/esm/svg/trackNames.d.ts +5 -5
- package/esm/svg/trackNames.js +6 -6
- package/esm/svg/wrapSvgExport.js +6 -74
- package/esm/ui/CascadingMenu.js +83 -86
- package/esm/ui/ErrorMessageStackTraceDialog.js +0 -5
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +156 -96
- package/esm/ui/HoverMenu.d.ts +1 -2
- package/esm/ui/HoverMenu.js +6 -3
- package/esm/ui/JexlFilterDialog.d.ts +13 -10
- package/esm/ui/JexlFilterDialog.js +122 -49
- package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
- package/esm/ui/JexlFilterRowEditors.js +90 -0
- package/esm/ui/LazyBaseTooltip.d.ts +4 -0
- package/esm/ui/LazyBaseTooltip.js +9 -0
- package/esm/ui/LoadingOverlay.js +3 -1
- package/esm/ui/MonospaceTextField.d.ts +2 -1
- package/esm/ui/MonospaceTextField.js +21 -19
- package/esm/ui/PaletteContext.d.ts +7 -9
- package/esm/ui/PaletteContext.js +24 -10
- package/esm/ui/RefNameAutocomplete/index.d.ts +1 -2
- package/esm/ui/RefNameAutocomplete/index.js +1 -1
- package/esm/ui/ScrollChrome.d.ts +6 -9
- package/esm/ui/ScrollChrome.js +5 -6
- package/esm/ui/ScrollEdgeShadow.d.ts +6 -9
- package/esm/ui/ScrollEdgeShadow.js +9 -24
- package/esm/ui/SettingsChangesTable.js +3 -3
- package/esm/ui/VerticalScrollbar.d.ts +13 -34
- package/esm/ui/VerticalScrollbar.js +29 -83
- package/esm/ui/ViewLoadingScreen.d.ts +2 -2
- package/esm/ui/ViewLoadingScreen.js +3 -3
- package/esm/ui/colorScale.d.ts +26 -1
- package/esm/ui/colorScale.js +28 -5
- package/esm/ui/colors.d.ts +49 -1
- package/esm/ui/colors.js +139 -4
- package/esm/ui/hoverBoxStyle.d.ts +14 -2
- package/esm/ui/hoverBoxStyle.js +17 -2
- package/esm/ui/index.d.ts +5 -3
- package/esm/ui/index.js +9 -7
- package/esm/ui/launchViewMenu.js +3 -3
- package/esm/ui/legendSpec.d.ts +2 -0
- package/esm/ui/legendSpec.js +3 -0
- package/esm/ui/palette.d.ts +0 -1
- package/esm/ui/palette.js +3 -27
- package/esm/ui/replaceViewAction.d.ts +1 -1
- package/esm/ui/replaceViewAction.js +1 -1
- package/esm/ui/theme.d.ts +1 -1
- package/esm/ui/theme.js +6 -40
- package/esm/ui/viewHeaderHeight.d.ts +1 -0
- package/esm/ui/viewHeaderHeight.js +1 -0
- package/esm/util/Base1DUtils.d.ts +1 -1
- package/esm/util/Base1DUtils.js +2 -2
- package/esm/util/SvgCanvas.d.ts +15 -13
- package/esm/util/SvgCanvas.js +72 -53
- package/esm/util/aborting.d.ts +39 -0
- package/esm/util/aborting.js +84 -0
- package/esm/util/adapterMetadata.d.ts +1 -1
- package/esm/util/adapterMetadata.js +6 -6
- package/esm/util/addAndShowTrack.d.ts +1 -4
- package/esm/util/addRelativeUris.d.ts +10 -2
- package/esm/util/addRelativeUris.js +22 -7
- package/esm/util/addTrackFromWidget.d.ts +2 -5
- package/esm/util/animationAllowed.d.ts +9 -0
- package/esm/util/animationAllowed.js +13 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -5
- package/esm/util/applyRowResizeWheel.js +10 -21
- package/esm/util/bandLayout.d.ts +4 -4
- package/esm/util/bandLayout.js +4 -4
- package/esm/util/bezierConnector.js +5 -4
- package/esm/util/bgzfWorkerPool.d.ts +20 -74
- package/esm/util/bgzfWorkerPool.js +20 -74
- package/esm/util/cachedSetup.d.ts +1 -1
- package/esm/util/cachedSetup.js +2 -2
- package/esm/util/categoricalField.d.ts +37 -0
- package/esm/util/categoricalField.js +52 -0
- package/esm/util/color/cssColorsLevel4.d.ts +1 -0
- package/esm/util/color/cssColorsLevel4.js +1 -0
- package/esm/util/color/index.d.ts +5 -3
- package/esm/util/color/index.js +7 -4
- package/esm/util/colorBits.d.ts +1 -2
- package/esm/util/colorBits.js +17 -39
- package/esm/util/colorRamp.d.ts +27 -1
- package/esm/util/colorRamp.js +56 -2
- package/esm/util/colorSchemes.d.ts +9 -0
- package/esm/util/colorSchemes.js +7 -0
- package/esm/util/{createStopTokenRotation.d.ts → createAbortRotation.d.ts} +11 -14
- package/esm/util/{createStopTokenRotation.js → createAbortRotation.js} +14 -26
- package/esm/util/cssColorParse.d.ts +15 -0
- package/esm/util/cssColorParse.js +53 -0
- package/esm/util/diagonalizeRegions.d.ts +2 -3
- package/esm/util/diagonalizeRegions.js +7 -12
- package/esm/util/expandLooseSearchIndex.d.ts +7 -0
- package/esm/util/expandLooseSearchIndex.js +25 -0
- package/esm/util/featureTransforms.d.ts +30 -3
- package/esm/util/featureTransforms.js +233 -36
- package/esm/util/fetchAndMaybeUnzip.js +5 -6
- package/esm/util/fetchContext.d.ts +5 -6
- package/esm/util/fetchContext.js +1 -1
- package/esm/util/fetchHub.d.ts +3 -1
- package/esm/util/fetchHub.js +2 -2
- package/esm/util/fetchSeq.d.ts +2 -3
- package/esm/util/fetchSeq.js +2 -2
- package/esm/util/fieldReader.d.ts +17 -0
- package/esm/util/fieldReader.js +62 -0
- package/esm/util/groupKeys.d.ts +75 -0
- package/esm/util/groupKeys.js +152 -0
- package/esm/util/highlights.d.ts +6 -4
- package/esm/util/highlights.js +12 -25
- package/esm/util/hooks.d.ts +1 -2
- package/esm/util/hooks.js +1 -2
- package/esm/util/index.d.ts +3 -3
- package/esm/util/index.js +4 -3
- package/esm/util/indexCandidates.js +1 -1
- package/esm/util/installFetch.d.ts +13 -10
- package/esm/util/installFetch.js +11 -10
- package/esm/util/installPrerequisiteFetch.d.ts +5 -3
- package/esm/util/installPrerequisiteFetch.js +3 -4
- package/esm/util/io/index.js +12 -12
- package/esm/util/isDataCurrent.d.ts +7 -5
- package/esm/util/isDataCurrent.js +9 -6
- package/esm/util/jexl.js +24 -21
- package/esm/util/jexlFilterRows.d.ts +89 -0
- package/esm/util/jexlFilterRows.js +252 -0
- package/esm/util/jexlFilters.d.ts +7 -5
- package/esm/util/jexlStrings.d.ts +3 -4
- package/esm/util/jexlStrings.js +2 -3
- package/esm/util/legendCandidates.d.ts +31 -27
- package/esm/util/legendCandidates.js +79 -53
- package/esm/util/localStorage.js +4 -4
- package/esm/util/markEncoding.d.ts +32 -16
- package/esm/util/markEncoding.js +177 -150
- package/esm/util/markEncodingTypes.d.ts +137 -66
- package/esm/util/mstUtils.d.ts +19 -22
- package/esm/util/mstUtils.js +19 -22
- package/esm/util/numericUtils.d.ts +7 -0
- package/esm/util/numericUtils.js +16 -0
- package/esm/util/numericValue.d.ts +14 -0
- package/esm/util/numericValue.js +34 -0
- package/esm/util/openFeatureWidget.js +1 -2
- package/esm/util/openViews.d.ts +1 -0
- package/esm/util/openViews.js +3 -3
- package/esm/util/parseLineByLine.d.ts +3 -4
- package/esm/util/parseLineByLine.js +7 -13
- package/esm/util/progress.d.ts +21 -21
- package/esm/util/progress.js +27 -26
- package/esm/util/renameRegions.d.ts +1 -2
- package/esm/util/renderToStaticMarkup.js +16 -16
- package/esm/util/rxjs.d.ts +7 -8
- package/esm/util/rxjs.js +12 -15
- package/esm/util/simpleFeature.d.ts +0 -1
- package/esm/util/svgColorProps.d.ts +11 -0
- package/esm/util/svgColorProps.js +28 -1
- package/esm/util/tabix.d.ts +3 -4
- package/esm/util/tabix.js +6 -7
- package/esm/util/thresholdScale.d.ts +54 -0
- package/esm/util/thresholdScale.js +112 -0
- package/esm/util/timeGate.d.ts +4 -5
- package/esm/util/timeGate.js +4 -5
- package/esm/util/trackConfigDelta.d.ts +22 -18
- package/esm/util/trackConfigDelta.js +40 -38
- package/esm/util/tracks.d.ts +27 -4
- package/esm/util/tracks.js +116 -43
- package/esm/util/translateTranscript.d.ts +44 -0
- package/esm/util/translateTranscript.js +102 -0
- package/esm/util/types/index.d.ts +19 -7
- package/esm/util/types/services.d.ts +1 -1
- package/esm/util/unknownSnapshotKeys.d.ts +15 -0
- package/esm/util/unknownSnapshotKeys.js +13 -0
- package/esm/util/useFeatureSequence.js +4 -4
- package/esm/util/useFetch.d.ts +3 -4
- package/esm/util/useFetch.js +5 -6
- package/esm/util/usePanelVirtualScroll.d.ts +7 -39
- package/esm/util/usePanelVirtualScroll.js +9 -40
- package/esm/util/useRowVirtualScroll.d.ts +6 -29
- package/esm/util/useRowVirtualScroll.js +8 -49
- package/esm/util/useVirtualScrollWheel.d.ts +20 -4
- package/esm/util/useVirtualScrollWheel.js +40 -84
- package/esm/util/viewHighlights.d.ts +3 -0
- package/esm/util/viewHighlights.js +5 -0
- package/esm/util/viewStatus.d.ts +24 -15
- package/esm/util/viewStatus.js +17 -0
- package/esm/util/withLaunchInput.d.ts +1 -1
- package/esm/util/withLaunchInput.js +0 -4
- package/package.json +26 -12
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
- package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
- package/esm/ReExports/BaseFeatureDetails.js +0 -10
- package/esm/ReExports/barrelOnlyNames.d.ts +0 -5
- package/esm/ReExports/barrelOnlyNames.js +0 -63
- package/esm/ReExports/index.d.ts +0 -1
- package/esm/ReExports/index.js +0 -1
- package/esm/ReExports/publicTracks.d.ts +0 -1
- package/esm/ReExports/publicTracks.js +0 -14
- package/esm/ReExports/publicUi.d.ts +0 -4
- package/esm/ReExports/publicUi.js +0 -33
- package/esm/ReExports/publicUtil.d.ts +0 -1
- package/esm/ReExports/publicUtil.js +0 -32
- package/esm/ReExports/sharedModules.d.ts +0 -96
- package/esm/ReExports/sharedModules.js +0 -66
- package/esm/ReExports/workerNamespaceNames.d.ts +0 -11
- package/esm/ReExports/workerNamespaceNames.js +0 -275
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +0 -51
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +0 -78
- package/esm/ui/highlightChipReveal.d.ts +0 -32
- package/esm/ui/highlightChipReveal.js +0 -39
- package/esm/util/adapterConfigKey.d.ts +0 -12
- package/esm/util/adapterConfigKey.js +0 -14
- package/esm/util/stopToken.d.ts +0 -212
- package/esm/util/stopToken.js +0 -438
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import { DATA_GRID_NAMES } from './MuiDataGridReExports.js';
|
|
2
|
-
import { MUI_COMPONENT_NAMES } from './muiComponentNames.js';
|
|
3
|
-
// Own-key names of each namespace-shaped UI module the RPC worker stubs.
|
|
4
|
-
// workerModules.test.ts pins them to modules.ts; agent-docs/reference/EAGER_BUNDLE.md
|
|
5
|
-
export const REACT_DOM_NAMES = [
|
|
6
|
-
'__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE',
|
|
7
|
-
'createPortal',
|
|
8
|
-
'default',
|
|
9
|
-
'flushSync',
|
|
10
|
-
'preconnect',
|
|
11
|
-
'prefetchDNS',
|
|
12
|
-
'preinit',
|
|
13
|
-
'preinitModule',
|
|
14
|
-
'preload',
|
|
15
|
-
'preloadModule',
|
|
16
|
-
'requestFormReset',
|
|
17
|
-
'unstable_batchedUpdates',
|
|
18
|
-
'useFormState',
|
|
19
|
-
'useFormStatus',
|
|
20
|
-
'version',
|
|
21
|
-
];
|
|
22
|
-
export const REACT_DOM_CLIENT_NAMES = [
|
|
23
|
-
'createRoot',
|
|
24
|
-
'default',
|
|
25
|
-
'hydrateRoot',
|
|
26
|
-
'version',
|
|
27
|
-
];
|
|
28
|
-
export const MOBX_REACT_NAMES = [
|
|
29
|
-
'Observer',
|
|
30
|
-
'_observerFinalizationRegistry',
|
|
31
|
-
'clearTimers',
|
|
32
|
-
'enableStaticRendering',
|
|
33
|
-
'isUsingStaticRendering',
|
|
34
|
-
'observer',
|
|
35
|
-
'useLocalObservable',
|
|
36
|
-
];
|
|
37
|
-
export const MUI_UTILS_NAMES = [
|
|
38
|
-
'capitalize',
|
|
39
|
-
'createChainedFunction',
|
|
40
|
-
'createSvgIcon',
|
|
41
|
-
'debounce',
|
|
42
|
-
'deprecatedPropType',
|
|
43
|
-
'getActiveElement',
|
|
44
|
-
'isMuiElement',
|
|
45
|
-
'mergeSlotProps',
|
|
46
|
-
'ownerDocument',
|
|
47
|
-
'ownerWindow',
|
|
48
|
-
'requirePropFactory',
|
|
49
|
-
'setRef',
|
|
50
|
-
'unstable_ClassNameGenerator',
|
|
51
|
-
'unstable_memoTheme',
|
|
52
|
-
'unstable_useEnhancedEffect',
|
|
53
|
-
'unstable_useId',
|
|
54
|
-
'unsupportedProp',
|
|
55
|
-
'useControlled',
|
|
56
|
-
'useEventCallback',
|
|
57
|
-
'useForkRef',
|
|
58
|
-
];
|
|
59
|
-
export const MUI_STYLES_NAMES = [
|
|
60
|
-
'CssVarsProvider',
|
|
61
|
-
'Experimental_CssVarsProvider',
|
|
62
|
-
'StyledEngineProvider',
|
|
63
|
-
'THEME_ID',
|
|
64
|
-
'ThemeProvider',
|
|
65
|
-
'adaptV4Theme',
|
|
66
|
-
'alpha',
|
|
67
|
-
'createColorScheme',
|
|
68
|
-
'createStyles',
|
|
69
|
-
'createTheme',
|
|
70
|
-
'css',
|
|
71
|
-
'darken',
|
|
72
|
-
'decomposeColor',
|
|
73
|
-
'duration',
|
|
74
|
-
'easing',
|
|
75
|
-
'emphasize',
|
|
76
|
-
'enhanceHighContrast',
|
|
77
|
-
'experimental_sx',
|
|
78
|
-
'extendTheme',
|
|
79
|
-
'getContrastRatio',
|
|
80
|
-
'getInitColorSchemeScript',
|
|
81
|
-
'getLuminance',
|
|
82
|
-
'getOverlayAlpha',
|
|
83
|
-
'hexToRgb',
|
|
84
|
-
'hslToRgb',
|
|
85
|
-
'keyframes',
|
|
86
|
-
'makeStyles',
|
|
87
|
-
'private_createTypography',
|
|
88
|
-
'private_excludeVariablesFromRoot',
|
|
89
|
-
'recomposeColor',
|
|
90
|
-
'responsiveFontSizes',
|
|
91
|
-
'rgbToHex',
|
|
92
|
-
'shouldSkipGeneratingVar',
|
|
93
|
-
'styled',
|
|
94
|
-
'unstable_createBreakpoints',
|
|
95
|
-
'unstable_createMuiStrictModeTheme',
|
|
96
|
-
'unstable_getUnit',
|
|
97
|
-
'unstable_toUnitless',
|
|
98
|
-
'useColorScheme',
|
|
99
|
-
'useTheme',
|
|
100
|
-
'useThemeProps',
|
|
101
|
-
'withStyles',
|
|
102
|
-
'withTheme',
|
|
103
|
-
];
|
|
104
|
-
export const TSS_REACT_NAMES = ['cx', 'keyframes', 'makeStyles'];
|
|
105
|
-
export const MATERIAL_UI_LAB_NAMES = [
|
|
106
|
-
'Alert',
|
|
107
|
-
'Autocomplete',
|
|
108
|
-
'ToggleButton',
|
|
109
|
-
'ToggleButtonGroup',
|
|
110
|
-
];
|
|
111
|
-
export const MUI_MATERIAL_NAMES = [
|
|
112
|
-
...MUI_COMPONENT_NAMES,
|
|
113
|
-
'alpha',
|
|
114
|
-
'createTheme',
|
|
115
|
-
'useTheme',
|
|
116
|
-
];
|
|
117
|
-
export const MATERIAL_UI_CORE_NAMES = [
|
|
118
|
-
...MUI_COMPONENT_NAMES,
|
|
119
|
-
'alpha',
|
|
120
|
-
'makeStyles',
|
|
121
|
-
'useTheme',
|
|
122
|
-
];
|
|
123
|
-
export const CORE_UI_NAMES = [
|
|
124
|
-
'ActionLink',
|
|
125
|
-
'AssemblySelector',
|
|
126
|
-
'BaseExportSvgDialog',
|
|
127
|
-
'BaseTooltip',
|
|
128
|
-
'CONTEXT_MENU_Z_INDEX',
|
|
129
|
-
'CascadingMenu',
|
|
130
|
-
'CascadingMenuButton',
|
|
131
|
-
'ConfirmDialog',
|
|
132
|
-
'ContextMenu',
|
|
133
|
-
'CopyToClipboardButton',
|
|
134
|
-
'Crosshairs',
|
|
135
|
-
'Dialog',
|
|
136
|
-
'EditableTypography',
|
|
137
|
-
'ErrorBanner',
|
|
138
|
-
'ErrorBar',
|
|
139
|
-
'ErrorMessage',
|
|
140
|
-
'ErrorOverlay',
|
|
141
|
-
'ExportSvgDialog',
|
|
142
|
-
'ExternalLink',
|
|
143
|
-
'FatalErrorDialog',
|
|
144
|
-
'FileDropZone',
|
|
145
|
-
'FileSelector',
|
|
146
|
-
'GpuFallbackButton',
|
|
147
|
-
'INLINE_MENU_ROW_WIDTH',
|
|
148
|
-
'InfoDialog',
|
|
149
|
-
'JexlFilterDialog',
|
|
150
|
-
'LAUNCH_LABEL',
|
|
151
|
-
'LEGEND_ROW_HEIGHT',
|
|
152
|
-
'LEGEND_SVG_GUTTER_WIDTH',
|
|
153
|
-
'LEGEND_SWATCH',
|
|
154
|
-
'LabeledCheckbox',
|
|
155
|
-
'LegendSwatchGlyph',
|
|
156
|
-
'LoadingEllipses',
|
|
157
|
-
'LoadingOverlay',
|
|
158
|
-
'LoadingProgress',
|
|
159
|
-
'LogoFull',
|
|
160
|
-
'Logomark',
|
|
161
|
-
'MAX_LEGEND_ITEMS',
|
|
162
|
-
'Menu',
|
|
163
|
-
'MonospaceTextField',
|
|
164
|
-
'NumberTextField',
|
|
165
|
-
'PluggableComponent',
|
|
166
|
-
'PluggableComponents',
|
|
167
|
-
'PluggableElements',
|
|
168
|
-
'PrerenderedCanvas',
|
|
169
|
-
'ProgressChip',
|
|
170
|
-
'RefNameAutocomplete',
|
|
171
|
-
'RefNameAutocompleteEndAdornment',
|
|
172
|
-
'ReplaceCurrentViewButton',
|
|
173
|
-
'ResetToDefaultButton',
|
|
174
|
-
'ResizeHandle',
|
|
175
|
-
'SanitizedHTML',
|
|
176
|
-
'ScrollChrome',
|
|
177
|
-
'ScrollEdgeShadow',
|
|
178
|
-
'SettingsChangesTable',
|
|
179
|
-
'ShareLinkField',
|
|
180
|
-
'SingleSlider',
|
|
181
|
-
'SliderTooltip',
|
|
182
|
-
'StatusProgressBar',
|
|
183
|
-
'SubmitDialog',
|
|
184
|
-
'SubmitForm',
|
|
185
|
-
'SvgColorLegend',
|
|
186
|
-
'TOOLTIP_Z_INDEX',
|
|
187
|
-
'TagTextField',
|
|
188
|
-
'VIEW_HEADER_HEIGHT',
|
|
189
|
-
'VerticalScrollbar',
|
|
190
|
-
'ViewLoadingScreen',
|
|
191
|
-
'addExtensionElement',
|
|
192
|
-
'adornmentReservePx',
|
|
193
|
-
'checkboxItem',
|
|
194
|
-
'colorFwdStrand',
|
|
195
|
-
'colorInterchrom',
|
|
196
|
-
'colorLongInsert',
|
|
197
|
-
'colorLongreadInv',
|
|
198
|
-
'colorNeutralRead',
|
|
199
|
-
'colorPairLL',
|
|
200
|
-
'colorPairLR',
|
|
201
|
-
'colorPairLRDark',
|
|
202
|
-
'colorPairRL',
|
|
203
|
-
'colorPairRR',
|
|
204
|
-
'colorRevStrand',
|
|
205
|
-
'colorScaleIsEmpty',
|
|
206
|
-
'colorShortInsert',
|
|
207
|
-
'colorSplitReadInversion',
|
|
208
|
-
'colorSupplementary',
|
|
209
|
-
'colorUnmappedMate',
|
|
210
|
-
'colorUnmappedMateDark',
|
|
211
|
-
'createJBrowseBaseTheme',
|
|
212
|
-
'createJBrowseTheme',
|
|
213
|
-
'createJBrowseThemeFromArgs',
|
|
214
|
-
'defaultThemes',
|
|
215
|
-
'getInputWidth',
|
|
216
|
-
'hoverBoxStyle',
|
|
217
|
-
'launchTargetsMenuItem',
|
|
218
|
-
'legendEntries',
|
|
219
|
-
'legendIsReadable',
|
|
220
|
-
'legendSpecOf',
|
|
221
|
-
'legendSwatches',
|
|
222
|
-
'makeSizeMenu',
|
|
223
|
-
'makeSizeSubMenu',
|
|
224
|
-
'matchesTrackSelector',
|
|
225
|
-
'measureLegendText',
|
|
226
|
-
'methylated5hmC',
|
|
227
|
-
'methylated5mC',
|
|
228
|
-
'nonEmptyLegendSections',
|
|
229
|
-
'pushIntoSubMenu',
|
|
230
|
-
'pushLaunchViewMenuItem',
|
|
231
|
-
'radioItems',
|
|
232
|
-
'replaceViewAction',
|
|
233
|
-
'resolveSubMenu',
|
|
234
|
-
'sliderScale',
|
|
235
|
-
'staysOpenOnClick',
|
|
236
|
-
'tagColorPalette',
|
|
237
|
-
'unmethylated5mC',
|
|
238
|
-
'useAssemblySelection',
|
|
239
|
-
'useCopyToClipboard',
|
|
240
|
-
'useExportSvgPreference',
|
|
241
|
-
'useMouseState',
|
|
242
|
-
'useMouseTracking',
|
|
243
|
-
'useRecentLocations',
|
|
244
|
-
'wrapComponent',
|
|
245
|
-
];
|
|
246
|
-
const BASE_FEATURE_DETAIL_NAMES = [
|
|
247
|
-
'Attributes',
|
|
248
|
-
'BaseAttributes',
|
|
249
|
-
'BaseCard',
|
|
250
|
-
'BaseCoreDetails',
|
|
251
|
-
'FeatureDetails',
|
|
252
|
-
'FeatureWash',
|
|
253
|
-
];
|
|
254
|
-
export const WORKER_NAMESPACE_NAMES = {
|
|
255
|
-
'react-dom': REACT_DOM_NAMES,
|
|
256
|
-
'react-dom/client': REACT_DOM_CLIENT_NAMES,
|
|
257
|
-
'mobx-react': MOBX_REACT_NAMES,
|
|
258
|
-
'@mui/material/utils': MUI_UTILS_NAMES,
|
|
259
|
-
'@material-ui/core/utils': MUI_UTILS_NAMES,
|
|
260
|
-
'tss-react': TSS_REACT_NAMES,
|
|
261
|
-
'tss-react/mui': TSS_REACT_NAMES,
|
|
262
|
-
'@mui/material': MUI_MATERIAL_NAMES,
|
|
263
|
-
'@material-ui/core': MATERIAL_UI_CORE_NAMES,
|
|
264
|
-
'@mui/material/styles': MUI_STYLES_NAMES,
|
|
265
|
-
'@material-ui/core/styles': MUI_STYLES_NAMES,
|
|
266
|
-
'@material-ui/lab': MATERIAL_UI_LAB_NAMES,
|
|
267
|
-
'@mui/x-data-grid': DATA_GRID_NAMES,
|
|
268
|
-
'@jbrowse/core/ui': CORE_UI_NAMES,
|
|
269
|
-
// @mui/icons-material is NOT re-exported, so a plugin that wants an icon
|
|
270
|
-
// bundles icons-material, which reads `createSvgIcon` off this module. The
|
|
271
|
-
// main thread serves it (modules.ts) and the worker has to as well, or the
|
|
272
|
-
// plugin throws at module scope building its icons.
|
|
273
|
-
'@mui/material/SvgIcon': ['createSvgIcon'],
|
|
274
|
-
'@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail': BASE_FEATURE_DETAIL_NAMES,
|
|
275
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { HighlightType } from '../../util/highlights.ts';
|
|
2
|
-
/**
|
|
3
|
-
* #stateModel HighlightsMixin
|
|
4
|
-
* #category view
|
|
5
|
-
*
|
|
6
|
-
* The `view.highlight` band state shared verbatim by the LinearGenomeView and
|
|
7
|
-
* DotplotView: an array of translucent highlight regions plus the
|
|
8
|
-
* `showHighlightChips` toggle for their interactive chips. Both views compose
|
|
9
|
-
* this so the props and actions stay identical by construction rather than by
|
|
10
|
-
* two hand-kept copies. Visibility across all views is the session-wide
|
|
11
|
-
* `highlightsVisible` flag (on BaseSession), not a prop here.
|
|
12
|
-
*/
|
|
13
|
-
export default function HighlightsMixin(): import("@jbrowse/mobx-state-tree").IModelType<{
|
|
14
|
-
/**
|
|
15
|
-
* #property
|
|
16
|
-
* translucent highlight bands, seeded from URL params or session JSON and
|
|
17
|
-
* added interactively via the rubber-band menu
|
|
18
|
-
*/
|
|
19
|
-
highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>;
|
|
20
|
-
/**
|
|
21
|
-
* #property
|
|
22
|
-
* pins the interactive highlight chip (link icon + context menu) to every
|
|
23
|
-
* highlight band; off by default, where a band instead reveals its chip
|
|
24
|
-
* while the pointer is in it. This is what a screenshot needs, since
|
|
25
|
-
* nothing hovers in one
|
|
26
|
-
*/
|
|
27
|
-
showHighlightChips: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
28
|
-
}, {
|
|
29
|
-
/**
|
|
30
|
-
* #action
|
|
31
|
-
*/
|
|
32
|
-
addToHighlights(highlight: HighlightType): void;
|
|
33
|
-
/**
|
|
34
|
-
* #action
|
|
35
|
-
*/
|
|
36
|
-
setHighlight(highlight?: HighlightType[]): void;
|
|
37
|
-
/**
|
|
38
|
-
* #action
|
|
39
|
-
*/
|
|
40
|
-
removeHighlight(highlight: HighlightType): void;
|
|
41
|
-
/**
|
|
42
|
-
* #action
|
|
43
|
-
*/
|
|
44
|
-
updateHighlight(old: HighlightType, updates: Partial<HighlightType>): void;
|
|
45
|
-
/**
|
|
46
|
-
* #action
|
|
47
|
-
*/
|
|
48
|
-
setShowHighlightChips(arg: boolean): void;
|
|
49
|
-
} & {
|
|
50
|
-
afterAttach(): void;
|
|
51
|
-
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { cast, types } from '@jbrowse/mobx-state-tree';
|
|
2
|
-
import { revealHighlightsOnGrowth } from '../../util/highlights.js';
|
|
3
|
-
import { getSession } from '../../util/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* #stateModel HighlightsMixin
|
|
6
|
-
* #category view
|
|
7
|
-
*
|
|
8
|
-
* The `view.highlight` band state shared verbatim by the LinearGenomeView and
|
|
9
|
-
* DotplotView: an array of translucent highlight regions plus the
|
|
10
|
-
* `showHighlightChips` toggle for their interactive chips. Both views compose
|
|
11
|
-
* this so the props and actions stay identical by construction rather than by
|
|
12
|
-
* two hand-kept copies. Visibility across all views is the session-wide
|
|
13
|
-
* `highlightsVisible` flag (on BaseSession), not a prop here.
|
|
14
|
-
*/
|
|
15
|
-
export default function HighlightsMixin() {
|
|
16
|
-
return types
|
|
17
|
-
.model({
|
|
18
|
-
/**
|
|
19
|
-
* #property
|
|
20
|
-
* translucent highlight bands, seeded from URL params or session JSON and
|
|
21
|
-
* added interactively via the rubber-band menu
|
|
22
|
-
*/
|
|
23
|
-
highlight: types.stripDefault(types.array(types.frozen()), []),
|
|
24
|
-
/**
|
|
25
|
-
* #property
|
|
26
|
-
* pins the interactive highlight chip (link icon + context menu) to every
|
|
27
|
-
* highlight band; off by default, where a band instead reveals its chip
|
|
28
|
-
* while the pointer is in it. This is what a screenshot needs, since
|
|
29
|
-
* nothing hovers in one
|
|
30
|
-
*/
|
|
31
|
-
showHighlightChips: types.stripDefault(types.boolean, false),
|
|
32
|
-
})
|
|
33
|
-
.actions(self => ({
|
|
34
|
-
/**
|
|
35
|
-
* #action
|
|
36
|
-
*/
|
|
37
|
-
addToHighlights(highlight) {
|
|
38
|
-
self.highlight.push(highlight);
|
|
39
|
-
},
|
|
40
|
-
/**
|
|
41
|
-
* #action
|
|
42
|
-
*/
|
|
43
|
-
setHighlight(highlight) {
|
|
44
|
-
self.highlight = cast(highlight);
|
|
45
|
-
},
|
|
46
|
-
/**
|
|
47
|
-
* #action
|
|
48
|
-
*/
|
|
49
|
-
removeHighlight(highlight) {
|
|
50
|
-
self.highlight.remove(highlight);
|
|
51
|
-
},
|
|
52
|
-
/**
|
|
53
|
-
* #action
|
|
54
|
-
*/
|
|
55
|
-
updateHighlight(old, updates) {
|
|
56
|
-
const idx = self.highlight.indexOf(old);
|
|
57
|
-
if (idx !== -1) {
|
|
58
|
-
self.highlight[idx] = { ...old, ...updates };
|
|
59
|
-
// reachable from the highlight grid, which lists entries even with
|
|
60
|
-
// the bands off, so recoloring there would otherwise do nothing
|
|
61
|
-
// visible. Not a growth, so revealHighlightsOnGrowth can't see it
|
|
62
|
-
getSession(self).revealHighlights();
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
/**
|
|
66
|
-
* #action
|
|
67
|
-
*/
|
|
68
|
-
setShowHighlightChips(arg) {
|
|
69
|
-
self.showHighlightChips = arg;
|
|
70
|
-
},
|
|
71
|
-
}))
|
|
72
|
-
.actions(self => ({
|
|
73
|
-
afterAttach() {
|
|
74
|
-
// covers the rubber-band menu, dotplot drag and URL init alike
|
|
75
|
-
revealHighlightsOnGrowth(self, () => self.highlight.length);
|
|
76
|
-
},
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { MouseTracker } from './useMouseTracking.ts';
|
|
2
|
-
export declare const OverlayPointerProvider: import("react").Provider<MouseTracker | undefined>;
|
|
3
|
-
/**
|
|
4
|
-
* The stripe a band occupies: an x span across a full-height band, a y span
|
|
5
|
-
* across a full-width one. The other axis is the whole overlay, which is why it
|
|
6
|
-
* isn't here.
|
|
7
|
-
*/
|
|
8
|
-
export type HighlightStripe = {
|
|
9
|
-
left: number;
|
|
10
|
-
width: number;
|
|
11
|
-
} | {
|
|
12
|
-
top: number;
|
|
13
|
-
height: number;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Whether a band should be drawing its chip, and the `setOpen` that keeps it
|
|
17
|
-
* drawn while its menu is up.
|
|
18
|
-
*
|
|
19
|
-
* A band reveals its chip while the pointer is in its stripe, so the highlight's
|
|
20
|
-
* menu is reachable where the highlight is rather than only from the view menu,
|
|
21
|
-
* and a view full of bands is not also a view full of link icons. `persistent`
|
|
22
|
-
* is the `showHighlightChips` pin, which a screenshot needs because nothing
|
|
23
|
-
* hovers in one.
|
|
24
|
-
*
|
|
25
|
-
* The menu is the reason this owns state at all: it is portalled out of the
|
|
26
|
-
* band, so opening it moves the pointer off the stripe that revealed it, and
|
|
27
|
-
* unmounting the chip under an open menu takes the menu's own anchor with it.
|
|
28
|
-
*/
|
|
29
|
-
export declare function useHighlightChip(stripe: HighlightStripe | undefined, persistent: boolean): {
|
|
30
|
-
chipVisible: boolean;
|
|
31
|
-
setMenuOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
32
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { createContext, use, useState } from 'react';
|
|
2
|
-
import { useMouseSelector } from './useMouseTracking.js';
|
|
3
|
-
/**
|
|
4
|
-
* The pointer over the surface a view's highlight bands are positioned in — the
|
|
5
|
-
* LinearGenomeView's tracks container, the DotplotView's plot area. Published by
|
|
6
|
-
* whichever of those bound the handlers.
|
|
7
|
-
*
|
|
8
|
-
* A context rather than a prop because a band is often drawn by another plugin
|
|
9
|
-
* through an extension point (grid-bookmark's bookmark bands), and those carry
|
|
10
|
-
* only their `{ model }` props bag — the band families are siblings on screen
|
|
11
|
-
* and would otherwise reach the pointer two different ways.
|
|
12
|
-
*/
|
|
13
|
-
const OverlayPointerContext = createContext(undefined);
|
|
14
|
-
export const OverlayPointerProvider = OverlayPointerContext.Provider;
|
|
15
|
-
function pointerInStripe(stripe, state) {
|
|
16
|
-
return 'left' in stripe
|
|
17
|
-
? state.x >= stripe.left && state.x < stripe.left + stripe.width
|
|
18
|
-
: state.y >= stripe.top && state.y < stripe.top + stripe.height;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Whether a band should be drawing its chip, and the `setOpen` that keeps it
|
|
22
|
-
* drawn while its menu is up.
|
|
23
|
-
*
|
|
24
|
-
* A band reveals its chip while the pointer is in its stripe, so the highlight's
|
|
25
|
-
* menu is reachable where the highlight is rather than only from the view menu,
|
|
26
|
-
* and a view full of bands is not also a view full of link icons. `persistent`
|
|
27
|
-
* is the `showHighlightChips` pin, which a screenshot needs because nothing
|
|
28
|
-
* hovers in one.
|
|
29
|
-
*
|
|
30
|
-
* The menu is the reason this owns state at all: it is portalled out of the
|
|
31
|
-
* band, so opening it moves the pointer off the stripe that revealed it, and
|
|
32
|
-
* unmounting the chip under an open menu takes the menu's own anchor with it.
|
|
33
|
-
*/
|
|
34
|
-
export function useHighlightChip(stripe, persistent) {
|
|
35
|
-
const tracker = use(OverlayPointerContext);
|
|
36
|
-
const [menuOpen, setMenuOpen] = useState(false);
|
|
37
|
-
const hovered = useMouseSelector(tracker, state => !!state && !!stripe && pointerInStripe(stripe, state));
|
|
38
|
-
return { chipVisible: persistent || hovered || menuOpen, setMenuOpen };
|
|
39
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The adapter-config axis of a fetch key: the config a fetch was issued
|
|
3
|
-
* against, as one string. Every fetch that refetches on an adapter edit folds
|
|
4
|
-
* this in — the comparative displays, the prerequisite reads, the density
|
|
5
|
-
* tier, the global family's signature — so the axis is spelled once and cannot
|
|
6
|
-
* drift between them.
|
|
7
|
-
*
|
|
8
|
-
* Not `adapterConfigCacheKey`: that one short-circuits on `adapterId`, which is
|
|
9
|
-
* right for sharing one adapter instance and wrong for freshness, where an
|
|
10
|
-
* edit to a config carrying an id still has to read as a different fetch.
|
|
11
|
-
*/
|
|
12
|
-
export declare function adapterConfigKey(adapterConfig: Record<string, unknown>): string;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The adapter-config axis of a fetch key: the config a fetch was issued
|
|
3
|
-
* against, as one string. Every fetch that refetches on an adapter edit folds
|
|
4
|
-
* this in — the comparative displays, the prerequisite reads, the density
|
|
5
|
-
* tier, the global family's signature — so the axis is spelled once and cannot
|
|
6
|
-
* drift between them.
|
|
7
|
-
*
|
|
8
|
-
* Not `adapterConfigCacheKey`: that one short-circuits on `adapterId`, which is
|
|
9
|
-
* right for sharing one adapter instance and wrong for freshness, where an
|
|
10
|
-
* edit to a config carrying an id still has to read as a different fetch.
|
|
11
|
-
*/
|
|
12
|
-
export function adapterConfigKey(adapterConfig) {
|
|
13
|
-
return JSON.stringify(adapterConfig);
|
|
14
|
-
}
|